|
| This Week... |
|
Marble gets "temperature" and "precipitation" maps, and a "stars" plugin. More work on "fuzzy searches" in Digikam. Konqueror gets support for crash session recovery and session management. Runners can now be managed using a KPluginSelector-based dialog, and attention-blinking support in Plasma. Various Plasma applets move around KDE SVN before the KDE 4.1 feature freeze takes effect, with WebKit applet support moving into kdebase. SVG stuff from WebKit starts to be integrated into KHTML. More optimisations in KHTML, with KJS/Frostbyte, a version using bytecode and other enhancements, moving back into kdelibs. Start of an implemention of the JavaScript scripting API for PDF documents in Okular, based on KJS. Continued work on KJots integration into Kontact, and creating/editing links between entries in KJots. More work on theming in Amarok 2. Various improvements in kvpnc. More configuration user interfaces in KNetworkManager. Enhancements in the KTorrent bandwidth scheduler plugin. Support for CUPS printing options in KDE printing dialogs. Mailody moves to kdereview. The "OnlineSync" plugin is merged into Akregator. Initial commit of a new MSWord-to-ODF filter for KWord, and a caligraphy tool for Karbon. KDevMon is ported to KDE 4. Development of the Shaman2 package manager is moved into KDE SVN (playground/sysadmin). The PHP-Qt bindings move from playground/bindings to the kdebindings module. KDE 4.1 Beta 1 is tagged for release.
|
Bart Coppens writes about the next-generation tile system recently introduced to Krita:
|
First, some background. For about as long as there has been a "modern" Krita, it has always had a "tiled backend". This means that the raw image data of its paint devices (layers, etc) was chunked into squares of 64x64 pixels. That meant that instead of always needing to have all image data in memory, we have had the ability to only keep the most recently used pieces of image in the memory, while swapping older data into swapfiles.
For example, if we are drawing in a big picture, we typically change only a small piece of the image at a time. Most parts aren't changed at all, and can be swapped to disk without much of a cost.
Another example is undo data. If you start painting, we need to store information about past image states. Usually this information will not be needed anymore by the user, but we have to store it for the unexpected case where it *will* be needed. This information can just as well be stored in disk, instead of sitting in the memory.
Reducing the memory footprint is extremely important, especially on machines with less RAM: if we would not manually swap out our data, other applications of the user might be swapped out, which is usually undesirable.
Now, our specific implementation of paint devices led to some interesting advantages over other applications like The GIMP. Unfortunately for us (and luckily for The GIMP), our tile backend was good enough to get along with, so we didn't innovate as much anymore. However, with GEGL picking up a lot of steam lately, this means that we are starting to miss out on some very cool features that the GIMP will have (or even has already). To ensure that Krita is also able to do those things, I've been slowly reworking our old backend code into a more flexible design (as far as the other API allows for that, of course).
One of the major issues I have worked on up to an initial stage is trying to make the tiles backend somewhat more robust in a multi-threaded environment. Our old code was pretty ugly in that regard. The code regarding tile management was safeguarded by a single big lock (called the "Big Krita Lock" ;-)). After the rewrite, I'm hoping that more parts will be more usable in a multi-threaded context. Some work still remains to be done, but I'm hopeful that with the new code, it should be a lot easier to implement the required changes than with the Krita 1.6 framework (famous last words!).
Another new feature that is already implemented is the introduction of shared tiles. This means that multiple paint devices can have a single source of tiles in memory (a sort of implicit copying of tiles). We already had a rudimentary approach for a single kind of tile: the "default" tile. That meant that if a paint device was read at a place where the corresponding tile wasn't yet created, it used a single tile as a "source" for all those empty spots.
Unfortunately that approach wasn't scalable enough to be used throughout Krita. The rewritten code takes care of that, and we should be able to have several whole paint devices share the exact same tile data.
The feature I've been playing with most recently, is the ability to load the content of paint devices directly from image files. The old (and current) way of loading an image file is to read in the image, and copy all data into a paint device (or multiple devices in case of multiple layers). This unfortunately means that you have the same data available twice: all data for the layer is already present in source image, and then we load it into Krita (and then swap it out again) anyway.
Giving paint devices the ability to get their data directly from a file thus means that we cut out this middle step. In the long run, this should give an improvement in memory/swap usage of *big* image files. Of course, this implies a penalty because you have to decode part of the image each time you want to access some tile data. We'll just have to find out at which point it will be in our favor to use this approach.
Currently this functionality is merely implemented at the backend level, so Krita just has some nice code that abstracts most ugly things away from the file format people. I've ensured myself that the backend works (at least decently) by writing a unit test that fakes loading an image from a file directly. I'm guessing that in time, other Krita developers who have greater affinity with the image loading code will try to implement the code needed to load specific image formats.
The most interesting surprise while developing all this, is that my new code unintentionally detects some new Krita memory leaks :-). At Krita shutdown, the new code has much more stringent consistency checks, including one that complains if it thinks it's leaking tile data (which it did!). Much to my surprise, if I enabled the check, it got triggered by some different places in Krita that appeared to leak memory at exit.
As for the future, I'm hoping to iron out all the bugs, of course ;-). Obviously, I'd like to see more features, and one of them that I've been wanting to implement for more than a year is a MipMap for the paint devices at the tile-level. It's something that GEGL and The GIMP already have, and I think that Krita would also benefit from it. Basically, the idea is that you efficiently pre-"render" some scaled-down versions of your image, so that you become a lot faster when zooming out.
Another thing that would be very cool is sharing of a single paint device across applications. This would be quite interesting for collaborative painting applications. GEGL already has some support for this (this was demonstrated at Libre Graphics Meeting 2008 very recently), and I'm hoping that Krita will join the club. My work towards loading tiles directly from "disk" should be generic enough to also easily allow files to be loaded from the network and so on. I'm guessing that the hardest part there would be handling the synchronization issues, etc (but without trying an implementation, I don't know for sure).
There are of course lots of other things on the todo-list, but they are more small implementational details (like using QAtomicInt now that it is available for real through Qt 4.4). That's it for now!
Note: People wanting to try out this code will have to manually enable it at compile time. Just change the USE_OLD_TILESYSTEM value in krita/image/CMakteLists.txt. Be aware that most changes are not visual, and that there remain some known issues with the code!
|
|
Percy Camilo Triveño Aucahuasi talks about taking over maintainership of KColorEdit:
|
I'm the current maintainer of KColorEdit. Artur Rataj was the former maintainer but he asked me to work on this project. The following things are finished:
- Ported the old version to KDE 4
- Now it uses the Model/View design to list colors
- Added new features, like moving items
- Improved the load dialog
- Fixed all the bugs from the previous version
All of these things were discussed in my communication with Artur, and so he has been my guide up until now. I always sent Artur screenshots and reports of the current status of KColorEdit, and he gave me his opinion about the progress of development.
My goal is to create a fun and useful application to edit and create color palettes.
The problems that this application solve are basically the creation and editing of color palettes. While there are many tools that can do this, they are often non-Free software. There is Agave from GNOME which tries to assist in the same tasks. Many image editors like Krita, GIMP, and Kolourpaint have embedded widgets/dialogs to manage the color palette, but with KColorEdit this task is performed in a better way, and all of these image editors can import the files that KColorEdit creates.
With the current state of KColorEdit, you can perform all the things of the previous version and more, like adding comments to your palette, moving the items, adding a name to your palette, view a description of your palette, manage 2 views of your palette, and so on.
In the near future, I want to ensure KColorEdit has the same features of many tools that perform the creation of palettes. Also, I will continue to report the status to Artur.
In a technical way, here are the things that KColorEdit should do in the future:
- Select a color from an image, the desktop, and from a gradient
- Show the colors with many schemes, like complementary colors (the complement of the current color)
- Add many colors to the palette in a "line", meaning that if I define a line in some colorspace then the application automatically adds all the colors that follow this line (with a delta).
I'm not sure if you are familiar this feature, but let me say that it could be very useful. - Generate a "presentation" of the palette, you can define how to view the palette (aside from default views)
- And finally, add the undo/redo feature with the Memento pattern, but I think that KDE 4 has its own implementation of this pattern.
I have been working in this application for about five months, so of course I have more technical comments:- This application would be more easy to maintain (and also I think other apps) if we had a common API to represent color selection, for instance the color selector of KColorDialog is an embedded widget, it would help more if this "selector widget" was someting like a KColorSelector class in the API, the same with the color selector of Krita (i'm talking about the triangle color selector that looks similar to the GTK color selector), this would be for instance named KGtkColorSelector.
In short we should define a common interface for color selectors. I had to cut code of KColorDialog and KOffice to use those implementations (of course I respect the credits). - There isn't a "KColor" class that wraps QColor, but there are so much actions that this class could do, like get the luminance of the color, or convert between colorspaces, etc. I think that there is a class named "KColor", but it is in the playground module, and so I can't used.
- KColorCollection doesn't have support for comments, only for one description.
- It would be great if all palette stuff had a model/view design, KColorCells (possible view) and KColorCollection (possible model) do not follow this concept.
From my experience, I don't see the point of the application KColorChooser, as KColorEdit can replace the duplicated functionality between the two. I have already sent an email to the kde-core-devel list about this topic, but have unfortunately received no feedback yet from my proposal.
 |
|
|
Lots of people killing lots of bugs this week, which is nice to see (with summer approaching!).
|
|
| 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 216 selections this week.
|
|
Bug Fixes |
|
Educational |
|
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
Reorganizing initFocus():
+ Fix bug #162059: when leaving the program in Horizontal coordinates and not tracking on the sky, the initial position on next startup should be the same Alt/Az coordinates. Fixed.
+ When leaving the program tracking on a star named "star", the initial position on the next startup should be that same star, Fixed.
They seem like simple fixes, but it actually took quite a bit to fix these. Another symptom of the bubble-gum-and-duct-tape nature of the startup code...
Is it worth trying to backport this fix to the 3.x codebase? Are we going to have 3.5.10? |
|
|
|
|
|
|
Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
|
- Fixing two bugs with one patch:
- The Smear effect which was due to the 1 bit images being read via the jumptable8. - The slow timedemo benchmark due to the Atlas View using the pixelValue method.
This fixes the performance entirely ( it's back to 14 fps for me ). |
|
|
|
|
|
|
|
|
Jason Harris committed a change to /trunk/KDE/kdeedu/kstars/kstars/kstarsinit.cpp:
|
Well, that wasn't so hard after all. KStars no longer exits when starting up below the horizon. I simply moved "show()" so it came before initFocus().
As a bonus, the user will now see the below-horizon view rendered before the message box appears, so they can make a more informed decision about resetting or not... |
|
|
|
|
|
|
Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
|
* TileLoader.cpp:
This fixes the most obvious issues with the tile downloading. The only real other issue left is speed: We need to improve the HttpDownloadManager to have better algorithms to better prioritize the currently needed tiles.
- Fix what is probably Marble's most hated bug: Tiles being "stuck". The culprit: when a new tile was successfully downloaded and the temporary "replacement" tile was still in the cache, that replacement tile should have gotten removed from the cache to make way for the real one.
* HttpDownloadManager.cpp:
- Increase number of activated downloads to hopefully get the speed a little bit up |
|
|
|
|
|
|
|
|
Will Stephenson committed changes in /trunk/KDE/kdegames/ksudoku/src/gui/views:
|
Fix build failure when OpenGL is found. You can't use compiler preprocessor conditionals in moc'ed header files because the -D definitions are not passed to automoc.
Instead, exclude the source file that needs openGL from the build using cmake. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Maksim Orlovich committed a change to /trunk/KDE/kdelibs/kjs/CommonIdentifiers.h:
|
Fix recent frequent crashes regression: This traits method requires in-place construction, not update (which is why it's called constructDeletedValue, not copyDeletedvalue...)
Oddly enough, this bugfix was made by possible by the Champions League final. |
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
Fix "Show 'New Tab' and 'Close Tab' buttons on tab bar" setting not being applied correctly on startup.
Test for the tab bar being explicitly hidden with isHidden() rather than just isVisible() which will return true if the setting is applied before the container widget is shown. |
|
|
|
|
|
|
|
|
Maksim Orlovich committed changes in /trunk/KDE/kdelibs/kjs:
|
Fix a KJS crash on gmail. The problem was that in some cases, such as event evaluation (which is a function context with callingContext being the globalExec) we would break the chain of active execStates.
That meant we couldn't update them right when moving the stack due to expansion (It also means that they won't get marked sometimes.
Good thing I didn't put in smarter stack code that never puts in things yet --- otherwise it would take 3 days to debug instead of half a day) |
|
|
|
|
|
|
|
|
Till Adam committed changes in /trunk/KDE/kdepim/kmail:
|
At least on OSX and Windows the job can't be accessed after the nested event loop returns, as the primary event loop will be entered from quit(), which processes delete events (from deleteLater()) which nukes the job.
Cache the audit log in the executor to work around this.
Scary problem, this is probably relied upon a lot, with KJobs all over the place. |
|
|
|
|
|
|
Multimedia |
|
Christian Esken committed changes in /trunk/KDE/kdemultimedia/kmix:
|
Bugfix: In a multi-soundcard scenario it was not possible to configure the Views independently (e.g. PCM hidden for ALL Views or shown for ALL Views).
KMix in KDE4.0 wrote wrong group names like [View.Base.Base.Front:0], with a duplicated "Base" which should have been the SoundcardId, like in [View.Base.ALSA::HDA_NVidia:1.Front:0]. Workaround: If found, write back correct group name.
After all Views are filled, delete all bad groups. |
|
|
|
|
|
|
Christian Esken committed changes in /trunk/KDE/kdemultimedia/kmix:
|
Bugfix: The KMix DBUS call masterDeviceIndex(), that is available in KDE3.5.x was not available in KDE4.0. Re-adding it, as absence causes major KMilo headache (actually bugs). |
|
|
|
|
|
|
|
|
Mark Kretschmann committed changes in /trunk/extragear/multimedia/amarok/src:
|
remove hydrogen's stuff
Removed Hydrogen's hack which was supposed to make the Progress-Slider smooth; this hack could never have worked correctly.
Instead, I made it so that the engine sends out timer ticks with a shorter interval, which gives us more precision, and it also eliminates the weird bugs.
Additionally I made the code simpler and cleaner. |
|
|
|
|
|
|
Michael Pyne committed a change to /trunk/KDE/kdemultimedia/juk/main.cpp:
|
Fix a bug in trunk causing JuK to close (not crash although that's what it looks like) when: * JuK is closed to system tray * You click on the cover in the track announcement popup, and * You close the big cover that pops up.
In this situation, Qt thinks that the "last window" has closed and quit()s JuK. |
|
|
|
|
|
|
Michael Pyne committed a change to /branches/KDE/4.0/kdemultimedia/juk/juk.cpp:
|
Fix bug 144427 (JuK crashes if main window open on logout) in KDE 4.0.
I was not able to reproduce but the reporter did a very good job of hunting down the cause and came up with a patch which I tweaked to fix the underlying issue. Basically, we do too much in queryExit().
We already had a slot called slotAboutToQuit() (which was similarly mislabeled) so I used the "official" means of hooking up to QCoreApplication::aboutToQuit(), and implemented the reporter's patch of setting the deleted object to 0 in case we try to delete it again somehow. |
|
|
|
|
|
|
Michael Pyne committed a change to /branches/KDE/3.5/kdemultimedia/juk/juk.cpp:
|
Forgot to backport this to KDE 3.5, which is what bug 144427 was reported against. The bug report was so useful that I want to reward the reporter so if you're still using 3.5, it should crash less now. |
|
|
|
|
|
|
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
|
2 patches from Dennis Nienhüser for correctly updaing the Osd and TrackToolTip when the metadata of a track ( such as a Last.fm stream ) changes.
Also handles changes to album covers. Good stuff, thanks Dennis! :-) |
|
|
|
|
|
|
Networking Tools |
|
Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
|
* duplicate options regarding default route removed * auth type on ipsec import fixed * default section type handling fixed * translation updates * use network option added * psk secrets file fixed on ipsec import * option for open profile manager after import added * option for ipsec vpn mode (transport/tunnel) added * cert path on ipsec import fixed * private key on ipsec import fixed * debug options in preferences dialog fixedhttp proxy options in preferences dialog fixed |
|
|
|
|
|
|
|
|
Thomas Zander committed a change to /trunk/koffice/kword/part/frames/KWTextDocumentLayout.cpp:
|
Fix runaround-policy "No Runaround" to work properly. Details: When a no-runaround frame intersects with a textframe the proper behavior is to suspend text layout for the whole intersection.
The previous implementation would suspend text layout for the entire frame, which could cause infinite layout-loops. |
|
|
|
|
|
|
|
|
Features |
|
Accessibility |
|
John Layt committed changes in /trunk/KDE/kdeaccessibility:
|
Use KdePrint::createPrintDialog() to create QPrintDialog including new Cups Options tabs.
Keep the QPrinter instead of creating it each time so user settings are preserved between prints. |
|
|
|
|
|
|
Development Tools |
|
Jakob Petsovits committed changes in /trunk/KDE/kdesdk/kate/app:
|
Remember the document list's sort settings in the session.
This is especially nice for "Custom" order settings, where the order was previously lost each time when reloading the session. |
|
|
|
|
|
|
|
|
Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
|
- Per aspera ad astra! Now I just need to take the earth's orbit and spinning into account and we can drop KStars in favour of Marble ;-)
- Adding Stars plugin to Marble. Still needs polishing and adjustment for time. |
|
|
|
|
|
|
|
|
Henry de Valence committed changes in /trunk/KDE/kdeedu/marble/data/maps/earth:
|
Added precipitation maps.
For reference, 0-127mm goes in pixels 0-127, 128-255mm goes in pixels 128-191, 256-511mm goes in px 192-222, and 512-1024mm goes in 223-255.
Any place getting more than 1.024 metres of rain per month is too wet and set as 255. |
|
|
|
|
|
|
Benoît Jacob committed changes in /trunk/KDE/kdeedu/kalzium:
|
* Add explanatory label in "Measure" tab * When saving, set default extension to .cml * Much more helpful error messageboxes when saving fails. * Disable zoom eyecandy * Remove Help button (sorry Joh, it was great in 4.0 but with the much expanded feature set in 4.1, that material now makes much more sense to have in a separate handbook. SVN remembers the text that you wrote, which is still a great starting point for that handbook section). |
|
|
|
|
|
|
|
|
Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:
|
Move handling of the active region to the projection helpers.
This is part of the ongoing work to make a good structure for projections.
NOTE: Active region for the Mercator projection does not work yet. |
|
|
|
|
|
|
David Capel committed changes in /branches/work/soc-parley/parley/practice:
|
Parleypractice now loads from vocab files and has a "show answer" button (which is the beginning on a Hint framework)
TODO: * Make the interface prettier (it's improving...) ** SVGs ** Spacing, perhaps?
* Quit ** Statistical summary dialog on quit |
|
|
|
|
|
|
|
|
|
|
|
|
Tom Vollerthun committed changes in /trunk/playground/games/nonogram:
|
- Use all three mouse buttons for different types of toggles (lmb: undefined/on/off mmb: undefined/off rmb: undefined/on) - GUI deuglification: (some) colors and number positioning - SOME changes in datastructure: - prepare for multicolored games - store _state_ of grid entries in addition to color - be able to convert hints (list of numbers) to QString for serialization |
|
|
|
|
|
|
Graphics |
|
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:
|
Start implementing the JavaScript scripting API for PDF documents, thanks to Harri and Maksim and the brand-new public KJS API.
This starts the implementation of some of the API objects needed, like App, Console, Data, Document, Field, FullScreen, Spell, Util.
Also, workaround the fact that we cannot change the read-only status for form fields. |
|
|
|
|
|
|
Marcel Wiesweg committed a change to /trunk/extragear/graphics/digikam/libs/database/haar/haariface.cpp:
|
Interface Haar calculation with database.
1) Indexing: Methods accept filename, imageid, with preloaded QImage or DImg. The obtained Haar::SignatureData is serialized into a QByteArray (class DatabaseBlob does that with the help of QDataStream) and written into the ImageHaarMatrix table. Modification data and unique hash from the Images table (identifying the current file) are copied to the table.
2) Searching: The original paper suggests a data structure where (for each color channel, for positive and negative) for each pixel a list contains those imageids that have a significant coefficient at that place. Such a structure requires pre-reading and approx. 5MB/10,000 images.
The current approach here does it the other way round. It reads each sigle signature from the database, goes through its list of pixels with significant coefficient, and looks if the query signature has significant coefs as well at that pixel.
A simple benchmark searches 750*133 images (->100,000) in three seconds on my (relatively slow) machine. Of course, I may have introduced bugs, which will show up once we have a GUI for creating searches. (searching for identical images works) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gilles Caulier committed changes in /branches/extragear/kde3/libs/kipi-plugins/flickrexport:
|
kipi-plugins from KDE3 branch : several improvements into FlickrExport tool:
- added support RAW files: embeded JPEG preview is used to export RAW image to Flickr - all others image formats supported by Qt are properlly drived now. The uploaded image is always converted to JPEG. Uploading work with previous implementation _only_ if image been resized. - plugin dialog layout rewritten. more suitable. |
|
|
|
|
|
|
|
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/digikam:
|
Create an XML search based on the Haar signature of the sketched QImage.
TODO: Only the very first change triggers a new search TODO: Color selector is a bit broken (starts with black, blue is a violet?) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kutils:
|
Dependencies code is working as before, KPluginSelector now behaves as before, plus sorting and filtering features. Using Goya for drawing code. Less code and more clear |
|
|
|
|
|
|
|
|
Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:
|
implementation for contentEditable/designMode
based on work by Apple developers and Leo Savernik. Still needs further work, but should be reasonably stable. |
|
|
|
|
|
|
|
|
Luboš Luňák committed changes in /trunk/KDE/kdebase/workspace/kwin:
|
Shortcut for temporarily suspending compositing. Useful when one wants to run something graphically intensive like a game or when compositing goes awry and one wants to see the checkbox that turns it off. |
|
|
|
|
|
|
|
|
Germain Garand committed changes in /trunk/KDE/kdelibs/khtml:
|
Full parsing of doctype by the HTML Tokenizer
patch by Gustaw Smolarczy, improving upon a webkit patch.
slightly modified to provide a turnaround for broken behaviour of KHTMLPart::write() noticed by Gustaw.
Fixing Acid 3's 18th test. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tobias Hunger committed changes in /trunk/kdereview/decibel/src/server:
|
Continue work on contactmanager and change headers of contact connector base class and kde4 header, although not implementation, to take a cookie with all method calls.
Daemon actually builds now, although still a bit of work to be done before it will work |
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/tasks:
|
* complete attention blinking implementation; not configurable, but that would be a feature rather than a regression fix * move out the static items, put them in the applet class and use that between all items. * disable the fade in/out animations for now as they are way to slow atm =/
we really need to do some profiling of this code as it feels rather slow now, and it should be very snappy |
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
|
finish yet another 4.1 feature gap: allow the user to select what to do on drop.
the text is a bit lame for icon, it should be "link to file" or something similar but that string doesn't seem to be handy and we're in a string freeze =/
at least it works =) |
|
|
|
|
|
|
|
|
Riccardo Iaconelli committed changes in /trunk/KDE/kdebase/workspace/plasma/containments/folderview:
|
Before we make a contaiment out of it (are we going to make it for 4.1 with the freeze?), and we're able to choose it, at least add an option to make folderview's background transparent, so it doesn't hurt your eyes. ;-)
Not sure about what doing by default, but I guess I'll keep it opaque (as it is now), so people understand that is a plasmoid.
ACK'd on review board by logixoul. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stephen Kelly committed changes in /trunk/KDE/kdepim/kjots:
|
Workaround to make kontact load and save books from the kjots appdata directory. Also autosave books if neccessary when closing embedded kjots. |
|
|
|
|
|
|
|
|
Stephen Kelly committed changes in /trunk/KDE/kdepim:
|
Add D-Bus interface to KJots, allowing the New Page and New Book actions to work when running in Kontact.
This squashes a four year old bug. |
|
|
|
|
|
|
|
|
Volker Krause committed changes in /trunk:
|
Add item part namespaces. This is necessary to distinguish between remote parts that can be retrieved from the resource (payload) and local parts (attributes), which again is necessary to finally implement all the fetch modes advertised in ItemFetchScope.
Existing data should be converted correctly, but you need to update the server as well as the client library. |
|
|
|
|
|
|
Multimedia |
|
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok/src:
|
Lots of work on the new background.
* Push rendering the background down to the MainWindow and make everything else transparent to make it shine through * Add a few custom widget subclasses that do not render anything themselves * Remove rendering of the backgronud from other widgets
This commit represents work in progress and there is still some serious wonkyness ( if that is not already a word, I hereby declare myself the inventor ) going on with the context view, and lots of dead code that I need to remove. |
|
|
|
|
|
|
|
|
|
|
Networking Tools |
|
Christoph Thielecke committed changes in /trunk/playground/network/kvpnc:
|
* mschap auth selection added (pptp) * mschap-v2 auth selection added (pptp) * option for disabling ipx added (pptp) * option for disabling tcp header compression added (pptp) * option for disabling magic number negotiation added (pptp) * option for disabling protocol field compression added (pptp)option for disabling address/control compression added (pptp) * lzo compression is now disabled by default (openvpn) * psk fixed at openvpn config file import fixed * authentication algorithm fixed (openvpn) * automatic auth inconsistency fix fixedfinal picture in profilewizward added |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lorenzo Villani committed changes in /trunk/koffice/kexi/webforms:
|
* Ladies and getleman: introducing the HTTPStream class, wrapping shttpd_printf call and allowing me to avoid: - shttpd_printf(arg, "%s", string) all around in the code - sending HTTP headers everytime I want to output something - having to write arg->flags |= SHTTPD_END_OF_OUTPUT
* typedef struct shttpd_arg Request (hides shttpd_arg data type) * removed some bits of code used for testing |
|
|
|
|
|
|
Roopesh Chander committed changes in /trunk/koffice:
|
Tab positions support added. With some tap dancing to make it testable.
(Dance is to store a list as a format property from within a QtScript.) |
|
|
|
|
|
|
|
|
|
|
|
|
Dag Andersen committed changes in /trunk/koffice/kplato:
|
1) Popup progress dialog for milestones. 2) Make ganttviews configurable. 3) Make use of relation types in KDGantt 4) Update relations in ganttview when tasks are moved. |
|
|
|
|
|
|
|
|
Optimise |
|
Development Tools |
|
David Nolden committed changes in /trunk/KDE/kdevplatform/language/duchain:
|
Optimizations to the import-structure stuff: - Allow doing "temporary" imports, which is imports that are not recursively propagated into importers(needed in C++). - Do not maintain the shortest path for now, it's too slow in very complicated cases. Any path is ok. - Do not compute the recursive imports until they are requested for the first time. This saves us from expensive computations where it's not needed. - Add mechanisms to import and unimport multiple contexts at a time, for speedup.
All this stuff has a test in kdevelop, and it still succeeds. |
|
|
|
|
|
|
David Nolden committed changes in /trunk/KDE/kdevelop/languages/cpp:
|
- Move the thread-priority setting into the preprocess-job, so it's done earlier. - Do less importing of contexts in cppparsejob, and flag temporary imports as such using a new flag. - Add temporary imports using the new mechanism for that added to TopDUContext.
Together with the patches to TopDUContext, this greatly reduces the bottleneck in that area, so far that we can now start worrying about other stuff like memory-usage again. |
|
|
|
|
|
|
|
|
KDE-Base |
|
Fredrik Höglund committed a change to /trunk/KDE/kdelibs/khtml/misc/paintbuffer.h:
|
Improve performance when rendering CSS opacity layers, by using CompositionMode_DestinationIn to reduce the alpha of the layers before rendering them, instead of using QPainter::setOpacity().
With this change we no longer end up in QPainterPrivate::draw_helper(), and the rendering is fully accelerated in hardware with drivers that accelerate Xrender. |
|
|
|
|
|
|
Maksim Orlovich committed changes in /branches/work/kjs-frostbyte/kjs/bytecode:
|
Noticed when debugging why KJS is ~7% slower with g++-4.3.1-pre than with 4.2.3:
When doing immediate number -> value conversion that can't result in an immediate value, we don't have to check whether it fits into immediate again at runtime, so can just use jsNumberCell and saves some cycles. (~1.2% speedup..) |
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/krunner/resultscene.cpp:
|
obvious optimization that occurred to me while standing up to go make dinner: now only actually new match results will get traversed twice, and then only when there are existing items that haven't been claimed yet.
in practice this is rare, so this is nearly as efficient as the original algo and may well be an even call now without the updateId stuff.
huzzah. |
|
|
|
|
|
|
Maksim Orlovich committed changes in /branches/work/kjs-frostbyte/kjs:
|
Avoid going through the whole toString-property-lookup-deal when converting a object value to a UString, when the programmer isn't certifiably insane (AKA when toString on strings isn't customized)
This is about a 1% speedup on SunSpider, primarily because it reduces GC heap allocations by 2.35% |
|
|
|
|
|
|
|
|
Multimedia |
|
Nikolaj Hald Nielsen committed a change to /trunk/extragear/multimedia/amarok/src/MainWindow.cpp:
|
_Greatly_ optimize rendering by not repainting the _entire_ main window background if just a little part of it ( such as the part below the slider in the toolbar ) changes.
Interestingly enough, this brings back to life the "stitch the background together" code that I all but discarded yesterday. |
|
|
|
|
|
|
Other |
|
Justin Karneges committed a change to /trunk/kdesupport/qca/src/qca_core.cpp:
|
if we look up a feature, and of the known providers it is only supported by the default provider, don't go scanning the drive to see if there's a plugin to take precedence.
this optimizes usage of built-in features, so that if there's no plugin present for, say, "sha1", the qca app won't hit the disk drive every single time it is invoked just to see if a plugin supporting "sha1" has appeared.
the drawback is that if you want a plugin to take precedence over the default provider, then it needs to be installed before the application is run (or, the app can use QCA::scanForPlugins during runtime, to force the plugin to get noticed). |
|
|
|
|
|
|
Other |
|
Development Tools |
|
Keith Isdale committed changes in /trunk/KDE/kdewebdev/quanta/plugins/kxsldbg:
|
- improvements · - make use of new settings model in KXSLDbg · - provide a KControl configuration dialog (not compiled nor used for KDE 4.1) · - refactor how outputmodel is created · - remove redundant configuration dialog implementation
- bug/bug fixes · - correct how the KXSLDdg toolview is shown in Quanta · - correct the declations/implmentation of KDevKXSLDbgViewFactory functions (add virtual keyword as required) · - add missing xsldbg-source icon for "Run .. KXSLDbg" menu · - hide the KXSLDdbg tool bar items if KXSLDbg is not ready to run · - the menu item "Run .. KXSLDbg" now acutally starts/stops KXSLDbg as intended · - correctly load/save configuration when "Run .. KXSLDbg" menu item is used |
|
|
|
|
|
|
|
|
Andreas Pakulat committed changes in /trunk/KDE/kdevplatform/plugins:
|
Remove the ugliest hack in the world. David if you find that an API doesn't work the way you need it to, you shouldn't use it. #define private public is not acceptable in KDevelop codebase.
Also disable teamwork as it now won't compile anymore, as soon as a maintainer steps up to fix this it can be re-enabled. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
David Capel committed changes in /branches/work/soc-parley/parley/practice:
|
Parleypractice is now entirely seperate from Parley proper (a different cmake project) and right now has a basic QString-based question and answer test working.
I'm using WoC for everything; I think this will give me a lot of flexibility later on.
Thanks to some help from #kde-devel and jpwhiting, I got inheritance of the eduwidgets from both the interfaces and the qwidgets working without Qt complaining.
TODO in the near future: * Get question/answer sets loading (the test questions are hardcoded atm ;) ) * Play with SVGs some * Make the test application prettier (its really rough right now) * Implement the Hint EduWidget
First SoC commit! |
|
|
|
|
|
|
|
|
|
|
Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
|
- Given that the previous OSM tile shipped with Marble was licensed under the Creative Commons Attribution-ShareAlike 2.0 license and given that Debian doesn't approve this license as a "free" license we replace the very low resolution tile by a simple blue square for now.
Later on we'll add a public domain map in the style of the original OSM tile. |
|
|
|
|
|
|
|
|
|
|
Stefan Majewsky committed changes in /trunk/playground/games/palapeli/src/gamestorage:
|
Import of the new GameStorage classes.
In the next days, these will replace most of the current storage logic.
The new GameStorage is designed to be flexible and lightweight, to be eventually moved to libkdegames in case that other game programmers are interested in using this framework. |
|
|
|
|
|
|
|
|
|
|
KDE-Base |
|
Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/plasma/applets/pager/pager.cpp:
|
* guard slightly beter in the hover against invalid indexes * don't flicker the current desktop * remove some unused variables * don't talk about "panels" in comments. one should be thinking about containmnets, not panels
this code could really use a good scrubbing. it's a little crufty in places. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anne-Marie Mahfouf committed changes in /trunk/extragear/plasma/applets/dict:
|
rename the proxy widgets better clean the size related code in order to make the def browser nicely resized
This applet almost looks human! PS: commented the Plasma::Flash code as I am not sure it's really needed but I know little about it... |
|
|
|
|
|
|
|
|
Albert Astals Cid committed changes in /trunk/KDE/kdebase/workspace/kmenuedit:
|
Rework kmenuedit layouting, now at least fits in a 1024x768 screen
With Oxygen still does not fit on a 800x600 one because groupboxes seem to be taking TOO MUCH space
Casper, can you have a look at it? |
|
|
|
|
|
|
|
|
Maksim Orlovich committed a change to /trunk/KDE/kdelibs/kjs:
|
Move KJS/Frostbyte into trunk. This is a version w/bytecode and other performance improvements. It's only about 1.4x faster than KJS4.0, but further speedups are planned, and it should be stable enough for trunk now. |
|
|
|
|
|
|
Harri Porten committed changes in /trunk/KDE/kdelibs/khtml:
|
Re-importing the successor of an WildFox script: generate the JS binding code from a language independent IDL file.
Not activated yet because I did not manage to resolve all API compat issues, yet. |
|
|
|
|
|
|
John Layt committed changes in /trunk/KDE/kdelibs/kdeui:
|
Commit to beat the feature freeze :-)
Add new tabs to QPrintDialog to set CUPS printing options. This includes n-up printing, page borders, banner pages, mirror pages, and job scheduling.
This change requires the final release version of Qt4.4 as it relies on a patch not present in the RC or betas. The tabs will also only appear in apps that call KDEPrint::createPrintDialog to obtain a QPrintDialog (I'll be fixing most apps that don't currently do so).
What doesn't work: the CUPS detection routine needs more work, and the Job Options table is a bit crashy, but everything else should be fine. Oh, and the ugly n-up icons (borrowed from KDE3) need replacing in the style and size of the existing Qt Colour Mode icons (see options tab).
Memo to self: Now I must send Danny the promised article... |
|
|
|
|
|
|
Chani Armitage committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
|
opening the desktop toolbox on hover was never going to work perfectly, and would be a bit of a problem for touchscreens (they make the mouse jump instead of moving smoothly) - so it no longer happens.
the toolbox just lights up on hover now, and opens on click. it still closes on the hover leave event, though.
this makes the code a lot less hackish and should produce the least frustrating behaviour possible.
it's also a bit more like the panel cashew behaviour. |
|
|
|
|
|
|
|
|
Fredrik Höglund committed changes in /trunk:
|
Moving the folderview applet to kdebase before the freeze. I'm moving it to containments since it will be changed to inherit Containment instead of Applet shortly. |
|
|
|
|
|
|
|
|
Will Stephenson committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/core:
|
in the kde-core-devel thread "Kubuntu Settings in KDE" Riddell suggested setting NoDisplay=true on systemsettings.desktop, to prevent it appearing twice in the Computer tab, and in the Applications tab.
This solution goes too far, because you then cannot find the app with the search tool.
This patch adapts the Applications tab to ignore any apps that are configured to appear in the System tab, using a new static method in the Kickoff namespace to obtain the list in both System and Applications models. |
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
Remove close buttons on individual tabs and replace with a single close button on the right of the tab bar when the "Show 'New Tab' and 'Close Tab' buttons on tab bar" option is enabled - which brings tab management back to the way it was in KDE 3.
Several users (esp. those working with laptop trackpads) were having problems with accidentally closing tabs. It seems KTabBar's close buttons need some refinements before they can be used in the terminal. |
|
|
|
|
|
|
|
|
David Faure committed changes in /trunk/KDE/kdebase/apps/lib/konq:
|
Move handling of "Open With" actions from KonqPopupMenu to KonqMenuActions, for more code sharing with dolphin.
Move info about the items related to the popupmenu to KonqPopupMenuInformation, to share this between KonqPopupMenu, KonqMenuActions and the upcoming plugin support resurrection. |
|
|
|
|
|
|
|
|
|
|
|
|
Chani Armitage committed changes in /trunk/KDE/kdebase/workspace:
|
replace Panel::remove() with Containment::destroy() now I can remove some of the ten desktop containments I accumulated :) oh, and the code is cleaner too, yay! |
|
|
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:
|
* let ResultScene own the runner manager completely * fix arrow paging * simplify the setting of matches considerably; had the side effect of rooting out some interesting problems with iterator usage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dmitry Suzdalev committed changes in /trunk/playground/base/plasma/applets/notify:
|
experimenting++
Steal some code from applethandle.cpp (I typed it by myself, I only looked there, honestly! ;)) Use Plasma::View to show notifications widget in a toplevel window.
View doesn't track widget's size changes so it quickly becomes ugly on any new notification :-P |
|
|
|
|
|
|
Christopher Blauvelt committed changes in /trunk:
|
This engine was accidentally moved into kdebase from kdereview. Move it back into playground until it has been adapted to the new Solid::Control API changes. |
|
|
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/krunner:
|
new item re-use algorithm. while slightly less efficient due to an extra list traversal (worst case: all items might get processed twice), it makes maximal use of existing items. |
|
|
|
|
|
|
|
|
Alex Merry committed changes in /trunk/KDE/kdebase/workspace/plasma/dataengines/nowplaying:
|
kdebase shouldn't depend on stuff in kdemultimedia and extragear.
Instead, we use our own copy of the xml descriptions of the dbus interfaces, which seems reasonable - these interfaces (or, at least, the small subset nowplaying uses) should be pretty stable, and a change in the interface shouldn't cause more trouble than nowplaying no longer supporting them. |
|
|
|
|
|
|
Allen Winter committed changes in /trunk/KDE:
|
|
due to popular demand, make sure that the doc subdirs can be optionally built. |
|
|
|
|
|
|
Ivan Čukić committed changes in /trunk/extragear/plasma/applets/lancelot:
|
- Applet rewrite (clean build recommended, or just removing the .desktop file and the plug-in library file since the name of the plug-in (applet) has changed - Added a new widget - HoverIcon - Configuration switched to the new framework in plasma |
|
|
|
|
|
|
|
|
|
|
|
|
Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma:
|
new default size of the panel with new panel background to give exactly 32px icons to kickoff and 22px to task icons with a panel background that decreases the margin. still temporary artwork btw. |
|
|
|
|
|
|
|
|
Kévin Ottens committed changes in /trunk/KDE/kdebase/workspace/libs/plasma:
|
Remove the "ghost view" from public API. It's completely internal and used nowhere.
"ervin, fighting feature creep in APIs since 1980."
(BTW, at this rate I'm less and less convinced that it'd be wise to not have a second round of API review post 4.1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Till Adam committed a change to /branches/kdepim/enterprise4/kdepimlibs:
|
Since we will need to add features to gpgme and friends, for ongoing projects, let's split off the next iteration of the enterprise branches.
Much does it pain me, but I see no other way. |
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim:
|
Port KMEditor to KRichText.
You'll need an up-to-date kdelibs for this, but it's not possible to avoid that this time, sorry. |
|
|
|
|
|
|
|
|
Szymon Stefanek committed changes in /branches/kdepim-soc:
|
Merge the new FolderView implementation. The old KMFolderTree is still there side-by-side to allow for comparative review: it will be removed soon. Also fix a crash related to KMAcctImap triggered by unexpectedly dying job slaves. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Multimedia |
|
Michael Pyne committed changes in /trunk/KDE/kdemultimedia/juk:
|
Improve crossfading in JuK trunk to not sound like a catastrophe for the first half second. I think the order of inserting effects into the audio path has something to do with it, so I've reordered everything to be ready before starting the next track.
In addition you shouldn't get huge volume jumps when crossfading rapidly and I've improved the memory allocation lifetimes.
Unfortunately you still sometimes get a bit of high-volume at the beginning of the next track but I don't think that is juk's fault. |
|
|
|
|
|
|
|
|
Michael Pyne committed a change to /trunk/KDE/kdemultimedia/juk/systemtray.cpp:
|
Of all the stuff I could work on before string freeze, I chose to make the JuK tooltip pretty again...
In addition make the cover art size in the tooltip the same as the desktop icon size rather than hardcoding it. |
|
|
|
|
|
|
Nikolaj Hald Nielsen committed a change to /trunk/extragear/multimedia/amarok/src/images/default-theme.svgz:
|
Nev background element from leeo. I changed the highligts from using white to using the "Base" color from the palette.
This is white in many cases, but for very dark themes it is usually not.
This makes the highligts much more subtle on dark themes. Now I just need to find that touch of color I keep ranting about. |
|
|
|
|
|
|
|
|
Office |
|
Thomas Braun committed changes in /trunk/extragear/office/kile/src:
|
rewrite tools for KDE4 and update them - remove dvipdfm and replace with dvipdfmx - add draft mode avaible from texlive 2007 now on - context and xetex commands - okular instead of kdvi, kghostview and kpdf |
|
|
|
|
|
|
|
|
|
|
Benjamin Cail committed changes in /trunk/koffice/filters/kword/msword-odf:
|
Initial commit of new MSWord-to-ODF filter. I didn't enable it in cmake yet - just add the msword-odf directory in the same place as the other msword directory in CMakeLists.txt if you want to use it.
This code should compile and produce an ODT with the text from the .doc, but it's not formatted at all. That's next on the list.
There's also a lot of commented-out code from the other filter, which can eventually be removed. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|