|
| This Week... |
|
The Summer of Code for 2007 nears its end. Implementation of more features in the Step physics simulation package. More graphical game themes in KMahjongg, KWin4 KShisen, KGoldRunner and KJumpingCube. The start of a new game, KDiplomacy. More development in the Blitz graphics library. Lyrics Plasma applet and other interface work for Amarok 2. The start of the implementation of panels, and a clipboard engine in Plasma. More features in the ODBC Data Sources KControl module. Animation support in the Raptor menu. KCacheGrind is ported to QGraphicsView. MusicXML import function in KOffice. Ability and an application for viewing statistics in KPixmapCaches. KGraphEditor imported, an application to edit "dot" graphs. A new architecture for KMobileTools. KTrace renamed to Inspektor.
|
Last week, Daniel M. Duley (aka. Mosfet) returned to KDE SVN development. I asked Daniel for a reintroduction and an overview of his work on the Blitz graphics library:
|
How I came back to developing for KDE? I've actually been back for a while, I just haven't been making much noise because I haven't had anything to release yet. Nonetheless I've been chatting with various developers and coding my own stuff mostly with Qt 4 for quite some time.
How Blitz came about and what does it do? Since I've been coding on my own for some time one of the things I've been doing is improving the old effects from KDE3.x. These were originally pretty buggy and sloppily coded, (at least the stuff I wrote ;-). So I dumped the old code and reimplemented most things from scratch using Qt 4. Sometimes I kept the same algorithm, often I used new ones, added a sprinkling of MMX here and there. That type of thing.
My original intention was just to use this myself until the new KDE imaging library, Quasar, became available. Then I'd port the good stuff to that. But when it became apparent that Quasar wouldn't be ready until KDE4.1 and the old KDE effects were hopelessly broken I suggested that they use the filters I have been working on in the meantime. That's how Blitz came to be. Once Quasar is available I'll try to make sure it supports all the stuff Blitz does in order to make the transition for KDE4.1 as easy as possible.
Besides being much better coded the improvements in Blitz are numerous and include:
- MMX Smoothscaling and a high quality, filtered smoothscale
- MMX-SSE Grayscale and invert
- MMX-SSE Sobel edge
- MMX-SSE Integer convolve
- MMX-3DNow! Floating point convolve
- MMX-3dNow! Gaussian blur
- Inline HSV and interpolation
- New blurs and sharpens
- Far more efficient methods for things like despeckle, equalize, normalize, etc...
For the methods that existed before in KDE virtually every one has had multiple improvements and should perform visibly better using either the MMX or plain C++ versions. Each has also been thoroughly tested on 8bit, 32bit RGB, 32bit RGBA, and premultiplied images, (I took a vacation day just to do this >:).
Another thing people may not be aware of is just how much Qt has improved in it's graphics handling, especially using a QPainter on a QImage. If you go looking around Qt's source, (src/gui/painting/), you'll find all sorts of very clever MMX/SSE accelerated goodness. For some of the things we used to do manually using scanlines such as blending images, it now makes more sense just to use Qt. They deserve a lot of credit on this.
Anyways, currently I've been back hacking in KDE's SVN, just going through things and fixing some of the old graphics code. For example I just finished a large KIconEffect rewrite that should both perform much better and fix some bugs with the new Qt4. Small stuff, but someone needs to do it before KDE 4 gets released.
Other things I've been working on... Some of you may remember an application from the old days of KDE called "Pixie". It was meant to be a high performance image manager for people with a ton of images, (several thousand), per folder. Well, I've been working on that and hope to get an initial version out soon.
With excellent image related applications like Digikam, Krita, KolourPaint and Gwenview around some people may wonder why I'm bringing back Pixie, but for me it's mostly a testbed for trying out new technology, user interfaces, and ideas. I occasionally chat with Aurelien Gateau of Gwenview and Boudewijn Rempt of Krita, share ideas about code, etc... so Pixie has been just a way for me to re-familiarize myself with KDE/Qt and experiment with stuff.
On the technology side the most obvious benefit to be gained so far from this is Blitz, (much of which I plan to add to Zack Rusin's Quasar). But I'm also working on different things like a high performance iconview that follows Qt's model/view architecture and other people can use:
Note these are all just early development screenshots of me experimenting with stuff :P
 | | Pixie's high performance icon view. |
I also have been playing with KParts and Pixie is now a KParts host that can load any KDE component into a tab and properly merge it's interface. Konqueror it ain't but this is good practice for me and a way to re-familiarize myself with KDE's internals after being gone for so long.
 | | Pixie using a KParts component. |
On the user interface side I'm taking a cue from the interfaces you see on newer digital satellite and cable television receivers. I've gotten rid of the statusbar and "spinning gear" progress indicator and replaced them with translucent overlays. This is just me experimenting with user interface ideas.
 | | Using overlays to present information. |  | | Even other KDE components use them. |
On a more random note, if you don't make tooltips toplevel windows you can make them translucent without requiring composite and it will work on everyone's machine. The downside: it has to fit into the main window :(
 | | A somewhat ugly tooltip using the mainwindow. |
On an even more random note, with improvements in Qt you can now easily do crazy stuff like have a scaled wallpaper that properly shows through all the widgets on top of it. No this is not going to be how the application actually looks, but it's fun to play with!
 | | Crazy scaled wallpaper stuff :) |  | | I've been using this wallpaper from kde-look.org for testing because the spider is right where the widgets meet :) |
|
|
Jason vanRijn Kasper provides a round up of the progress in the KPilot Summer of Code project, "Enhance KPilot Record-based Syncing":
|
The KPilot Summer of Code project is winding down to a close, with this Monday being the “pencil's down” date. Bertjan Broeksema has done an outstanding job and has accomplished all that we said we wanted to on our Summer of Code proposal. The problem that we faced in KPilot was that each of our conduits did a lot of things in common, but all of them had their own code for doing these things. This has made maintenance a much harder job than it should be, and has led to some conduits being less feature-complete than they should be - not to mention having too many bugs from the duplicate code.
So the idea was that each of our record-based conduits should be doing the same sorts of things as far as algorithm, process, and flow, and that we should pull as much of this common code out of the conduits (and into some base classes) as possible. This leaves our conduits to be responsible mainly for data transformation (turning a PC calendar VCal record into something that can be synchronized with a Palm database record), and should address the problems listed above.
But while we were at it (and while we were taking the time to think through and design how KPilot should work), we also put as much effort into making it as hard as possible for our conduits to destroy our user's data. It's something that needs to be carefully included in the design process, since it simply doesn't happen by accident (not destroying data during edge cases, etc.). So we made some intentional design decisions that should hopefully result in fewer "KPilot ate my future" e-mails.
We officially had 3 main goals for our Summer of Code project:
1. Sequence Diagrams and Class Diagrams
We used a loose interpretation of the Rational Unified Process for our project this year. We spent 5 weeks at the beginning of the project, creating the Use Case for our upcoming work, and then laying down some Class and Sequence diagrams which showed how all of the requirements and flows from our Use Case would be realized. We used BOUML for our UML diagrams (I'd have rather used Umbrello, but Bertjan had some difficulties in getting it working on his Gentoo box). All in all, though, I believe we found a good balance between spending enough time to make sure we had a well-thought-out design and having enough time to implement it all.
2. Implementation of the abstract record framework
Since our Use Case focused almost entirely on the functionality required for all of our conduits, Bertjan was able to fairly quickly write the code for the base conduit classes. We found very few design challenges and misses during the code-writing phase, which I credit largely to the thorough work we did on our Use Case and UML models. It goes against the typical Open Source Hacker mindset to spend so much time preparing to code and not actually coding (I mean, coding is the fun part, right?). But Bertjan patiently worked with me through this phase and I think we have some really good quality code as a result. Bertjan also wrote a series of unit tests to help verify his code in the base classes.
3. Implementation of a new conduit as proof of concept.
Early on, we weren't sure which route to go - whether we should try to port one of our existing conduits to the new base classes or whether we should just create a new conduit. As it turns out, we did our SoC work in trunk/, which means we didn't have a very stable code base (we're still working on getting KPilot stable in trunk/) to start from. So we decided to create a new conduit to use as an implementation for our new base classes rather than struggle with porting code and also trying to fit it into the new base system. I've been wanting to have a way to sync with the Keyring Palm application (encrypted, multi-purpose Palm database for storing passwords, account numbers, etc.) for a long time now, so we decided to create a new conduit in trunk to test and verify the new base classes. We're just finishing up a few minor nits with it and hope to have it fully functional by EOD, Monday.
So, to summarize, thanks to this year's Google Summer of Code KPilot project, we now have a solid base conduit framework that is implemented in a new Keyring conduit. Our next steps in the KPilot team are:
- stabilize the daemon and user-visible portions of KPilot
- finish porting the old conduits over to the new KDE4 APIs
- port the old/existing conduits over to our new base record framework
- stabilize, test, wash, rinse, repeat
- look at OpenSync framework again and (now that we have a common conduit framework in KPilot) see if we can leverage OpenSync's libraries for the underlying syncing algorithms.
|
|
Inge Wallin writes an update on the new features (including Summer of Code projects) in Marble (illustrated by screencasts by Andrew Manson):
|
For some reason, Marble has become a poster boy for the new generation of KDE applications. It's graphic, it's beautiful, fast, and uses Qt4 to it's full potential. It has also managed to gather a sizable development team in almost no time. An interesting thing with Marble is that it exists in two incarnations: one as a KDE application in the KDE-Edu module, and one as a Qt-only version. So to keep up with a good tradition, here are the latest developments.
Two days ago, this Friday, we released version 0.4. Among the new features from last version is a KDE version, configurable legend, improved performance, new map types, better data sets, support for downloading tiles on the fly, and more. See the release announcement above for the full details.
Personally I think that the most interesting "feature" is the improved datasets. For instance we got a new set of satelite images with a resolution of 500m/pixel. Obviously, this is not as good as Google Earth, but it's good enough to make a very impressive map. Since Marble is tile based, and all of this data would make the KDE-Edu module far too large, the tiles with the highest resolutions are stored on a server and downloaded when needed. This will make much demand on the servers when KDE 4 is finally released and millions of users start using this feature. There is an active discussion within KDE on how to solve it.
During the development of 0.4, we managed to attract help from outside KDE. This has lead to support for both MacOS X and Windows.
Even with this impressive list of new features, most of the latest developments within Marble are missing in this release. I am talking about the projects of the Summer of Code students. They are basically ready, but disabled in 0.4. Marble had 3 students, and the next week will mean integration and enabling of all the projects: Flat projection, GPS support and support for Google Earth KML files.
Andrew Manson, GPS programmer writes: "The GPS GSoC project was to implement GPS device support and GPX file reading and writing. GPX files contain important GPS data such as: - Trackpoints, which are generally generated by the GPS device as a form of tracing where you have been; - Waypoints, which are user-defined points of interest, and - Routes, which contain a series of waypoints that represent a directional path.
The GPX file view is a very simple interface to deal with open GPX files and can be enabled by running marble with the --enableFileView command line argument. GPS tracking is provided by the gpsd project and can be enabled by compiling Marble on a Linux system that has libgps (provided by installing gpsd) installed and running marble with the --enableCurrentLocation command-line argument."
Most of these features will of course be enabled by default after the project is fully integrated.
The second project, support for Flat Projection, was done by Carlos Licea.
Carlos writes: "The flat projection project has evolved very well, although not as fast, to a point in which it's almost usable now. We have finished almost everything the spherical projection has: texture, place-marks, vectors, distance measures, you name it :).
As usual some task were relatively easy while others were hard, and yet others that 90% of the task was just wrote in one go while the remaining 10% was harder or in some way complex, so that I actually had to think throughly about it.
Just to give a small example: have you ever stopped to think about how Asia crosses the dateline so that mostly of the continent is on one side of the Earth and the rest in the other? Well, I had never before, but now I had to do some voodoo magic and tricks so that the small bit of land that is on the other side of the map gets displayed correctly (for those curious I had to separate the polygon).
So in conclusion, there are a few glitches that need to be solved before this projection it's actually usable but, hey, Marble team is really fast, so it will not take too much time before you can pick "Flat projection" instead of a Spherical Projection".
Finally, support for the standard KML (Keyhole Markup Language) format used by many applications such as Google Maps was done by Murad Tagirov of Belarus.
We were not able to reach him for a comment, but his project is also being integrated right now without too much trouble.
|
|
An interview with Carlos Licea, the student working on the "Flat (2d) Projection in Marble" Summer of Code project, can be read here.
|
As you might have read last week, the author of Kalzium, Carsten Niehaus, removed a couple of features which have been in KDE 3 version of Kalzium but didn't make it into KDE 4.0. The reason is that Carsten doesn't have enough time right now for Kalzium to fix all remaining issues.
This is a call for interested coders to help Carsten maintain Kalzium. If you are interested in improving Kalzium by porting remaining features or adding new one contact the Kalzium mailing list. Thanks.
|
|
| 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 |
|
|
|
|
|
|
|
Bug Fixes |
|
Games |
|
Nicolas Roffet committed a change to /trunk/KDE/kdegames/libkdegames/highscore/kscoredialog.cpp:
|
Fixed a bug in the highscore dialog. If you opened it with some tabs and then closed it and played a game of a group that was NOT one of these tabs, if you won, the the dialog and the game crashed... -> not nice.
However, I discovered other serious bugs in this dialog like: - wrong tag displayed ( -> not the one where you have to type your name!...) - click on "Close" before "Enter" do not save the highscore And I'm not writing about the wanted improvements... -> A lot of work for KDE 4.1! ,o) |
|
|
|
|
|
|
KDE-Base |
|
Daniel Teske committed changes in /trunk/KDE/kdelibs/kio/bookmarks:
|
Fix how the ContextMenu are shown, to make it far easier to show a custom contextMenu for your bookmarks. (This only affects Konqueror, which is also ported with this commit.)
And make the KBookmarkOwner API to enable/disable actions future proof. Instead of using one virtual function per action, use one virtual function with an enum parameter. (Which can be binary compatible extended.) |
|
|
|
|
|
|
David Faure committed changes in /branches/KDE/3.5/kdelibs/kdeui:
|
|
Use KLineEdit instead of QLineEdit so that Ctrl+Insert works for copying out of those fields (I copy all the time from kcolorchooser, so it's frustrating when Ctrl+Insert doesn't work and I have to remember to use Ctrl+C...) |
|
|
|
|
|
|
Pascal Létourneau committed changes in /trunk/KDE/kdelibs/kdeui:
|
|
Fix handling of shortcuts containing a ';' by adding an extra space after the ';' used to separate each QKeySequence (QKeySequence::toString() do something similar) |
|
|
|
|
|
|
KDE-PIM |
|
Will Stephenson committed a change to /branches/kdepim/enterprise/kdepim/kmail/messagecomposer.cpp:
|
When sending an encrypted message, with an empty body, and the encryption key selection or encryption prefs selection dialogs were cancelled, mNewBodyPart was deleted without ever having been initialised.
Also init some other vars ASAP. I've looked for cases of things being used uninitialised and this should be safe. |
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:
|
Fix the cursor position for templates. Now %CURSOR works again, this was somehow lost in porting. Additionally, it is now possible again to set the cursor to the first line. |
|
|
|
|
|
|
Utilities |
|
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:
|
Fix saving of display options
The visibility of the columns (like trust and creation date) were only stored if you chose quit from the context menu of the applet, not when you used Alt-F4 or quit from the main window. The options to hide expired keys or show only secret ones were never stored at all. |
|
|
|
|
|
|
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:
|
Improve and fix key exporting
-allow exporting not only to default keyserver, but to any in the config list -key may also exported as minimal key (e.g. for keysigning parties)
-exporting to local files did not work (gpg doesn't understand file://) |
|
|
|
|
|
|
Rolf Eike Beer committed a change to /trunk/KDE/kdeutils/kgpg/keyservers.cpp:
|
Fix wrong import key ids if key server returns complete fingerprint
While at it: use the last 16 bytes of the fingerprint to receive the key. This should ease the problem with duplicate key ids a bit. |
|
|
|
|
|
|
Features |
|
Development Tools |
|
Allen Winter committed a change to /trunk/quality/krazy2:
|
New export mode called "textedit", as requested by Mirko. Prints 1-issue per line in the format, file:line:issue
Mirko, you can help me test krazy2 (which is in trunk/quality) or you can wait until krazy2 is finished and renamed back to "krazy".
Hope this is what you wanted. |
|
|
|
|
|
|
|
|
|
|
|
|
Josef Weidendorfer committed changes in /trunk/KDE/kdesdk/kcachegrind/kcachegrind:
|
kcachegrind: Port to QGraphicsView
The cause of the slowdown before was the scaling down of the background blending in the birds-eye view. This is fixed by using a QGradient there.
Improvements by taking advantage of the levelOfDetail in paint methods of QGraphicsItems, e.g. scale line width accordingly and leave out tiny names in the birds-eye view. |
|
|
|
|
|
|
Educational |
|
James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars:
|
Labels are now never overlapping the info boxes. The problem _was_ that the coordinates were changing when the boxes weren't being drawn.
[Holy Heisenberg Batman!]
I fixed the problem with the kludge of copying the coordinates every time the boxes are drawn and then using the copies when it came time to reserve space for the boxes in the SkyLabeler. If the coordinates stop changing (when the labels don't move) then this code can be removed.
I made an array of InfoBox* which greatly simplified the drawBoxes() routine and also the new reserveBoxes() routine. The array can be used to simplify a lot of the other code in InfoBoxes but I haven't done that yet.
I also noticed that the InfoBoxes seem to get drawn more often than is needed. The get drawn about 20 times in quick succession at startup and then they get drawn twice per second thereafter. The two draws are in rapid succession and I suspect that just one would suffice.
I'm returning out of SkyMap::drawHighlightConstellation to keep my draws fast. The code that lets the user select this should be waiting for me in the trunk. |
|
|
|
|
|
|
James Bowlin committed a change to /trunk/KDE/kdeedu/kstars/kstars/skymapevents.cpp:
|
Added slewing to the zoom keys: plus, equals, underscore, and minus.
It was a simple change and is pretty cool. I had originally intended to have control+ those keys take larger zoom steps but this was much easier to implement. If people don't like this, I'll be glad to remove it. I did it to make debugging zoom-dependent label thresholds easier. |
|
|
|
|
|
|
|
|
Vladimir Kuznetsov committed changes in /trunk/playground/edu/step:
|
Lots of work done offline: - item groups in WorldBrowser, loading and saving - initial version of Gas - custom context menus for items - html in notes - many bugs fixed, even more introduced - maybe something more which I've forgotten |
|
|
|
|
|
|
Carlos Licea committed changes in /trunk/KDE/kdeedu/marble/src/lib:
|
Finished the integration of the flat projection. Where the function were short enough they were just wraped in a switch, where the differents in function were too big they were replaced by 2 different functions.
In order to get a flat map ViewParams' m_projection must be se to Equirectangular and MarbleModel.cpp line 99 Spherical must be changed to Equirectangular. Next steep, bind it to GUI. |
|
|
|
|
|
|
|
|
Pino Toscano committed changes in /trunk/KDE/kdeedu/marble:
|
Add KConfigXT settings for the KDE GUI.
It has less options than the QSettings used for the Qt GUI, as all the main window saving/restoring is handled automatically by the KDE main window classes. |
|
|
|
|
|
|
|
|
|
|
Eugene Trounev committed changes in /trunk/KDE/kdegames/kjumpingcube/pics:
|
Added test background for kjumpingcube. Improvements to follow. Ian, I have added 6 new elements to the theme: face1, face2..., face6 they are to make it possible to create nmbered theme later. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ian Wadham committed changes in /trunk/KDE/kdegames/kgoldrunner/src:
|
|
Implement new level-selection dialog box, simplified menu and last game and level saved in config, the default (for first-time players) being Tutorial level 1. |
|
|
|
|
|
|
Nicolas Roffet committed changes in /trunk/KDE/kdegames/kblackbox:
|
Huge changes. I was a long time offline and could not commit them separately. I try to summarize: - I moved the elements of the left (score and balls) in the view itself. So the game looks better and is better integrated. It's also more like the other KDE games of KDE 4. The great think is that it's now possible to drag and drop the balls directly. :o) - I added some "What's this?" texts. - I changed the way the score is calculated. It's more like "arcade" now as the elapsed time counts. - I added highscore support with the class of libkdegames. - I fixed some bugs and EBN points. - Some small usability improvements also. |
|
|
|
|
|
|
|
|
Graphics |
|
Daniel M. Duley committed changes in /trunk/kdesupport/blitz:
|
Filling a developer's request by adding a cheap sharpen ported from Imblib2.
I evaluated this before and didn't like it because it's not as good as the convolve based one with it's fancy kernel and proper edge handling. But it's simple and faster. I also added it to the test app to make sure it works.
If your a developer handle it the same way as blur: use sharpen() for quick sharpening and use gaussianSharpen() for higher quality results. |
|
|
|
|
|
|
Albert Astals Cid committed changes in /trunk/KDE/kdegraphics/okular:
|
Back from holiday, let's do some committing :-) * Update some copyright years and mail addresses * Search does not block the GUI anymore YUHUUUUU Well, it it does but it's almost unperceptible, that means the searching methods of Document no longer return a bool but a void and the Document::searchFinished signal is used to know if something was found, nothing was found or the user pressed the cancel button !YES! one can cancel search now :-) * TextPage no longer holds the area and the current transformed area, it took TOO MUCH memory, now we transform the area each time, it's much more CPU intensive but i could not measure a time loss while searching big documents and i could measure HUNDREDS of MB of usage less. * MICRO optimization: Change some code to not detach some containers * I still don't have ADSL so this is something like a "blind" commit, Pino will check it compiles against current KDE, not against what's on my computers |
|
|
|
|
|
|
|
|
Clarence Dang committed changes in /trunk/KDE/kdegraphics/kolourpaint:
|
Simulate raster operations -- e.g. selection border -- using stippling. This should make such visual elements more visible on top of the document content. Backend:
* NOT operations do not require a color since they ignore the source pixels
* All operations need 2 color hints for stippling
* Tweak color hints so that things are clear and look good
* Assert-fail in some raster-simluating methods if transparent colors are passed (not supported yet due to unprotected call to kpColor::toQColor())
* Comments, style |
|
|
|
|
|
|
|
|
|
|
KDE-Base |
|
John Layt committed changes in /trunk/KDE/kdelibs/kdeui/widgets:
|
Major code clean-up of date widgets.
1) Replace calls to global calendar with local calendar to allow display of calendar systems other than global 2) Now support full date range of calendar system, e.g. for Gregorian from 2/1/4713 BC to 31/12/9999 AD 3) Don't draw day on table if not a valid date in the calendar system, and don't allow to be selected 4) Fix lots of direct references to QDate methods with calendar methods to ensure non-Gregorian calendars work properly 5) Removed all magic numbers of 7, replaced with daysInWeek or numRows, allows calendars with more than 7 days in week 6) Renamed lots of locals to more meaningful names to improve readability 7) Simplified several algorithms, fixed others that failed for certain dates 8) Added lots of date validity checks 9) Renamed KDateInternalYearSelector to KDatePickerPrivateYearSelector and moved from KDateTable private to KDatePicker private as that's the only place it actually gets used. 10) Moved a couple of private methods in public class into private class 11) Cleaned out crufty old commented out code, removed too-verbose debug statements
Still some outstanding corner cases with the weeks combo, e.g. in year -4713, and underlying KCalendarSystem methods still relying on occasionally invalid dates in their algorithms, but is only at extremes of date range. |
|
|
|
|
|
|
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole:
|
|
Support for -e command line argument to specify a custom command to run when starting Konsole. Also added a -p command line argument which can be used to change almost any other option for that Konsole instance using the same syntax as the konsoleprofile tool. Update TODO. |
|
|
|
|
|
|
Sebastian Trueg committed changes in /branches/work/soprano2:
|
* Made Parser a separate plugin. * Introduced Plugin class which is the new base class for Backend and Parser. * Moved the redland parser stuff into the new plugin raptorparser (still linking to redland though)
The new parser is not tested yet! |
|
|
|
|
|
|
Ian Ventura-Whiting committed changes in /trunk/playground/base/datasources:
|
This commit includes the following ODBC Data Sources KCM updates: * Users can now add user data sources using a wizard. * Administrators can add user, system and file data sources. * You can delete old data sources.
The next commit will include code to both test and edit data sources. :-) |
|
|
|
|
|
|
|
|
|
|
Daniel M. Duley committed changes in /trunk/KDE/kdelibs/kdeui/icons:
|
Very much needed developer-luvin for KIconEffect :)
I kept the same algorithms and this does not require Blitz, nonetheless this class was pretty nastified so this update pretty extensive. Due to this I also wrote a companion kiconeffect test to make sure everything works.
Changes so far include:
Don't use QColor just to get rgb components of a pixel. Don't use pixel() and setPixel() when looping through an image. Don't use the old fp-style alphablending, use integers. Slightly more efficent math. Check for premultiplied images. Use KColorScheme, not KGlobalSettings. Use QSysInfo and not defines
Still a little more work to be done but this should be much better. |
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
|
|
Add LayoutAnimator class. This provides a way to animate changes in layouts. eg. Fading in new items, fading out removed items, moving and resizing items smoothly as the layout changes. The layouts themselves need some small changes to make use of this class, and the client code must create the animator, attach it to the layout and choose the animation effects to use. |
|
|
|
|
|
|
Daniele Galdi committed changes in /branches/work/soprano2/soprano/query:
|
Finally we have a first version of Query API.
We have finished an internal query rappresentation that provide a way to convert different RDF query language into a common Soprano::Query rappresentation. This is very powerfull because we can Convert a SPARQL query to an equivalent RDQL and vice versa.
May ways are now open...fulltext search, query optimization, custom triplestore...etc.
Memory management isn't completed but for now we have happy enough. |
|
|
|
|
|
|
|
|
|
|
|
|
Bernhard Loos committed changes in /trunk/KDE/kdelibs/solid:
|
This adds a method to Solid::Processor to query the instruction sets supported by the CPU. The hal back end doesn't use hal but the cpuid instruction. Hal has no support for the instruction sets afaik.
Many thanks to jpwhiting and mwoehlke for many tests and review. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bertjan Broeksema committed changes in /trunk/KDE/kdepim/kpilot/conduits:
|
Record syncing of the keyring conduit seems to work. Needed to fix a couple of things for that:
* Make hhdataproxy generate a bit more realistic temporary id. * After the syncing is finished first setEndCount is called (which sets the endcount of the CUD counters and when the commit is finished syncFinished is called which give the proxy the change to clean up things like resetting sync flags. * Set the id as a QString::number( 0 ) and not just 0. * The backup database is now updated by record conduit. No need for implementing classes to bother about that. * Make the check in hhrecord for setting an id working properly. * The keyringdataproxy must read the zerorecord when opened with a path to a file. |
|
|
|
|
|
|
Matthias Lechner committed changes in /trunk/KDE/kdepim/kmobiletools/kmobiletools:
|
Ok, the foundation of kmobiletools' new architecture is finally ready.
Sorry I can't give a complete change log for this commit ;-), but the most important change is: We can now define and implement so called "core services" which are the counter-part of an interface defined by an engine and which automagically can determine at run-time if they are supported by the current engine (for example if the engine which communicates with the mobile phone implements an address book interface, the corresponding address book service is loaded which presents the user with the address book information).
So now it's possible to extend KMobileTools dynamically at runtime which opens new possibilities in user participation (e.g. you could now easily create a plasma applet which presents phone information).
What we need to do from here is (TODO): - remove and port old classes to the new architecture - implement all available interfaces for the fake engine to be able to test all features (and at the same time refine the interface definitions themselves...) - complete at least the address book core service and create a sms core services (I don't want any feature regression) - finally port the available engines to the new interface driven architecture
**What we need urgently is manpower. Porting the existing classes is not that hard and needs only basic Qt knowledge.** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src:
|
yay, lyrics applet works :) note: the layout code isn't there yet. it'll take some major refactoring as now the *applet* needs to define its minimum height, and the layout needs to take care of that, instead of vice versa. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc:
|
Implement new send-special-keys-to-remote-desktop action.
This way the user can send for example already used shortcuts to the remote desktop without execute them on the local machine.
This action is now also available in the remote view toolbar (fullscreen toolbar). |
|
|
|
|
|
|
|
|
|
|
Dario Massarin committed changes in /trunk/KDE/kdenetwork/kget:
|
|
Make the downloads start immediatly after adding it through the dbus interface. Note that in order to do that, the interface has been changed. The newly added downloads, once added, are started without starting the whole queue. |
|
|
|
|
|
|
|
|
Office |
|
Sebastian Sauer committed changes in /trunk/koffice/kword/part:
|
Added KWStatusBar that implements additional stuff displayed in the statusbar.
So far we have; * Modified/Saved document state * Current Page/Total number of pages * Mouseposition X:Y
May an idea to make this configurable and be also able to add even more infos (e.g. zoom and statistics :) |
|
|
|
|
|
|
Sebastian Sauer committed changes in /trunk/koffice/kword/part:
|
|
made displaying current page number work && added zoom-control back to the statusbar (that is still disabled in the hope the dockwidget-crasher will be fixed or already got :) |
|
|
|
|
|
|
|
|
Pierre Ducroquet committed changes in /trunk/koffice/libs/kotext:
|
Add support for saving paragraph styles...
Currently, only alignment is saved, other properties must be added in KoParagraphStyle::saveOdf.
BTW, small cleanups in the style saving code... |
|
|
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice:
|
Added support for displaying shape config widgets in the path tool options widget. Added a pathShapeId() function to KoPathShape to return a specific path shape id.
As a start, I added a star shape config widget for editing the star properties.
If a single path shape is selected and the path tool is active an (existing) config widget for that shape is then shown in the tool options docker.
Next thing to do is to apply the config changes to the selected shape. And then to create some more config widgets for the other parameter shapes. |
|
|
|
|
|
|
|
|
|
|
Pierre Ducroquet committed changes in /trunk/koffice:
|
|
Add a first 'proof of concept' to save pictures. The PictureShape part is working, the KWord part is not perfect yet (problems with anchors and positionning) |
|
|
|
|
|
|
|
|
David Jonathon Miller committed a change to /trunk/KDE/kdebase/runtime/pics/oxygen/index.theme:
|
pretty much rewritten
* all directories are now listed * changed scalable sizes from MinSize=1 MaxSize=256 to MinSize=32 MaxSize=256 * scalable/small/?? min/max sizes are set to the dir size the svgz's are drawn for * removed references to the filesystems directory. reasons: not in spec, no icons in ours anyway |
|
|
|
|
|
|
|
|
|
|
|
|
Utilities |
|
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:
|
Implement setting the primary user id of a secret key.
While at it improve deleting a user id: preselect the selected user id in gpg command window. |
|
|
|
|
|
|
|
|
Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg:
|
Improve popup menus
-"Generate key pair" should not show up in any popup menu -importing of several missing signatures at once works now |
|
|
|
|
|
|
|
|
|
|
Optimise |
|
Educational |
|
James Bowlin committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
Experimental: Am now drawing a filled rectangle the color of the sky background behind transient star labels. I'm not doing it for non-stars ATM so you can compare and contrast the two different ways. If the object is surrounded by empty space, there is no visual difference. I noticed the biggest difference when the object was in the Milky Way because then you see the rectangle clearly.
It would be easy and fast to first check to see if the transient label would overlap an existing label and then only draw the background rectangle in the case of an overlap. PLMK if you would like to see this. It would be very easy to implement. IMO it is best to always draw the rectangle and thus ensure the transient label is always legible.
Also cleaned up SkyMap::drawTransientLabel() a little bit.
BTW: I don't know why the asteroid transient labels don't exactly overlap the normal labels. |
|
|
|
|
|
|
James Bowlin committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
Changed the mesh level from 5 to 4. This seemed to speed things up when the screen was zoomed out. You are encouraged to try different mesh levels yourself. You can change it in skymapcomposite.cpp on line 55. I don't recommend using levels greater than 6.
FYI:
level # of trixels ----- ------------ 2 128 3 512 4 2,048 5 8,192 6 32,768
Added 4 new data files that contain pre-computed indices for the constellations. This greatly speeds up the constellation boundary initialization. If the index file does not exist, we fall back to computing the indices. There is a separate index file for mesh levels 3 through 6. There is also a mechanism for creating the data files in ConstellationBoundaryLines::init() by setting verbose to -1. This will cause the indices to be computed and printed on stdout. |
|
|
|
|
|
|
KDE-Base |
|
Sebastian Trueg committed changes in /branches/work/soprano2:
|
Added class BindingSet which holds a copy of one row of query result bindings for caching purposes.
Internally it is nothing more than a QHash but it is quite useful when you want to iterate over a query result and use each row to do something to the model (again the problem that iterators are invalidated by model actions)
Now that I could finally test my optimized inferencing algo I found the last (hopefully) bugs and it works. It got a bit more complicated but I think i did a good job in designing the code and I think I never before documented code this well (which still does not mean that everyone can understand it from the start ;)
The tests were very encouraging. I got a major speed improvement by my optimizations.
Maybe I will write my algo down in a little paper these days, just for fun (and to make Nepomuk reimplement it in java ;) |
|
|
|
|
|
|
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
|
|
Smoother animations for the pixmap viewer if the pixmap is changed constantly during small time slots (thanks to Rafael Fernández López for the original patch!). |
|
|
|
|
|
|
|
|
|
|
Office |
|
Stefan Nikolaus committed a change to /trunk/koffice/kspread/Cell.cpp:
|
Commands Autofill, Copy & Paste, Cut & Paste Rewrite Cell::encodeFormula to use the formula tokens. This ensures, that the LOG2() function will not be identified as cell reference and the processing should be faster and more reliable than the old algo. |
|
|
|
|
|
|
Stefan Nikolaus committed a change to /trunk/koffice/kspread/Sheet.cpp:
|
OpenDocument Loading. Speed up for loading of repeated rows. Comments, conditions, styles and validities are stored in RectStorages and repeated rows often have only styles set, but no contents. Take advantage of this fact. For cells with contents it stays slow, because the iteration can't be avoided. |
|
|
|
|
|
|
Other |
|
Development Tools |
|
Adriaan de Groot committed changes in /trunk/kdesupport/taglib/taglib:
|
Somewhat hackish; might be better off as a downstream patch.
Sun Studio fails on taglib because Map specializes in too many ways; adding the class keyword reduces the specializations to one and it's ok, but not all specializations of Map actually use T as a template class parameter. So introduce a #define to switch that around.
Original patch from Stefan Teleman, pared down by me. |
|
|
|
|
|
|
Educational |
|
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars/indi:
|
|
INDI Apogee Alta driver has been converted to INDI Library environment standards. Hopefully, we'll have some testing soon to make sure it works fine with the actual CCD. |
|
|
|
|
|
|
Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:
|
Rename KAtlasFlag into DeferredFlag
This concludes the name changes from KAtlasFoo, and thus erases the last traces of this historic name. Death to KAtlas! Long live Marble!
I for one greet our new Geo overlord! |
|
|
|
|
|
|
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
|
Removing 'setup telescope' page from startup wizard, since the telescope wizard is meant to aid the user to connect immediately to the telescope and doesn't save any settings, so it doesn't make sense to include it in the startup wizard. Also removing ccd preview since no drivers are using this. |
|
|
|
|
|
|
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu:
|
|
First revision of the manual to reflect recent changes in KStars. Mostly in INDI for now, but a complete revision is planned. |
|
|
|
|
|
|
|
|
Nicolas Roffet committed changes in /trunk/KDE/kdegames/doc/kblackbox:
|
Updated the manual of KBlackBox. This was needed because of the huge changes since the version 0.3.
if you have time and feel like reviewing the text before the string freeze, it would be realy nice (for the sake of the english version). If you cannot, I hope someone else will do this. Thanks. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
David Faure committed changes in /trunk/KDE:
|
|
Icons are a runtime dependency -> moved to kdebase/runtime as discussed |
|
|
|
|
|
|
|
|
|
|
Mickael Marchand committed changes in /branches/work/kconfig_sql:
|
so we have a (as suggested by ossi in June) KConfigFileBackend in order to make KConfigBackend less "file" dependent. KConfigINI now inherits KConfigFileBackend
I have also changed some functions names to match a more generic concept of namespaces instead of pure "files" (this still is not really great since KConfig is used to open files by full path name apparently -think of icon theme configuration file for example-)
KConfig also has a setFilePermission function that needs to be removed (was does FilePermissions means for a DB ?) (not used anywhere in KDE)
probably lots of other stuff I forgot, but you'll find your way in the code ;)
and, the SQL backend, just a basic sqlite one for now (not even checking for locks/nb of connexions/... etc)
till now, I was able to get kconfigtest to success all tests with the DB backend, and was able to run kwrite, modifying options etc
there are stills major things to fix :) feel free to comment and help |
|
|
|
|
|
|
|
|
|