Issue 20
20th August 2006 by Danny AllenThis Week...
the release itself is for developers to start porting applications with, to start stressing the newer APIs and seeing what kde4 development will start to look like. there's still a lot more to come though, even in the libs, with changes coming to kwizard, kconfig, khtml (the rather exciting unity stuff) and certainly more. but a lot of the big rocking the boat stuff is there, from here we can build Cool Visible Stuff (CVS?)
Statistics
Commits | 2216 by 208 developers, 5297 lines modified, 1462 new files |
Open Bugs | 13075 |
Open Wishes | 11460 |
Bugs Opened | 291 in the last 7 days |
Bugs Closed | 253 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
446
|
/trunk/www |
349
|
/trunk/extragear |
268
|
/branches/stable |
223
|
/trunk/l10n |
204
|
/branches/work |
203
|
/trunk/playground |
124
|
/branches/KDE |
116
|
/trunk/koffice |
98
|
/branches/koffice |
61
|
Lines | Developer | Commits |
263
|
Laurent Montel |
99
|
162
|
Dirk Mueller |
75
|
45
|
Ludovic Grossard |
44
|
68
|
Tuomas Suutari |
36
|
34
|
Renato Pavičić |
34
|
93
|
Allen Winter |
34
|
104
|
Frans Englich |
33
|
32
|
David Nolden |
32
|
73
|
Gilles Caulier |
32
|
74
|
Will Entriken |
32
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
99.97%
|
Swedish (sv) |
98.94%
|
Danish (da) |
98.58%
|
Spanish (es) |
97.44%
|
Dutch (nl) |
96.5%
|
Italian (it) |
93.75%
|
Estonian (et) |
93.56%
|
Greek (el) |
93.23%
|
French (fr) |
93.03%
|
German (de) |
91.66%
|
Bug Killers and Buzz
Person | Bugs Closed |
Andreas Kling |
81
|
Sebastian Sauer |
14
|
Eike Hein |
14
|
David Jarvie |
13
|
Tommi Tervo |
13
|
Jernej Kos |
11
|
Christophe Thommeret |
10
|
Luboš Luňák |
9
|
Martin Aumüller |
7
|
Stefan Nikolaus |
7
|
Program | Buzz |
Amarok |
3087
|
Kopete |
696
|
K3B |
693
|
SuperKaramba |
687
|
KMail |
684
|
KDevelop |
682
|
Kontact |
682
|
Kate |
677
|
Kicker |
593
|
Quanta |
449
|
Person | Buzz |
wheels |
263
|
David Faure |
251
|
telex |
250
|
zogje |
250
|
riddell |
243
|
George Staikos |
240
|
cornelius |
237
|
pipitas |
230
|
Aaron J. Seigo |
228
|
boud |
222
|
Contents
Bug Fixes | Features | Optimization | Security | Other | |
---|---|---|---|---|---|
Accessibility | |||||
Development Tools | [] | [] | |||
Educational | [] | ||||
Graphics | [] | [] | |||
KDE Base | [] | [] | [] | [] | |
KDE-PIM | [] | [] | |||
Office | [] | [] | [] | ||
Konqueror | |||||
Multimedia | [] | [] | [] | [] | |
Networking Tools | [] | [] | [] | ||
User Interface | [] | ||||
Utilities | [] | [] | |||
Games | [] | ||||
Other |
There are 79 selections this week
Bug Fixes
Graphics
KDE Base
Made DCOP notifications to kicker instances on non-primary dual-head screens work.
In english: changing kicker settings on the non-primary screen will no longer require a restart to take effect.
Talk to the correct kicker and kwin instances in multi-head environments.
Fixes a bunch of flakiness, such as kicker disappearing when switching desktops.
Set the main translation catalog(ue) explicitly in kwin, kdesktop and kicker.
Fixes the most hated multi-head bug that caused localized KDE setups to display
original english strings on non-primary displays.
Office
Right now, backspace and delete don't actually update the screen to show the changed text; the attached patch fixes that by giving them the same repaint() treatment that we do for text insertion.While we're at it, delete and backspace should also hide the cursor, since they too indicate an intent to sit down and edit the text.
patch by: Benjamin K. Stuhl
Multimedia
This mostly completes the safety patch for ATF. The following conditions are handled:
Collection Scanner + Playlist tag editing
Collection Scanner + Tag Dialog tag editing
Collection Scanner + DCOP UFID changing/stripping
What remains are the various Collection Scanner + Collection Scanner scenarios.
Networking Tools
* Don't insert multiple consecutive remember lines. This doesn't get us the "have one, moving remember line" behavior we'd really like to have, but gets rid of the most annoying property of the current system.
* Morph the option to insert a remember line when the window is mini-mized into an option to insert a remember line when a chat window is hidden (i.e. on tab switches, too).
* Support inserting remember lines into DCC Chats and Status windows, too.
* Clean up the remember line-related prefs strings.
Features
Development Tools
Start a binder for the C# codemodel. It only supports namespaces at this time, but you can already see them in action inside the codeview.
Now I really got to do something against that input character corruption which is messing stuff up.
If a user goes offline who is part of a file-collaboration-session, he is automatically re-invited once he's online again. If a file-collaboration-host goes offline while a session and comes online again, the users that were part of the session automatically invite him to continue the session and send the necessary synchronization-data. If he accepts, all old clients are automatically inserted to the new(continued) session, and everything continues as before.
create a widget to control the history of a file-collaboration. Here it should be possible to reach any arbitrary state(allowing undoing edits by certain persons, or selectively undoing changes done far back while leaving other, new ones). Is not usable yet for performance-reasons.
A lot of work on the file-collaboration-management. Collaboration-files communicate better now. They resolve conflicts by sending each other reject-messages and then correcty seeking back to a conflict-free state. If the host allows it, each session-client can add his own files to the collaboration-session. The host can remove files from the session, and temporarily disable editing on files. Each collaborator can save single or all files of the session either as normal files, or as a patch which will automatically be added to the patches-list. Much more. Everything yet completely untested.
Major rethink of definitions occurring in function parameters and if statements.
Now utilises the direct acyclic graph design (suggested by Roberto), rather than being a plain tree. If this was what Roberto meant to start with, I didn't understand it until now ;) This is one of those commits that makes you feel content that you've done it the "right way".
So, the DUChain is looking much better. Perhaps now it's time to work on getting #include-ing of ASTs, or incremental parsing, I haven't decided yet...
make the patch-management nearly ready. When a patch is applied/unapplied, a libkonsole-part is temporarily integrated into the patch-editing-widget for that job. Also there's a button that can determine whether a patch is applied or not. For patches, it is possible to browse all affected files, jump from hunk to hunk, and highlight affected lines, from right within that widget. Much more other work. To extract information from the patches libdiff2 is used, which seems to be extremely unstable(it crashed again and again), but after about three little patches it seems to work ok for now.
Implemented most of the LU algo with complete pivoting. Will do the rest tomorrow.
Currently it compiles but don't run it!
Implemented function to find the entry of a matrix that has biggest absolute value, ignoring a given number of rows and columns (used by LU algorithm)
Implemented isNegligible function to help determine when a floating-point number can be considered negligible in comparison with another one. This is a classical workaround for the strangeness of operator== for floating-point numbers.
Added myself to the copyright lines of kmatrixn.h
Educational
Graphics
now import/export also works with videos.
KDE Base
Draw outlines around the selected window while doing Alt+Tab.
Initial support for USB storage devices, detection and naming.
Those USB thingies cannot have partitions yet -> TODO.
Make it easier to select tab color from tab context menu. 'Select Tab Color' item now displays a palette of colors in a sub-menu instead of popping up a KColorDialog. Falls back to using KColorDialog if a suitable palette of colors is not found.
* Make new sessions start in the active session's current working directory
(if both sessions are of the same type - otherwise the default working directory
for that session type is used)
* When creating a new session via the tab-bar button or "Ctrl+Shift+N" shortcut,
make the new session the same type as the active session.
This behaviour will probably be made an optional default, pending feedback from the KDE4 Alphas/Betas
When rendering SVGs multiple graphic contexts are used.
CanvasQt constructs a QPainter + GraphicsContext, and for
example RenderSVGText also constructs a GraphicsContext -
but the painter is shared. That leads to the problem that
the painter's end() method is called too early. Fix that.
As soon as the paintEvent() function is left, the QPainter
is destructed anyway - same affect as calling end() before.
Investigation by Rob.
Also enable antialiasing for SVG :-)
* Tidy up right-click menu.
- Remove Bookmarks and Settings sub-menus (what on earth were they doing here?).
- Remove "Send Signal" sub-menu (still available via Edit -> Send Signal)
- Fix "Show Menubar" not reappearing after hiding/showing the menu bar a few times
* Remove the "Move Session Left / Move Session Right" items from the menu since the tab bar supports drag and drop reordering. A keyboard shortcut for moving tabs would still be
useful though.
* Remove clutter from window title. If a terminal has set the window title then just show that, otherwise show the session title. Fixes #63249
Re-enable Ctrl+Shift+Left, Ctrl+Shift+Right shortcuts for moving tabs left/right
Grab EXIF "Orientation" information when loading wallpapers and rotate/flip image accordingly.
Make the program archivecat able to list directory contents of archives.
start exp for fast pdf parser
KDE-PIM
improvements in contacting the kbluetoothd:
- don't iterate over all home directories (takes hours if you have 2000 users)
- don't do strange hacks but drop privileges to the user to do the dcop call (root is not allowed to read the ice authority onNFS)
Office
Initial code for Kross2
The backend got replaced and is build up on Qt's metatypes now. This means we are able to throw any QObject/QVariant in and just use the slots as script-functions and the properties as script-members. So, we don't need wrappers/bindings any longer (and provided scripting-interfaces don't need to depend on Kross) on the one hand and and earn a more cleaner interface on the other. Beside the try to follow KISS, we should earn much more speed that way cause everything talks now Qt internal :)
The python backend works mostly already. Ruby is disabled for now while the existing bindings will be ported to on QObject/QMetaType-stuff based scripting-interfaces later.
So, I started working on doing proper layouting text, and the QText* stuff
looks pretty cool. I'm using the testDriven development here; first write
the unit tests, and then write the implementation.
So far I can layout text in different fonts / sizes with different margins etc.
Not much more just yet :)
Add drag-and-drop functionality as proposed in bug 114911.
The sensitive areas for URL drops are the edit space (tab widget, editor) and the project view.
(changes approved by Thomas Braun)
Table View
- tooltips are displayed for cells with too large contents
CSV Import Dialog
- delimiter detection is now even more clever, allowing
to import more complex data:
characters outside quotes have higher priority;
additional algorithm counting number of candidates
for delimiters is used.
2.0: merged
Multimedia
let amarok handle itpc:// and pcast:// style links for adding podcasts
Networking Tools
improve KWallet integration (patch by Valentine Sinitsyn)
handle #.+@.+ in irc text correctly.btw should we support links like #konversation@irc.kde.org ?
implement paste action: if the user opens the new download dialog and there is a valid URL in the clipboard, it gets autopasted
Behold, the Commit of Doom! Although I prefer to think of it as the Commit of Bliss. In any case, it's massive (diffstat < 10k lines). Here goes:
- Implement a tree list as a vertical alternative to the tab bar, supporting all cosmetic and interactive features of the tab bar, including, but not limited to, text notifications, LEDs, (hover) close buttons with delayed activation, context menus, drag'n'drop, and mouse wheel events. Plus a few tricks of its own.
- Refactor KonversationMainWindow: The view management duties are now performed by the new ViewContainer class, which internally abstracts the differences between the two tab switching widgets. All of that code has seen major cleanups. Also, the status bar management is now happening - mostly rewritten, too - in the new KonversationStatusBar class.
- Cleanup all around.
- Delete obsolete class DccTransferHandler.
- Delete obsolete class Popup.
- Delete obsolete class KonviSqueezedTextLabel.
- Fix status bar not being reset correctly when the last view is closed.
- Fix the status bar temp text not being cleared when the window loses focus or
the cursor leaves the window after a link is launched.
- Don't set allow empty temp texts to be set in the status bar.
- Fix the "No answer from server for ..." lag text interfering with the status bar temp text mechanic by using the proper API to set it.
- Improve consistency of status bar lag label updating to avoid the UI jumping around too much.
- Hide the info and lag status bar labels until text is set for the first time.
- Fix the "DCC Status" and "Channel List" panels leaving the status bar info label empty.
- Reset the status bar properly when the last view is closed.
- Tweak the grouping behavior for "Channel List" and "Raw Log" tabs.
- Fix change of the general UI font not being propagated down to the various types of tabs.
- Fix changes of the iconset not being applied to tab bar close icons.
- Fix the name of the "Watched Nicks Online" tab changing under certain circumstances.
- Fix Reconnect action not being updated on /disconnect.
- Fix Reconnect action not always working.
- Fix "Hide Nicklist" action not being disabled when the current view doesn't actually have a nick list.
- Fix the menu bar shown/hidden state not being saved across sessions.
- Show the "Show Menubar" action as the first item in the IRCView context menu when the menu bar is hidden, as is established good practice among KDE applications.
- Distribute actions in the menus a little better.
- Make the ban list and other channel settings easier to find by adding an action to open the Channel Settings dialog to the "Window" menu as well as the IRCView context menu of channel tabs.
- Fix switching off notifications for a tab not unsetting active notification.
- Fix server tabs not preserving their on/off notification state across sessions.
- Change the names of various actions temporarily when the (modal) shortcuts dialog is opened. Toggle actions are prefixed with "Toggle", since the list lacks the context in which they're understood as toggle actions. The insert actions are prefixed with "Insert". And the context-adaptive actions ("Open Logfile for ...") are stripped of their context.
- Disable the "Close All Open Queries" action when there are no open queries.
- Fix the "Close All Open Queries" action not actually closing all open queries.
- Don't focus Url Catcher when the "Open URL Catcher" action is triggered the second time. A toggle action isn't tri-state.
- Don't add bookmarks to the action collection (i.e. to the list of shortcuts) when the bookmark menu is opened.
- Update rough changelog.
- Bump build number.
(PS.: You will need to do a 'make -f Makefile.cvs' in order to build this successfully out of an existing checkout.)
Added support for EPRT.
Change the color assignment to use the sum of the character codes to
determin the color. This way a nick will always have the same color.
Patch by MrGrim
Handle simultaneous filetransfers properly.
NOTE: filetransfers containing several files at once are still not supported.
User Interface
new stuf
new icon
Utilities
And I thought it would take me hours to implement...
- add a searchline so you can quickly get to the app you want.
- convert qlistview to klistview, so it honours kde defaults ( for the future )
More Handbook integration. The 'Help' button in the Configuration dialog now takes the user to the specific section of the handbook for which configuration page is selected.
Games
Optimization
KDE Base
Shrink the size of JS objects by 2 pointers, so
8 bytes on 32-bit, 16 bytes on 32-bit.
This is done by pushing pointers that are not really needed
inside ObjectImp to subclasses; and also by rearranging and bitfielding
some things inside of the RegExp constructor.
Makes the cell size (32-bit, I need configury for 64-bit!) go
56->48 bytes, with GC adjusted accordingly.
Makes things may be 1.2%-1.5% faster; this version of the patch
is after adjustment by Apple to reduce divergence...
Don't create a huge pixmap for every shadow we draw.
Makes the "for transparency" taskbar style a *whole* lot faster.
Multimedia
DAAP server is now refactored, should be much faster. Now to test it with
iTunes et. all as clients...
Other
Development Tools
Removed check_licenses and licensecheck. Both of these programs were out-of-date and we hardly need 2 anyway. The most of up-to-date license checker is the EBN Krazy Source Code Checker which is available in SVN in playground/devtools/krazy and does everything that these two programs did only better. :)
KDE Base
Adding a patch which removes all libcurl usage, and replaces by KIO. In theory it works fine, though as KIO is totally broken, I can't continue. It seems related to dbus - whatever..
I should calm down, I wasted about 6 hours today just because it's broken. If you are the one who broke it, better hide otherwhise I'll get a knife and stab you!
(some weeks ago kio worked fine in kde4...)
KDE-PIM
Office
do a 180 degree turn and abandone MathMLLoader, per element loading is simpler in the end and much easier to port, I will be able do use most of Alfredos code in 1.6 branch
Multimedia
Sad day...
ATF roll-out delayed until 1.4.3, which (should) allow TagLib 1.5 to come out (fixes some bugs) and will give time to test the collectionscanner as a KUniqueApplication, to avoid possible corruption issues.
Networking Tools
Move the Kopete 0.12 branch into the KDE 3.5 tree
Utilities
Don't be silly, use GB/MB not GiB/MiB. SI can go eat their silly units.