|
| This Week... |
|
KViewShell is renamed Ligature. Okular gets support for Text and Line annotations. KSame and Konquest start their conversion to SVG graphics. Marble gets enhanced support for presenting and displaying geographical data interactively, and showing national flags. Mailody, the alternative email client, continues to develop at a rapid pace. Telepathy support in Kopete starts to emerge from experiment towards a usable implementation. Kile gets scripting support, with improvements to scripting across KOffice. KPresenter receives export to text document (OpenDocument) functionality. Improvements in the Magnatune music store facility in Amarok.
|
This weekend saw the hosting of a KOffice Interaction Meeting at Boudewijn Rempt's place in the Netherlands. Four local KDE developers were in attendance: Boudewijn Rempt, Thorsten Zachmann, Thomas Zander and Sander Koning, with Jan Hambrecht infiltrating from Berlin to make five. Boudewijn introduces the activities:
|
|
we're going to do some interaction design, decide on a common UI vision (hopefully) and do a lot of high-bandwidth code design. I want to get as much of this done, and not so much actual coding.
|
|
Sander Koning took copious technical notes on the meeting outcomes:
|
The main concept in Flake is shapes. A shape is connected to tools that know about the shape. For specialisations - e.g. a path tool that has different implementations (to edit nodes without having to know it's a star being edited) - there is a method that can be called to determine the parameters.
The Tool Manager in the GUI can create toolbox dockers, which contains all tools available for the specific shape and lets you select amongst them.
There is one Tool Manager per application, which means that there is one tool active in an application at any one time. Since some applications could benefit from a different approach, Thomas will look at this and see if it can modified.
Shapes create themselves according to their own specification. Thomas suggests a model/view separation to make it possible that two different shapes can point at the same data structure.
During the last meeting, templates were discussed. The shape factory can be extended to create any tool possible. Stencils in Kivio can be done with templates (name, value pairs). The factory needs to know about that, and the path shape factory needs to recognise the vector shape.
Loading and saving: using which file format should shapes load and save to? We use OpenDocument as native format, and so will use file filters for the rest.
For example, loading an old Kivio file: should we use the path/shape to load/save to old file formats? or should we convert using file filters? With the latter method, it is impossible to save without loss.
The Flake Plugin Loader should load both the shape and tool registries. Colourspaces are already loaded in this fashion.
The KoShapeSelector is a Flake canvas (which then can have children), containing sets of templates and where one can add custom templates that can create custom shapes.
Properties (in the templates) are just name-value pairs, reading/loading from XML - creating a new shape is done by filling in those pairs. It should be possible to create a new folder to function as a pastebin, so that the user can paste elements of documents into it, and then reuse them as new shapes. In the user interface, we want to have a unification of clipart, shape stencils and the clipboard.
It should be possible to have duplicating and linking of objects (e.g. KWord headers, which are 2 frames looking at the same document data offset, or Karbon linked objects, or Krita linked layers).
Which strategy to use for placing stuff on the canvas? We have drag-and-drop, dragging a stamp, multiple clicks, and freehand movement. In the latter case, the mouse path is important, so these cannot be created from the shape selector. Paths, freehand movement, and lines will be put in the toolbar, rectangles, stars and other shapes in the shape selector.
It has been decided to give the KoCanvasResourceProvider extra methods for colours, line styles, etc. instead of having to keep to generic methods.
About shape managers: one per page or one per document? A shape manager is per view. For at least KPresenter, we want a "selectable" flag so that e.g. master slide objects are unable to be selected from the normal page view. Shapes can link back to their parent "page" (as in Karbon), so that removing a shape and then undo'ing the removal will put the shape back at its original location. We can't put this in the userdata field, since this field is shape specific and some shapes already use it. We could have a page/group layer be a KoShapeContainer as well. Krita needs image data access, the text tool needs document information access.
Page numbering is perceived differently in different applications: KWord and KPresenter have separate pages while Karbon has 1 infinite page. If an application is requested to remove a shape from the document data, the shape itself does not get deleted. Creating a container KOShape is neater though, since it's a shape in itself as well.
Why are Karbon layers not in the shape manager? Because we wanted them to be selectable. This is solved by the selectable flag. A KOffice-wide library for layer manipulation (a common layer) box will be evaluated, and such a mechanism will go in the GUI, and not in Flake itself. ODF requires layers with global properties - we support shape containers.
How to attach animation to a shape? We cannot use userdata (see above). Since KPresenter is the only application needing this right now, it will use a decorator pattern and if needed, we will extend this later.
Copy-and-pasting is an implementation detail of drag-and-drop: create an invisible drop tool that figures out where to drop. Dropping onto an empty page should pass the dropped object to the application, pasting a URL into a textbox could perhaps resolve the URL and paste its referred contents. This would be done by the tool itself.
Text within shapes should be plastic within the containing shape boundary. Thomas expects this not to be too much work since wrap-around is likely to already work.
Bounding rectangles and shadows: should the bounding rectangle of an object include its shadow or not? We know that aligning should not take it into account. Repainting could be an issue, but we could fix KoShape to draw the shadow and be aware of it. Having the bounding rectangle to include the shadow and rotation, but then checking if the object is really at the specified location, looks to be a good solution.
Autoselection of tools - which tool, if any, should be selected by default when selecting a shape? This is something to experiment with. Users and usability people should definitely be consulted here as well.
Certain settings, for example default font sizes, the preferred colour chooser, the colour for outlines and grid behaviour, should be KOffice-wide. Hence a mechanism to share configuration files and settings is needed, next to a single panel where users can set those options.
Tools are categorised in four groups:- the pointer
- line, text and other tools
- basic application-specific tools
- and advanced application-specific tools
The last category could be hidden from view when editing within another application to prevent the toolbox from overflowing.
|
|
This week also saw an impressive continuation of work in the kdepim-3.5.5+ branch, with a large push towards closing the oldest bug I have ever encountered:It is over 7 years old! - Of course, although referenced as a bug, it should be noted that it is a wishlist item, and as such it is not directly having a negative impact or causing harm for users. But it is still greatly satisfying when such ancient gremlins are finally slain.
Many other important bugs have also been rapidly crushed over the past few weeks: work such as this is going on throughout KDE, and will ensure that the KDE 3.5 series continues to impress us with its vitality long into the dawn of the KDE 4 era.
|
|
| Statistics |
|
| Contents |
|
|
Bug Fixes |
Features |
Optimise |
Security |
Other |
|
Accessibility |
|
|
|
|
|
|
Development Tools |
|
|
|
|
|
|
Educational |
|
|
|
|
|
|
Graphics |
|
|
|
|
|
|
KDE-Base |
|
|
|
|
|
|
KDE-PIM |
|
|
|
|
|
|
Office |
|
|
|
|
|
|
Konqueror |
|
|
|
|
|
|
Multimedia |
|
|
|
|
|
|
Networking Tools |
|
|
|
|
|
|
User Interface |
|
|
|
|
|
|
Utilities |
|
|
|
|
|
|
Games |
|
|
|
|
|
|
Other |
|
|
|
|
|
|
|
Bug Fixes |
|
|
|
Games |
|
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/katomic/levels:
|
Fixed missing level_83: Now level_84 becomes level_83.
As about other thing stated in #123733: Yes, levels 47 and 81 have a similar molecule name, but that's not a bug, because it IS a same molecule, but it layed out differently in each of these levels which produces completely different gaming experience for each of them ;).
Slider 'jumping' is fixed too. |
|
|
|
|
|
|
Graphics |
|
Wilfried Huss committed changes in /branches/work/kviewshell-0.7/kviewshell/shell:
|
Fix regressions caused by my last commit.
Add a widget cache that holds MarkListWidgets that are currently not in use, to minimize Widget creation and destruction. This gives a significant performance boost during scrolling.
Also enable prerendering of thumbnail widgets. In most cases the widgets should now be already calculated when the widget comes into view.
Some cleanups. |
|
|
|
|
|
|
Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:
|
a few minor changes with the following effects: 1) Choosing pixel by pixel by default now works. 2) drawing on images now works 3) rotating images do no longer make them show up full screen. |
|
|
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /branches/KDE/3.5/kdebase/kicker:
|
we actually just want to untip the clock, so make untipFor public. this prevents tips for the clock showing when the calendar is up, which is the intended behaviour, otherwise they show up over the calendar.
there is the use case where one might open the calendar, move it somewhere out of the way and then want to see the clock tip, but that's probably rather more rare than the "tip just popped up over my calendar!" problem (which was actually reported to me way back when).
the -best- fix would be to not show the tip if it would cover the calendar but ... yeah ... that's a lot of screwing around in the stable branch for a corner case. |
|
|
|
|
|
|
KDE-PIM |
|
Tom Albers committed changes in /trunk/playground/pim/mailody/src:
|
|
Properly detect if SSL/TLS is possible and warn about it. Disable the settings if needed. CLosing the bugs which I think are related to this. |
|
|
|
|
|
|
|
|
Allen Winter committed changes in /branches/work/kdepim-3.5.5+/kmail:
|
Patch from Thomas McGuire that fixes the + Wrong checkbox in the layout when adding attachments to the composer + attachment display in editor: "sort by size" sorts alphanumerically, not by size
Thanks for the patch Thomas and sorry it took so long. Will merge into the 3.5 branch shortly. |
|
|
|
|
|
|
|
|
|
|
|
|
Networking Tools |
|
Will Stephenson committed changes in /branches/KDE/3.5/kdenetwork/kopete/plugins/autoreplace:
|
Make sentence options (Capitalize and full stop.) work, and handle inbound messages as advertised.
NB Hariz Kouzinopoulos: I did not use your patch, because while it is technically correct, the job of saving the widgets' values is performed automatically by KCAutoConfigModule, if it knows about the widgets. A previous author neglected to change the widgets passed to KCAutoConfigModule when adding the sentence options, so that is why these were not read/written. Thank you for submitting a patch though, it was the impetus to solve the bug properly. |
|
|
|
|
|
|
|
|
|
|
Features |
|
|
|
Megan Webb committed changes in /branches/kdevelop/3.4/vcs/subversion:
|
Added svn diff context menu.
Three levels to the diff: If you have kompare and patch installed, you can diff and merge. If you only have kompare, you get kompare for the diff, but no merge. No kompare, you just get the diff listing. |
|
|
|
|
|
|
Jens Dagerbo committed changes in /branches/kdevelop/3.4/src:
|
Improve Simple ideal keyboard navigation. This adds a "Switch to next TabWidget" action to allow for jumping between split views using only the keyboard.
Also adds the missing "Save" and "Reload" actions on the document tab context menu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stephan Kulow committed changes in /trunk/KDE/kdegames/kpat:
|
|
freecell specific solver was yesterday, kde4 will have a solver for the most popular games. So far klondike, freecell and spider |
|
|
|
|
|
|
|
|
|
|
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/katomic:
|
Added UndoAll, RedoAll actions. This interface may change. Please test and don't hesitate to send me your comments/suggestions.
Parker Coates proposed to also include player like "play" and "pause" actions to start/stop constantly redoing moves in redo list - one after another. What do you think about this? How often would you use such functionality rather than manually pressing "redo"?
P.S. To much buzz for nothing? ;-) |
|
|
|
|
|
|
|
|
Pierre Ducroquet committed changes in /trunk/KDE/kdegames/konquest:
|
The "controversial" commit ... This is a totally undiscussed, self-decided, personal change. I like it. I hope you like it too...
The planet information on the right side of the window disappeared : it's now a tooltip. (and if I rewrite the MapView, it could be draw with a partially translucent frame or any other extra eye-candy stuff) |
|
|
|
|
|
|
Stephan Kulow committed changes in /trunk/KDE/kdegames/kpat:
|
integrate the solver in the GUI - using a crude work around for something I don't understand and (in my limited mind) consider a Qt bug |
|
|
|
|
|
|
Dmitry Suzdalev committed changes in /trunk/KDE/kdegames/kreversi:
|
Use Mauricio's svgz for showing possible moves hints. I exchanged move_hint and move_hint_alternative as I happen to like alternative one best :).
If you want to try alternative one, do mv move_hint_alternative.svgz move_hint.svgz && make install (don't forget to svn revert later ;)) |
|
|
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed changes in /trunk/KDE/kdegraphics/ksnapshot:
|
ok, let's do this slightl more correctly, featuring:
- a dbus appropraite callback (e.g. it shouldn't pop up a UI for the user to interact with.) - a menu instead of a dialog
next up: getting other appropriate apps in the list via dbus so we can email images. servicemenus seem the natural way to go here but they need some work before they can be used here. ("Rotate image" is probably stupid to show in this menu, but "Email image" isn't) |
|
|
|
|
|
|
Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum/Viewer:
|
How very rare that you (1) get a new feature to work (2) improve performance significantly and (3) get much cleaner code base ALL three at the same time :-)
I beleive that pixel by pixel zoom now works in the reworked version. As an added bonus, I no longer loads the first image in full size, but only in viewer size. This has given a significant boost in starting up the viewer.
If the user ever zooms, then the real sized image is loaded in the background and put in place when it is available - until then the user just sees the viewer sized version he was original looking at. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Brad Hards committed changes in /trunk/KDE/kdeaddons/kfile-plugins:
|
Convert the existing X.509 certificate plugin to use QCA2, instead of KSSL.
This plugin can now handle X.509 Certificate, Certificate signing requests and Certificate Revocation Lists (CRLs). Certificates are handled in both PEM and DER, and the other two are handled in PEM format (DER wouldn't be hard to add, but there doesn't appear to be any real-world usage). Signing Requests and CRLs provide less information than a Certificate (e.g. the Signing Request doesn't have any issuer information).
The amount of information that can be provided is now extended to include multiple DNS names and XMPP information (per RFC3290), plus the State/Province (if any) for both issuer and subject.
Adding URI or IPAddress would be trivial if there was any real-world need for it.
The old CMakeLists only compiled this if SASL was found - not sure why. In any case, it now only gets compiled if QCA2 is found. |
|
|
|
|
|
|
|
|
|
|
|
|
Kevin Krammer committed a change to /branches/KDE/3.5/kdelibs/kded/vfolder_menu.cpp:
|
Adding support for XDG menu spec environment variable XDG_MENU_PREFIX. This will allow distributions to have different application.menu files for different desktops without patching KDE and still keep the shared applications-merged directory |
|
|
|
|
|
|
|
|
Ian Ventura-Whiting committed a change to /trunk/playground/base/datasources/drivers.h:
|
Added more ODBC drivers to the auto-detection list. datasources will now auto-detect the following ODBC drivers:
* MySQL ODBC 2.50 Driver * MySQL ODBC 3.51 Driver * FreeTDS Sybase and MS-SQL Driver * Oracle Driver * IBM DB2 Driver * PostgreSQL Driver * Mini SQL Driver * Mimer SQL Driver * Text Driver * Internet News Driver * Easysoft Interbase Driver * Easysoft Firebird Driver * Informix Driver * SQLite Driver * DataDirect 4.20 DB2 Wire Driver * DataDirect 4.20 Informix Wire Driver * DataDirect 4.20 Oracle Wire Driver * DataDirect 4.20 SQL Server Wire Driver * DataDirect 4.20 Sybase Wire Driver * SAP Driver * OpenLinks iODBC Driver * Easysoft ODBC-ODBC Bridge * Easysoft ODBC-ODBC Bridge (MT) * Easysoft ODBC-JDBC Gateway * Easysoft Oracle Driver * Easysoft Sybase Driver |
|
|
|
|
|
|
|
|
|
|
|
|
Tobias Koenig committed changes in /branches/work/opensync-integration/kitchensync:
|
Add support for object type filtering. At the moment we have to keep the selection of the object types in a separated file (we use the same as multisync-qad here), that will hopefully be fixed after opensync-0.20.
Based on patch by Cornelius Schumacher with some improvements in the GUI ;) |
|
|
|
|
|
|
Tom Albers committed changes in /trunk/playground/pim/mailody/src:
|
Pretty intrusive changes. I've changed the messageview part to always use richtext mode. All html messages will be escaped, so that should work ok. I did this so I can make links and emailaddresses clickable. Which is in this commit as well. Enjoy! mailto's will launch the composer of Mailody (_not_ the default KDE Mailer) and links will launch the default KDE browser. The used regexes seem to work ok.
When replying or forwarding the plaintext part will be set in the composer, even if you are viewing the message in HTML mode.
Closing the composer will only warn 'are you sure' when there has been a change to the composer. So you can reply and abort immediatly without getting a warning.
Please test for regressions... |
|
|
|
|
|
|
|
|
Dmitry Morozhnikov committed changes in /branches/work/kdepim-3.5.5+/kmail:
|
Keyboard shortcuts for custom templates with corresponding gui. Some refactoring of kmmailwidget related to custom templates handling (proper KAction`s). Very little beautification of custom templates interface. |
|
|
|
|
|
|
Tom Albers committed changes in /trunk/playground/pim/mailody:
|
|
When you need something, you write it. Mailody can now Print. Have put it under the "Message" menu item, probably violates a lot of standards. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Allen Winter committed changes in /branches/KDE/3.5/kdepim/kontact/plugins/korganizer:
|
Kontact Appointment and To-do Summary items now have a RMB context menu for editing and deleting the incidences (and, for to-dos, marking them complete).
Tested in kdepim-3.5.5+ branch Ported to trunk Approved by the translators Approved by the maintainer (me) |
|
|
|
|
|
|
|
|
Multimedia |
|
Alexandre Pereira de Oliveira committed changes in /trunk/extragear/multimedia/amarok/src:
|
When "Sorting by Favorite", do it like this: First by Rating, if enabled; Then by Score, if enabled; Fall back on play count.
This way, if the user happens to have ratings enabled, but didn't rate any songs, we'll still have a good list by using scores and playcount. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:
|
AFT support for lyrics! Yay!
Also, a bit of AFT refactoring, and an update of the previous change I made to metabundle, so AFT is still not run on those, but the UID in the playlistitem reflects the correct value for any updated metadata.
Max/Alexandre: Your commit and mine conflicted (I haven't updated in a few days until now) -- I figured out an easy way around Rich's crash too, but I decided to go with my way, since it will get the UID in a way that will still be safe and current (at least, moreso) if a scan is ongoing. Thanks for looking at it though! |
|
|
|
|
|
|
|
|
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:
|
|
Rewritten support for custom commands. Currently only a few test commands for GlFTPd are bundled by default - more will be added later on (see commands.xml). Previously implemented "server management" is therefore removed. |
|
|
|
|
|
|
Joris Guisson committed changes in /trunk/extragear/network/ktorrent/libktorrent:
|
|
Added feature which saves the list of peers when a torrent is stopped and when it is started again, the list is reloaded and the peers are added to the list of potential peers so that we can quickly make connections to peers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Office |
|
Jan Hambrecht committed changes in /trunk/koffice/shapes/star:
|
When resizing the star the scaling is saved and used for updating the path afterwards. This makes it possible to have a star with a different aspect ratio. This is modelled after the inkscape star. |
|
|
|
|
|
|
|
|
|
|
Jaroslaw Staniek committed changes in /branches/koffice/1.6/koffice/kexi:
|
* Kexi supports data-aware combo box widgets in forms and table views *
Table View - better displaying tooltips for columns with lookup data - sorting columns with lookup data works = various improvements for combo boxes 2.0: merged
Forms - database-aware combo box form widget works, improved data displaying, mouse and keyboard handling - fixed bug #136688 - displaying dates (e.g. with dd.mm.yyyy format) = do not block Escape key if there are no data changes to cancel; do not block shortcuts like Shift+Left arrow 2.0: merged |
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice/shapes/star:
|
Implemented roundness at the star handles. - use shift-dragging to change the roundness at a handle - use ctrl+shift-dragging to change roundness at both handles
One can now use the star tool to draw nice flowers or other regular rounded shapes. |
|
|
|
|
|
|
|
|
|
|
David Faure committed changes in /trunk/koffice/filters/kpresenter/kword:
|
Generate a style for slide titles (like kpr2kword did) One still has to fix the text colors after doing the conversion, but that's just a few clicks. Workaround more QDomDocument brokenness (bug report sent) Set a page layout that looks more like a paper format. Add license |
|
|
|
|
|
|
|
|
|
|
Sebastian Trueg committed changes in /branches/work/nepomuk-kde/backbone/knep:
|
* Added another layer between the Registry and the RegistryDbusInterface to have no DBus in Registry anymore. * Added GCC visibility support. * Added preliminary special type handling for the RDF cursor classes StatementList and QueryResult. This allows to hide DBus from the public API again but restricts us to these two types. The goal is to have at least any combination of list and map of simple types. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optimise |
|
Games |
|
Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:
|
|
SVG rendering optimization: render each element only when needed, and maintain a global pixmap cache at the application level. Rendering speed is already much improved. Tackling background next... |
|
|
|
|
|
|
Office |
|
Ariya Hidayat committed changes in /trunk/koffice/libs/store:
|
implemented a much more compact representation of packed nodes use QPair instead of hand-made double QString use QHash to replace QMap removed unused KoXmlStream made nsURI and name using index use conservative growth strategy for item collections avoid invalid deallocation on null node shifted most code from KoXmlHandler to KoXmlPackedDocument fixed potential leak during node loading minor speed-up on some constructors |
|
|
|
|
|
|
Other |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Laurent Montel committed changes in /trunk/KDE/kdelibs:
|
X-DCOP-ServiceType -> X-DBUS-StartupType Change name into desktop file (now dcop is dead we use dbus) I keep compatibility with 'X-DCOP-ServiceType' X-DBUS-StartupType: name found by David (better than X-DBUS-ServiceType)
Rename a lot of reference to dcop.
Patch ok'ed by David.
Update doc.
Rename DCOP_* enum to DBUS_*
I will continue to rename reference to dcop -> dbus
I will change all desktop file which have key X-DCOP-ServiceType to X-DBUS-StartupType |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Multimedia |
|
Nikolaj Hald Nielsen committed changes in /trunk/extragear/multimedia/amarok:
|
|
Added redownload manager for previous Magnatune purchases. The required info is already stored in the released 1.4.4 version so all previously purchased albums can also be redownloaded. Added an advanced button to the magnatune browser, for now it just opens the redownload manager, but later it should popup a menu with more options. Have also done some MAJOR refactoring of the Magnatune purchasing and download logic to make it more maintanable and extensible. |
|
|
|
|
|
|
|
|
|
|
Thomas Zander committed changes in /trunk/koffice/filters/kword:
|
Mark the kword/pdf filter to have its end-of-life due to it wrapping a very buggy piece of code which gave too many security issues in the past. The KOffice team welcomes anyone that can provide a poppler based import filter instead. |
|
|
|
|
|
|
Boudewijn Rempt committed changes in /trunk/koffice:
|
|
iPort the freehand tool and temporarily comment a line in the canvas2 to make krita compile on opengl systems again. The brush tool is _nearly_ done :-) |
|
|
|
|
|