19th November 2006by Danny Allen
As a matter of course, Pino Toscano, a key Okular developer, wrote a standard request/notification of the move to the kde-core-devel mailing list. However, it was not to be a simple and uncontested proposition, as the 80-message long thread of replies surely indicates.
If I remember correctly there has been made a decision, that no applications that are duplicating functionality will be allowed in the core modules. And we are definitely not interested in moving Ligature to Extragear.
both improve on kpdf with things like a "real" text selection tool, overview and facing page layouts, support for multiple file formats, etc ...
ligature has a few nice little advantages: the "read page" nav feature is nice as its scrolling sidebar thumbnails.
okular has a well integrated inline search, has additional configurability for DRM bits and memory usage (to name a few), supports more file formats (numerically and in terms of common desktop relevance), supports reviews (and apparently annotations and what not, as seen at akademy though my build from svn doesn't have those features?), has a "download books from the internet" feature using ghns that simply rocks and has a handful of new UI features ... the UI does need more polishing, but that's not surprising given its in-high-development state.
ligature supports G3 fax and djvu files which okular doesn't, but then okular supports ODT and a number of other interesting formats. if you do a lot of djvu or fax viewing ligature may be more useful. i find okular's format selection more relevant to my usage, but ymmv.
after having used both, i have to say that it would be rather odd to provide both apps by default on a desktop installation due to function overlap.
i can see the following options:
- the two teams agree to work on one codebase
- do the same thing we did with cd burners and put them all into KEG and let user demand sort it out
- have the release maintenance team pick one for inclusion with kde4's default set of applications and move the other into KEG
- leave them both where they are because we can't decide and look a bit foolish all over again for having obvious duplication in apps
i agree with Allen that this is a "nice" job for the new TWG.
The proposal and formation more than a year ago of a set of 'working groups' within the organisation of KDE to make decisions such as these reflects the growing maturity of the project - the strength of the Technical Working Group (TWG) should ensure that a difficult (but very much correct) decision is made for the future diverse userbase of the KDE 4 desktop.
|Commits||1815 by 209 developers, 4213 lines modified, 807 new files|
|Bugs Opened||256 in the last 7 days|
|Bugs Closed||294 in the last 7 days|
||Jos van den Oever||
Internationalization (i18n) Status
Bug Killers and Buzz
|Alexandre Pereira de Oliveira||
|Adriaan de Groot||
|Aaron J. Seigo||
There are 95 selections this week
Fix handling of filenames with non-ascii chars
Fix Unicode support in RegExp handling, and also be more robust vs. embedded nulls.
Fixes problems with some cyrillic characters in gmail (#116512)
Makes google calendar somewhat work, though not fully (part #135445)
Also fixes #135246, #101398
fix #15876: if a file name contains a newline, the newline was displayed in the status bar, which m
with this patch all newlines are replaced with a space in the status bar info, so
this doesn't happen anymore. Maybe it could also be replaced by "
" or "\n" or ...
Maybe this could even be moved to KStringHandler cPixelSqueeze ?
Does this still exist in KDE4 or has it been replaced by some Qt function ?
Explicitly delete all message when user chooses to resync a mailbox. This prevents old messages staying alive when the server reuses the same uids. Also caught a crash because the threadTo map did not remove deleted messages, so on a resync it would want to assign an item to a parent which was deleted because of the sync.
Fix bug where environments were completed which should not have been completed.
Remove selected text in any case if the user insert "
Fix the broken "Add to JuK Collection" service menu action for KDE 3.5.
I'm not sure that it ever worked since it's calling a function in the Player interface that doesn't exist, and to my knowledge never existed. In the process I changed it to pass all files to the dcop command line instead of calling dcop one by one for each file.
* Don't remove tracks from the playlist when reducing the upcoming count of the current dynamic mode
* Only append tracks to the playlist if the playlist track count is greater than dynamic mode upcoming count
Forbid pausing the engine when using lastfm. Now pause can't be issued from dcop or shortcuts.
Two unrelated updates:
1) get rid of vertical allignment fields for viewlabels, since they don't make any sense for auto sized label boxes. Note: horizontal alignment selection widgets are still there, but they don't work, as the label renderer doesn't know how to deal with it.
2) add a plot draw tool. The keyboard accelerator is temporarily set to '2'.
Almost complete support for inverse search within okular.
The system generally works; what is missing is a good activating strategy (added in TODO - our usability expert is working on that), and a GUI to configure the editor.
The DVI backend was adapted to use this new feature. (The PDF backend will use it soon.)
The beginning of a new Planner Summary for Kontact.
Operational, but a work-in-progress.
Feel free to join in the fun!
We are thinking along the lines of <a href="http://bugs.kde.org/show_bug.cgi?id=103693">http://bugs.kde.org/show_bug.cgi?id=103693</a>
Make sure a hidden shape is never selected (by user interaction)
Add a 'isSelectable' boolean to every shape to allow certain objects in the flake hierarchy to be unselectable. Probably usefull for things like a shape that is a page in KPresenter. Or a shape that is a layer in Krita.
Some progress for suggested dynamic mode. When creating the cache, we retrieve similar artists to the currently playing song, and find some songs. Then, we take some of those similarities and find their similar artists.
TODO: create a cache or similar artists
I can't really test this because i'm on the laptop with not much music, and hence not many similar artists :)
When checking for duplicate items on a Rio Karma, use the track number in addition to artist, album & title. We also turn off libkarma's duplicate-checking as it would not let these files through (and we are confident in our own duplicate checks).
Remove playlist and smart playlist context menu entries for adding and removing them to the existing dynamic playlist. i felt it was unintuitive, and duplicated a lot of work.
The dynamic playlist should be editable in one way, and that is by clicking on the "edit" button.
* Progress when adding files to a data project
* Better button placement in the welcome widget
* No overlapping text in the project fill display anymore
* The follow symlinks to folders dialog now allows to choose stuff like "follow all" or "add all"
MultisegKIO now use KIO::Get for the segments and KIO::file for the local file.
this should fix many problems with http redireccions and so. ftp also works now.
I make a segmentfactory class that handle the segments and olso can be used in the metalink plugin
now we pass a QList<KUrl> to the MultiSegfile_copy funtion. i'm planing to make a search funtion to return an KUrl List. any help or idea is welcome :)
Add feature 80717: Add the ability to use AIM contacts with ICQ and vice versa.
- Add AIMContactBase class, that contains functions common for AIM contacts in AIM and ICQ accounts.
- Add ICQContactBase class, that contains functions common for ICQ contacts in AIM and ICQ accounts.
- Add ICQContact to AIM plugin and AIMContact to ICQ plugin.
- Move sanitizedMessage function to AIMContactBase and ICQContactBase classes, because we want parsing based on other side protocol.
- Add OscarProtocol which is now base class for ICQProtocol and AIMProtocol.
- Implement older away message format for ICQ, so AIM can see away message for ICQ contact.
- Cleanup duplicate code.
More work on tag filter, mostly drag and drop handling improvements:
- only accept drop if it actually is a valid tag
- only accept drops over active frames
- update the decided list immediately upon drop, do not wait till filtering is finished
The above give a lot better feeling (due to more exact feedback) to tag manipulation.
Start playing with showing trivia, e.g. some interesting additional info about current molecule.
As QGraphicsItems aren't designed to hold QWidgets, I tried to implement button on preview-QGItem by using QStyle's rendering functions. Well, it worked (of course ;)).
Implement derived integers, such as xs:byte and xs:unsignedShort. Check out the output:
Pass percentage(%): 86
Unexpected failures: 0
Unexpected passes: 1754
Not tested: 44
That's right. 1754 test cases fixed in one commit. 12%. New record for me.
I introduced one regression: DerivedInteger.h generates a warning, see 341. I'll work on derived string types now. Should be less work for that.
Rewrite display:inline on TABLE to display:inline-table
A quirk Dirk left out ages ago, but it looks like we need it
Add the header for KAutoSaveFile, whose purpose is to replace KApplication::tempSaveName() and KApplication::checkRecoverFile() with something more powerful that allows you to:
1) work with URLs, not files
2) work with the same resource in more than one application at a time
3) check for stale autosaves and active ones
4) allow the application to find all autosaves it left behind
This is just the .h. I'm not writing the .cpp. We're going to try a new thing: I'm blogging about this and we'll see if we can get a new developer to adventure into kdecore. I'll coach him with the code.
clean-up and doxygenation.
also includes an important change whereby the RFC2822 format is now treated nicely as a FormatType, rather than some cousin the family never talks about.
Really, I gotta believe this stuff belongs in our new KDateTime class which already has methods for creating date strings in RFC2822 and ISO8601.
Create one single flake (and other stuff) plugin loader that doesn't use kparts and loades the current crop of flake plugins.
This means we no longer sneakily add the tool plugin while the shape is loaded or vice versa. It's up to Jan to make the shapes into one plugin: I will go through the Krita tools and pigment colorspaces to de-kpart them.
Finish migration to have one plugin loader for flake plugins.
Each plugin will have a KService factory only one time and it can now choose from being a Shape-only plugin, a Tool-only plugin or to be a plugin of type "KOffice/Flake" which can contain both types.
This solves the weirdness that if you had both a shape and a tool you had to choose one and do some magic in the constructor to have the other type known as well.
Moved from playground to <a href="http://svn.freehackers.org/tnagy/trunk/kdissert/">http://svn.freehackers.org/tnagy/trunk/kdissert/</a>
The work on semantik (KDE4 version) has started.
Conclude the discussion we had on koffice-devel 4 months ago.
In contrary to MsWord KWord will (still) not show linespacing at the top of a page. Being typographically correct as well as complient with lots of DTP apps is more important then being backwards compatible with one dominating app.
There are two ways the user can force a line-margin at the top of the page
1) by using a style that has both a topMargin and the option "Page break before"
2) manually setting a spacing on the paragraph instead of on the style.
Refactor of dynamic mode. This revised implementation solves a number of bugs. The logic of adding tracks from a dynamic mode is now delegated to the DynamicMode object, and is not done within the playlist. When a dynamic mode is loaded, a cache of 200 elements is create from the playlist sources.
By caching a subset of the possible tracks to be inserted, there is no longer a requirement to execute complex SQL statements on each track change or playlist repopulation. Additionally, by grabbing random tracks from this cache, items are no longer fetched from just one source, but all of them.
Once these cached tracks have been inserted into the playlist, they are removed from the cache list in order to avoid duplicating song insertions. Once the cache has been depleted, it is simply regenerated. 200 elements is approximately 12 hours worth of music, so the set should be sufficiently large to handle the user's requirements.
I've done quite a bit of regression testing, but the more the merrier :). The only feature which needs to be fixed is the Suggested mode of dynamic playlists, but this should be easily rectifiable.