KNode adds SMTP authentication. Juk implements drag and drop of covers. Adding support for Sky Commander controller in KStars. Add a real ACL editing gui in KFile. amaroK adds a configuration dialog for the helix engine. Kopete supports setting your own personal message in the MSN plugin.
Joris Guisson announced the release of KTorrent version 1.0:
Like the subject says, KTorrent 1.0 has been released. You can find it at http://ktorrent.pwsp.net.
I would like to thank the following people, who contributed in some way or another to KTorrent 1.0 :
Adam Treat
Danny Allen
The-Error
The KDE i18n team
Sander van Loon and all the other bug reporters / feature requesters
Stefan Kebekus wrote a note about what he and Wilfried Huss have been doing with the kviewshell application.
During the last few months, the KViewShell application has been greatly renovated and improved. While KViewShell was originally designed as a multi-purpose document viewer, it was so far only used as a basis for KDVI. Following popular demand, Wilfried Huss and Stefan Kebekus have started to write KViewShell plugins for other document formats. The current SVN version of the kdegraphics package contains plugins for DVI and FAX files, and for the increasingly important DJVU format (www.djvuzone.org), which offers full-text search, extremely high performance and unbelievably good compression rates for scanned documents. Since DJVU is the format of choice for scanned documents and is used by more and more academic institutions and digitalization projects worldwide, we considered a decent DJVU-viewer a "must have" for KDE.
Current features for KViewShell include:
various view modes, including continuous page view and facing page view
thumbnail and bookmark support (bookmarks are fully supported by the current DVI plugin)
a fullscreen-mode that is particularly useful for users with small displays
full text search and copy-text-from-document functionality, currently supported by the DVI and DJVU plugins
a good looking GUI that adapts on-the-fly to support the features of the file format of the document that is currently loaded
For the programmer, KViewShell has a well-documented plugin API with the FAX plugin as a reference documentation. At present, we are working on the performance of the DJVU plugin. Basic file editing functionality, similar to what Adobe Acrobat offers for PDF files, is already partially implemented in the DJVU plugin. An interface to OCR applications is also on our agenda.
We expect that kpdf, kghostview, KViewShell and the DVI, FAX, and DJVU plugins will eventually merge at some point in the future with a new document viewing application. This could be the programm oKular, which Piotr Szymanski is working on as a "Google Summer of Coding" project.
* When a Qt method returned a QString value type, such as: QString QSocket::readLine() A temporary QString was being created that wasn't deleted and caused a memory leak. Fixes problem reported by Caleb Tennis.
Be more permissive regarding the lockfile. In the end it's there to try to help the user, not prevent them from running kdesvn-build. Thanks to advice from Thiago, kdesvn-build will now more accurately detect if it is still running.
If kdesvn-build is relatively sure it is still running it will prompt the user to confirm their decision to run concurrently, otherwise it will warn about a stale lockfile and proceed without further intervention required.
* Added example programs for client/server programming with Qt::Socket and associated classes. client.rb illustrates current bugs in QtRuby * Qt::Socket.canReadLine() always returns true * Qt::readLine() seg faults when called a second time * A memory leak and seg faulting problems like the above were reported by Caleb Tennis
* Qt::Socket started working correctly when I and regenerated and rebuilt my Smoke library. Before then it was calling the wrong version of QSocket::at() for some reason, and wasn't discarding bytes that had already been read. * Removed comment from the client.rb example about Qt::Socket.canReadLine always returning true now it works.
attempt at fixing bug #104795: x-session-manager executes random binaries: replace /bin*/, not only /bin/. there is still be possibility that "kde-config --path exe" returns a path without /bin*/ at all - if this would be true, a more sophisticated solution would be necessary.
Allow to avoid Job instances to display warning messages coming for the ioslave themselves. In particular, it introduces a new warning() message emitted by Job instances.
Moreover, forwarding ioslave are modified to forward the warning() signal coming from Job instances.
If the address can't get parsed correctly from the From: header, we don't abort the filter creation, but we use the From: header of the message directly in the filter.
Improve the logic for mixed type (xml/icalvcard) folders to: if the foldertype in the config differs from what the message in KMail contains, convert on write to the set format. This is necessary as the resource has no way of knowing what the old format of the incidence was, since only KMail has access to the actual mail in the folder. That means that the resource has to assume the folder's format is the incidences, when writing, while the kmail end can recitify things in the mail when it sees that mail contents and storage format do not align. In effect this will result in incidences of one type in folders configured to use the other one being converted if they are edited. As long as they are not edited, nothing changes, reading is transparent.
This also fixes the problem of ical incidences in xml folders suddenly losing their payload on change and being replaced with a crippled xml-style mail.
Fix at least one of the reasons for this: konqueror: /home/maksim/kde3/kdelibs/khtml/misc/loader.cpp:1307: static void khtml::Cache::clear(): Assertion `it.current()->canDelete()' failed. And actually, quite a bit of other potential leaks or worse in the parser. Unlike in WC, khtml's parser's element stack ref's and deref's elements. So it's not right to merely change the pointer in the stack without updating the refcounts. Testcase upcoming. Thanks to Ismail for the test page.
Fix bug 108297 (JuK crashes when getting cover for an album with quotes)
I was actually able to reproduce this crash for album without a quotation mark. In fact, I was able to reproduce this for each and every single track I tried. Apparently Google changed the output slightly on their image search, which the current code was quite unable to cope with.
I fixed the crash issue by enabling exceptions and catching the KHTML-sent exceptions.
I think I've fixed the underlying issue by changing the code to adapt a little better to upcoming changes in the Google layout. For example there should no longer be hardcoded node position checks.
wheels: The change is non-trivial but it looks like JuK's Google Cover Art Downloader is now completely broken without it. So I will backport this to branch.
We now periodically force the refresh on FreeBSD platform since mtab is not available to notify us about changes. Moreover the name generation method is more robust (sometimes what we consider as device nodes could have a special syntax, like nfs shares). And finally we're a bit more aggressive on the proc-like detection.
Let's hope we'll have more happy FreeBSD users now. ;-)
Fixed the playing of radio streams, which I apparently broke some time ago. Primarily this was caused by failing to set the streaming plugin property to 'NoStreaming'. It seems counterintuitive, but apparently this means "This engine plays streams directly on it's own, so dont help us".
In addition, now properly emits meta data when a track in a live stream changes, so OSD, etc all work now.
* Playlist-Browser saves its state after each change, so that no data is lost when amaroK crashes. * More const-correctness for the Playlist-Browser code.
Current playlist is now being remembered when amaroK crashes.
The cool thing is that I managed to do this with with virtually no performance penalty. Works like this: We save the current playlist after each modification (Items added, removed..). Then we use the same file for the Undo mechanism, by simply copying it. This way the expensive XML construction only needs to be done once.
Fix removing the account from metacontact -> add sub contact action menu after the account is removed.
Also refactor the insertion of the action as it was where it did not belong. There are more mess to fix there anyways. As the action being public *sigh*
don't resize the contents in resizeContents since we do that when the viewport changes size (via the panner), and in resizeContents we have bogus sizes BUG:96064
KListViewSearchLine didn't unhide the right items. Fix that with a new algorithm. Thanks to Richard Smith for his help. He reviewed a earlier patch and ensured that the algorithm is alot more readable.
*sigh* sometimes it's the freaking obvious thing isn't it? and this occurred to me while working on something completely different, not even kicker. BUG:108901
The existing code tries to set var name column width to be half the total width, but does not succeed. The width is set in VariableWidget::setEnabled, which is called in thise context.
#0 GDBDebugger::VariableWidget::setEnabled (this=0x817a5a8, bEnabled=true) at variablewidget.cpp:127 ... #3 0xb742013d in KDockWidget::setWidget () from /usr/lib/libkdeui.so.4 #4 0xb7dbdff5 in KMdiToolViewAccessor::KMdiToolViewAccessor () from /usr/lib/libkmdi.so.1 #5 0xb7dabe47 in KMdiMainFrm::addToolWindow () from /usr/lib/libkmdi.so.1
Here, the width of variable view is still the same as was at creation time (640 for me) and after KMDI sets the the real width of the vartree, the column width becomes was too large.
This commit resizes the column on the first showEvent.
* Added new class QtBuildConfig. This class stores the configuration about the used Qt library. Is Qt used, which major version and where the Qt library path (QTDIR) for this project is. In a later step, it's possible to use different qt installations for each project. E.g. you develop on a KDE4.x programm under KDE3.x. * Added a new tab in the C++ options dialog (CCConfigWidget). The user can edit the configuration QtBuildConfig in this tab. * New class wizard: - Qt checkboxes are disabled (hide them?) on non-qt projects. - Different code is generated for Qt3.x and Qt4.x projects. - Includes of classes that starting with "Q" bypasses the normal template settings. In Qt3.x the include file has always a lowercase include name with a ".h" suffix, and Qt4.x has a mixed case include name without any suffix. - Added the email address to the author's name if it exists.
OK guys, if you use kdesvn-build you might want to test this change. I've changed kdesvn-build to abstract away the various checks for modules that don't support srcdir != builddir natively (at this point, kdebindings, valgrind, and qt-copy). This is so that all modules which don't natively support builddir != srcdir will use the same mechanism to fake it, in addition to good coding practice.
This should also make the script more portable, it might even work on BSD now. =D
More progress on kdevquanta. What comes to my mind is: - projectview moved to kdevelop filelist plugin - user toolbars can execute text and tag action - create a tagdialog plugin to show the tag editing dialogs - add more features to the structure tree (groups are still missing) - port the files tree into a new plugin - create a templatestree plugin - start to rewrite the autocompletion. Now we will have a separate class for each completion type. XML completions (tag, attribute, attribute values, entities) are mostly done. - fixes in the node tree handling, parsing.
There are still old, commented out codes that need a review before removal or they need some other functionality (like groups) before they can be ported. Hopefully I committed everything. ;-)
Add remove-after-install option to add wish 109044. This can be used to remove the builddir and/or source dir after a successful module install, for people with limited disk space.
Supports the following values: none - Don't delete anything. Obviously this is the default. builddir - Delete the build directory after install.
This isn't a command line option though, it needs to be set in your ~/.kdesvn-buildrc (it is possible to set it via the command line though by doing --remove-after-install=builddir).
- Moved caption formatting code into its own class: CaptionFormatter. - Created a small interface for it: CaptionFormatterBase, so that ScrollPixmapView does not depends on FileViewStack. - Added new formatting options (this was the goal of this change): %n for current image position, %N for image count. BUG: 107825
save only the encoding part of the locale instead of the entire locale name. this allows users to switch languages without change of locale.
current svn users: if you see a warning message about locale being changed, since you are already running the svn version, you can safely ignore the warning and say yes (provided you haven't changed your locale recently)
- enable TEXTWORDOUTLIST, we need functioncs from it to populate abstract KPDFTextPage - add several functions to xpdf's TextWord: * int getRotation() - returns the rotation of the word * double getEdge(int x) - returns the edge of char nr. x * double getBaseline() - returns the baseline of the word * GBool hasSpaceAfter() - returns the spaceafter property (is the word followed a space) * TextWord* nextWord() - returns the pointer to the next word in the current textline - undefine HAVE_MKSTEMPS, my libkdefakes doesnt seem to have it
Add a real ACL editing gui based on a listview taken from the acl edit tool in playground by Sean Harmer. I've basically gutted it, though, to make it work with the new KACL class, so while the cool UI remains, the internals are quite different and not completed adjusted yet. Basic ACL editing from the file properties dialog is now possible. Sean Harmer <>
Add some settings to the mediamanager and the GUI counterpart in the KCM. You can now turn off selectively the HAL backend if you dislike its behavior and the CD polling backend which generate activity on the IDE bus, and might fails burning on some hardware.
Better implementation of "store HTTP passwords according to their realm", so that the wallet doesn't need to be opened in the non-protected parts of the website. CCBUG: 76422 BUG: 104948
Note that this change uses a new key format for http-auth-with-realm, so you'll need to erase the old key from the wallet if you don't want to be prompted in the non-protected section of the website, and you'll have to enter the password once more to store it into the wallet with the new format. Alternatively, use kwalletmanager to add "-realm" to each key, where "realm" is the realm sent by the HTTP server :)
Add Cut & Copy to the context menu when right clicking on an incidence in KOrganizer and add Paste to the context menu when clicking on a blank space. This makes it easier to Cut/Copy/Paste events and therefore should make it more obvious how to transfer events between calendars
Forwardported from proko2 branch (most code by Marc Mutz, some stuff by Till and myself) : - Support for special jobs in kleo - Support for more protocols than opengpg and smime in kleo - Removing old code from cryptplug* - Improved GUI design in dynamic crypto dialog - Chiasmus support (german-government crypto)
A working, useful configuration dialog for the helix engine.
Allow a user to specify the path where to find the Helix or Realplayer installation. Care was taken to allow the user to change the paths, even if it fails to initialize at first. Direct the user to the Engine dialog to fix the paths if the Helix or Realplayer libs cant be found.
The paths are saved in amarokrc, so that they will be remembered for the next invocation. No need to create links in the filesystem anymore. And there was great rejoicing in the land...
Look for and load the Helix or Real logo, if found in the Helixplayer or Realplayer installation.
If engine successfully loads, the Helix/Realplayer engine is queried for it's list of plugins, their copyright info, and more info url. A tab is added to the config dialog that allows the user to see which plugins are available. No sophistication here; just because the plugin is shown doesnt mean we can use it for anything. For example, what would we do with the Macromedia Flash plugin?
Make random play work better. Before only the old style unused random list was being updated when a playlist changed. In addition, there are a lot of improvements to the new cover support. * You can drag-and-drop covers onto playlist items. Right now only selected items are altered even if you drag onto a different item, so I'll have to change that. * Clearing a cover from a track no longer removes it from every track using that cover. * Replacing a track's cover works again as well.
I'm sure that both features could use more work so I guess it's back to the grindstone for me, I just wish I had more time. :( CCBUG: 94866
* Now you can drag covers to and from the little cover area on the "Now Playing" bar. * When dragging a cover from the CoverManager or the Now Playing bar an image of the cover is attached to the cursor (it looks like you're literally dragging the cover. :)
Code improvement in MSN plugin code: remove the QString::copy things, check for existing pointer when using static_cast.
FEATURE: Basic receiving of MSNP11 nudge. It display a simple action in chat window for now. MSNProtocol build a clientId based on features that Kopete MSN support. (using enums and binary OR).
OASIS: fixed loading of headers and footers Implemented saving of headers and footers (with the small caveat that first/odd/even can have different content but not different style, like borders or margins).
OASIS: fixed loading of headers and footers Implemented saving of headers and footers (with the small caveat that first/odd/even can have different content but not different style, like borders or margins). BUG: 107424
- KstRMatrix implementation, including skipping frames and boxcar filtering - KstDataSource uses struct for parameters returned - changes to test implementation of readMatrix for AsciiSource - users can no longer specify xmin, ymin, and step sizes for matrices - I think this should be (and is) provided by the datasource - fix constructors/destructors so they work properly - fix loading/saving of matrices - minor changes to matrix dialog
beginning of a kile -> qt4 port. no codecompletion yet, still parts which need porting, a lot of failing assertions within qt, some failing assertions within katepart. (It's definitly more than a simple qt3to4 run), (I hope I did get the branching right, somebody else please do the admin magic)
Take a look at http://www.englishbreakfastnetwork.org/apidocs/kdeedu.log to see what the remaining kstars dox problems are (not too many) and http://www.englishbreakfastnetwork.org/apidocs/kdeedu-apidocs/kstars/html/index.html for the actual api dox in kstars. The INDI dox end up set as the mainpage, I'm not sure why -- I'll take care of that one.
ignore and add sounds, thanks to uga :) these sounds will be used to play with the associated intrument pic and also alone as sounds, without any visual support
Backport fix for bug 108297 (JuK crashes when getting cover for album with quotes) to KDE 3.4.
The patch itself is non-trivial, but the code itself is markedly less brittle now so I feel pretty good about this. Also the feature in question is quite seriously broken without this fix due to a slight change in the Google results output.
Backport of the trunk version. It fixes several bugs and fulfills some wishes as noted below:
BUGS:90930 BUGS:96821 BUGS:100173 BUGS:101742 BUGS:105476 BUGS:105650 BUGS:87778 BUGS:98818 BUGS:101870 BUGS:108043 FEATURE:42643 FEATURE:55078 FEATURE:105241 GUI:The change of orientation will be adopted on the next start of KMix.