|
| This Week... |
|
Kickoff, the experimental application menu alternative developed by SUSE, is imported into KDE SVN. Import of the work to support SVG scalable tilesets in KMahjongg. KViewShell gets support for LZW compressed fax files. Strigi gets support for the D-Bus Inter-Process Communications (IPC) service, KBFX, a prospective element of Plasma, gets full support for Strigi. Kaffeine gets DVB plugin support. Amarok sees fundamental changes in a key statistics technology, along with a name change of the technology to "Amarok File Tracking (AFT)". Development of SafeSite, a network-aware "phishing" protection service proceeds. Interface changes in KTorrent.
|
Sebastian Trueg, lead developer of K3b, describes his path on the way to K3b 1.0:
|
It has been said a million times that I should release K3b 1.0, that K3b was stable enough and so on. But I did not want to listen. There were still many things I wanted to fix. One important part was the Video DVD ripping capability, which was very much outdated and unstable. It needed a rewrite. I finally did that. Now ripping Video DVD titles with K3b is, in my opinion, very easy and straight forward. K3b's Video DVD ripping feature, of course, does not provide as many settings and tweaks as DVD::Rip but I think it is usable by nearly everybody. If you know how to rip audio CDs in K3b, you also know how to rip Video DVD. It works just the same.
A second important issue was the data verification which never worked reliably due to charset conversion problems that I was not able to work around properly. Now I rewrote that one also letting K3b compare complete image checksums instead of comparing every single file. The advantages of this approach are the faster verification process and that it just works. The downside is that you don't know which files were not properly written in case verification fails. Well, maybe I can get to that for K3b 2.0. ;)
Anyway, K3b 1.0 is on its way and I am quite proud of what I accomplished so far. Sure, I still have a huge TODO list and big ideas for the future but that will always be the case. For now, the features K3b 1.0 will provide are a very good base.
Ok, I already mentioned it: K3b 2.0. What are my plans? For now there are two main topics: the complete redesign of the underlying K3b library including K3b's own CD/DVD image format (which is already working BTW) and Video DVD creation. For now there is an excellent wizard like tool for this but I always wanted to have Video DVD creation in K3b. But getting it right takes a lot of work. That's why it has been postponed to K3b 2.0.
Currently I am working on fixing bugs. As you may know, bugs.kde.org still contains hundreds of bugs related to K3b, most of which can simply be closed due to duplication or because they are already fixed or outdated. But I would love to get the list cleared for K3b 1.0 (hint, hint: help me!).
|
|
Emanuele Tamponi talks about the progress he has had with the Summer Of Code project, "Bezier and Scissors Tools for Krita":
|
The project born after a conversation with Bart Coppens on IRC: he asked me to develop a Framework for Curves in Krita and then two tools based on it: a "Bézier Tool" and a so-called "Intelligent Scissors Tool". The Summer Of Code was starting, so why not spend the summer gaining some money for university by coding something for KDE? It was a nice idea :)
So I started. At the beginning, I didn't know much about what I was going to do, but aided by Bart Coppens and all the other Krita/KOffice developers, I quickly got on track :)
The project consisted of 3 parts: a Framework, and two Tools. The Framework provides developers with the ability to quickly develop a tool that draws or selects "curves", that is, lists of points. It gives you the possibility to define "manageable" curves, that have control points for handling. Changing just a line, a tool can either draw a curve or select an area out of it. It is based on the idea of a function, calculateCurve, that converts the data that the user gives to Krita into a list of points, that then can be easily drawn with standard (still virtual if you want to change them) functions.
The second step was applying this framework to a "Bézier Curve Tool". Bézier are "smooth" curves obtained with a parametric function of up to four points. They are used to paint fonts, car design, and whatever else you want to be "smooth". I developed it relatively quickly, and it's split into a "Bézier Drawing Tool" and a "Bézier Selection Tool", just to let you draw/select bézier areas.
Third and last step was the most exciting one: develop the "Intelligent Scissors". This tool is like "Select Shapes" in the GIMP and "Magnetic Lasso" in Photoshop and combines the best features of the two. It uses 3 algorithms to get the work done: edge detection, non-maximum suppression to obtain a thin line out of the previous algorithm, and then A* algorithm to find the optimal path through the calculated edges.
But the "magic" of this tool comes now: it follows your mouse while you are moving it, so it selects the edges that *you* follow. This way, it can be fast (because it automatically adds other "control points" when your mouse is too distant from the last control point added) and at the same time it is very precise, because you see the edge it has found and you can, if you want, correct it. This behaviour has been taken from Photoshop.
I've taken a behaviour from the GIMP too: you can modify the curve before making the final selection. So, while you use the tool, if you see that a section of the curve is wrong, you can hit the "Ctrl" key to switch to "Manual Mode": the tool stops following the mouse and lets you manually select, delete, add (in the middle of the curve too) control points. Then you hit "Ctrl" again, return to "Automatic Mode" and after a single click the tool starts to follow your mouse again. Easy, isn't it?
Some screenshots:- Bézier Curve Tool (1, 2)
- Magnetic Outline Selection Tool (1, 2)
Luckly I finished the tool right around the 21th August deadline, so it's all OK for Summer Of Code :) The two months of development gave me the opportunity to enter the world of Open Source: I'm now amazed with how fast and good KOffice 2.0 is developing, so I'd like to participate in the development of the Flake graphical object library very much, but also on other parts of Krita, KOffice or even KDE! But I like also other open source projects, so, perhaps, I could participate as documenter/developer/patcher for them too :) It's an amazing world and I think that its fast growth will bring great advantages to all.
|
|
Staying with the KOffice theme, KOffice 1.6 saw a feature freeze on 1st September, which leads up to the release of KOffice 1.6 Beta 1 on Friday 8th September.
|
This week saw further developments in Strigi, the leading indexing and search contender for KDE 4. Jos van den Oever gives us a quick update on current progress:
|
Strigi now has full D-Bus support. It is now possible to query and steer Strigi through simple scripts in all languages that support D-Bus. Examples are in the SVN repository under playground/base/strigi/src/searchclient. Current examples are written in Python, one with Qt3 as the GUI, and the other using GTK. Nothing stands in the way of creative search integration in Plasma.
Compiling has been reported to be a bit difficult for some people, although the #kat IRC channel has people that can help. Also inotify support is a bit whimsical at the moment so that's best disabled until better scrutinized. But why let that get you down, it's no worse then setting up dbus in the first place :-)
Hail to all scripters out there: a call for imaginative queries!
So, what kind of queries are possible?
Examples include:- give me all mp3 files in my home directory
- all emails that have "commit-digest" in them
One thing in development which will be awesome is numerical comparison, for the backends that support it, the last thing remaining being to extend the API to support this feature. Then, you can say "give me all email from last week that were larger than 1 MB". What we would like is for people to come up with crazy queries and then we can see if we can implement them, an example being "give me all email that has xls attachments" - the information is there, but the query language cannot yet handle that so we have to move quickly if we want to keep ahead of Beagle, their latest release has wildcard support, so we have to work hard!
|
|
This week saw an interesting effort to see how many UNCONFIRMED bugs in Konqueror could be processed, or "triaged", in one day, which became the inaugural Konqueror Bug Day on Wednesday 30th August.
About 150 bugs were dealt with kung-fu style, with the running count now past 250. To visualise the magnificance of this achievement, see this graph (with the sharp fall at the end).
To push this momentum into a continuous downward trend, a new IRC channel, #kde-bugs, has been created where people interested in bug triage can discuss the process. Just like writing documentation, bug triage is an ideal way for less-technically inclined people to contribute positively to KDE. Every weekend from now should see a bug effort targeting a different area of KDE. Beginners are welcome, so join #kde-bugs today to participate!
|
|
| Statistics |
|
Commits: |
2687
by 212
developers, 5807
lines modified, 1216
new files. |
|
Open Bugs:
|
12945
|
|
Open Wishes:
|
11492
|
|
Bugs Opened:
|
333 in the last 7 days. |
|
Bugs Closed:
|
476 in the last 7 days. |
|
|
Commit Summary |
|
Module
|
Commits
|
|
/trunk/KDE |
|
|
/trunk/www |
|
|
/branches/stable |
|
|
/trunk/l10n |
|
|
/trunk/extragear |
|
|
/trunk/playground |
|
|
/branches/work |
|
|
/branches/KDE |
|
|
/trunk/koffice |
|
|
/branches/koffice |
|
|
|
Lines
|
Developer
|
Commits
|
|
|
Hamish Rodda
|
|
|
|
Laurent Montel
|
|
|
|
Stephan Kulow
|
|
|
|
Dirk Mueller
|
|
|
|
Gilles Caulier
|
|
|
|
Eike Hein
|
|
|
|
David Faure
|
|
|
|
Jos van den Oever
|
|
|
|
Sebastian Kügler
|
|
|
|
Marcus Furlong
|
|
|
|
|
Internationalisation (i18n) Status
|
|
|
Bug Killers and Buzz |
|
Bug Killer
|
Number Of Bugs Closed
|
|
Andreas Kling
|
|
|
Robert Moore
|
|
|
Philip Rodrigues
|
|
|
Tommi Tervo
|
|
|
Seb Ruiz
|
|
|
Andras Mantia
|
|
|
Danny Allen
|
|
|
Eric Kjeldergaard
|
|
|
Luboš Luňák
|
|
|
Mark A. Taff
|
|
|
|
Program |
Buzz |
|
Amarok |
|
3237 |
|
|
Kopete |
|
|
Kontact |
|
|
Kate |
|
|
KMail |
|
|
SuperKaramba |
|
|
K3B |
|
|
KDevelop |
|
|
Kicker |
|
|
aKregator |
|
|
|
Person |
Buzz |
|
David Faure
|
|
286
|
|
|
Waldo Bastian
|
|
257
|
|
|
George Staikos
|
|
242
|
|
|
Tom Chance
|
|
233
|
|
|
Kurt Pfeifle
|
|
230
|
|
|
Aaron Seigo
|
|
223
|
|
|
Jonathan Riddell
|
|
221
|
|
|
Boudewijn Rempt
|
|
221
|
|
|
Scott Wheeler
|
|
220
|
|
|
Carsten Niehaus
|
|
205
|
|
|
|
|
|
| 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 |
|
Development Tools |
|
Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/quanta:
|
Fix a long-standing bug that I could finally somewhat reproduce, which caused growing of quantarc until it was too large to handle, caused by the automatic backup system.
Fix also other bugs in the auto-backup. Change symlink handling, so paths are resolved after reading from config files. Hopefully it doesn't introduce new bugs. |
|
|
|
|
|
|
Andras Mantia committed changes in /branches/KDE/3.5/kdewebdev/quanta:
|
Save As asked for confirmation of "save before close" for modified files due to the setEncoding() call. This was confusing and could result in data loss as well. For now, remove the possibility to change the encoding in the save dialog (users should change the encoding and save later or save and change later).
Possiby fixes #131728 (I cannot reproduce it with this version). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Networking Tools |
|
Percy Leonhardt committed changes in /trunk/extragear/network/knemo/knemod:
|
|
Fixed calculation of transfer speed. The former method was meant to be more accurate but obvioulsy wasn't. Maybe I should add a history to avoid 'jumping' of the transfer speed. |
|
|
|
|
|
|
|
|
Features |
|
|
|
|
|
Hamish Rodda committed changes in /trunk/KDE/kdevelop:
|
Initial support for converting a duchain from its on-disk representation to editor ranges and cursors, and initial highlighting.
Makes documents highlighted from just after opening. Seems to be a bug with highlighting of uses though... |
|
|
|
|
|
|
|
|
|
|
Educational |
|
Jason Harris committed changes in /trunk/KDE/kdeedu/kstars/kstars:
|
1. Change mouse pointer to Qt::PointingHandCursor when the mouse is on the image widget in the Details dialog. This provides a visual hint to the user that the widget is clickable (to open the Thumbnail picker).
2. Change all KShortcut( "Ctrl+C" ) to KShortcut( Qt::CTRL+Qt::Key_C ). |
|
|
|
|
|
|
Games |
|
Mauricio Piacentini committed changes in /trunk/KDE/kdegames/kmahjongg:
|
|
Initial drop of KMahjongg rewrite to add SVG support. Not complete yet, need to port drawing code to QGV and restore loading of custom tilesets and backgrounds, among others. Commiting to avoid losing work. Basic functionality is working, including window resizing (still need adjustments, centering, clean up) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/digikam:
|
digikam from trunk : new batch tool to re-generate all albums items thumbnails for all icon sizes. Use the new Tools/Rebuild all Thumbnails option for that.
This tool can take a while on slow computers (you can take a coffee (:=)). Note : you cannot use digiKam during thumbnails processing. |
|
|
|
|
|
|
|
|
|
|
|
|
Aaron J. Seigo committed a change to /branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerbutton.cpp:
|
ok, only move the window if your moving it on the same desktop via the pager. feels a bit odd to me (though i'm starting to get used to it already) and based on user feedback isn't what people expect. it does break a bit with literalism, but if it aligns better with expectation
.........
there's also some BR#s that this applies to but my day has been way too frustrating to go searching for them right now. |
|
|
|
|
|
|
|
|
Jos van den Oever committed changes in /trunk/playground/base/strigi:
|
Added initial support for DBus communication to Strigi.
Four functions are supported at the moment but the complete interface will be implemented shortly. Right now, getStatus, countHits, getHits and stopDaemon are implemented. |
|
|
|
|
|
|
George Staikos committed changes in /trunk/KDE/kdelibs/kio:
|
|
I'm starting to get scared that I might lose this code so I want it in svn now. The basics work, and all that really remains is some testing and implementation of services. SafeSite is a URL analyzer that can aggregate data from a variety of service providers in an attempt to determine if a given URL may be malicious, or a "phishing" attack. It needs to be implemented at the application level, and would be very well suited to KMail, Konqueror, and Kopete. The choice and weight of services should be configurable and they should all default to off or prompt for privacy purposes. |
|
|
|
|
|
|
|
|
|
|
|
|
Luboš Luňák committed a change to /branches/KDE/3.5/kdebase/startkde:
|
|
In addition to $KDE_FULL_SESSION add also KDE_FULL_SESSION X property set on the root window (of the default screen). This allows detecting whether KDE is running even from things like "ssh -X" or kdesu which don't preserve the environment. See the comment for more details. |
|
|
|
|
|
|
|
|
Dominik Haumann committed a change to /trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp:
|
fix the right way: honor protocols that do not support directory listing.
I'm not 100% sure whether a call of locationEdit->lineEdit()->setModified(true); right in front of the return is needed (I think not), so please review ;) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b:
|
* Make K3b compile with KDE 3.2 * Make libdvdread an optional dependancy (no Video DVD ripping without it) including --without-libdvdread configure option * Added K3b option to keep the action dialogs open after the process finished (this was the default behaviour in K3b 0.12. Now the default is back to its old state: close the dialog. This can be changed in the misc K3b settings.) * Show the splash screen as soon as possible * Check for transcode & vcdxrip and warn if they are not available while the user attempts to rip a Video CD/DVD. |
|
|
|
|
|
|
Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:
|
|
ATF -> File Tracking (Amarok File Tracking (AFT)? :-)). New read-only algorithm per discussions in IRC. Less robust, but works on read-only collections and is possibly safer. Also possibly drop the ATF moniker, since we're not using embedded tags anymore to track. |
|
|
|
|
|
|
Seb Ruiz committed changes in /trunk/extragear/multimedia/amarok:
|
* Remove the option to enable/disable history in dynamic mode. It is now on always. * Disable "Played tracks to show" option if tracks are not removed from dynamic mode, when creating a new dynamic playlist * Reduce the minimum available tracks to show to 0. * The beginnings of restoring purged items for podcasts (got caught up in the commit). |
|
|
|
|
|
|
|
|
|
|
Giovanni Venturi committed changes in /trunk/playground/network/ksniffer:
|
I dedicate some time in this summer to my KDE sniffer... I hope I can continue I've seen a lot of things to fix to release version 0.2
I've made some changes in the configuration dialog implementing the possibility to turn off the warning when in the capture you get 0 packets
Now if a network error occurs I can detect it and stop the sniffing
I have to change the way 'ksniffer' communicates with the suid 'sniff' because is not so good now... |
|
|
|
|
|
|
Jernej Kos committed changes in /trunk/extragear/network/kftpgrabber/src:
|
Multiple queue and session related changes: - better handling of multiple connection threads per session - better handling of connection losses - removed directory scanning from TransferDir - consolidated TransferDir and Site common code to QueueGroup- minor cleanups |
|
|
|
|
|
|
|
|
|
|
Eike Hein committed changes in /trunk/extragear/network/konversation:
|
* Support %nick as a placeholder for the current nick in the auto-connect commands.
* Don't balk on leading whitespace in the auto-connect commands. I assume I'm not the only one who by reflex puts a space after the separating ";". |
|
|
|
|
|
|
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
|
The search plugin is now part of a tool view and opens tabs as necessary. This means that: - it is now possible to do multiple searches at the same - tabs can be closed |
|
|
|
|
|
|
Diego Iastrubni committed a change to /trunk/extragear/network/konversation/src/ircview.cpp:
|
This is a work arround for bug 112755. Now conversation support BIDI completely. The problem was caused by a bug in QTextEdit. See the bug report for a full explain.
I also documented, blah... just gave a link... which explains what are those BIDI constants used in the source. |
|
|
|
|
|
|
Diego Iastrubni committed a change to /trunk/extragear/network/konversation/src/ircview.cpp:
|
this is an experimental patch which aims at testing a new algorythm for detecting the direction of the string: istead of checking the first strong character, this tests for the whole sentence and counts the appearence of LTR and RTL chars. this also counts for neutral chars and if the sentence has no real direction, the next stage will be to keep the direction of the last line.
this will help people writing lines like: :)
after writing a hebrew/arabic line. the smilie will be also RTL.
as a bonus, on the commented code i cached up the string length. no need to compute it all the time. another small optimization should be using pointers and not arrays (or QChar::at() ) which is o(n) instead of o(1).
boy, how i miss qt4 :) |
|
|
|
|
|
|
Office |
|
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita:
|
Much better implementation of indirect painting. Adds the Alpha Darken composite op, as suggested by Ilmari Heikkinen. Currently only workingly implemented for RGBA8 and Grey8, the rest is pending. This adds correct indirect painting in the following cases: * Paint with opacity varying according to tablet pressure (cool effect, especially with the non-first layer's composite op being set to darken alpha too) * Paint on layer mask with indirect painting * Paint on adjustment layer (pending actually working implementation of alpha darken on alpha colorspace) * Paint with the brush op being different from 'Normal', on a layer that has a different from 'Normal' composite op. Or so =) Thing that doesn't work yet: indirect painting on selections :( Users of Krita Development Versions: beware! You will need to recompile koffice/filters/krita (and I even need to manually enter the magick dir and compile that manually) too, in case you only svn up in koffice/krita and make there. This is because the patch changes some things in, amongst others, the PaintLayer, on whose structure the filters depend. |
|
|
|
|
|
|
|
|
Bart Coppens committed changes in /branches/koffice/1.6/koffice/krita/plugins/paintops/defaultpaintops:
|
|
Add the posibility that the user can, for the brush paintop, edit a curve that controls the way that the tablet pressure is translated into size, opacity and darkness. The default is to not use these curves, of course, but giving the user the chance to edit it is a plus (because I get the impression that at max pressure, my tablet seems to give a more discrete and pixelated feel, so with my tablet it is nice that now I can set opacity to 100% at half of the maximum pressure). |
|
|
|
|
|
|
Thomas Schaap committed changes in /trunk/koffice:
|
|
Implemented support for encrypted documents in KOffice. Opening documents is completely transparent. Note that saving documents is not implemented in the GUI yet, nor is it currently functioning fully correct: there are still interoperability problems. Also moved KoXmlReader from libs/kofficecore to libs/store. |
|
|
|
|
|
|
|
|
|
|
Jan Hambrecht committed changes in /trunk/koffice/karbon:
|
* implemented loading and saving of grid data * added some getters to KarbonGridData and made some others const * made some cleanups in configure dialog and connected defaultSlot to defaultClicked signal * the snapping and visible state of the grid are not saved/loaded (or should they?) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optimise |
|
|
|
|
|
David Nolden committed changes in /branches/kdevelop/3.4/languages/cpp:
|
|
after some profiling, greatly improve the performance of the code-completion. The main bottleneck is removed now(by using implicit data-sharing in the TypeDesc-class). Some overall optimization would still be useful. |
|
|
|
|
|
|
|
|
Matt Rogers committed a change to /trunk/KDE/kdevelop/lib/kdevpersistenthash.cpp:
|
Don't iterate over the hash. This is 5 times faster than iterating over the hash. From Adam's box:
real 6m12.953s user 5m59.642s sys 0m1.304s
From my box with the patch:
real 1m9.290s user 0m39.038s sys 0m1.976s
Our boxes are about the same speed so the speedup is huge. To quote adam:
holy crap that's *SO MUCH BETTER**** |
|
|
|
|
|
|
|
|
|
|
Sebastian Sauer committed changes in /trunk/koffice:
|
|
Added the bytes() and setBytes() methods to be able to manipulate the pixels direct. This is rock fast (near C++ speed), but very experimental stuff! |
|
|
|
|
|
|
Other |
|
|
|
Educational |
|
Andreas Nicolai committed changes in /trunk/KDE/kdeedu/ktouch:
|
Merged changes from KTouch version 1.6 (KDE 3.5.4) into current QT4/KDE4 trunk version. Fixed some Qt3 compat issues and replaced QVector, QValueVector, QValueList classes with QList. Replaced std::set with QSet. KTouch compiles and runs but does not work properly yet. |
|
|
|
|
|
|
|
|
Graphics |
|
Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:
|
|
KPhotoAlbum crashed when renaming a category while the browser was showing that category. This made me finish up an old ongoing refactoring of using the category names as few places as possible, and instead use the CategoryPtr. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Other |
|
Benoît Jacob committed changes in /trunk/kdesupport/eigen:
|
|
This patch removes the buffer manager and reverts to doing dynamic memory allocations without shame. Eigen must just keep focus on simple things, it's not intended for large computations, and anyway my implementation was not so good. |
|
|
|
|
|
|
|
|
|