Issue 98
17th February 2008 by Danny AllenThis Week...
KIO-GIObridge is an optional adapter for KIO to use the new GIO/GVFS (the successor of GNOME-VFS) to handle the protocols mentioned above. GIO/GVFS has been chosen, because it's independent from desktop specific libraries, daemons and toolkits and only depends on D-Bus and GLib. Another advantage of GIO/GVFS is its "stateful" mount daemons: All the communication to a certain share is handled by a single mount daemon process. The life-cycle of those mount daemons is user-controllable (mount/unmount), similar to kernel or FUSE mounts.
KIO-GIObridge is implemented as "multi-protocol" IO-slave which delegates calls to GIO/GVFS and provides it's own implementation of remote:// to list GVFS mounts and let users "unmount" them. To use KIO-GIObridge it's necessary to patch kdelibs to support "multi-protocol" IO-slaves. Additionally, it's required to compile Qt4 with GLib-Main-Loop support (which is default on many distributions already).
There is also some experimental code in the KIO-GIObridge package, which extends Solid to handle GVFS mounts. With this extension, network mounts will pop up in the "places pane" just like other drives. Whether this is desirable is still being discussed.
KIO-GIObridge is almost finished and usable, but the translation of error-codes, dir-entries and the implementation of certain KIO file operations might still need some fine-tuning.
Along with KIO-GIObridge it would be advantageous to implement the "Desktop Bookmarks Storage Specification", to fix another file-management interoperability bug.
The plan is to have KIO-GIObridge finished as an optional extension for KDE 4.1. GIO/GVFS should be pretty mature by then, as it will be shipped with the next GNOME release.
Currently we are not planning to do any further development on the KDE3 Kommander, but we do have a nice plugin system in place, so if I start to go nuts and want something to do I could add a stackwidget or something. I'm playing with a few plugin ideas that would be useful to me and anything good will be released on the web site. We've had discussions with other KDE developers about bringing the Kommander executor into the main KDE packages, like kdebase, so that it can reliably be there for end users and for developers wanting to use it to extend applications. One key stumbling block has been the issue of security, which we addressed with the 3.5.9 release and using an executable bit. In the future I'm looking at using digital signatures and MD5 sums with an online database where people creating and sharing applications can enable validation automatically and any discovered exploits could revoke an application's certificate. This would get around nag screens if the embedded key signature looked up a valid MD5 for the window in the database. Otherwise it would be up to the user to set the executable bit.
The current development for Kommander is in maintenance mode and bug fixing for now, but the current offering is quite competent. Andras is planning within a month or so to build a KDE4 executor. There are advances in Qt4/KDE4 that would offer differences in widgets and functionality, but for now it is possible to alter the executor to use DBUS instead of DCOP and simply port. This would mean you could run any (or almost any) Kommander program now in KDE4 natively. It would mean that you could develop new Kommander programs in the current editor for KDE4. It would even be possible to create plugins for specific KDE4 functionality.
Early availability of a more capable Kommander in KDE4 and the possibility of the executor being included with KDE base packages offers a promising future for Kommander. It may be possible to attract more developers. Kommander offers distinct advantages for prototyping and extending applications with visual scripting, as well as small to medium applications and command-line front ends. KDE4 development of Kommander will focus also on language neutrality. Currently any DCOP/DBUS enabled language has full access to internal commands, signals and slots and everything.
I have been having discussions with Sebastian Sauer, the author of Kross, about how to go about multi-language implementation. His suggestion was to create a Qt plugin. Regardless, this will not be difficult. Currently Kommander maps all it's functions in a registration process so that they are available in the Function Browser. Our idea for KDE4 is to make internal functionality directly accessible to any scripting language, which DBUS bindings already does nicely and this is widely available. Our further idea is to get users of other scripting languages involved in creating registration files that make their language functions appear in the Function Browser. Some of this may be possible automatically, but I'd like to see the ability to enable the Function Browser to be usable for PHP or Python or whatever, providing assistance for build in functions!
The thinking here is potentially revolutionary. Applications are visually drawn. Much of the functionality is calling compiled functions, so you have speed advantages similar to a compiled application and interface design even easier than most scripting GUIs. By incorporating multiple language support, the core tools can benefit from and provide benefits for various languages. The final element of the puzzle is that once the core design tool is built the extentions and supplemental tools can be built with Kommander. A new widget or project tool would support all users and projects could be built by teams of people using different languages for their parts.
The one final issue for KDE4 is at least a few months out, and that is how to build the new editor. It looks like the new Qt4 Designer may support what we need for visual design, just as it appears we may also be able to use the KDevelop platform too. We're using it for Quanta because it is so flexible and brings so many tools to the table.
It will probably be third or fourth quarter of 2008 before we can introduce a new KDE4 editor with new functionality, unless we have new developers involved, volunteer or sponsored. The objective will be to offer a tool that is accessible for novice developers to create small programs, and useful for more experienced developers for small to medium size projects. It will encompass any and all aspects of KDE development and offer most of the functionality. The small trade off will be offset in ease and speed of development and the fact that you can create custom plugins for whatever you need.
My hope for Kommander is to produce a tool that develops the critical mass that no scripting GUI tool has ever had because it has "no religion" when it comes to the dogma of languages. All are welcome. Also, Kommander does not care how visual elements are created and is natively "typeless", reducing the workload for the developer and reducing potential errors when creating programs. Modern computers are faster and more powerful, so a small trade off for ease of use is an idea whose time has come. Anyone wishing to get involved in development or sponsor this project is welcome to contact me.
Statistics
Commits | 2830 by 245 developers, 6750 lines modified, 1558 new files |
Open Bugs | 15948 |
Open Wishes | 13642 |
Bugs Opened | 310 in the last 7 days |
Bugs Closed | 303 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
342
|
/trunk/l10n-kde4 |
262
|
/branches/stable |
145
|
/trunk/extragear |
114
|
/branches/KDE |
97
|
/trunk/playground |
82
|
/trunk/kdesupport |
57
|
/branches/work |
36
|
/trunk/www |
34
|
/trunk/koffice |
34
|
Lines | Developer | Commits |
49
|
Khoem Sokhem |
49
|
103
|
Gilles Caulier |
41
|
83
|
Laurent Montel |
38
|
98
|
Aaron J. Seigo |
37
|
36
|
Andras Mantia |
30
|
29
|
Chusslove Illich |
29
|
60
|
Allen Winter |
27
|
73
|
Pino Toscano |
26
|
25
|
Eric Laffoon |
24
|
69
|
Volker Krause |
23
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
98%
|
Greek (el) |
95%
|
Swedish (sv) |
95%
|
Japanese (ja) |
92%
|
German (de) |
86%
|
Estonian (et) |
86%
|
Spanish (es) |
85%
|
Polish (pl) |
85%
|
Dutch (nl) |
85%
|
French (fr) |
85%
|
Bug Killers and Buzz
Person | Bugs Closed |
Matt Rogers |
49
|
Aaron J. Seigo |
40
|
George Goldberg |
32
|
Thomas McGuire |
30
|
Pino Toscano |
25
|
Peter Penz |
12
|
Joris Guisson |
12
|
Andras Mantia |
11
|
Aleix Pol Gonzalez |
7
|
Albert Astals Cid |
7
|
Program | Buzz |
Amarok |
12280
|
KMail |
4840
|
K3B |
4275
|
Kopete |
3403
|
KDevelop |
2900
|
Kate |
2599
|
Solid |
2475
|
Plasma |
1988
|
Kontact |
1673
|
Kaffeine |
1541
|
Person | Buzz |
Tobias Hunger |
5020
|
Aaron J. Seigo |
3108
|
David Faure |
2610
|
Stephan Kulow |
1934
|
Allen Winter |
1521
|
Torsten Rahn |
1405
|
Adriaan de Groot |
1293
|
Laurent Montel |
1084
|
Jonathan Riddell |
1081
|
Sebastian Kügler |
894
|
Commit Countries
Commit Demographics
Sex
Age
Contents
Bug Fixes | Features | Optimization | Security | Other | |
---|---|---|---|---|---|
Accessibility | [] | ||||
Development Tools | [] | [] | [] | ||
Educational | [] | [] | [] | [] | |
Graphics | [] | [] | |||
KDE Base | [] | [] | [] | [] | |
KDE-PIM | [] | [] | |||
Office | [] | [] | [] | ||
Konqueror | |||||
Multimedia | [] | [] | [] | ||
Networking Tools | [] | [] | [] | [] | |
User Interface | [] | [] | |||
Utilities | [] | ||||
Games | [] | [] | |||
Other | [] |
There are 144 selections this week
Bug Fixes
Development Tools
Fixed usability issues. Not only was valuable space being wasted, it was too easy to forget to press connect because it was out of the visual and moust path. Corrected, and current button placement still suggests usage.
Fix a kate crash when closing it and having loaded the kate's symbols viewer plugin.
The problem was that there was a nasty casting from KatePluginSymbolViewerView to Kate::PluginView, but KatePluginSymbolViewerView didn't inherit Kate::PluginView; so that when Kate::PluginView::writeSessionConfig() was called, the method was not found and kate crashed.
I tried first to just make KatePluginSymbolViewerView inherit from Kate::PluginView, but that doesn't work because that would be inheriting from two QObject subclasses (it inherits from KXMLGUIClient already) and that's not allowed by Qt.
So the solution was just creating a KatePluginSymbolViewerView2 and having KatePluginSymbolViewerView as a delegate. Can I backport this fix to KDE 4.0?
I've noticed that in KDE4, the "Find in Files" kate plugin doesn't have directory completion anymore for the "Folder:" combo box.
In the code I see cmbDir->completionObject()->setMode(KUrlCompletion::DirCompletion);. So in theory, it does have directory completion. I looked at the code in the Filesystem Browser to see how does it get completion working, and it seems that they manually create the completion object. I've done that, and it works.
Looking at the code of KCompletion* KCompletionBase::completionObject(), it's quite clear to me that what was happening is that completionObject() created a KCompletion object intead of a KUrlCompletion object.
Educational
Fix issue with integer overflow and some cleaning.
We have found a number of places where integer overflow occured due to squaring of the radius. The radius can potentially be very big (it measures the current radius of the earth in pixels, which can get big in high zoom levels) and squaring it can cause overflow.
This patch fixes all instances that I could find by using either 64 bit integers or doubles.
KDE Base
Currently when the general font of KDE has been changed, the used fonts for the view in Dolphin have not been changed.
This has been fixed by differing between a "Use system font" setting (= default) or a "Use custom font" setting.
TODO: if the general font of KDE is changed during Dolphin is open, no update is done yet
Fix applet from crashing. This is the beginning of where Qt 4.4 layouts will be used
Office
o don't delete the used style manager as it can be a shared style manager created and owned by the application
o don't create a style manager for the text shape if there is none.
This fixes crashes due to deleting the style manager of the application.
This also means that if an application wants to use a style manager it has to provide one. Otherwise no style manager is used. I think there is still some code that needs to be updated so that it can work that way also e.g KoTextShapeData::saveOdf.
I found another little crash problem, and I just fixed it.
Hope this little fixes without asking are not a problem :-)
I'm trying to use kile to write my PhD thesis.
This is why I'm fixing some crashes.
Networking Tools
Add missing null character, this fixes photo downloading from offcial MSN client.
User Interface
Features
Accessibility
Color blindness simulation for kmag... not so useful for people with color blindness, but good for designing accessible interfaces (also makes a fun toy in its own right).
Several algorithms are implemented (the preprocessor selects one at compile time), so some of the evolution is visible. I'd like to get the "non-simple" algorithm working, but the paper is missing most of the crucial variables. For now the "simple" algorithm with coefficients derived from Visolve is used.
TODO: make gamma configurable, re-add 'invert colors', add modes to actually help people with color blindness in addition to the simulation modes... UI probably needs more work to make this practical, the simple menu-with-list-of-exclusive-options doesn't really cut it.
Development Tools
PUI file defining Lancelot's layout (beginnings of switching to PUI)
Upload Plugin for KDevPlatform.
It's a complete rewrite - and for now has less features compared with Quanta3.
- define upload-profiles in project-settings
- upload files to a upload-profile from the project-manager
- browse upload-profile in a new dock
- stores time of last upload in project-developer-settings (and uploads only changed files)
Educational
First steps to make use of the spectrumparser
Graphics
Kooka:
Improve "Save Assistant" dialogue and file format help
Option to show only recommended image formats (default true)
If SANE error when starting scanning, report it
img_saver.{cpp,h} -> imgsaver.* to correspond with class name
formatdialog.{cpp,h} split out from there into its own file
libkscan:
Increment library version, no chance of it being BC
Added "reset" buttons to scan parameter sliders
Properly implement the virtual scanner support (with device "pnm") and SANE testing options
Better layout in scan parameters widget
Combo box for list of resolutions, much easier to use than a slider (hoping that nobody will ever want to scan at 437dpi :-)
Added "Bit Depth" option, if the scanner supports it (don't select 16-bit, it doesn't work yet!)
Better messages to distinguish the two cases "Gallery mode" and "Scanner problem"
kscanslider.{h,cpp} -> kscancontrols.* to better reflect contents
New controls for Resolution (combo box) and File (KURLRequester)
New 'sanedump' utility to display all SANE scanner parameters. Hopefully useful for bug reporting.
kipi-plugins from trunk (KDE4) :
- Handle non jpeg files to save GPS position. If you use digiKam for KDE4, GPS position is now saved in database for all files, including read-only file formats.
This is want mean than you can geo-tagging your RAW files for example !
- Do not refresh thumbs from digiKam Album GUI interface when something is change in metadata. KDE4 version is more robust and detect automaticly wicth view must be updated in this case...
Kooka: Some polishing on OCR and preferences
Simplify "Preferences - OCR" dialogue, show information about selected engine
Fix the "OCR engine has changed..." message always shown even when it hasn't
Use KStandardDirs::findExe() to search for OCR command
class KookaPreferences -> KookaPrefs
class KSANEOCR -> KSaneOcr
Don't change anything if "Select Scan Device" dialogue cancelled
Change "About Kooka" message to include the other supported OCR engines
Add support for encrypted ODF documents.
This is a bit experimental, but it does (mostly :-)) work for me.
Note that the KWallet integration should be interoperable with KWord, so if you enter the password in one application, you shouldn't be prompted for the password in the other (as long as the document path is the same - it won't work if you move the document).
Added a filter bar similar to Dolphin. Patch by Ilya Konkov.
KDE Base
Added configuration support (the user can change the hemisphere).
* allow restoring from applet itself (something i've wanted to to do for a while, have it all in corona isn't a good idea)
* restore lock status
* save/restore zorder
* allow "raising" and applet (increase zorder above all others)
* some layout fixes for next monday's big layout fix patch
To change Lock/Logout applet layout direction depending on form factor and size.
Experiment: eject (with solid) cds and unmount drives when they are dropped on the trashcan
Provide the dolphinpart view modes (Icons, Details, Columns) in konqueror's View Modes menu.
(this is done using a Q_PROPERTY in the dolphin part and a signal; the available view modes for creating the menu in the first place are listed in dolphinpart.desktop)
Konqueror: cleaned up the old (complex) handling of view modes as N toolbar buttons from M services grouped by library.
Dolphin: moved view mode handling to DolphinViewActionHandler, removes duplication between part and mainwindow.
Allow to unmount multiple devices at once
enable dragging from desktop to panel
note: there's no visual feedback before you release the mouse button, and there's no way to drag back to the desktop.
Conflicts:
workspace/libs/plasma/containment.cpp
Commit George Goldberg's second KWallet integration patch.
* enable proper dropping on desktop files that contain paths to directories (also works for, e.g. trash:/)
* plug several memory leaks
ruphy: this is a good candidate for backporting. no strings, numerous bug fixes.
- Rework conversion descriptors again. New version gives me nice inline conversions, which are used both for immediate conversion adjustment and for tiles. Autogenerated conversion code for inline arguments.
- Rework the cost model to make sense. Inline conversions inside tiles have cost, at codegen are free, and register/outline conversions have a different cost. Also, give impls a base cost --- since different impls of the same operation may cost differently; a cost of a tile is hence the base cost of the impl plus the cost of any conversions inlined into tile. This is stashed inside the opcode descriptor, of course.
- Start sketching out the actual code generator, and stop, realizing I still need register management infrastructure. Not sure what the mostrobust way of doing it yet.
KDE-PIM
Office
Multimedia
A quick little hack to scratch my own itch. Add a line edit and a button at the bottom of the last.fm service to quiclky launch custom 'similar artist' streams by just yping in an artist name and clicking 'go'. I am pretty sure that we will come up with something much more clever than this before release
allow DND from the file browser (or an external application) to the playlist.
that was probably the easiest feature i've ever added :)
Change Volume (up/down) shortcuts implemented
show a progress bar when scanning the collection.
it's not very accurate, but at least it shows that a scan is in progress
Networking Tools
Allow for quoting of messages through history plugin
This exposed a bug in ChatTextEditPart, which is also fixed in this commit
User Interface
Utilities
Added: first approach to a piecetable structure, pretty Leichtwasser-matrosig (works, but has some flaws).
What is a "Piece table":
stores both original data and a buffer with all new input, current data is defined by a list of pieces pointing to offsets in one of the buffers and some length. Changes are done by appending to the input buffer if any and manipulating the list of pieces.
In use by Abiword, Qt 4 QTextDocument and others.
And it is an Alpha version of the code, to get things at least working, don't judge too quickly, please. Help is welcome :)
It was tried to have it to be ignorant of the supported data structure, only dependencies so far are primitive utility classes KSection and Co, no used knowledge of KAbstractByteArrayModel or else, cmp. namespace KHE vs. namespace KHECore.
So other interested parties might try to make use of this code, too. They are welcomed.
But the undo/redo stuff, aka revertable changes, seems to force one to finally use structures from the basic data model, e.g. otherwise a list of piecetable changes would have to been transformed into a list of bytearray changes.
And no, currently I do not want to rely the KAbstractByteArrayModel on the piecetable library, neither. Perhaps a common usage can be done by turning the piecetable lib into template code...
Games
Optimization
Educational
Kalzium is now using KPixmapCache for the SVG-icons.
This makes Kalzium start up in half the time or better with a warm cache. David claims he measured a 5.5s to 1.5s improvement. Not bad :-)
Patch provided by David Benjamin.
KDE Base
Much faster implementation of ChildCountRole. Peter tested it and said:
"Previously it took around 2 seconds until my test folders appeared, now the folder is shown immediately (at least I can see no performance difference in comparison with a folder having no sub directories)."
Multimedia
Make the Magnatune service download a .bz2 file ( that I just generated on the Magnatune site ) instead of the plain .xml file when updating the database. This reduces the size of the download by a factor of more than 20 ( from ~10Mb to ~410Kb )
Networking Tools
Disable the notifications by transfers that have changed to their group, until we'll really use this information. This saves some CPU when running downloads.
* Another optimization. Store the gradient background pixmap in a static variable so that we don't have to recalculate the gradient every paint event. This makes repaint events weight more than 1/10 less than before
* Make sure the pixmap gets updated when the palette change.
Other
Development Tools
Do not show things in the UI just because you can, aka don't map you code 1-1 to the UI: simplify the interface by removing the recursive check box, I guess a ping command would be simpler for non recursive...
a place to experiment with kommander kde4
The new icon_utils acts as a gateway for all the icons in umbrello. The icons are identified with an enum and are all created with KIcon and KIconLoader. Duplicated code and different icon creation should now be removed. Some icons have to be renamed due to KIconLoader search strategy.
change the interface to get a project item for a url. This implementation is a lot slower than the old one, however the old one was incorrect in two ways:
- it assumed there's only 1 project item for a given url, thats wrong as a file might be part of multiple targets
- it assumed that the project item for a given url is inside the subtree that has the same path, which might not be the case
In the cause of this, the function now returns a list of items, that is all these items have the same url, but different parents. The language support parts probably want to do something more sensible than just taking the first one.
Educational
Graphics
User interface cleanup for the image gallery:
Correctly handle action text/enable for gallery folders versus files
New preferences option to enable/disable click-to-rename in gallery
New action and menu option "Rename" for when that is disabled
Show what is being deleted in the confirmation dialogue
Mimick Dolphin filter behavior:
- Set focus on line edit when shown- Disable filter when hidden
KDE Base
Branch for my take on bytecode in KJS. First will have to merge up with JSC a bit to prevent divergence from getting critical; some changes also help things (while some are done much better w/bytecode, anyway)
Merge ExecState and Context. This follows similar JSC changes, but is done differently / by hand, since I don't like the multiple protected ExecState ctors corresponding to subclasses, and since I want to untangle Apple's version of my locals work (and their latter improvements on it) before dealing with some of the MM and ownership changes.
This commit also includes r26914, r27001 which streamline exception handling.
This got tangled up due to a mistake of mine, and it's too much effort to split them.
- Merge in data structures for Apple's version of my local variable code.
It seems to be about 2.5% or so slower, but I want to reduce divergence, and some of the refactorings are needed; plus it's probably fixable with some profiling
- Merge DeclaredFunctionImp and FunctionImp
be more smart with creating widgets for the tweets. Now the number of widgets is adopted when the configuration was changed, instead of always just deleting and creating all of them.
Moving to kdereview
copied here from playground for review and eventual move to kdepim or kdenetwork.
Minor stuff, from looking @ JSC changelog:
- Pickup a decent optimization for String indexing (JSC r27218) --
provide an integer path as well...
- Pull in a new Vector version, so I can use uncheckedAppend, not that it makes any difference, but heck, a smaller diff is a smaller diff.
Some baby steps, based on my idea of how instruction selection/encoding/marshalling, etc., should work. Lots of overdesigned code to write before this is anything but a bunch of comments, and I have to touch the existing core before implementing things, too.
If I was smart, I'd probably formulate this as standard DAG (or tree, really) tiling, anyway,but I am too self-confident for that :p
A bit more overdesigned, and likely bloated stream of conscience programming. This has bits of instruction selection, etc., which I thinkI'll throw out anyway for something more efficient and autogen'd
* Lancelot's taking it's shape again... now XML based* Few PUIC improvements
Smaller minimum size for digital clock so it fits in vertical panels too.
"Part" is a technical term; name it "Dolphin View" for konqueror's view mode menu, more consistent with "File Size View" and "File Replace View"
Close the work/decibel branch. It was moved into playground a while back:-)
Initial commit of KDynamicSettings in playground. The plan is to develop here and let it be reviewed also. When have written a test we could be in position of moving it to kdelibs if everything is OK and nobody objects
don't show the rubber band: it doesn't do anything these days. if/when we get multiple selection, turn it back on.
moved luna to kdereview.
If the URL navigator is in the editable mode, let CTRL+Return apply the new URL and switch back to the breadcrumb view. This is related to #157593 and feels quite comfortable from my point of view.
set the threadpool according to the number of processors on the system.
i wonder how well this works in a shared (e.g. thin client) env. perhaps we should have an actual setting somewhere (env var? config file value? what?) that, just as with the global animations control, sets that we are in a thin client env
Add a nice webkit widget to display the definition!
let the world know our matches have changed when they, well, change. always.
(neat when optimizations reveal previously when we were always setting the match lists even when we got empty lists, this was masking the fact that we were never updating the matches when the search context was reset ... so there was always a period of time when there were stale matches pointing off into outerspace in the UI. and of course, if no engines returned anything .. booM! but once we were not responding to empty match lists this problem became very visible.)
Switch to using QWebView. Work in progress
Introduce QGraphicsItem::CacheMode in place of Widget::CachePaintMode.
This move was planned from the beginning; Widget::CachePaintMode was a backport of the same feature in Qt 4.4. OK'ed by aseigo after post on panel-devel. I've left CachePaintMode in there (it simply redirects to CacheMode); I don't know if it's OK to remove these APIs or not (and it's not monday anyway).
* set the relevance of the exact match to 1
* match the Name case insensitively so that we filter out Okular when "okular" is entered
* avoid duplicating storageIds or exec's we've alread listed
* clean up the includes
end result: "oku" now returns exactly two matches on my system: okular and ksodoku. perfect! (previously i was getting half a dozen or so okular entries)
* better sort ordering
* a few minor fixes in the UI logic
but this is just a band-aid, though useful to test how simple i can make the ranking system and have it still be useful. the next step is to have SearchContext export a QAbstractItemModel containing the matches.
Reenable weather applet, we're Qt 4.4 in trunk now. Fix default start size to something reasonable for now.
import a new source for raptor
Branch KDEPrint to experiment with a refactor and port to Qt4.4 for KDE 4.1.
Aims:
1) Re-arrange into sub-folders based on functionality
2) Clearer split between base libraries required solely for printing (kdelibs) and those for management (kdebase)
3) Rename some classes to better reflect what they do
4) Namespace
5) KPrinter to inherit QPrinter
6) Use new QPrinter features where they can replace old KDEPrint code
7) Use Cups 1.2 features where they can replace old KDEPrint code (e.g. n-up)
7) Experiment with adding old KDE3 KPrintDialog features to QPrintDialog versus resurrecting KPrintDialog
This branch is likely to be very broken at any point in time.
let F6 also select the whole text of the URL navigator to stay consistent with Konqueror and Firefox
Bring CIA.vc applet back to life again. Make it use Qt 4.4 layouts, QWebkit goodies. Convert config dialog to a Ui::Dialog
KDE-PIM
Beat Mailody in shape a bit more.
It's almost in a state I could actually start using it.
Remove functions that are no longer needed. Mostly related to the check mail timer, which is handled by akonadi.
Also remove the handling of offline/online, as that's no longer Mailody's bussiness either. At start and after the setup, we trigger a sync of the mailboxes, so the accounts show up in Mailody. No need anymore for akonadiconsole and friends to trigger the stuff.
Also implemented the basic statusbar, showing the status updates as received by Akonadi.
/me is happy.
Office
Tag KOffice 1.9.95.3
sync with official libwpg's wpg2odg (to get, among others, embedded pixmaps conversion)
Finally!! I can say that it works, see told you passing a pointer by reference is what i needed!!! <mad_scientist>everybody thought i was crazy, that i didn't know what I was doing *goes into fetal position* </mad_scientist>.
Anyone interested please check:
<a href="http://www.codeguru.com/cpp/cpp/cpp_mfc/pointers/article.php/c4089/">http://www.codeguru.com/cpp/cpp/cpp_mfc/pointers/article.php/c4089/</a>
Refactor (again).
Let me explain how conversions to/from KS works.
It's all still a work in progress, we have not only one way of transforming to and from rgb, so I need to be flexible in this regard.
For this reason, the current code works this way:
- KisKSColorSpace has two template parameters:
+ int N, represents the number of wavelengths used
+ TYPE, the channel type
- Subclasses of KisKSColorSpace specify the type and the factory, that has to contain the conversion transformations to/from rgb and the conversions between various types of channels for KS.
- rgbToKS and KSToRgb color conversion transformations use the code in KisIlluminantProfile to do the convertion, integrating the mechanism in the great Pigment CMS (thank you Cyrille!).
- KisIlluminantProfile defines the functions needed to convert to/from KS: fromRgb() and toRgb(). These are just wrapper functions around rgbToReflectance and reflectanceToKS ( used in fromRgb ), and KSToReflectance and reflectanceToRgb (in toRgb ). Subclasses of
KisIlluminantProfile can redefine these functions so that the conversion is perfectly costumizable.
- Some works has still to be completed:
+ conversion cache
+ LC profile (faster than QP)
+ KSToKS color conversion transformation (to convert between half and float)
Multimedia
This is my declaration of war on the complete chaos that is our current statusbar code and layout in Amarok 2. We have several different statusbars added to different parts of the app.
This first commit establishes a single statusbar area below the browsers and views. This makes the status bars independent on the relative size of each view, and avaods statusbars being cvompletely hidden if any of the views are minimized
Networking Tools
Moving kopete-bonjour to extragear
Added 3.0 branch of ktorrent
Make Auto-connect config easier and more intuitive:
Checkboxes for each account are checked to enable auto-connecting "Exclude from auto-connect" options still exist on editAccountWidget's
Main motivation for this was my frustration of having to go through each account to see which ones were enabled for auto-connect, and I heard a user complain about it also.
There may be a bug report about this, but I cannot find it.