|
| This Week... |
|
Significant progress in Colour Mixing in Krita. A new, more usable sidebar for okular. International Date Line support, and the merge of Summer of Code work in Marble. Solid is used for hardware detection in Digikam. KRunner uses Strigi for filename-based searches. The ability to switch cursor themes without restarting KDE. Timelines for multiple timezones, rich-text support and other journal improvements in KOrganizer. Support for storing bookmarks in Akonadi. Initial porting of the Kollision game to QGraphicsView. Support for KNewStuff2 in KWordQuiz and KVocTrain; KNewStuff2 support (and the spectrum viewer) removed in Kalzium until KDE 4.1. Initial import of Blitz, an improved graphical effect and filter library for KDE 4.0.
|
Emanuele Tamponi introduces the innovative work recently committed to Krita, covering paint mixing:
|
As in last year's Summer of Code, my work was not about writing much code (I'm not a very fast coder), but more about searching and investigating academic technologies that we, the Krita developers, could use for our application.
This year, my project was about a very strange task: color mixing. I have to admit that at first, I thought that the most difficult and important part of my work would have been that of physical simulation of dripping and drying paint, and the simulation of the brush movements. How could mixing colors be so difficult?! Take their RGB values, and mix them additively or with some other simple transformation (the HSL color model is very useful, for example). But things are not so easy.
Color mixing is indeed a very difficult task. What is it exactly? It's about simulating what you learn at school: yellow and blue give green, red and yellow give orange... and so on. I have to simulate this behavior.
It's very difficult to explain the complexity in a few words, but it can be simplified this way: you can *not* know the final color of a mixture knowing only the RGB values of the components. So my work was: find a "color model" (that is, a way to represent colors) that has this property: the color of a mixture is the weighted sum of the values of the components.
Luckily, other people thought about this before me, in particular two researchers, Kubelka and Munk. They wrote a set of differential equations that describe (among other things) the behavior of pigments. The integration of these equations brings to another set, that permits the application to decide the color that would be viewed by mixing some components. Kubelka and Munk didn't see that their system has the property I was looking for: this discovery was made by Duncan, one of the guys that integrated their equations. His law states exactly what I was looking for: "the K and S values of a mixture are equal to the weighted sum of the K and S values of the components". K and S values stand for "Absorption" (K) and "Scattering (S). Again, it was not so easy to come to this: really, since the beginning I hoped that I could use some other systems instead of of Kubelka and Munk's one, because it's very complicated. I hoped that some simplifications were good enough to approximate the real behavior of paint without using their model.
At the end, it was evident that I could not escape from Kubelka and Munk, and so, I started implementing their theory. Many parts of it are very well documented: there is a good set of equations that permits transformation from K and S values to Reflectance values, and then from these to XYZ values, and from these to RGB values. Perfect! No, not exactly :-) Because I needed also exactly the opposite: a way to transform from RGB to K and S, and *then* viceversa :-) All papers I read gave K and S values as known, and didn't give me any hints on how to find them from RGB values.
Luckily again, after some search, I found a little, old paper that talked about this: the algorithm I found reading it isn't perfect, but it does work. I was able, after some (*much*) maths (thanks to Paolo Capriotti for his fuundamental help), to obtain these K and S values!
This happened just some days ago, when I committed the latest version of my mixer. Once I obtainted these values, finding the resulting color is really easy: just take the amount of paint for each component, and mix their K and S values proportionally to their presence... the final result is very realistic. For example, this model is the only way I found to obtain green from yellow and blue.
Krita is the first public application that implements this technology. Only some other academic projects have managed this, and with a lot of CPU/GPU consumption (they need a cluster or a powerful GPU, or they would run only at very low resolutions). I suceeded in simplificating the process enough to run it on all machines I have, without using the GPU at all (and I have no clusters in my house :-)). Corel Painter doesn't do this (in fact, I guess that it can't mix as well as Krita now...), Photoshop doesn't do this.
With this technology, we can not only handle correct mixing from RGB values, but also the creation of *real* colors (that is, color defined not only by their RGB values, but also by their "Reflectance", that's the main and fundamental property that gives a color its... color); we can handle illumination, that is: changing the virtual light that illuminates the scene will change the colors present in it. A very good set of features, they are not implemented yet but the infrastructure is here.
|
|
|
| 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 |
|
KDE-Base |
|
Charles Samuels committed a change to /branches/KDE/3.5/kdelibs/khtml/dom/dom2_events.cpp:
|
the js keyboard event (mozilla extension) property event returns 0 if the key pressed cannot be expressed as an ascii code (apparently).
This behavior is the same as Firefox, /more/ similar to Opera (although opera appears to have an implementation of "event" more buggy than konqueror as a result of this patch). I figure firefox's implementation is canonical as it's a gecko extension.
Still, there's a remaining bug in that you can't send "ctrl-something" because Konqueror filters it away from the Part. I'm not going to fix that. |
|
|
|
|
|
|
|
|
Daniel Teske committed changes in /trunk/KDE/kdebase/apps/konqueror/src:
|
Rewrite the filtered bookmark toolbar code. The quite commonly reported bug that the icon is not shown in such a filtered bar is fixed. Actions on the bookmark now really change the underlying bookmark that is, you can change the e.g. title and the bookmark in the menu is changed.
Stop using the KXBelImporter class, a temporary KBookmarkManager and the visitor pattern, which unecessary complicated the code. |
|
|
|
|
|
|
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
|
|
Fixed 'Select All' and 'Invert Selection' for the column view (only the items of the currently active column will be selected, not the whole tree). The current implementation is quite slow, but this will be fixed later. |
|
|
|
|
|
|
David Faure committed changes in /branches/KDE/3.5/kdebase/konqueror:
|
When loading a new url into an existing view, don't update the location bar immediately, but when starting to load it into the view for real. This fixes: - click on link which opens in new app: the url was shown temporarily and then reverted - constant redirects would keep updating the location bar url, masking the current url But we still show the url immediately when loading a url into a new window or tab, for early user feedback.
Also fixed double-part-activation bug which was clearing up the url temporarily during startup (and slowing down startup, too, since AFAICS it was doing xmlgui-building twice for KHTML). |
|
|
|
|
|
|
KDE-PIM |
|
Thomas McGuire committed changes in /trunk/KDE/kdepim:
|
Fix display of vcard attachments in KMail. The problem was that the old content-type was text/x-vcard, and the new one is text/directory.
To fix this, the following was changed: - the vcard plugin now works for x-vcard/vcard/directory - a new directory subtype has been added to mimelib - parseMsg() also checks for both x-vcard and directory |
|
|
|
|
|
|
|
|
Christian Hubinger committed changes in /branches/extragear/kde3/network/kmyfirewall:
|
* Refactor: Undo/Redo * KMFUndoEngine * much simpler usage now no need to do saveState() anymore * the startTransaction() method takes the top most affected NetfilterObject as parameter * NetfilterObject * Use QUuid insted of int for object ids * Remove all undo/redo stuff * Use new uuid property for resolving object by their id in undo/redo, solves issues with objects delete in undo and recreated in redo * remove saved property * KMFTransaction * now stores undo/redo data * does undo/redo on objects * Much more memory efficient now * change default value for max undos to 100 should be ok now. * fix: capsulate all edit actions in transactions * improvement: better gui update handling * fix: crash caused by invailid pointer in KMFNetworkWidget * fix: MAC option edit * and finaly some code cleanup ;) |
|
|
|
|
|
|
|
|
Office |
|
Stefan Nikolaus committed changes in /trunk/koffice/kspread:
|
Painting Content Format. The Style's content format now takes precedence over the one of Value. This fixes the issue, that you were not able to change the format after importing CSV values as text.
Errors will always be centered now. |
|
|
|
|
|
|
Stefan Nikolaus committed changes in /trunk/koffice/kspread:
|
Sheet Sheet Name. No need to restrict ourselves too much: sheet names containing any character can be used for cell references. D-Bus object paths can contain letters, digits and underscores; replacing any other character by an underscore.
The OpenDocument specification has no restrictions for sheet names. |
|
|
|
|
|
|
Thomas Braun committed a change to /branches/extragear/kde3/office/kile/kile/quickdocumentdialog.cpp:
|
fixes - add utf8x to the encoding list - automatically add the ucs package if an utf encoding is choosen - replace caption2 package by caption package
- add all babel supported languages - add all fontenc supported encodings - remove srcltx package because it is also deprecated - add upgreek package - remove unecessary defaults (only correct for user writing german or user creating dvis)
Most changes only apply to user how reload the default package list |
|
|
|
|
|
|
|
|
Features |
|
Development Tools |
|
Sharan Rao committed changes in /trunk/KDE/kdesdk/umbrello/umbrello:
|
Docgenerators are now multi threaded. No blocking for long durations (at least on my dead processor and connection :P) anymore.
Some more testing due :) |
|
|
|
|
|
|
Nickolai Shaforostoff committed changes in /trunk/playground/devtools/kaider/src:
|
do some magic on suggestion insertion: detect and autoreplace changed markup, numbers, and also changed/added non-word characters situated at the start and at the end of the string
also, disable spellcheck config page (I hope, temporarily :) because it crashes kaider. |
|
|
|
|
|
|
Educational |
|
James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars/skycomponents:
|
The first version of the indexing code is now feature complete.
Implemented hybrid drawing for the non-precessed guides. This was actually pretty easy. I picked an arbitrary threshold of 1/4 the total number of trixels. When we are fully zoomed out, it takes slightly more than half the trixels to cover the visible celestial hemisphere. The threshold is currently set in the SkyMesh constructor. Please play around with it. I've got no idea if the current threshold is optimal. This opens the door for adding (at least some of) the remaining guides to the index.
Implement re-indexing of the constellation lines. This was a lot of work for a very tiny effect. I don't know if anyone would have noticed if we had not bothered. Re-indexing of the stars and the CLines occurs whenever the time differs by 150 years or more from the last time they were indexed. We always start at J2000.
This completes the precession corrections for the index.
I encourage anyone who is interested to give it a try, see if you like the responsiveness and even try to break it. The README.indexing file in the skycomponents/ directory gives an introduction and outline of the indexing. Things got even more complicated with the various precession corrections so I'm working on a README.precession file.
I'd also like feedback on the labels. Labels should no longer overlap. The "G" key increases the label density, the "F" key decreases it and the "B" key prints out some simple statistics.
In addition to the README.indexing file, a lot of the code is well documented in the header files although there is usually a few days lag between when the code is written and when it is documented. Sometimes longer. |
|
|
|
|
|
|
|
|
Jason Harris committed a change to /trunk/KDE/kdeedu/kstars/kstars/skymap.cpp:
|
Adding multiple projections for the quaternion expression of SkyPoints (which is not yet being used, so this code currently does nothing yet).
This commit also contains atan() --> atan2() fixes for skymap.cpp |
|
|
|
|
|
|
|
|
Torsten Rahn committed changes in /trunk/KDE/kdeedu/marble:
|
- Initial support for the International Dateline
- Big Patch by Tim Sutton of QGIS fame: - lots of cmake changes mostly specific to the Mac that remove the need for the BuildOnOSX.sh script - some minor fixes in the GPS and KML stuff
Hope this doesn't break too much ;-) |
|
|
|
|
|
|
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
Using XML for DBus interfaces, which autogenerates adaptors that are used in the KStars and SimClock classes. The service name is 'org.kde.kstars' and the two objects thus far are /KStars and /KStars/SimClock. There are plans to make INDI calls seperate, but I intend to implement that in KDE 4.1
You can test this by launcing kstars, and then at konsole:
dbus-send --dest=org.kde.kstars --print-reply=x /KStars org.kde.kstars.zoomOut
I have no idea why --print-reply is needed, but the call doesn't work without it. Similary for SimClock:
dbus-send --dest=org.kde.kstars --print-reply=h /KStars/SimClock org.kde.kstars.SimClock.stop
You can also use dbus-viewer to find all the available object paths and corresponding methods. |
|
|
|
|
|
|
Carlos Licea committed changes in /trunk/KDE/kdeedu/marble/src/lib:
|
|
Partialy implemented the change of projection "on the fly", unfortunately the changes broke the KML ifdef's, please restore them, I would recomend another approach a variable "bool m_first" or something like that. Not all the changes commites as I'm waiting for approbal of the approach from the rest of the marble crew. |
|
|
|
|
|
|
|
|
James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars:
|
Everything outside the Solar System is now being indexed.
The Horizon is not indexed but it is not really outside of the Solar System and it certainly doesn't have fixed (RA, Dec).
Created LabeledListIndex (subclass of NoPrecessIndex) and created two subclasses: Equator and Ecliptic which lets the equator and the ecliptic make use of the HTM index.
I still make 4 candidate label positions: left-most, right-most, top-most, and bottom-most, but since I am making use of the SkyLabeler to prevent overlap, I use the same priority for both the ecliptic and equator:
right, left, bottom, top
It would be trivial for me to give the ecliptic and the equator different candidate priorities if that is preferred but I think it is easier for the user if we try to consistently put those labels on the same side of the screen. I'm totally open to changing this around if anyone expresses a preference. It would be easy to give the users the option of which side to first try drawing the labels.
I reduced the number of points used to display both the ecliptic and the equator. The lines themselves look fine to me but when skewing, the labels appeared to jump a little. I then bumped up the number of points in the equator by a factor of four and its label appears to move much smoother. I left the ecliptic as-is so you can compare the jumpiness of the two. I have no idea which way is better and am open to suggestions. I think the smoothly scrolling label looks better when skewing.
The classes: EquatorComponent, EclipticComponent, and LineListComponent are no longer being used but I haven't deleted them yet. |
|
|
|
|
|
|
|
|
Jasem Mutlaq committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
Script Builder is working with DBus, I haven't tested everything, but it can write and read DBus based scripts. I disabled all INDI scripting for KDE 4.0 since I need to work on a more serious scheduling framework for KDE 4.1.
While I can test the script from the script builder GUI, there seems to be a problem with 'run script' from the file menu, so I need to investigate this further. |
|
|
|
|
|
|
|
|
James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars:
|
Implemented the wonderful suggestion by Thomas to make both SkyMesh and SkyLabeler singletons. This allowed the code to become much cleaner. It affected every class that uses either of those classes so there were a lot of little changes.
Deleted 8 classes that are no longer used and cleaned up some code. Removed an unneeded cast in PolyListIndex and changed:
lineList->points()->append() to lineList->append()
in ConstellationBoundary, ConstellationLines, CoordinateGrid and MilkyWay. |
|
|
|
|
|
|
Andrew Manson committed changes in /trunk/KDE/kdeedu/marble:
|
|
large commit including such functionality as an implemetation of a bounding box and a directional arrow for a live gps tracking object. consult the change log for a full discription of the changes |
|
|
|
|
|
|
|
|
Games |
|
Dmitry Suzdalev committed changes in /branches/work/kollision-qgv:
|
Commit some work I've done while toying with port of Kollision to QGV I started to port many Message to be one QGraphicsTextItem but abandoned that at the point when I've seen that it should be SharedPtr. So it is now in a state of flux.
Also ball doesn't know its radius now and all coords set upper-left corner coords, not center of ball. This mainly affects MainArea (I think I fixed all cases).
And glitches are not tracked down yet
The best way to use this branch is:
cd playground/games/kollision svn switch svn+ssh://USERNAME@svn.kde.org/home/kde/branches/work/kollision-qgv make && make install
Good luck! :-) |
|
|
|
|
|
|
Arnold Kraschinski committed changes in /trunk/playground/edu/kverbos/KDE4/src:
|
|
The jigsaw image is scaled to the viewport now. A new image will be selected if the old is solved. The picture of the solved jigsaw is presented to the user in a bigger version. The user can select more images in the settings dialog. (deleting) is still missing. |
|
|
|
|
|
|
|
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/threadimageio:
|
Add the initial version of a multithread thumbnail loading. These classes have the functionality to replace the digikamthumbnail ioslave, the ThumbnailJob and the PixmapManager classes.
They share the infrastructure of the threadimageio library we are using for loading full images and previews.
It is the hope that the removed cost of moving the image data through the shared memory segment from the ioslave will make thumbnail loading slightly faster.
The code is not yet used or tested in digikam. |
|
|
|
|
|
|
Pino Toscano committed changes in /trunk/KDE/kdegraphics/okular:
|
New sidebar for okular.
The old sidebar had many problems and limitations, usability issues as well. This new sidebar tries to simplify and solve many of these issues (like the navigability with the keyboard), with a better looking.
Of course, some glitches are still there, but easily solvable. |
|
|
|
|
|
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/threadimageio:
|
- add a method to add a group of thumbnails to the thumbnail load thread.
This is meant for a future implementation, where the view pushes all currently visible thumbnails that need to be loaded to the _front_ of the queue. Currently, new tasks are always appended and wait for older ones. Prepending is not an option to keep the order of item loading unchanged.
- remove the one-second sleep, to real sleep. Audited that condvar is waked whereever needed.
Though, bugs may come up... |
|
|
|
|
|
|
|
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/digikam:
|
Use KDE Solid for detection of USB mass storage devices
- now there is one submenu for devices reported as "HardDisk" on the USB bus, and one submenu for devices reported as one of the various "Card Reader" subtypes - remove traces of the KDE3 media:/ ioslave
Solid is a really great thing to have, first time that I use Linux and feel the hardware is well integrated even in high-level applications!
TODO: For KDE3 we install .desktop files to add a digikam entry to the popup dialog that kded pops up when a new device is detected. I currently have no idea about the KDE4 equivalent. |
|
|
|
|
|
|
|
|
|
|
Jos van den Oever committed changes in /trunk/kdesupport/strigi/src/streams:
|
This is a large commit. It has a couple of overlapping improvements that were all waiting for the next monday.
So what is in this patch: - cleanup of private variables in classes by introducing a d-pointer - changing the #include "strigiconfig.h" to <strigi/strigiconfig.h> - moved strigi/src/streams/compat to strigi/src/streams/strigi - modifying the signature of endAnalysis to endAnalysis(bool complete) for StreamLineAnalyzer, StreamEventAnalyzer, and StreamSaxAnalyzer - add a function to AnalyzerConfiguration that tell how many bytes can be read at most from a stream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fredrik Höglund committed changes in /trunk/KDE/kdebase/workspace/kcontrol/input:
|
- Clean port of the code to Qt4. - Converted the UI to use a designer .ui file. - Use the model/view framework in Qt4. - Improved look - Clean port of the code to Qt4. - Converted the UI to use a designer .ui file. - Use the model/view framework in Qt4. - Improved look & feel, using a list view with a custom item delegate instead of a tree view. - Load the list view icons on demand. - Refactored the theme loading code. - Make it possible to preview the bitmap/cursorfont legacy theme. - Improve the WYSIWYG capabilities of the preview widget. - Removed the "No theme" option, and instead figure out which theme Xcursor will use when no theme is configured, and select it. - Use QPainter in the preview widget instead of using Xrender directly. feel, using a list view with a custom item delegate instead of a tree view. - Load the list view icons on demand. - Refactored the theme loading code. - Make it possible to preview the bitmap/cursorfont legacy theme. - Improve the WYSIWYG capabilities of the preview widget. - Removed the "No theme" option, and instead figure out which theme Xcursor will use when no theme is configured, and select it. - Use QPainter in the preview widget instead of using Xrender directly. |
|
|
|
|
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
|
If reading the current working directory of a process fails (eg. when running a 'sudo' command) when preparing a tab title then fall back to the parent process's current working directory. Add basic error reporting to ProcessInfo. |
|
|
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:
|
Make it possible to use a 'default identity' for a folder. When a folder has the 'default identity' and the user changes the default identity in the config, then the identity of that folder changes as well. This prevents confusing situation. |
|
|
|
|
|
|
|
|
|
|
|
|
Bertjan Broeksema committed changes in /trunk/KDE/kdepim/kpilot/conduits:
|
== conduits/base/ ==
HHDataProxy * Added checks to see if there actualy is a PilotDatabase object
RecordConduit * Made the equal function and it's paramaters const * Adjusted the testsclasses which where affected by the new constness
== conduits/keyringconduit/ ==
KeyringConduit * Added an askPassword functions which asks for a password if the user configured it. * Added the constness to the equal method. * Implemented the equal method * Implemented (partialy) the initDataproxies method * Implemented the loadSettings method
KeyringHHDataProxy * Added a constructor for a database that is stored on the pc. * Implemented createDatastore (still working on this, data of records doesn't get saved for some weird reason). * More work on openDatabase. The salted hash is saved now if the database couldn't be opened so that it can be used to create a new one.
KeyringHHRecord * Added a constructor to create a new record with normal in data in stead of with a pilotrecord. * Implemented pack() method. * Implemented setters. * Implemented equal().
TODO file added |
|
|
|
|
|
|
|
|
|
|
Multimedia |
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context:
|
yay! columns work. mostly. some math needs to be adjusted with more than two columns... but finally works!
note: the problem was in Plasma::VBoxLayout so it won't work for you until it gets fixed (2 days or so) |
|
|
|
|
|
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context:
|
add new lyrics svg. note, there isn't actually a lyrics *applet* yet, but thats coming... new currenttrack applet (all courtesy of beast). removed some debug from CurrentTrack. remove zoom in/zoom out and form factor controls from ControlBox |
|
|
|
|
|
|
|
|
|
|
|
|
Cláudio da Silveira Pinheiro committed changes in /branches/work/kopete/comunip/libkopete/avdevice:
|
Rudimentary support for V4L2 extended controls. UVC owners can experience Kopete freezing, but it's not repeatable everytime. It happens after opening, closing, reopening, closing again and so on. AFAICT it's a driver issue, because the same behavior can be triggered with luvcview, xawtv and others without touching Kopete at all (tested with UVC svn revision 120). |
|
|
|
|
|
|
Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc:
|
Add history folder in bookmarks. All host you have successfully connected to will be added there. This way it's easier to find an already used host.
Thanks Daniel for your inputs! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins/viewplugins/painterlymixer:
|
A good version of the KS Color Space. It's fast enough and it permits you to mix in an almost perfect way. There are still some degeneration problem that I'll work out in these days.
They're related with blue mixtures... whatever color that has some blue inside has got some probability of degenerating into black. All other colors should go ok. Enjoy! |
|
|
|
|
|
|
Emanuele Tamponi committed a change to /trunk/koffice/krita/plugins/viewplugins/painterlymixer/ipg/EXAMPLE:
|
Forgot to mention the Illuminant Profile Generator utility. It's a simple program that doesn't get compiled by CMake, and you won't need it for normal Krita usage. It let you create your own Illuminant Profiles, using a raw Illuminant Spectrum. It depends upon GMM, GMP and Octave.
To compile it, you should go into its directory and type .../ipg:$ sh compile
To run it, you should type .../ipg:$ ./ipg input output
It will generate a Illuminant Profile file, that then you can put into the profile data directory of your installation. |
|
|
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice:
|
Started implemeneting dragStarted implemeneting drag&drop in the layer docker. As of now only dragging shapes between layers works. |
|
|
|
|
|
|
Emanuele Tamponi committed changes in /trunk/koffice/krita/plugins/viewplugins/painterlymixer:
|
Various changes, done a better algorithm. I'm really sorry for the "poor" results (but, as far as I know, there aren't better ones out there, just Painter, perhaps), but there are good news too.
First, this algorithm seems to work still better than all the previous ones, also because now it always use the KS Color Space (before, because of a bug, I needed to always transform from RGB to KS and viceversa) and it's very fast.
Another important thing. I think it's good to say again why we need K and S values (because it's becoming more and more clear to me to).
K and S values are useful because they've this noticeable property: c1*K1 + c2*K2 = K3 c1*S1 + c2*S2 = S3
That means, given two colors with (K1,S1) and (K2,S2), their mixture in concentrations c1 and c2 is described by (K3,S3) and it's the WEIGHTED SUM of the components K and S. So, in short: the K and S values of a MIXTURE are the WEIGHTED SUMS of the component K and S.
It's very hard to find out K and S values of a color knowing only his RGB components, because there are infinity (better, currently: infinity^7) K and S couples that give the same RGB values, but only a few of this infinity gives "realistic" results. The "other" way is evaluating them tentatively, but it's not feasible (I'd need a spectroradiometer!).
My work until now has been exactly this: finding an algorithm that gives good K and S values from the RGB definition of the color.
Did I succeed? Almost. Almost because I hoped to do more. For example, it's going to be quite hard to handle illuminant, because I need white points and I don't know how to calculate them, so you've to wait to see good illuminant handling. But "almost" means also that I don't know of any better algorithm, nor I saw any other application that mixes this way.
That's a good point, at least :-) ! |
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice:
|
|
Dragging and dropping of shapes between layers and groups works now really nice. I improved the KoShapeGroupCommand to work properly when adding shapes to a group which already has some children. Furthermore I fixed a crash in the layer model when trying to create a model index from a negative row number. |
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice:
|
Implemented loading of shape groups. This was a little more work as the child shapes of the group had to be added to the document after loading so I put them into the loading context.
After loading the document, the apps KoShapeControllerBase implementaion has to transfer the collected shapes from the context to itself. The creation of the group shape is hardwired into the shape registry as we do not want a shape group appear inside the shape selector (when using a KoShapeGroupFactory).
Additionally I changed the shapes to save their global transformation matrix, as that is what they are in ODF. |
|
|
|
|
|
|
Pierre Ducroquet committed changes in /trunk/koffice:
|
Here is a first patch for document saving in KWord. The current code only supports plain text actually, the styles aren't saved. That's a first piece of code to improve that. That's still not working, sadly, but it's late and I have no time to fix this yet. |
|
|
|
|
|
|
Marijn Kruisselbrink committed changes in /trunk/koffice/shapes/musicshape:
|
|
when the first bar of a new staff system starts with a clef or key signature change, draw the clef/key signature at the end of the previous system; editing of music is now probably broken, but rendering/engraving is quite improved |
|
|
|
|
|
|
|
|
Sebastian Trueg committed changes in /branches/work/soprano2:
|
Added inference rule parser. Added RDF/S ruleset file. Improved debugging operators.
FIXME: install the rulset file to something like ${PREFIX}/share/soprano/rules and make it available through the API. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mirko Boehm committed changes in /trunk/playground/utils/charm:
|
- prepare local events database to support remote backends - make sure all events are unique both in the scope of the installation and in the scope of the remote backend
(basically, the implementation of the "local database only" mode is finished) |
|
|
|
|
|
|
|
|
Mirko Boehm committed changes in /trunk/playground/utils/charm:
|
OMG! Qt4!!! :)
#1 Implemented Context Menu for System Tray. -a. Quit Charm -b. Hide/Restore TODO : Configure Dialog and Stop Timers ( a la Karm )
#2 Added Quit Icon. |
|
|
|
|
|
|
Mirko Boehm committed changes in /trunk/playground/utils/charm:
|
MASSIVE:
- ripped everything apart for the new all-in-one model - moved reports and commands into their own subdirectories - almost all functionality is back |
|
|
|
|
|
|
|
|
Tom Albers committed changes in /trunk/extragear/utils/rsibreak:
|
Resize the applet according to the size of the text we want to display Show the rsibreak logo on the top left, which is the same as in the tray: showing the time left to the break. |
|
|
|
|
|
|
Optimise |
|
Development Tools |
|
Nickolai Shaforostoff committed changes in /trunk/playground/devtools/kaider/src:
|
more optimization: -use utf8 for DB instead of utf16 (is it ok for langs like jp?): reduces db size by half -store wordIndex in DB instead of memoryhash: increases db size by factor 1.3, decreases ram usage from 35mb to 25mb (18mb of which is libs) while kdelibs4.po is opened, +project and glossary loaded warning: this is not the last db scheme breakage :) -split wordIndex into two ones: one is _preferred_ for strings with < 20 words, and vice versa -use qlist instead of qvector for suggestions: really helps when qSorting -use qvector instead of qstringlist for catalogitems: win ~200 kb when kstars.po is opened
features: -added predefined list of language mailinglists to set the default value for project settings |
|
|
|
|
|
|
Games |
|
Mauricio Piacentini committed a change to /trunk/KDE/kdegames/kgoldrunner/src/kgrcanvas.cpp:
|
|
Add a couple of QTimeLine calls to tweak performance. Feel free to revert these or change it back to the default EaseInOut Shape, but linear seems to work better with fewer frames per second imo. It would be a pity not to have the animation for performance reasons, but with fewer frames per second it uses only about 5% cpu on an average system. |
|
|
|
|
|
|
|
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/digikam:
|
Switch to multithreaded thumbnail loading: AlbumIconView uses ThumbnailLoadThread now.
Previously, we used to load thumbnails with an ioslave and transfer the data over shared memory.
This overhead can be avoided now.
The new classes ThumbnailLoadThread and ThumbnailCreator have the functionality that was contained in the digikamthumbnail ioslave and the classes ThumbnailJob and PixmapManager.
ThumbnailJob/ioslave is still used in other parts of digikam. PixmapManager is now unused.
Subjectively, thumbnail loading feels faster in certain situations for me.
I have no measurements because the experimental setting would be difficult. |
|
|
|
|
|
|
KDE-Base |
|
Rivo Laks committed a change to /trunk/KDE/kdelibs/kdeui/icons/kpixmapcache.cpp:
|
Use time(0) instead of QDateTime::currentDateTime().toTime_t()
This reduces the performance impact of my last patch at least by half, making statistics collection only about 3% slower than no statistics. |
|
|
|
|
|
|
Other |
|
Sebastian Trueg committed changes in /branches/work2:
|
Improved inference performance by compressing the source statements into one single literal value.
This way we only have to store one statement for each source statement instead of 5. |
|
|
|
|
|
|
Sebastian Trueg committed changes in /branches/work2:
|
I had a new idea to improve inference performance when calling addStatement: by simply restricting the rule application to the statement in question.
Now since redland does not support UNION joins I cannot test it and disabled it by default.
Anyway, the result is a cleaner code design, so no harm done. :)
Hopefully we will have a "real" RDF storage soon. redland is just useless. |
|
|
|
|
|
|
Other |
|
Development Tools |
|
Allen Winter committed a change to /trunk/KDE/kdesdk/ebn/krazy2:
|
|
The next generation. The main goal for the next version is to support different file types like: Qt designer .ui files; po files; fd.o desktop files, etc. |
|
|
|
|
|
|
Educational |
|
Carsten Niehaus committed changes in /trunk/KDE/kdeedu/kalzium/src:
|
|
Removing the Spectrum for KDE 4.0. The code is basically working. But the word "basically" need to be stressed here. I will simply not be ready for 4.0. |
|
|
|
|
|
|
|
|
Inge Wallin committed changes in /trunk/KDE/kdeedu/marble:
|
Thus it begins: The big integration of the SoC projects.
This is the first change in a series of changes that will remove all #ifdef's for the Google Summer of Code projects and properly integrate them into Marble.
* Integrate some API changes from the KML project. |
|
|
|
|
|
|
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
|
Make the "moonless night" color scheme the default for the first-time startup, as suggested by Jasem. Renamed the old "default" scheme to "classic". |
|
|
|
|
|
|
|
|
|
|
|
|
Luciano Montanaro committed changes in /trunk/KDE/kdegames/kgoldrunner:
|
Split theme graphics in a "Set" (as in cinematographic set) and "Actors" parts.
Added a second background to the geek city theme (it's a copy of the first one, painted blue instead of green. Someone more artistically inclined may even move some of the components around...
Tweaked the coin in the default theme and changed the black with a dark blue in the backgrounds, so that enemies will show.
Maybe it would be useful to further split the actors in hero, villain and villain with gold, and use identical names for the frames. In this way, it would be possible to, say, copy the hero to the villain, tweak the template body parts (change colors, add different details...) and have a decent animation that could be further tweaked if needed. |
|
|
|
|
|
|
Nicolas Roffet committed changes in /trunk/KDE/kdegames/bovo/gui:
|
- Replaced some "custom" actions by the KStandardGameAction s of libkdegames for "new game", "quit", "hint" and "undo". - Removed the action "Quit" from the toolbar. (I think we don't need this here, as every one can quit the game with the close button of the main window). |
|
|
|
|
|
|
Graphics |
|
Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/libs/threadimageio:
|
ThumbnailCreator: Ok, the FreeDesktop specs requires that thumbs have an alpha channel - partially revert changes from yesterday: store thumbs on disk as ARGB32 - add a property to remove alpha channel after loading - add a property to only create the large (256x256) thumbnail version. This is a step on the way to make thumbnail size setting more dynamic |
|
|
|
|
|
|
|
|
Pino Toscano committed a change to /trunk/KDE/kdegraphics/okular/ui/minibar.cpp:
|
small tweaks to the prev/next buttons in the minibar: - reduce their width of the 10% - reduce their icon size, so they don't take 40px of height - remove the custom hover code, Qt::WA_Hover does that for us - make use of an already-there function to cut a pair of lines of code (yay for easiness!) |
|
|
|
|
|
|
|
|
Daniel M. Duley committed changes in /trunk/kdesupport:
|
Adding Blitz, my first commit in many years :)
A few notes. I wasn't sure about CMake so mostly snagged stuff from Soprano ;-) If I've made any errors I'm sorry.
Also I did a few changes the past couple days if you've checked out 0.0.3: * CPU identification cleanup. * Ported everything to plain Qt. * Got rid of stdint stuff. * Changed to newfangled headers. |
|
|
|
|
|
|
KDE-Base |
|
Daniel Teske committed changes in /trunk/KDE/kdelibs/kio/bookmarks:
|
Remove the importing of KDE 2.0 bookmarks. Remove the bool tolerate parameter from findByAdress(). It isn't used anywhere, and AFAIK if you actually used the non default value it was broken. |
|
|
|
|
|
|
|
|
Rafael Fernández López committed changes in /trunk/KDE/kdelibs/kate/plugins/wordcompletion:
|
KPluginSelector meets now doc word completion config dialog. There is an important issue here: we should think about how to make changes done on the config dialog happen on the current document, apart from saving it for later (that is done correctly).
I have thought about having static properties and methods on the plugin itself, and accessing/setting them from the config dialog apart from saving the information to the file. That needs the KCModule being linked against the plugin. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Multimedia |
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src:
|
new wallpaper and logo! woo! the first 10 or so pixes of the logo are being truncated but i can't figure out why.
more work on the column layout, still having trouble positioning the columns horizontally. |
|
|
|
|
|
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src:
|
first decent implementation of the context layout manager. have yet to deal with mouse events, so for now the user is free to move around the applet.
if you resize the view, more columns are created/removed as needed, and applets go into the new/old columns. |
|
|
|
|
|
|
Leo Franchi committed changes in /trunk/extragear/multimedia/amarok/src/context:
|
add state-awareness to contextview! this means that when you start a track (from "home"), amarok saves the state to a file, and loads the saved "current" state, etc. much more usable now! :)
also, updated engines to work properly without plasma patch. things should start working better, especially once i get my (so far) last patch into plasma, currently pending on the list. |
|
|
|
|
|
|
Networking Tools |
|
Joris Guisson committed changes in /:
|
|
Move KDE4 port of KTorrent to extragear/network/trunk |
|
|
|
|
|
|
Office |
|
Thomas Zander committed changes in /trunk/koffice:
|
Move the GPL code 'kowmf' to the filters subdir as they are the only users anyway and the libs has the policy it has to be LGPL.
The only regression is that we are not able to load a file with the extention .wmf anymore, which was used in KOffice 1.0.0 days. |
|
|
|
|
|
|
|
|
Utilities |
|
Nicolas Ternisien committed changes in /trunk/playground/sysadmin/ksystemlog:
|
It compiles Master, It compiles with KDE 4 ... but it crashes at startup... CMake transition ok Most old code commented, waiting to be replaced by something newer Most of plugins disabled, to only improve the core code |
|
|
|
|
|