|
| Diese Woche ... |
|
Continued work in Plasma, including a KMLDonkey data engine, a RSS data engine and news feed applet, and a Virtual Desktop switcher applet. More interface work for Amarok 2.0, with progress on alternate music service integration. Support for webseeding in KTorrent. Support for network access of colour palettes in KolourPaint. An Akonadi resource for the del.icio.us bookmarking service. CMake support for PyKDE4 applications. Wider logging support in KSystemLog. SVG caching optimises usage, resulting in speed gains in many applications. KTeaTime rewritten for KDE 4, KPlayer ported to KDE 4. New game based on "Deal or No Deal" arrives in playground/games. More code reorganisation in KDE SVN. KAider translation utility moves to kdereview.
|
Marijn Kruisselbrink introduces his successful Summer of Code project, Music Notation Support for KOffice:
|
As part of this year's Google Summer of Code, I've been working on adding music notation support to KOffice2. The reason I came up with this idea is that in the past i've sometimes wanted to insert short pieces of music into (for example) a text document, but I couldn't come up with any better way to achieve this than to export the music from some existing music notation program to either a vector or raster based format, and inserting this into my document (I know know that there exists an OpenOffice.org plugin to add limited LilyPond integration, but I think that approach is still far from perfect, and not really easy to use).
This of course has the obvious disadvantage that everytime you want to make some change to the music fragment, you need to open it again in the external application, export it and insert it again, leading to quite an awkward workflow. I even remember some family member printing and scanning a piece of music to insert it into his text document!
Of course, when I started with this project I looked at existing Open Source music notation software to figure out if it might be possible to save myself a lot of work by not starting from scratch. Probably the best program currently available is Rosegarden, but one obvious disadvantage of using it is that it is still KDE3/QT3 based. Also, internally, Rosegarden seems to be centered around the various things needed for perfect playback of music, with notation support somewhat bolted on to it, while I wanted to focus more on the notation/printing side of music and keep playback as a nice, but not really required (and certainly not needed to be perfect) optional addition.
Another existing program I looked at integrating with is Canorus (the QT4 successor of NoteEdit), and in fact after one afternoon of hacking I already succeeded drawing music loaded from a Canorus file, but this approach also had several big disadvantages. For instance, Canorus is still a long way from being released (i'm not sure if a final/stable release has been planned even), but also Canorus isn't aiming at providing accurate renderings of music. For example, Canorus won't have printing support but will be relying on LilyPond for the final output.
Of course starting from scratch meant that I needed to write quite a lot of code to get anything to work at all (in its current state, the music notation in KOffice is 12,000 lines of code, with NoteEdit consisting of 54,000, and Rosegarden even having 260,000 lines of code), but it meant I could do things exactly as I wanted, and learn a lot doing it, implementing all the various (quite complicated) algorithms needed to create nice looking music. The very flexible design of KOffice's Flake framework also meant that I had to write very little code to get to some simple things to work, and also that it is possible without any extra code to embed music in any of the KOffice applications that use Flake (as can be seen in the screenshots).
In the current state of the codebase, it is only possible to input music with your mouse, by clicking at the position you want to insert a note, and also only very simple music is supported. There is no support yet for ties, slurs, tuples, dynamics and tempo markings, but you can write (or load from a MusicXML file) multi-voice, multi-part, multi-staff music. And also, since this week support for beams has been added (although many cases probably exist where the rebeaming algorithm will not make correct decisions on which notes to beam together yet).
One thing I would really like to see implemented before the KOffice 2.0 release is storing the music in some sort of pre-rendered format in ODF files, so that other programs can at least display/print something when they load a file. Also ties/slurs, tuples and some basic dynamics/tempo markings would be really nice, but I'm afraid there are too many nice things to implement them all in such a short time-span, so any help you could offer would be greatly appreciated!
|
|
Tom Albers writes about the impending closure of the kdenonbeta module:
|
kdenonbeta is closing. This means that all applications currently in /trunk/kdenonbeta will move to /tags/unmaintained/3 on Oct 28th.
If you are a maintainer of an affected application and you do not want this to happen, please contact me, we can arrange something else. This offer is also valid after the move has completed - in case you read this mail after the date.
If you want to continue to work on the application, the application will most likely move to one of the /trunk/playground area's. If you don't want me to do the move, you can always do it yourself.
If you have any questions, feel free to contact me.
|
|
|
| Statistiken |
|
| Inhalte |
|
|
Fehlerbehebungen |
Funktionen |
Optimierungen |
Sicherheit |
Anderes |
|
Behindertengerechtheit |
|
|
|
|
|
|
Entwicklungs-Werkzeuge |
|
|
|
|
|
|
Unterricht |
|
|
|
|
|
|
Grafik |
|
|
|
|
|
|
KDE-Basis |
|
|
|
|
|
|
KDE-PIM |
|
|
|
|
|
|
Büro |
|
|
|
|
|
|
Konqueror |
|
|
|
|
|
|
Multimedia |
|
|
|
|
|
|
Netzwerk-Werkzeuge |
|
|
|
|
|
|
Benutzerschnittstelle |
|
|
|
|
|
|
Hilfsmittel |
|
|
|
|
|
|
Spiele |
|
|
|
|
|
|
Anderes |
|
|
|
|
|
|
There are 131 selections this week.
|
|
Fehlerbehebungen |
|
|
|
|
|
|
|
Allan Sandfeld Jensen machte Änderungen in /trunk/KDE/kdelibs/khtml:
|
Fix an issue in the non-deterministic matching that had a O(h^2) worst time behaviour, where h is the height of the tree.
This fixes a runtime issues with invalid XHTML, like that used in Trolltech Qt documentation. |
|
|
|
|
|
|
Maksim Orlovich machte Änderungen in /trunk/KDE/kdelibs:
|
Remove invalid optimization: it's not safe to direct-write to propery map and array slots, since after evaluation of the LHS reference the RHS may expand those, causing rehash/copy/etc.
Credit to Maciej from Apple for pointing out this problem. |
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdebase/workspace/libs/plasma:
|
prevent crashing on exit; layout must not be deleted before the applets which are managed by it.
this is a brittleness in the layout system that really needs to be addressed (and i added a comment and some debug output about this in LayoutItem) |
|
|
|
|
|
|
|
|
|
|
Multimedia |
|
Nikolaj Hald Nielsen übertrug eine Änderung für /trunk/extragear/multimedia/amarok/src/playlist/PlaylistGraphicsItem.cpp:
|
Fix the playlist constantly redrawing itself using 100% cpu time. required a near complete rewrite of the paint() method.
It turns out that there are quite a few "gotcha's" when inside the paint method of a QGraphicsItem. Any call to show() of a child item or setBrush() WILL cause paint to get called again. This is ok if one is very carefull that the same call will not occur from within the next call to paint(), as otherwise we have an infinte, if non blocking, loop eating up resources as fast as it can.
I managed to somehow kill the text of the playlist items, how is beyond me at the moment, but I will work on bringing it back! |
|
|
|
|
|
|
|
|
|
|
Hilfsmittel |
|
Rolf Eike Beer machte Änderungen in /trunk/KDE/kdeutils/kgpg:
|
Fix the display of GnuPG encoded UTF8
GnuPG recodes some UTF8 characters as \xnn (where nn are hex numbers). When this happens to one of character of a multibyte entity (e.g. one of the bytes of a german umlaut) the display of this string is destroyed. We receive the data from K3ProcIO which does the transition from QByteArray to QString.
QString then does UTF8 recoding, finds an invalid entity and overwrites it.
Now you can't get the correct display even if you recode the \xnn to the original value.
Since I can't change K3ProcIO I copied it and modified it to do the \xnn recoding before the translation to QString. |
|
|
|
|
|
|
|
|
Funktionen |
|
|
|
Arno Rehn machte Änderungen in /branches/work/kdebindings-smoke2:
|
Code cleanup of Qyoto: * Split qyoto.cpp into headers and source files * Moved some function definitions to qyoto.h
Made Qyoto modular: * Every module is defined through the QyotoModule struct. It contains the name and pointers to the appropiate resolve_classname and IsContainedInstance functions. * Made the code more modular so that additional classes and methods are found from within the core Qyoto runtime without much additional work.
* In C# we just have to subclass SmokeInvocation and call Init_* from the static c'tor. This custom class is used instead of the original SmokeInvocation in the C# source files. * Added example for QScintilla bindings. * Added rest of Qyoto for easier testing & modifying. * generate.pl for SmokeQscintilla might need a second run before generating proper code.
Still figuring out, why that happens. |
|
|
|
|
|
|
Unterricht |
|
Frederik Gladhorn machte Änderungen in /trunk/KDE/kdeedu/parley/src:
|
Reimplementation of the start query menus as a simple dialog. The dialog lets one choose the type of test and which languages. Arbitrary languages are allowed.
Statistics should be kept. Only editing the statistics in Parley is not supported yet. |
|
|
|
|
|
|
|
|
|
|
Spiele |
|
Daniel Teske machte Änderungen in /trunk/KDE/kdetoys/kteatime:
|
Patch by Stefan Boehrmann. He ported kteatime to qt4/kde4. (It is more a rewrite instead of a port, but looks and works basically like the old one.) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gilles Caulier machte Änderungen in /trunk/extragear/libs:
|
extragear/libs from trunk (KDE4) : backport "libsanewidget" to new "libksane" component of extragear/libs.
This new library will be used instead old libkscan to handle flat scanners supported by SANE library.
libksane work better than libkscan and will be used by kipi-plugins and digiKam for KDE4.
Major improvements will be add in the future like 16 bits color depth support... |
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Laidig machte Änderungen in /trunk/playground/base/plasma/applets:
|
Initial commit of a pager applet.
The pager works in my setup and provides me with everything I use in KDE 3, including drag and drop of windows. I'm away next week and don't know how much time I'll have afterwards, so I'm just committing this now.
Issues: * The pager doesn't use a DataEngine at the moment and I don't know if it's a good idea. I may make sense to extend the Tasks engine to provide the needed data, but the pager relies on different data like the stacking order. * Updating and redrawing could be done in a better and more intelligent way. * The colors are hardcoded and more or less random as I'm not an artist. * More optional features like showing the window icons and different background modes could be implemented. * I don't know if it works correctly in different setups (Beryl, Xinerama, ...). * The applet "jumps" sometimes when changing the constraints or moving it.
This is the first thing I ever did with Plasma and just a couple of hours hacking, so I don't know if it's actually good enough. ;) |
|
|
|
|
|
|
Peter Penz machte Änderungen in /trunk/KDE/kdebase/apps/dolphin/src:
|
|
Reactivate keyboard navigation again. Previously the Return key did not work, as the 'activated()' signal cannot be used (it ignores KDEs single vs. doubleclick setting). |
|
|
|
|
|
|
|
|
|
|
|
|
Robert Knight machte Änderungen in /trunk/KDE/kdebase/workspace/libs/plasma/widgets:
|
|
Add FreeLayout layout, which resizes its children to their sizeHint() whenever it is invalidated. Useful for desktop-like workspaces so that widgets can be agnostic of whether they are being used in a panel or a 'constraint free' area. |
|
|
|
|
|
|
Rafael Fernández López machte Änderungen in /trunk/KDE/kdelibs/kdeui:
|
Add KCategorizedSortFilterProxyModel to kdelibs. Further changes will follow on KDirSortFilterProxyModel and Dolphin (KCategorizedView and other classes) for fully usage of this class.
I would like to know if the ATTENTION on the Copyright block is OK, for that reason I'm forwarding this to kde-licensing. |
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdebase/workspace/libs/plasma:
|
first run at per-visualization timeouts, as per the design worked out on panel-devel. i'm sure there are several bugs at this point (so don't try and use it quite yet ;) but most importantly:
- all methods are implemented - it compiles ;) - it does not have any negative impact on existing engines and applets as they currently are written
next will be to put it all through its paces, starting with the time engine and analog clock applet. i may not get to that until tomorrow, hoever.
this commit also fixed a number of buglettes along the way that had creeped in, e.g. not properly connecting all signals in connectAllSources (moved that ccode to the Private class to avoid code dupe and similar bugs in the future) |
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdelibs/kdeui/widgets:
|
finish most of the TODOs for the clear button
- animate show/hide - show only when there is text - use something lighter than a qlabel as we're just showing a pixmap
not done (and won't be for 4.0 unless someone else does it ;):
- hover and click visual effects |
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdebase/workspace/libs/plasma:
|
introduce interval alignment, so it is possible to align a time interval to the minute or hour (we can add arbitrary ones to the mix should we choose; e.g. "every 10 mins" or whatever..but there needs to be good use cases =)
this is needed by clocks, as the obvious example, since "once a minute" isn't enough: it needs to be once a minute *on* the minute |
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdebase/workspace/plasma:
|
make the analog clock and the timeengine use the new multiple-timing variance stuff. you can now have clocks with minutes only AND seconds and they all get updated properly and without getting in each other's way!
omg, time p0n13s! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Maksim Orlovich machte Änderungen in /trunk/KDE/kdelibs/khtml:
|
Rework how we sync textarea contents between the DOM and the Renderer, fixing multiple bugs (losing contents on display:none, the can't-do-anything-with-selection-in-wordpress bug).
This also improves compatibility with IE on handling of innerText somewhat, and that with other browsers in how we handle changes to the default value/child nodes. Unfortunately, no one does it the same way, so I chose to follow Safari since its behavior makes the most sense to me.
More specifically: 1. Simplify the syncing logic by making the renderer always be definitive when it exists.
2. Change how we initialize from the defaultValue --- instead of doing it in the renderer's close (which is what causes the disappearing text bug), we update value to defaultValue when the children change. That also makes innerText work sensibly on textareas. |
|
|
|
|
|
|
|
|
|
|
Maksim Orlovich machte Änderungen in /trunk/KDE/kdelibs/kdeui/kernel:
|
Make the rendering of back/forward buttons in kstyles suck slightly less by actually drawing the label in the right place, so we get some sort of symmetry and avoiding super-skinny buttons.
Still looks kinda ugly. Whose idea were these, anyway? |
|
|
|
|
|
|
KDE-PIM |
|
Robert Knight machte Änderungen in /trunk/playground/pim:
|
Initial import of an Akonadi resource for the del.icio.us social bookmarking service.
Accepts and delivers item in the same format as the local bookmarks resource.
No KWallet integration for putting in del.icio.us username and password yet, until then you need to alter the code in the Delicious::Resource constructor.
My first stab at something Akonadi-related. |
|
|
|
|
|
|
|
|
Christian Weilbach machte Änderungen in /trunk/KDE/kdepimlibs/kblog:
|
|
Music and Mood getters and setters in BlogPosting and Docs. Only LiveJournal needs to be documented correctly, but since it is not yet documented KBlog is completely documented now. |
|
|
|
|
|
|
Robert Zwerus machte Änderungen in /branches/work/arzie_akonadi:
|
|
Added command to remove parts to STORE. Further implemented optimistic locking (disabled for now, doesn't work completely correct yet). Updated unit tests. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dan Meltzer machte Änderungen in /trunk/extragear/multimedia/amarok/src:
|
Add a repeat tracks TrackAdvancer to go with the standard one.
Switching between the two kind of works. The track advancer changes after you stop and start playback, but not if you change during tracks.. Work in progress |
|
|
|
|
|
|
|
|
|
|
Nikolaj Hald Nielsen machte Änderungen in /trunk/extragear/multimedia/amarok/src:
|
|
Warning, this commit contains pure xxx eyecandy porn. add leeo's new toolbar background svg. Also rearrange items on the toolbar slightly to make it more symmetrical and allow for the play controls to be properly centered |
|
|
|
|
|
|
|
|
|
|
Nikolaj Hald Nielsen machte Änderungen in /trunk/extragear/multimedia/amarok/src:
|
Say hello to a working mp3tunes.com locker browsing and streaming service. There is still a few glitches in the metadata when streaming tracks and login credentials are not remembered between sessions, but other than that it is very usable.
All in all the service framework seems to be coming together nicely as writing this kind of service is now about a single days work. |
|
|
|
|
|
|
Nikolaj Hald Nielsen machte Änderungen in /trunk/extragear/multimedia/amarok/src:
|
Rewrite of PlaylistLoader to new, much simpler, version. Maybe too simple, but there seemed to be a lot of unneeded cruft in the old one. Currently supports loading of local and remote .pls and .m3u files.
I dont know if the way I hook directly into the PlaylistModel is correct, or even safe, but it does ensure that no matter how you load the playlist, it is passed to the PlaylistLoader.
Also, this makes the shoutcast service sort of usable.
~yay |
|
|
|
|
|
|
|
|
Netzwerk-Werkzeuge |
|
Manolo Valdes machte Änderungen in /trunk/KDE/kdenetwork/kget:
|
|
add initial speed limit capability. not implemented in any transfer plugin yet. commented and agreed by Urs Wolfer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Martin Pfeiffer machte Änderungen in /trunk/koffice/kformula/flake:
|
- update the token framework to support special rendering for operators -> next thing implement rendering for operator and most of the other token elements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optimierungen |
|
|
|
|
|
|
|
|
|
Anderes |
|
Entwicklungs-Werkzeuge |
|
Nickolai Shaforostoff machte Änderungen in /trunk:
|
Move KAider to kdereview. Add a small docbook based on the techbase page. |
|
|
|
|
|
|
Unterricht |
|
Torsten Rahn machte Änderungen in /branches/marble/0.4/marble:
|
Lots of backports from trunk to get rid of known issues in 0.4:
- Various fixes related to finding and fixing possible memory leaks. - Added a Wikipedia icon and a pointer towards the entry. - Give visual feedback if the mouse hovers placemarks. - Give visual feedback if the mouse drags the planet. - Position and Altitude display in StatusBar for KDE frontend. - Added Statusbar items to the Qt-Marble frontend. - Introducing different Notations: Decimal and Sexagesimal (DMS). - Put tile creation into a worker thread and adopted the TileCreationDialog - Improved HttpFetchFile by encoding the path url correctly, adding User-Agent and support for HTTP redirect, now all city names are loaded correctly from WikiPedia - Read the HTML pages as UTF-8, now the webpages look a lot better - Guess the wikipedia domain to use by examine the $LANG variable, so 'LANG=sv marble' will use the swedish wikipedia site ;) - Refactored HttpDownloadManager and HttpFetchFile by introducing StoragePolicy. - Fixed the TinyHttpBrowser to show images and load style sheets. - Add DiscCache class |
|
|
|
|
|
|
|
|
Mauricio Piacentini machte Änderungen in /trunk/KDE/kdegames/kmahjongg:
|
|
Move "Show Matching Tiles" option from menu to configuration dialog, rename to make it easier to understand. Remove "Show removed tiles" option, as it is not implemented (and will not be ready for 4.0). |
|
|
|
|
|
|
|
|
|
|
Pino Toscano übertrug eine Änderung für /trunk/KDE/kdegraphics/okular/conf/dlgaccessibilitybase.ui:
|
Restucture a bit the Accessibility configuration: - old way: all the options (and their configurations) at once - new way: options in a combo box, with only the configuration for the active option that is shown below
Based on Florian's idea and mockups, thanks! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thomas Georgiou machte Änderungen in /trunk:
|
|
Move dict engine to kdebase as discussed in the plasma irc meeting. |
|
|
|
|
|
|
|
|
Aaron J. Seigo machte Änderungen in /trunk/KDE/kdebase/workspace/libs/plasma/widgets:
|
|
growing tired of being asked about how to get at the font used in widgets, here's a cute little accessor that provides the answer for now and gives us a way to support font settings in the future much in the way qwidget itself does. |
|
|
|
|
|
|
|
|
|
|
Allen Winter machte Änderungen in /trunk/KDE/kdepim:
|
Move kioslaves from kdepim to kdepimlibs. Remind me to redo the config.h file as self-contained config-$PROJECT.h files. |
|
|
|
|
|
|
Allen Winter machte Änderungen in /trunk/KDE:
|
move ldap, nntp, pop3 and smtp kioslaves from kdebase/runtime to kdepimlibs. also make the code a little more self-contained by no longer depending on a config-runtime.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anderes |
|
Bernhard Loos machte Änderungen in /trunk/KDE/kdelibs:
|
|
after a promising test, set the eol-style of all CMakeLists.txt in kdelibs to native and the mime-type to text/plainthis makes it possible to edit those files like normal text files on windows without a special editor, like it's supposed to be |
|
|
|
|
|
|
|