2nd November 2008by Danny Allen
|Commits||2978 by 245 developers, 9460 lines modified, 1763 new files|
|Bugs Opened||588 in the last 7 days|
|Bugs Closed||735 in the last 7 days|
Internationalization (i18n) Status
There are 101 selections this week
Made "show keyboard status" a11y-indicator in KDE4 work again.
Step 1 of 3: move to playground (to prepare for review and inclusion in kdeplasma-addons asap :)
Store mimetype in history
Fixes back/forward in history when parts other than KHTMLPart are involved
Improving and sanitizing the reference selection code.
This fixes problems where formula references got incorrectly remembered as a selection upon editing a cell, changing a wrong cell and causing many problems.
Furthermore, enabled signal calling when doing reference selection list updates (no idea why Stefan decided to disable them).
This means that the colored boxes around referenced cells within a formula are actually displayed again.
Also unified the two editing widgets - each of them was using a different code to update cells and such, which led to a mess. Now one of the widgets simply relays all keyboard events to the other, who updates the text in both.
This greatly improves KSpread's behaviour when editing cells.
Some issues still remain - most notably, selecting the text in the toolbox editor will work oddly. I will fix this soon.
So few lines of code, so many improvements.
Yes, I'm good ;)
Fix for very long track or artist names messing up the tag dialog.
Thanks to Andrey Esin for the patch.
Andrey, as you've already contributed so many good patches, are you interested in getting a KDE SVN account?
Make Shoutcast streams update their metadata correctly.
The problem here was simply that the M3U playlist loader wasn't using trackForUrl(), which creates MetaStream::Track objects where appropriate, but would always create MetaProxy objects, which are useless for Shoutcast.
A two liner fix that took me some weeks to track down ;)
Integrate the rfb event system with qt's event loop instead of running a custom event loop in KrfbServer.
This fixes the major problem that modal dialogs were closing immediately after they were shown, which caused huge usability issues.
* Add support for Mono based kio slaves by extending kimonopluginfactory.
* Add a kio_monodoc example kio slave. It needs monodoc installed and accessible through 'pkg-config --libs monodoc'.
You can then access the mono documentation by typing e.g.
in Konqueror's address bar or using kioclient from the command line.
Simply monodoc:/ will bring you to monodoc:/N:System
- First part of the Historic Map from 1689.
Big Thanks go to Magnus Valle who has created the plate carrée map by doing the time consuming work of morphing the grid of the file: <a href="/issues/2008-11-02/files/Image:World_Map_1689.JPG">http://commons.wikimedia.org/wiki/Image:World_Map_1689.JPG</a> (Public Domain data)
Here comes the 2700x1350 resolution. The full resolution (5400x2700) will be available from the server in a few hours hopefully.
Refactoring: Store the passwords needed for syncing/closing open wallets in the backend instead of the daemon class.
Security bonus: Now we're able to only store the passwords' hashes.
Make building the backend tests possible again while adapting to the changes in the backend API.
Show symlinked wallets in the list of wallets.
While I don't think this is really all that useful (after all you'd rather symlink ~/.kde4/share/apps/kwallet) opening symlinked files has been possible all along. Now they're also shown.
Refactor increase/decrease volume.
Resolve 2 TODO items (missing functionaity on capture volumes).
Add OSD, as discussed on kcd.
Fix one more show-window-on-start issue.
Bugfix: Let KMix only show GLOBAL shortcuts for the volume actions.
Support for importing tracks into a collection-less amarok.
Required a bit of trickery and imho this could be done more correctly.
I had to expose insertTracks() and insertStatistics() of SqlCollectionLocation to do this, as well as allow MetaFile::Track objects to have some virtual attributes set (score,rating,first played,etc) in order to pull them out later with the Sql ScanResultProcessor.
Highly speed up code-completion with a very long completion-list. Steps to achieve this:
- Don't use indexOf(..) in the row list when inserting items, instead do a binary search using qUpperBound
- Cache the filter-text
- Don't do a complete re-sort after creating the groups, the order is already consistent after the group-creation.
The functionality to allow reverse sorting was removed on the way, it was too much complication for too low benefit, coming in the way.
Better tracking of the context-history.
Whenever any kind of jump is performed, be it from navigation, from quickopen, or whathever, then a history-entry is inserted for the start- and for the end-position of the jump.
This makes the history actually useful and reliable, because it always brings you to your last position in the other document.
This is especially useful in the "browsing" mode, since it brings the convenience of web-browsing.
begin refactoring the Parley main window
The goal is to have a common main window and components for the editor, the practice window and the welcome screen that are merged into the main window with xmlgui.
The first step was to rename ParleyApp to ParleyMainWindow, I also copied the ParleyApp code to a newclass called Editor.
The next step will be to separate main window code from editor code.
first attempt to port the picasa export plugin to Qt4
- both ui files have been ported
* some widgets have been replaced by their KDE counterpart
* there still is some Qt3 stuff in them, I don't know what this is:
It seems to be generated by designer all the time
- new headerfile 'newalbumdialog.h'
Unfortunately I'm not able if the plugin works, I have no picasa web account. So please test it, maybe everything is broken now :-)
(Have I mentioned that I hate ui files? Guess not...)
added Inkscape project files for dpopmenu side image
I think it is much easier to change text that has been rotated in an Inkscape project, because you can edit it directly.
In a Gimp project it's not possible. Also the output is much more crisp, the font is not so washed out.
I guess we should remove the Gimp project files...
In addition we could merge both Inkscape project files and work with layers.
Since we have same version numbers for digiKam and showFoto, we could put each app name on its own layer and just export the appropriate one when saving the new image.
improve goto command and make it possible to omit the keyword "goto"
* make it possible to give goto a number prepended with a minus or plus sign to jump that many lines back/forward in the buffer
* don't give an error message if a number greater than the number of lines in the file is given. instead jump to the last line. 'goto 0' will go to line 1.
* make it possible to omit the 'goto' keyword. in other words: the command '123' will go to line 123. '-10' will go 10 lines up and so on.
Since the binary format which is offered by the old vcard resource doesn't work, both practically (I'm not even able to create a simple test file) and theoretically (no support for photos and sounds, various backward compatibility issues, etc.), we will not provide migration for that and probably drop it for KDE5.
Until then the compat bridge can be used to manually move contacts for the extremely unlikely case someone is still using this format.
Collection browser: Use an intelligent natural sort algorithm which isn't necessarily a lexicographical comparison.
Eg: "Symphony 2" < "Symphony 10"
Patch by Nicholas Wilson
@nick: sorry it took so long to apply this patch.
a combination of new years and me being overseas directly after that obviously contributing factors to overlooking your patch :)
The VolumeUp key on my USB headset worked, but not VolumeDown, which is definitely not nice to my ears :)
Merged the increaseVolume and decreaseVolume slots into one convenience function to get rid of copy/paste code and bugs where volumeUp behaves differently than volumeDown.
new last.fm code for the last.fm service.
basically, this replaces our old last.fm code drop from the 1.4 client with the new modular liblastfm from max at last.fm. currently the library is included here in-source, and we are compiling it as a lib and linking to it internally.
as soon as they can, last.fm will release it as liblastfm, and amarok will depend on it. for now, and 2.0, this will stay in-source.
note that i include a FindLibLastFm.cmake that is not being used, as soon as we switch to the external lib we can just switch to searching for the external lib w/ no hassle.
NOTE: *please* test.
i've tried to stress it as much as i can, but i can't think of all the edge cases. break it!
this should fix a number of bugs with the old client.
there is 1 bug that i know of with this code, and i have email max.
After much debate, I am switching the track grouping to use, for now, name based matching.
This is very much a temporary solution and should be fixed properly after 2.0.0.
The motivation for this change is that mmany scriptable service, tracks loaded from the file browser or track recieveing their metadata from a stream was not grouped together using pointer based matching.
Fixing it The One True Way (tm) now would require some large changes that would likey break other stuff, so in the interest of getting a release out the door, this will be the way it works for 2.0.0.
The logic is quite simple, and it uses both album and artist names ( if available ).
Made Amarok compile/work with latest libplasma trunk (<a href="http://websvn.kde.org/?rev=878420">http://websvn.kde.org/?rev=878420</a>).
This was _a lot_ of work since they renamed many classes, changed around stuff, etc.
I did my best to port it all, but you might notice a few regressions. I will try (hopefully with your help) to fix the problems ASAP.
Known problem: Only 2 containments active, instead of 4. Reason unknown.
One could argue that we shouldn't bump libplasma (for fear of regressions), but on the other hand the new version also contains many bugfixes.
And we need to bump it anyway at some point, and the longer you wait, the harder it gets.
Rewrote kio_settings so that it actually works.
* Splitted out a kio_applications since the code has nothing in common anymore
* Used the logic from systemsettings for extracting a category structure out of ksycoca and putting the config modules into that.
Large code movements, a.k.a The Big Nightly October Refactoring of KByteArrayView
* refactored and renamed:
KByteaArrayView -> AbstractByteArrayView + ByteArrayColumnView
KDataCursor -> ByteArrayTableCursor
KDataRanges -> ByteArrayTableRanges
* made KByteArrayDisplay a complete layer to the used view
* ported all controllers and tools to use KByteArrayDisplay, not the byteArray widget
Now on to make ByteArrayRowView happen...