16th November 2008by Danny Allen
|Commits||3033 by 258 developers, 8207 lines modified, 1694 new files|
|Bugs Opened||557 in the last 7 days|
|Bugs Closed||886 in the last 7 days|
||Aaron J. Seigo||
Internationalization (i18n) Status
|Low Saxon (nds)||
Bug Killers and Buzz
|Aaron J. Seigo||
|Aaron J. Seigo||
|Adriaan de Groot||
There are 88 selections this week
Apparently someone thought its cool to have accelerators (Alt+<Letter>) for context menus, that broke the external tools because they use the menu text to find the right group in the config file.
This fixes that by storing a mapping between the popup-entry-id and the actual text of the config group.
Fixing the bug with non-gmail.com user names.
Earlier the code used to append @gmail.com to a username if not already present.
As I learned from others Google login doesn't need to be a gmail.com id.
Now the user name field needs to be complete Google Login.
This change has been made in the LoginWindow code to show "Google Login" instead of "Username:" but it will need translation changes to show up.
Some system update buggered HAL again, no two batteries show up in my lshal output, and hence in Solid, and hence in the Battery applet.
So quickly fix the battery applet to work with more than one battery (I don't have a physical second battery, so it's a great opportunity I get now).
Thanks to the HAL people and my OSV's QA department forletting this slip through -- it'll improve the battery applet in 4.2.
icons, and other ui work
We're now compressing the notficiations when a new wireless network appears by (re-)starting a timer when a new network appears and collecting the network's essids in the meantime.
This prevents the event notification storm when you start the applet and there are existing networks found.
Much, much better this way ... :)
Also, fix lots of icons. media-playback* is semantically incorrect, use network-(dis)connect instead.
And be a lot less noisy doing all that.
Rewritten as SAX analyzer with following improvements: does not try to read whole file, can work inside archives, actually recognizes valid .ts files, does not burn insane amounts of CPU time while trying to read weird binary files into QString, uses the same field names as .po analyzer.
- Add basic functionality to support collection on network shares.
There is no autodetection, you have to give the mount path and say it is a network share.
The collection will be considered available if the directory is not empty.
The identification in the database is done via mount path.
As usual we are free to add other means of identification is they are available in the future.
- Extend checkLocation (and add checkNetworkLocation) to always provide meaningful information and a good icon symbolising the kind of storage
1. Implement session handling for applications using the KWallet API.
If an application with an open wallet exits or even crashes, kwalletd will know and close the wallet (if autoclose if last client exits is set).
For this to work I added the handleSession parameter to the openAsync call. Clients not using the API can continue to use the old DBus open call (no changes needed).
Drawback: If an application exits/crashes while the password entry dialog is shown, the wallet will still be opened (albeit autoclosed afterwards).
I don't intend to change this as it would be too messy and this cornercase is just not important enough.
2. Implement asynchroneous handling of openPath calls. openPath now uses transactions as well (almost identical to openAsync).
3. Create tests for the new changes and one for tracking concurrency problems (kwalletmany).
* Make it possible to change refresh rate and rotation for enabled screens (by employing a more fine-grained change condition).
* Only attempt to change outputs/CRTCs if there is actually something that needs to be changed.
* Further improved debug output.
This essentially makes the KCM work as expected (while keeping krandrtray in a working state too), just in time for the upcoming beta.
The Clone/Position combo box and the graphics view still like to ignore newly enabled/disabled outputs, but hey, I can now configure my screen without the xrandr command line utilty! Whoo.
Nicer icon for wired networks, busy animation while connecting
Things start to work here now.
I can connect to my wireless network with a preconfigured connection now.
The applet shows correctly the connection process (for both wired and wireless) and updates the icon.
Even the messages in the tooltips make sense.
All is still very brittle, though...
if compositing is available, show a subtle glow where the hidden panel is when the pointer gets within 30px of the trigger area.
the idea is to give a hint as to where the hidden panel is as we only trigger on its foot print, not the whole screen edge. and... well... it's a cool idea. =P
the mechanics actually work without compositing except the painting of the glow, which looks like ass because it really requires proper blending to look nice.
so no fancy for the compositeless.
re-using the button glow artwork for now, should probably be using something designed specifically for this.
Implements the 'Do not show under various artists' context menu item in the collection browser.
Unfortunately, I have not been able to introduce persistence over rescans, after each rescan no items will be marked as a collection.
A ton of improvements to the SQL playlists ( the user playlists in the playlist browser )
1. Playlist generated from files during collection scanning now have a urlid, this is used to ensure that duplicates are not added when rescanning. Instead the playlist is recreated so any updates to the playlist file is reflected in the SQL playlist
2. Streams loaded from a playlist are now given propper title, album and artist values if no service recognizes them. This means that it now works well for keeping a list of, for instance, favorite books from the librivox service.
3. After a collection rescan, any SQL playlists generated or updated based on a playlist file would contain many tracks with no metata at all since the scanner did not give them any. Now a reload of the playlist is forced when it is subsequently used, giving collections a chance to add info about any tracks they know.
All this goodness comes at a cost though.
After this update, all old SQL playlists will be deleted ( no files are affected, only playlists stored in the database ).
Any playlists based on files on disk can be recovered simply by rescanning the collection.
If you have any custom made playlists that you care about, they can be added to the playlist and exported to a file ( and later readded ) _BEFORE_ this update is applied.
Paints usually originate somewhere up the parent chain making all icons repaint at the same time.
Prior to this commit, each icon called render on the parent meaning that, for example, the panel was being painted to an offscreen pixmap as many times as there are icons.
This commit consolidates those offscreen paints into one, meaning that with 10 icons there is a 10x speedup. :)
After this, I'll move the paint compression/timer stuff over as well to cut down on the timers.
Change how we store the scope chain --- instead of always using a separate ScopeChainNode, we store a single link inline inside ActivationImp's when possible.
This gives a (disappointing) 3.1% speedup on SunSpider, but on the plus side:
1. Control-flow-intensive benchmarks are as much as 10-20% faster
2. Improvements are pretty much accross the board.
Plus, this should mesh nicely with multi-level static binding lookup improvements.
Some more optimizations to snow effect:
* move position updates of flakes to shader
* remove the for-loop which updates the flakes. This is handled in the loop for painting the flakes
* Don't test in each frame if a flake is on the screen. Precalculate the number of frames when then flake is on the screen and count the flakes.
* Set PAINT_SCREEN_TRANSFORMED
* Remove all unneeded code (like a QTime object when we already get the time in the method)
Now it takes ~ 17 % of CPU usage on my system. Seems to be the maximum of what is possible.
- Adjusted namespace
- provided exe (testgallery) to see library at work. For now just wizard..
- let wizard work
- checked item.h against flickr, picasaweb and gallery item implementation
- rewamp ui
I'm not really sure I can implement it, but what I'm trying to is a simple mechanism that substitutes ALL remote plugins. So just ONE plugin.
KIPI::Talker should be the class that talks to ev'ry remote gallery. Every time with the same interface. The mechanism to implement is something like:
talker = new GalleryTalker();
talker = new FlickTalker();
And that's all! Then we can port it to the dedicated model/view.
Sorry I can't explain well my idea in Genova..
Merge the coverswitch branch from git://github.com/Zarin/kwin.git (<a href="http://github.com/Zarin/kwin/tree/coverswitch">http://github.com/Zarin/kwin/tree/coverswitch</a>)
* use of RotationData instead of glRotate
* use of x/y/zTranslate instead of glTranslate
* does not define own projection matrix
* changed the direction of the animation (consistent with Cover Flow)
* no special code for start/stop animations.
That's now covered in the code for "normal" switching, thanks to not using glTranslate any more. Therefore
minimized windows are faded instead of moved from panel
* zoom - define how far away the windows appear (only in config dialog possible)
* additional thumbnail bar which is shown when there are many (>= 8, configurable) windows
* window covers can be clicked and become selected window
(Sorry for the one big commit - looking forward to the days when we don't lose commit history when using git ;-))
Launch Konqueror if the user enters an unsupported protocol
load and save toolbox position between restarts!
still to come:
* don't paint when zoomed, replace with tool strip instead
* respect available area during drag
* smarter positioning (right now it just loads the saved position whenever it needs to reposition)
merge my work on dict plasmoid.
applet part now looks for qstardict dataengine (should come with qstardict package) and if it's not found, uses dict dataengine from kdebase-workspace.
i moved wnToHtml() to dict dataengine as it is specific to it.
one important applet change is switching from QWebView to KTextBrowser: this saves ~5 megs ram.
Move Quicklaunch-Applet from Playground to plasma/applets
Everything discussed here: <a href="http://mail.kde.org/pipermail/plasma-devel/2008-November/002310.html">http://mail.kde.org/pipermail/plasma-devel/2008-November/002310.html</a>
Don't set the minimum size as that's smaller than kmmainwin's and kontact's default size anyway.
Voila, you can make kmail as small as you want now :)
No longer create a an initial identity with the name "Default".
That is confusing.
Instead, create a name from the user's email address (if one exists);
else, create a name from the user's full name (if one exists);
else, use "Unnamed" for the name.
As discussed with tmcguire the other day.
relicense of decibel from LGPLv2only to LGPLv2+
All source code was commited by 2 persons:
- Tobias Hunger's work was done as employee of basysKom GmbH
Being the managing director of basysKom GmbH I agree with the relicensing
- George Goldberg agreed to the relicensing by email to me
All other commit have been checked and were identified as build system fixes.
Enable the new WLM plugin for Kopete.
This new plugin replaces the MSN plugin and requires an external library
called libmsn which can be gotten from <a href="http://sourceforge.net/projects/libmsn">http://sourceforge.net/projects/libmsn</a>
We're working towards a 0.4 release of that library but until then, please download the beta versions.
The new WLM plugin provides support for the MSNP15 protocol version and in general lays the groundwork for a better MSN plugin.
Thanks go to Tiago Salem Herrmann, Gustavo Boiko, and Roman Jarosz for doing all the heavy lifting.