|
| This Week... |
|
Various work across Plasma, including improved applet handles with monochrome icons, work on the Weather Plasmoid and the start of an extender-based notification applet. Continued development in PowerDevil, including support for suspend. Long-standing "slow deletion of many files" bug is finally fixed. A System Settings module for choosing the default file manager. Basic implementation of red eye reduction in Gwenview. A generator for G3/G4 fax documents in Okular. Support for filter plugins in Kst. More work on code completion in KDevelop 4. Start of a D-Bus interface in Lokalize. First working implementation of KMenuEdit global shortcuts. Work on supporting different resources in the Akonadi OpenSync plugin. The return of Ark context-menu actions. Liechtenstein, Oman, and San-Marino maps in KGeography. Previews of slide transition effects in KPresenter now happen directly on the affected slide. A KFormula widget is extracted from KOffice and moved into kdelibs for use in other KDE applications. Work on porting Keep, a backup utility, to KDE 4. NEPOMUK query libraries move from kdereview to kdebase/workspace, with the search KIO slave moving into kdereview. A KDE 4 port of KnowIt, a note taking application, is imported into KDE SVN. Eigen 2.0 Beta 1 is tagged for release.
|
Ryan P. Bitanga introduces QuickSand, an alternative KRunner interface:
|
QuickSand is an alternative interface heavily inspired by the "Primer" interface of Quicksilver in Mac OS X.
QuickSand differs from the current KRunner interface in several ways. QuickSand has 3 different display modes: "Icon Parade", "Selected Item", and "Text" mode. The default display mode is "Icon Parade". Instead of displaying a line-edit, QuickSand presents the user with a matches pane asking the user to type something to be searched. Upon typing, the search string is displayed on the upper left corner of the matches pane. If matches are found, the number of matches is displayed on the upper right corner of the match pane. The icons are of the matches are lined up horizontally in the match pane and a pop-up completion box is shown to guide the user in selecting the appropriate match. The user can scroll through the available matches by pressing the up and down keys (when the pop-up box is shown) or the left and right keys.
Hitting <enter> will select the match and display only the selected item. Clicking on the arrow on the upper right corner of the match pane will toggle between "Icon Parade" and "Selected Item" modes.
If the user would rather see a line edit, pressing the <.> (dot) key will change the display to "Text" mode. A line edit will replace the scrolling icons in the match pane.
One of the primary reasons for writing QuickSand was to provide support for multiple actions. For example a match for an open application window can have several actions associated with it. The window can be minimized, set on all desktops, etc. QuickSand supports multiple actions in the same manner as matches for a search. If a particular match has several actions associated with it, an action pane appears below the match pane with the first action selected. Pressing <tab> will switch to the action pane and the user can select from the various available actions in the same manner as matches.
Hopefully, QuickSand will be provided as an option in KRunner allowing users to select between the default interface and QuickSand.
Another future development would be support for actions that require objects/targets. For example given a match for a file "screenshot.jpg" and an action of "e-mail to...", a possible object would be "danny@commit-digest.org". Support for objects would be as simple as placing an object pane below the action pane and displaying it whenever the currently selected action requires an object.
|
|
Gopala Krishna evaluates the progress made in the Summer of Code project for Umbrello:
|
Hi, my name is Gopala Krishna and I am currently pursuing Engineering in Information Science at Bangalore, India.
Umbrello is a KDE tool for UML drawing and it comes with the kdesdk module. Umbrello has been ported to KDE4 but still there are some rough edges here and there.
Google Summer of Code 2008 gave me an opportunity to contribute to KDE and I worked on the GraphicsView port of Umbrello and brought graphics bling into it. My mentor was the awesome Kubuntero, Jonathan Riddell.
I started with the literal Q3Canvas to GraphicsView transformation and intially succeeded removing the Q3Canvas dependency entirely. Of course, this broke almost all the drawing. Doing lots of string changes with the help of emacs, I could get the drawing back.
To continue, I had two choices for UML diagram widgets:
- Tweak the sources to restore all the broken stuff (mouse handling and others)
- Redesign them utilizing all the goodies provided by GrapicsView. (obviously more work but more futuristic)
I chose the second option as I love challenges! The first step was to redesign the base classes separately in a new namespace so that I could port the UML widgets incrementally. This base classes supported additional functionality like minimum/maximum size support, gradient fills, and so on.
Next came widget resizing mechanism. The previous version allowed resizing only from the bottom-right corner. I wrote a new class called WidgetHandle - a QGraphicsItem which handles all the resizing (all 8 locations) for a UML widget and also changes mouse cursor appropriately on hovering along any of the 8 locations. Here is file snapshot ;)
While trying to port UML widgets, I observed that a lot of widgets needed to display text and hence every class had to do lots of font calculation for handling drawing and geometry.
I came up with an idea to isolate all text handling stuff and I encapsulated them into TextItem and TextItemGroup classes. I evaluated the performance before this step, and you can find the results of evaluation here.
TextItems is one of the coolest parts of the project according to me, as this step led to the addition of support for rich text handling, hovering effects and tooltips, alignment, and also in-place editing of Widget's text quite easily. Isn't that cool?
Now almost all the UML widgets use TextItemGroups and TextItems to display their text which has freed them from the individual versions of font calculation code.
Here are screenshots of Umbrello showing some bling!
I am currently working on a new implementation of LinePath used to draw AssociationWidget lines. It sports new features, like highlighting the segment or point on the LinePath when the mouse hovers over it (for improved usability!):
My future plans involve integrating my work into trunk/ as soon as possible so that KDE 4.2 includes my work. I have plans to make the undo/redo handling more robust and implement cut/copy/paste based on XMI. And with the Umbrello community support, I think this is achievable :-)
The code is available at http://websvn.kde.org/branches/work/soc-umbrello/.
|
|
|
| Statistics |
|
| Contents |
|
|
Bug Fixes |
Features |
Optimise |
Security |
Other |
|
Accessibility |
|
|
|
|
|
|
Development Tools |
|
|
|
|
|
|
Educational |
|
|
|
|
|
|
Graphics |
|
|
|
|
|
|
KDE-Base |
|
|
|
|
|
|
KDE-PIM |
|
|
|
|
|
|
Office |
|
|
|
|
|
|
Konqueror |
|
|
|
|
|
|
Multimedia |
|
|
|
|
|
|
Networking Tools |
|
|
|
|
|
|
User Interface |
|
|
|
|
|
|
Utilities |
|
|
|
|
|
|
Games |
|
|
|
|
|
|
Other |
|
|
|
|
|
|
There are 143 selections this week.
|
|
Bug Fixes |
|
KDE-Base |
|
Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:
|
* avoid NVidia+Qt4 buffer clearing problems, by making our widgets have a private buffer. * for the same reason, always fully clear our shared opacity buffers - or we might get artifacts on NVidia cards such as on www.codetch.com/screenshots/ |
|
|
|
|
|
|
|
|
David Faure committed changes in /trunk/KDE/kdelibs/kio:
|
Finally fixing bug 43356: "deleting files in directories with more than 3000 files gets painfully slow" (from 2002, with 260 votes)
With model/view we can finally update the view in a better way: by chunks instead of item-after-item. This required adding a itemsDeleted signal to KDirLister, and some figure-out-consecutive-removals logic in KDirModel using QBitArray (for beginInsertRows).
Results: Deleting 5000 files with konqueror-4.1: 8 minutes (30 seconds stat'ing, 5 seconds deleting, and then 7'25" until the view refreshes).
Deleting 5000 files with konqueror-trunk: 15 seconds (2 seconds stat+deleting, 13 seconds until the view refreshes). |
|
|
|
|
|
|
|
|
|
|
David Faure committed a change to /trunk/KDE/kdelibs/kio/kio/slave.cpp:
|
Nasty bug, this one, took a long time to debug. Fix warning from scheduler saying "KIO::SchedulerPrivate::slotSlaveDied: Scheduler: BUG!! Slave KIO::Slave(0x6ee820) / 3788 died, but is NOT in slaveList!!!" simply because deref() used to delete the slave immediately in kde3, and delayed in kde4, so it would keep processing the replies sent by the slave. |
|
|
|
|
|
|
Multimedia |
|
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:
|
Refactored TrackTooltip (systray tooltip widget). * Fixed metadata handling. Works now correctly for streams too. * Widget is now independent from the App object, and updates itself. * Various bugfixes, and less code. |
|
|
|
|
|
|
Features |
|
Development Tools |
|
David Nolden committed changes in /trunk/KDE/kdevelop/languages/cppduchain.cpp:
|
New special Code-completion within instantiated template classes. This means you can jump into a template-class, see the actual types/values of all template-dependent types, and get code-completion on them.
To activate this, you current have to jump to the specialized declaration using the quickopen shortcut "CTRL+.".
Soon also to work with use-building and the context-browser, also this will get a little UI to change the template parameters while you're in a template. |
|
|
|
|
|
|
Cédric Pasteur committed changes in /trunk/KDE/kdevplatform:
|
Modify the way settings are saved This enables to undo choices of styles and plugins.
Deleting and adding styles cannot be undone, but there are warning dialogs so it's not a problem imho |
|
|
|
|
|
|
|
|
|
|
Nickolai Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:
|
-start of DBus interface. -add qdbus shell script that initiates search for a gui string in translation memory to be called by kdelibs (CopyWidgetText feature I added a while ago). it is installed in lokalize data directory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sascha Peilicke committed changes in /trunk/playgrounds/kgo/src:
|
Added some more user-visible hints on what's going on and implemented pass and resign handling in the GoEngine class.
Minor code tweaks, as always. |
|
|
|
|
|
|
Graphics |
|
Henner Zeller committed changes in /trunk/extragear/graphics/kphotoalbum:
|
Implement experimental cache preheating. When paging through the thumbnail view, try to already pre-heat the cache with the next/previous page. This first experiment looks quite promising so far. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Matthias Fuchs committed changes in /trunk/KDE/kdeplasma-addons:
|
Implements changes in comic applet/dataengine: * dataengine provides the identifier of the first strip * go to first strip in context menu * go to most recent strip in context menu * improves some providers |
|
|
|
|
|
|
|
|
Rob Scheepmaker committed changes in /trunk/playground/base/plasma/applets/extendified_notify:
|
Start of an extendified notification applet. Not only does this version use extenders for displaying notifications, it's also based on PopupApplet which means removal of a lot of duplicate code.
Code can maybe be cleaned up a bit more, but it basically works.
Only major regression: it no longer groups notifications of the same app. To do this neatly, it would require grouping support in extenders and that's more something for 4.3 I think. |
|
|
|
|
|
|
|
|
Sebastian Kügler committed changes in /trunk/playground/base/plasma/runners/katesessions:
|
This Runner now loads a list of Kate's sessions and matches KRunner's queries against it. It's pretty much ready to move into kate.
The matching goes as follows: * You type "kate" into the krunner interface, this Kate Session Runner adds all kate sessions, with a low priority (0.5) * You type "kate gnirrep" and the runner will find a session called "gnirrep", priority 1.0 * Typing just a part, such as "kate gnirr" also results in a match, but lower priority (0.8) * Typing just the (parts of) the name of the session will also match (the "kate" in the query is optional).
All matching is case-insensitive. Happy hacking! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael Jansen committed changes in /trunk/KDE/kdebase/workspace/khotkeys:
|
First working implementation of kmenuedit global shortcuts. Some things still left to do in the gui part.
- prevent adding other kind of trigger/action combinations to the khotfix-kmenuedit group |
|
|
|
|
|
|
|
|
|
|
|
|
Michael Jansen committed changes in /trunk/KDE/kdebase/workspace/khotkeys:
|
Implement constrainting the available action type for groups. A group now can advertise what kind of shortcuts/triggers it accepts. Used for the kmenuedit systemgroup. Do not allow creating subgroups in system groups. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KDE-PIM |
|
Teemu Rytilahti committed changes in /trunk/KDE/kdepim/akonadi/opensync:
|
Add support for sinks for different kind of objects, sinks for contacts and calendar are currently available.
It currently does not keep the info about change statuses so basically it will only allow one to send all items between the Akonadi and opensync, which means that you'll probably get dupes to your Akonadi resource. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alexander Rieder committed a change to /trunk/extragear/network/ktorrent:
|
Show some of the messages the server sends on connect in the server window. Implement basic Event system, to notify the application from events happened in libkirc (ATM only TextEvents) |
|
|
|
|
|
|
|
|
|
|
Office |
|
Casper Boemann committed changes in /trunk/koffice:
|
|
Replace the small preview of slide transitions with preview directly live on canvas |
|
|
|
|
|
|
Thorsten Zachmann committed changes in /trunk/koffice/kpresenter/part:
|
* Make it possible to switch a placeholder shape into the shape it represents.
There are still some open points maybe someone has an idea: I would like to change the placehoder shape when you double click on it in the default tool.
That already works but it is not nice as the tool used for doing the change pops up in the tool box. Also I'm not sure which shape is clicked when the placeholder tools is activated. At the moment I use the first selected placeholder shape. |
|
|
|
|
|
|
Johannes Simon committed changes in /trunk/koffice/kchart/shape:
|
Work on axis and grid: * separate axis dimension and position * load and save z axis, but don't show it * remove compiler warnings in switch() and add FIXME instead for missing chart types * introduce setUseAutomatic[Minor/Major]Interval() (not a feature - this was possible before, by setting the interval to 0) * Relayout KDChart plane after switch between logarithmic and linear scaling * split showGrid() up into showMajorGrid() and showMinorGrid() * load axis style (code mistakenly was in the wrong place) * load axis font from ODF
Axis scaling dialog: * Get initial properties from axis |
|
|
|
|
|
|
|
|
|
|
|
|
Optimise |
|
|
|
KDE-Base |
|
Michael Jansen committed changes in /trunk/KDE/kdelibs/kdeui/dialogs:
|
Performance. Localizing the name 40.000 times is expensive :-).
That how often it is requested just by opening kmails shortcuts editor dialog and closing itimmediately. |
|
|
|
|
|
|
|
|
Michael Jansen committed a change to /trunk/KDE/kdelibs/kdeui/dialogs/kshortcutseditor.cpp:
|
Do not update the view when adding items. Most of the time it isn't even visible (room for qt improvement?) and the resulting layout frenzy takes much time.
No more shortcuts editor performance test.
Complain if you think theperformace is still not good enough. |
|
|
|
|
|
|
David Faure committed changes in /trunk/KDE/kdelibs/kio:
|
Performance improvements for deleting local files.
Deleting 1000 local files (without progress info dialog): before: 4177 ms with independent jobs, 3860 ms with one job after: 1010 ms with independent jobs, 150 ms with one job.
End users selecting 1000 files in konqueror fall into the "with one job" category, so this is a 25-times speedup. |
|
|
|
|
|
|
David Faure committed a change to /trunk/KDE/kdelibs/kio/kio/kdirmodel.cpp:
|
Performance: replace linear search with hash-table lookup, so that the O(n*depth) method is now only O(depth)
(but in many cases the caller then calls a O(n) method, so this is O(n) in practice, where n is the number of files in the directory, so no complexity gain in the n=5000 depth==1 case like bug 150885 -- but in practice the remaining O(n) lookup runs much much less code for each iteration than the old code did) |
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/tasks:
|
* only update what changed * only update tooltips when being shown * on demand tooltips
this is a pretty big win as we were shifting the tooltip on at least one button for every window change! can get expensive, particularly when geometry changes are being followed. |
|
|
|
|
|
|
|
|
Fredrik Höglund committed changes in /trunk/KDE/kdebase/apps/plasma/applets/folderview:
|
* Rewrite the layout code to do the layout incrementally in 20 ms passes, to avoid blocking the plasma GUI. * Show an animation while doing the directory listing and layouting to provide feedback to the user. * Fix an occasional corruption of the folder title. * Reduce the number of calls to Plasma::Theme::color() in paintInterface() since this turns out to be an expensive call. * Don't initialize the view options in paintInterface() if we don't need to paint any icons. |
|
|
|
|
|
|
KDE-PIM |
|
Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail/messagelistview:
|
Guess when the optimisation of "disconnected UI" can be applied and.. apply it!
It really speeds up things when: - We have no threading / grouping at all - We're not expanding threads / groups - We expanding but we're able to guess that the number of expansions will be very low. |
|
|
|
|
|
|
Other |
|
|
|
David Faure committed changes in /trunk/KDE/kdesdk/cervisia:
|
Split out the application and the part's desktop file, so that the preferences for both are independent.
(I had cervisia.desktop at the end of mimeapps.list after using the new componentchooser-filemanager, and this would make it preferred above all other directory parts... Too complex to fix in ksycoca, better have a clean separation of desktop files.) |
|
|
|
|
|
|
Nickolai Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:
|
-on new file open, use toolview layout of the last active editow tab, instead of the last editor tab restored -save restore filelist for each project separately -respect --project option -really fix F3 search behaviour for cases when text is modified after search |
|
|
|
|
|
|
Hamish Rodda committed changes in /trunk/KDE/kdevplatform/plugins/classbrowser:
|
More work on the class browser; I had fixed it up to allow updating from the duchain, but David suggests I re-check the code model in that instance, which sounds like a good idea.
Committing this now (with that path disabled) in case I ever want to retrieve the code.
Also: - track which files are referenced (by projects, the editor) and show while still referenced. - cleanups - remove old duchain-based sorting code - make the encountered tracking code work on the top node for one specific file at a time - some documentation (soon to be out of date ;) - move node class to cpp file (private detail) |
|
|
|
|
|
|
Nickolai Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:
|
-add even untranslated and fuzzy messages to TM. such messages ain't used for translation suggestions, but used in search over TM.
-completely remove projevtview, as it is superceded by project overview tab -be consistent: source + target. no more originals -extend TM query gui with more optons and replace feature (nothing is implemeted yet ;) -add action to show project overview tab |
|
|
|
|
|
|
Nickolai Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize:
|
-rename KAider class to EditorWindow -filter over all columns in cataloglistview, + case-insensitive -use KAction::setShortcuts(): shortcuts are back, thanks mjansen!
tm query window: -embed it into mainwindow as tab -indicate fuzzy state of found items by italics -implement filemask filtering -extend tooltip-based help
P.S. this commit is dedicated to Björk's song 'I See Who You Are (Feat. Min Xiao-Fen)' |
|
|
|
|
|
|
|
|
Educational |
|
Aleix Pol Gonzalez committed changes in /trunk/KDE/kdeedu/kalgebra/analitza:
|
Changed the KAlgebra parser. It is quite a bit change and there are some remaining issues, most tests are passing now so shouldn't be a big issue. The grammar is using QLALR and it has changed a bit since the last version because of some incompatibilities.
Special thanks to Roberto Raggi who helped me to specify the grammar. |
|
|
|
|
|
|
Graphics |
|
Gilles Caulier committed changes in /branches/extragear/kde3/libs/libkdcraw:
|
libkdcraw from KDE3 branch: add a new .configure --enable-openmp option to compile libraw with parallelized code to speed-up RAW Demosaicing operations.
You need libgomp shared library installed. |
|
|
|
|
|
|
Marcel Wiesweg committed a change to /trunk/extragear/graphics/digikam/kioslave/digikamalbums.cpp:
|
Copy and rename should now be gracefully handled by the CollectionScanner.
Doing it from the kioslave was a valid solution for a long time, but had its shortcomings (the bug with the pseudo .digikam_properties file, possible timing problems with ScanController kicking in) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sebastian Trueg committed changes in /trunk/kdereview:
|
After the Nepomuk query service I hereby move the Nepomuk search kio slave into KDEReview. Please have a look at it before I move it into kdebase/workspace
The KIO slave uses an additional seearch thread and outputs some socketnotifier error messages due to that.
I was not able to fix those yet. Maybe some of you can find the reason. |
|
|
|
|
|
|
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:
|
Add a check that measures time needed for one compositing pass.
If three successive ones take more than 1 sec, suspend compositing, as that very likely means the system is totally incapable of decent compositing.
Perhaps may need little tweaking. |
|
|
|
|
|
|
|
|
|
|
|
|
Marco Martin committed changes in /trunk/KDE/kdebase/workspace/libs/plasma/private:
|
new look and animation for applet handles, based on an old Nuno mockup, that uses the standard applet background (will have new graphics).
also, don't use painter->setOpacity anymore, so should be a bit faster
the look is slightly different in 3 cases: -the applet is smaller than the handle, the panelsvg gets drawn completely and looks like the old thing -shape not rectangular: the panelsvg is wider, so it's visible also for instance behind the clock circle -normal: only a bit of the panelsvg exits from the applet and is visible, the hidden part has a few pixels fade out gradient to look less wrong with transparent backgrounds like folderview or themes with all backgrounds more transparent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John Tapsell committed a change to /trunk/KDE/kdelibs/CMakeLists.txt:
|
Compile kformula sub directory, now that it works (as in compiles and works at the most basic level).
We now have a mathml widget in KDE! It does not display anything complicated, but the framework is now in place. |
|
|
|
|
|
|
KDE-PIM |
|
Szymon Stefanek committed changes in /branches/kdepim/kmail-soc/kmail:
|
MessageListView: Wipe out unused global configuration options.
They were replaced by per-Skin or per-Aggregation options. The configuration page still remains and we'll add other global options in there. |
|
|
|
|
|
|
|
|
Bertjan Broeksema committed changes in /trunk/KDE/kdepim/kmail:
|
EBN Fixes: Qt classes that should not be used
What does this patch do: - QComboBox -> KComboBox - QTabWidget -> KTabWidget - QLineEdit -> KLineEdit - QTextEdit -> KTextEdit - Where KLineEdit is inserted, I explicitly called: setShowClearButton( true ) - Removed in some cases unnecessary includes from header files.
What does this patch not do: - Fix the ui files - Fix the QMessageBox -> KMessageBox in kmmessage.cpp I need to have a good look to the KMessageBox API for that. - Exhaustive cleanup of unnecessary inclusions. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Detlev Casanova committed changes in /branches/work/soc-kopete-jingle:
|
* Added SpeexIO and AbstractIO classes which will be the sound handler now. * ortpversion.c is a test program to check ortp version but is not used yet, any way to do that kind of things with CMake? |
|
|
|
|
|
|
|
|
Office |
|
Thorsten Zachmann committed changes in /trunk/koffice/libs/kopageapp:
|
* make it possible to load special page content after the shapes are already loaded. This is needed for the presentation-page-layout and also later for the shape animations. |
|
|
|
|
|
|
|
|
|
|
Matt Rogers committed changes in /trunk/bugs:
|
Email addresses in bugzilla are public (for the most part). Explain that fact. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|