Issue 161

12th December 2010 by Mutlu Inek

Contributors

Danny Allen
Alexander van Loon
Mutlu Inek
Marta Rybczynska
Marco Krohn

This Week...

Bug fixing efforts throughout the KDE development platform and applications after the release of KDE SC 4.6 Beta 2. New features and many bug fixes in the development branch of the Akonadi-fied KDE-PIM applications, with continued work on porting to Windows CE. Various features and bug squashing in KOffice since the release of the first release candidate of version 2.3. Ganesh Paramasivam has been working on implementing the new ODF change-tracking specification. Lots of work also in the koffice-essen branch, which is to become the master (or trunk) branch of Calligra once the project moves to Git. After the KOffice / Calligra split, Krita is removed from KOffice, and Kivio is renamed to (Calligra) Flow. Further work on Muon and its underlying library for handling the APT package manager. New features and fixes for Digikam and KIPI-Plugins. The big move from HAL to UDEV continues. Bug fixes and work on NEPOMUK. Features and fixes for Plasma Mobile and polishing of the Plasma Desktop, specifically notifications. The RSSNow applet is being ported to QML. The reworking of Oxygen mimetype icons continues. Libalkimia moves to kdereview. Phonon, K3b, KPackageKit, print-manager, and the Python plugin for KDevelop move to Git. KDE-Edu is now free of KDE/Qt3 support.
Jarosław Staniek introduces Predicate, a new iteration of the KexiDB library for database connectivity and creation:

History

Predicate is a database abstraction layer that originated from the Kexi project. It is scheduled to eventually succeed KexiDB 2 within the Kexi project. Other projects are welcome to make use of it as well.

Back in 2002, only MySQL and CQL++ were supported by Kexi. Very few database access features were abstracted and much of the databases-specific code was within the Kexi application code itself. In 2003, the CQL++ backend was replaced by SQLite. The need for major changes was taken as an opportunity to develop an abstraction layer, called KexiDB. This abstraction allowed the developers to keep the code base of the application clean and more easily maintainable. KexiDB was a success and in 2004 SQLite (2.8 at the time) was chosen as Kexi's default database engine, to enable the user to start working without any knowledge of databases, and, more importantly, to diminish the administrative overhead. Over time, more and more databases were supported by KexiDB.

The introduction of Qt4 and the development of the KDE4 dev platform necessitated a port of Kexi to Qt4 and the KDE4 libraries. KexiDB was first cleaned-up and later ported, resulting in version 2 of KexiDB in 2006. This version was introduced to the Kexi users with the release of Kexi 2.2 in May 2010 and continues to be used in the recently released Kexi 2.3.

Since KexiDB 2 depends on only a few KDE libraries, a Qt-only branch of KexiDB 2 was begun at Akademy 2008. This branch became known as "Predicate," as proposed by Aaron Seigo.

Principles and Features

The raison-d'être for KexiDB (and thus Predicate) is the fact that both database backends used by Kexi are very different. KexiDB offers a high level of abstraction with a focus on the different data types, behavioral differences, and the differences in feature sets of each database. More specifically, SQLite uses a liberal concept of type affinity, there are file or server based backends, and different transaction models are used.

KexiDB supports backends through plugins that are based on the KDE plugin API. There is no use of QtSQL nor QtSQL compatibility. The main difference between KexiDB and QtSQL remains the ability to create databases from scratch without executing backend-specific DDL (CREATE) statements. This is unique to KexiDB. Also, modification of the schema is beyond the scope of QtSQL. While we don't intend to criticize QtSQL for this, Kexi needed these features since it is not a database administration tool. It's a complete tool for developing database applications from scratch. Some older discussions on these topics can be found here

Parallel to the development of KexiDB, a database-related graphical layer was developed for Kexi, mainly in order to achieve tabular views of larger data sets. It supported Model/View/Delegate patterns long before Qt 4 became stable and was in wider use. Other features of Kexi taking advantage of KexiDB abstraction are the Kexi Forms, Table Designer, and Query Designer. These are modules also known by the old hardcore MS Access developers.

Since Query Designer in Kexi also supports the SQL View, KexiDB delivers its own SQL parser implementation. It accepts a small subset of SQL and can be used in non-graphical programs to introspect the schema of a given SQL query without using any backend or even executing the statement (the same parser is also a part of Predicate). Classes defining the parse tree are also part of the public API. Many extensions for the parser API are planned, e.g. supporting DDL (CREATE) queries. KexiDB is able to translate parsed statements back into SQL statements, which is done differently depending on the given database backend. Its database backend may also support a flat file format. Predicate has the same parser features as KexiDB 2.

In the meantime, Kexi Web Forms plugin have been developed as a Google Summer of Code 2008 project. Like any other, also this plugin accesses the database backend through the KexiDB abstraction. This development validated usefulness of KexiDB in client/server applications and even in 3-tier architectures. Web Forms was offered in Kexi 1.1 with its own lighttpd-based web server. That said, while Web Forms is very interesting project, it is temporarily disabled in the Kexi 2 series. This module awaits being ported to Qt4 and is in need of a new maintainer.

Kexi 2 also features a well-received Reports module, a fork of OpenRPT integrated with the KexiDB 2 database abstraction used for data access purposes.

Current State & Plans

Feature plans of KexiDB have always been following the plans defined for Kexi. This is more or less the recipe for Predicate too, until more non-Kexi users appear.

Currently, Predicate is in active development and its API is not frozen. The status of the supported drivers is the same as for Kexi 2's KexiDB. It can be checked here. The SQLite 3.x, MySQL, PostgreSQL backends are stable. One extra point for Predicate is that PostgreSQL support has been reimplemented using the libpq C library, which made the lower-quality libpqxx-based one (C++) obsolete.

KexiDB 1 supported MySQL, PostgreSQL, ODBC and SQLite 2 and SQLite 3. With the port to Qt4/KDE4, the new KexiDB 2 initially supported an increased number of backends due to a high number of active contributors to the project. Thus, KexiDB 2 originally also supported xBase (dBase), Sybase (and MS SQL Server) and Oracle backends. See the sources in SVN. During the further development KexiDB 2 and the porting to Qt 4, however, support for anything but MySQL, PostgreSQL, and SQLite 3 was dropped. This reduction in database support is still the case for the current KexiDB and also for its successor Predicate. The Predicate team is looking for maintainers for these backends. The old (early KexiDb 2) source code can be reused and reintegrated into Predicate.

In the future, the Predicate project may adopt GUI bindings to the databases that are now a part of Kexi's internal framework. This includes connection configuration facilities (settings, GUIs), tabular views for queries, and database forms, just to name a few. All this would be part of an additional library such as PredicateGui, so the core of Predicate would stay non-GUI as it is now. Decisions regarding these ideas depend on the feedback from 3rd-party developers.

Further plans for Predicate include adopting a KexiDB-based migration API (i.e. facilities for importing database schemata and/or data from pre-existing data sources into formats/backends understood by Predicate). These data sources include not only database backends but also text files like CSV, and binary formats like MS Access .mdb files. Excel spreadsheets and data embedded into ODF-based formats is also within the scope of a future migration API.

The scripting APIs for Kexi's database handling will be ported to be based on the Predicate API. This may result in bindings for Javascript or other languages as a part of the Predicate project itself.

Kexi intends to switch from KexiDB 2 to Predicate in the mid-term, most probably in version 2.5.

KexiDB 2 vs Predicate

Speaking of the differences between Predicate and the latest KexiDB, there is one design decision not yet implemented. KexiDB (and thus Kexi) stores extra database schema information (e.g. table names, column names, and types) in its own "system" tables (but in the same database). This often duplicates the native database schema information. With old versions of SQLite, it was difficult to access the native schema, but by now there's no point in maintaining this duplication. However, the idea is still valid, for example, tables can have translatable names, and queries or forms need the data (e.g. XML definition) and metadata to be stored somewhere anyway.

Summing up, Predicate allows the developer to use it in a light (just database access) or a full mode (database creation, bindings to the custom GUIs). Kexi 2 currently requires a “one-time import” even of MySQL and PostgreSQL databases before opening them. As soon as Kexi is ported to Predicate, Kexi will be able to handle databases created by other programs without the import.

Compared to KexiDB, the Predicate API is increasingly based on implicitly shared data classes (like in QString or Qt DOM), and is thus much more convenient for daily use.

"Target market"

Predicate may be interesting for the rapid development of high-quality fat-client applications based on Qt only or KDE technology. Non-Qt C++ developers may find Predicate relatively easy to adopt since the Qt-specific knowledge necessary is largely limited to Qt Core.

Since Predicate is currently mainly a building block of Kexi, a graphical application, an increasingly number of new features will be devoted to the use in data-aware GUI applications. Therefore, many tasks such as defining database schemata and queries or creating forms can be performed using Kexi without touching C++ or even without computer programming, and the remaining tasks can be performed by a skilled programmer.

Predicate can be used in middle-ware layers of software systems as well; in fact the maintainer has already employed Predicate in a commercial project.

Predicate has facilities especially useful in systems where more than one type of backend is used, i.e. data warehouses or automated data migration/integration.

After Kexi moves to Predicate, it will also become beneficial to use Predicate for the development of Kexi extensions, be it for spacial databases handling, custom data-aware views or specialized import/export routines.

There are at least two companies that supported the development of KexiDB: AutomatiX GmbH, which continues hosting kexi-project.org, supported improvements in 2003 (See this commit.) And OpenOffice Software LLC owns a lot of credits as it was the sponsor of the core developer of Kexi and KexiDB, Jarosław Staniek, from 2003 to 2007.

Statistics

Commits 1997 by 189 developers
Open Bugs 22488
Open Wishes 17182
Bugs Opened 596 in the last 7 days
Bugs Closed 770 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
197
 
/trunk/KDE
162
 
/trunk/kdesupport
109
 
/trunk/extragear
69
 
/trunk/playground
49
 
/trunk/l10n-support
45
 
/branches/stable
40
 
/trunk/www
24
 
/branches/extragear
23
 
/branches/work
22
 
Files Developer Commits
280
 
Nuno Fernades Pinheiro
81
 
113
 
Patrick Spendrin
69
 
149
 
Tobias Koenig
58
 
122
 
Jonathan Michael Thomas
56
 
130
 
Marco Martin
49
 
477
 
Pino Toscano
43
 
253
 
Gilles Caulier
43
 
1492
 
Chusslove Illich
32
 
90
 
Volker Krause
31
 
83
 
Andre Heinecke
30
 

Internationalization (i18n) Status

Language Percentage Complete
Ukrainian (uk)
100%
 
Portuguese (pt)
100%
 
Swedish (sv)
99%
 
Spanish (es)
96%
 
British English (en_GB)
96%
 
French (fr)
95%
 
Low Saxon (nds)
93%
 
German (de)
93%
 
Dutch (nl)
92%
 
Estonian (et)
90%
 

Bug Killers

Person Bugs Closed
Darío Andrés
170
 
Myriam Schweingruber
100
 
Tobias Koenig
66
 
Pino Toscano
35
 
Christophe Giboudeaux
28
 
Aaron J. Seigo
19
 
Marco Martin
19
 
Christoph Feck
15
 
neoclust kde free fr
12
 
Thomas Lübking
12
 

Commit Countries

Commit Demographics

Sex

Age

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

     

Development Tools

[] [] []   []

Educational

[] []    []

Graphics

[] []    

KDE Base

[] [] []   []

KDE-PIM

[] [] []   

Office

[] []    []

Konqueror

     

Multimedia

[]     []

Networking Tools

  [] []   

User Interface

[] [] []   

Utilities

[] [] []   []

Games

[]     

Other

     

There are 171 selections this week

Bug Fixes

Development Tools

Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src:

force rows fetching to be sure all search results are shown

Diffs: 1, 2, 3, 4, 5, 6 Revision 1204020

Educational

Etienne Rebetez committed changes in /trunk/KDE/kdeedu/kalzium/src:

removing the titration calculator. It is not redy for the upcoming 4.6 release.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1204953

Graphics

Gilles Caulier committed changes in /trunk/kdereview/libkface/libface/Eigenfaces.cpp:

apply patch #54203 from Teemu Autto to return updated vector value ID

Marcel Wiesweg committed changes in /trunk/extragear/graphics/digikam/digikam/albummanager.cpp:

Clean album root id -> album pointer hash in removePAlbum, to ensure it does not
contain an invalid pointer.

Nicolas Lécureuil committed changes in /trunk/extragear/graphics/kipi-plugins:

Fix sending mails with spaces or accents inside the filename

Nicolas Lécureuil committed changes in /trunk/extragear/graphics/kipi-plugins:

Adapt simpleviewer with new version

Pau Garcia i Quiles committed changes in /trunk/extragear/graphics/kipi-plugins/kopete/plugin_kopete.cpp:

Fix sending in Kopete plugin. There's still the problem of Facebook being incorrectly reported as potential receivers of files. That's a bug in Kopete, though.

Pau Garcia i Quiles committed changes in /trunk/extragear/graphics/kipi-plugins/kopete/plugin_kopete.cpp:

Enable plugin after Kopete is started in this case:
1. KIPI-enabled application (for instance, Gwenview) is started but Kopete is not running
2. User starts Kopete
3. Export to IM contact should be available

There is still an issue when sending to Pidgin, it seems I'm calling sendFile too fast.
It works fine with KMess.

KDE Base

Dawit Alemayehu committed changes in /trunk/KDE/kdelibs/kioslave/http/http.cpp:

- Use the content-type metadata sent by the client regardless of request method.
- Append "Content-Type:" if it is missing from the meta-data sent by the client.

Matthias Fuchs committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/runners/bookmarks/bookmarksrunner.cpp:

Supports bookmarks that have no protocol set.

Matthias Fuchs committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/runners/locations/locationrunner.cpp:

Allows a wider range of urls without a protocol to be accepted, like those containing umlauts etc., queries, or IPV4-Adresses.
If no protocol has be defined, then ports aren't supported.
Correctly handle protocols that are not a NetworkLocation or http, ftp.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/dataengines/rss/rss.cpp:

ignore feed entries that are totally empty (yes some feeds have them)

Rolf Eike Beer committed changes in /trunk/KDE/kdelibs/kioslave:

fix two more cornercases in Content-Disposition parsing

-the path separator might be something else than '/'
-if an argument is quoted it must also have an end quote

Rolf Eike Beer committed changes in /trunk/KDE/kdelibs/kioslave/http/parsinghelpers.cpp:

fix the path injection protections so it also catches / on Windows

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/systemtray/ui:

repaint immediately on theme change

Aaron J. Seigo committed changes in /trunk/KDE/kdelibs/plasma/private:

repaint when the svgs change

Nicolas Lécureuil committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/lock_logout/lockout.cpp:

Load a default configuration if the configuration stored in the conf file is broken (prevent crash)

Aurélien Gâteau committed changes in /trunk/KDE/kdelibs/kdecore:

Do not crash if an job was deleted in a slot connected to result()

Note that an assert will trigger if the job is in autoDelete() mode.

David Faure committed changes in /trunk/KDE/kdelibs:

Fix autoloading of phase-2 modules when restarting kded.

There will be a "phase 2" only if we're in the KDE startup. If kded is restarted
by its crashhandled or by hand, then there will be no second phase autoload, so load
these modules now [if in a KDE session]

As reported by these guys more than a year ago:

Marco Martin committed changes in /trunk/KDE/kdebase/runtime/plasma/declarativeimports/core/datamodel.cpp:

delay the reset signal after a setFilterRegExp: seems to make views behave a bit better:
avoids "holes" and some crash

Matteo Agostinelli committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/runners/calculator/calculatorrunner.cpp:

Correct handling of decimal point symbol depending on the localization

John Layt committed changes in /trunk/KDE/kdelibs/kdecore/localization:

Store a pointer to the KLocale config file for later reference.

Currently KLocale does not save a pointer to the config file that was used to initialise it.
However, because the creation of the KCalendarSystem is delayed until it is actually used the config file is not available when the calendar needs it to read the per-calendar system user settings.

Hence the need to keep a copy of the pointer for later reference. In the vast majority of cases the pointer will be null indicating that the KGlobal::config() should be used.
The only cases in KDE svn where a config is passed in are the Locale KCM and Kraft.

See reviewboard http://svn.reviewboard.kde.org/r/6047/

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1204354
Michael Pyne committed changes in /trunk/KDE/kdelibs/kdecore/util/kshareddatacache.cpp:

Remove kDebug()-type methods from KSharedDataCache::Private::mapSharedMemory()

This change should make me more popular, as it prevents crashes from using kDebug before
a global component has been set. And it's probably for the best -- this code is called
very early in a kdelibs-user's startup it seems, before all the debug areas and such are
ready for use anyways.

In case there really are problems, we just fallback to Qt debugging facilities here.

Gökcen Eraslan committed changes in /trunk/extragear/base/networkmanagement/kded/service.cpp:

Create ActiveConnectionMonitor after all objects and observer registrations because, activatableList is filled in constructor of NetworkInterfaceMonitor and
updated in registerObserver methods.

Q: Why is this necessary?

A: In a default installation of a distro, NM creates a "Auto ethx" connection and since this is a system wide connection and ActiveConnectionMonitor is constructed
_after_ registration of nmDBusConnectionProvider, KNM does not know about activationState of Auto Ethx connection. This commit fixes this.

Vishesh Handa committed changes in /trunk/KDE/kdelibs/nepomuk/core:

Fix the Memory leaks in Nepomuk Core -
* ResourceData::updateKickOffLists shouldn't be given a Soprano::Node::uri() as the node might not have a uri ( in the case of a Resource ) It's better to pass it a Nepomuk::Variant and let it get the type from there.
* ResourceManager::cleanUpCache() should also clear the m_initializedData. This is required in the rare case when all the kickOffProperties are removed.

Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil/daemon/actions/bundled/suspendsession.cpp:
Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil/kcmodule/profiles:

Add an option to regenerate default profiles from the UI.

Dario Freddi committed changes in /trunk/KDE/kdebase/workspace:

Make profiles really translatable by separating ID and Name in the config UI.
The Daemon will provide clients with a map id->name (so 3rd parties don't have to parse the config file theirselves), and will translate bundled profiles based on their ID.
Fix also all the 3rd party apps accordingly.

Dario Freddi committed changes in /trunk/KDE/kdebase/workspace/powerdevil/kcmodule/profiles:

Thanks to the new ID/Name separation, is now possible to edit name and icon of a profile

David Faure committed changes in /trunk/KDE/kdelibs/kdecore:

Fix deletion of groups so that a group doesn't exist() after being deleted :-)
A group now exists if it has at least one non-deleted entry (including in subgroups).

+ added unittest for deleting a nested group, and check what gets written to disk.

FIXED-IN: 4.6

John Layt committed changes in /trunk/KDE/kdebase/runtime/kcontrol/locale:

Make annma happy :-)

My previous idea of a shaded out "en_US" worked in all cases bar one, where the user is on a system with a system language not en_US and they want to set to use en_US as their KDE language.

I tried all sorts of other ways of doing this but they proved too confusing, so it's back to the old way of en_US being a normal choice with no special handling even though it lets the user do silly things.

This also means I can switch back to a now fixed KActionSelector.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/systemtray/ui/taskarea.cpp:

resize hiddenTasksWidget at its minimum size hint after removing a task.
necessary due qgraphicslayouts not resizing the parent widget (not a bug in that case, justhow they are)

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager:

hide the add activity and add widget buttons when the corona gets locked

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager:
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/dataengines/nowplaying/nowplayingengine.cpp:

* don't lower case source names, this breaks updating
* proper handling of the player source; it now updates as expected and doesn't include itself or other future sources; just the players

Vishesh Handa committed changes in /trunk/KDE/kdebase/runtime/nepomuk/services/strigi:

Added a start() function to the IndexFeeder and call it when the index scheduler runs.

This solves two MAJOR bugs -
* Changing the list of indexed folder in nepomukstrigirc causes the index scheduler to restart. During the restart process it would stop() the IndexFeeder and never start() it after that. The index scheduler would then start indexing files and push them into the feeder. This would result in the Index Feeder's internal queue becoming really really large ( 300Mb+ at times ). And since the feeder isn't running it wouldn't ever process this queue.

* Even though the Index Scheduler was indexing the files, the feeder would not push them into main model. It would only push folders ( not files ). This gave the impression that stuff was being indexed. The files would only get saved when Nepomuk restarted and indexed everything all over again!

Frank Reininghaus committed changes in /trunk/KDE/kdelibs/kdeui/itemviews/kcategorizedview.cpp:

In KCategorizedView::updateGeometries(), restore the vertical offset not only in ScrollPerPixel, but also in ScrollPerItem mode.

Fixes the problem that Dolphin's Icons view may scroll to the top unexpectedly.

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/system-monitor:

it kept crashing due to deletion before the cleaning slot been reached.
i hate to have containers of weak pointers, but seems the only way to avoid a crash i this case

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell/activity.cpp:
Sebastian Trueg committed changes in /trunk/KDE/kdelibs/nepomuk/core/resource.cpp:

Protect Resource::fromResourceUri by mutex like all other constructors.
This fixes yet another query service crash and actually makes it stable here.

John Layt committed changes in /trunk/KDE/kdebase/runtime/kcontrol/locale:

KCM Locale fix cursor jump to eol by not overwriting the editText after each
keypress by the user. This lead to some refactoring and renaming as a result.

Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:

Show an undetermined progress indication within one second after changing an URL.

Update to SVN commit 1205329:
- Fix issue that an undetermined progress is shown when switching between columns of the column-view.
- Fix issue that no undetermined progress is shown when editing the URL directly in the URL navigator

FIXED-IN: 4.6.0

Dawit Alemayehu committed changes in /trunk/extragear/base/kwebkitpart/src:

- Redid the implementation of QWebPage::createWindow yet again. Hopefully for the last time.
- Added a fake QWebPage implementation to properly handle creation of new Windows through
javascript whenever the returned KPart is a non kwebkitpart.
- Added slot to handle all the *VisibilityChangeRequested(bool) signals from QWebPage.
- Added slot to handle the printRequested signal from QWebPage.
- Moved three slots from WebPage to KWebKitPartPrivate.

Marco Martin committed changes in /trunk/KDE/kdeplasma-addons/applets/weatherstation/weatherstation.cpp:

show N/A if the temperature is not available fr engines like wetter.com.
the plasmoid is completely useless in this case, but this isn't
something we can do anything about, since the data is missing from the
web service

KDE-PIM

Volker Krause committed changes in /trunk/KDE/kdepim:

Change the delayed initialization to be more robust against interference from sub-eventloops based on David's suggestions.

Should fix Sabine's composer crash and might fix a similar problem Till is seeing on WinCE.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 14 more) Revision 1203745
David Jarvie committed changes in /trunk/KDE/kdepim/kalarm:

Bug 155788: make disabled system tray icon more distinguishable for colour blind users.

Sergio Luis Martins committed changes in /trunk/KDE/kdepim/calendarsupport:

Support for virtual folders without crashing, more precisely, support more than one item with the same id.
I started by changing the hash keys from Item::Id to Item::Id,Collection::Id but soon realized the mistake it was, it touched lots of code, and we're a bit near the 4.6 release to introduce instability.

So basically I added a new structure where we keep track of these dups. Working fine in monthview. Agenda needs a tweak, it's missing add/remove notifications.

Sergio Luis Martins committed changes in /trunk/KDE/kdepim/calendarviews/eventviews/agenda:

When an item from a virtual folder is removed from agenda, don't remove all items that have the same id.
The problem was that Entity::operator== only compares ids.

Volker Krause committed changes in /trunk/KDE/kdepim/mobile/lib/AgentStatusIndicator.qml:

Fix running state overwriting offline, showing the wrong status when the
device is offline but one of the resource failed to notice it yet.

Volker Krause committed changes in /trunk/KDE/kdepim/kmail/identitypage.cpp:

Use the identity manager from the mailcommon kernel. Fixes identity
changes getting lost when closing the application.

Tobias Koenig committed changes in /trunk/KDE/kdepim/mobile/contacts/contactsexporthandler.cpp:

Fix export of contacts to multiple files

Tobias Koenig committed changes in /trunk/KDE/kdepim/messageviewer/findbar/findbar.cpp:

Do not overwrite the FindWrapsAroundDocument flag in 'search backwards' mode.

Tobias Koenig committed changes in /trunk/KDE/kdepim/messagecomposer/messagehelper.cpp:

Fix copy&paste bug

If the BCC address of the identity is not empty, use it of course...

Andras Mantia committed changes in /trunk/KDE/kdepim:

Fix the Apply button behaviour in the Configure Filters dialog. Patch by George Metaxas.

Torgny Nyblom committed changes in /trunk/KDE/kdepim/messageviewer/htmlstatusbar.cpp:

Fix broken html formatting (no user visible string change, only formatting)

Tobias Koenig committed changes in /trunk/KDE/kdepim/mobile/mail/kmail-composer.qml:

Fix the initial layout of the recipients editor

Andras Mantia committed changes in /trunk/KDE/kdepim/kmail:

Fix the rest of "Maintenance tab in folder properties dialog not useful" bug.
Patch by Antonis Tsiapaliokas

Tobias Koenig committed changes in /trunk/KDE/kdepim/incidenceeditor-ng:

Use a combobox instead of a checkbox to save some more space.

Nuno will commit the necessary items to oxygen later on.

Till Adam committed changes in /trunk/KDE/kdepim/mailcommon/foldertreewidget.cpp:

Make sure whole rows are selected always, in the folder tree.

Andras Mantia committed changes in /trunk/KDE/kdepim/messageviewer/viewer_p.cpp:

Make sure we connect to the finished signal only once, so eg. slotMEssageRendered is not called multiple times.

This fixes the crazyness of conflict dialogs popping up.
The dialog still comes up from time to time, but now you have a chance to get rid of it.
This should also make switching to another mail faster.

Tobias Koenig committed changes in /trunk/KDE/kdepim/messagelist/pane.cpp:

Emit the changed signal first, so that listening classes
can adapt their selection models to the current one and then
do the selection changes.

Office

Thorsten Zachmann committed changes in /branches/work/koffice-essen/kword/part/frames/KWFrameLayout.cpp:

Fix Bug 249485 - kword:msoffice2003:Text in the attached document is displaying multiple times

Cristian Oneț committed changes in /trunk/extragear/office/kmymoney/kmymoney/dialogs/kequitypriceupdatedlg.cpp:

Disable the sorting while the update is running to maintain the items order at the start of the update process on which the update depends.

Thorsten Zachmann committed changes in /branches/work/koffice-essen:

Fix Bug 239820 - kpresenter:openoffice:kpresenter is not displaying the inserted file name

This commit also make it quite easy to add missing variables.

Inge Wallin committed changes in /branches/work/koffice-essen/plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp:

Fix bug 239560: kpresenter:msoffice2007:Embedded ppt is not displayed in Kpresenter

* Only recalculate the world transform if a
Set{Window,Viewport}{Org,Ext} record actually changes anything.
* Don't call recalculateWorldTransform in
{set,modify}WorldTransform().

Sven Langkamp committed changes in /branches/koffice/2.3/koffice/krita:

fix scaling of shapes and undo on scaling the resolution

Dag Andersen committed changes in /trunk/koffice/kplato/libs:

Improve performance calculations.
Ref bug 257413.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1204461
Cristian Oneț committed changes in /trunk/extragear/office/kmymoney/kmymoney/widgets:

Hide the edit widgets before removing them because if the widgets are visible while they are being removed (actually scheduled for deleteLater()) some events will be sent to the register (during the actual delete process) which will cause a crash by accessing the widgets which where already deleted.

This was happening somewhere deep in Qt's code and I found this to be the best workaround for it.

Stephane Mankowski committed changes in /trunk/extragear/office/skrooge:

Feature request: select previously selected tab when closing a tab

Stephane Mankowski committed changes in /trunk/extragear/office/skrooge:

Units: graph unreadable when values are missing for some dates ==> "Show origin" allows to show/hide the origin of the graph for a better display

Cristian Oneț committed changes in /trunk/extragear/office/kmymoney/kmymoney/models/accountsmodel.cpp:

Implement sorting the accounts by value in the accounts model.

Cristian Oneț committed changes in /branches/kmymoney/4.5/kmymoney/models/accountsmodel.cpp:

Implement sorting the accounts by value in the accounts model.
Merged into the stable branch.

Cristian Oneț committed changes in /trunk/extragear/office/kmymoney/kmymoney/views/khomeview.cpp:

Use adjustedNextDueDate when splitting schedules into groups in the home page to avoid having the same instance of the transaction in two groups if the 'Enter transaction on another day' option is used.

Cristian Oneț committed changes in /trunk/extragear/office/kmymoney/kmymoney/converter/mymoneyqifreader.cpp:

Don't crash if there is no valid date format selected.

Cyrille Berger Skott committed changes in /branches/koffice/2.3/koffice/libs/main/KoView.cpp:

Fixed a split-view-statusbar-visibility bug

KoView::showAllStatusBarItems should take into account whether the
items of the status bar are hidden manually. If that is so, there is
no reason to show them explicitly.

Patch by dmitry, backport of 51a17e0104a7c2adda418bd4786ccb32c14e897f, reviewed by me.

Stephane Mankowski committed changes in /trunk/extragear/office/skrooge:

: Report: showing limits, average and tendency does not work in mode "Sum"

Stephane Mankowski committed changes in /trunk/extragear/office/skrooge:

Date chooser field: keyboard shortcuts do not work

Stephane Mankowski committed changes in /trunk/extragear/office/skrooge:

No icon for Skrooge in the Gnome menu

Multimedia

Andreas Scherf committed changes in /trunk/KDE/kdemultimedia:

Version 2.0.2
Fixed compilation error against latest ffmpeg
Size of the filmstrip overlay is dependant on thumbnail size
http://reviewboard.kde.org/r/5937/

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1205249

User Interface

Marco Martin committed changes in /trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager/activityicon.cpp:

highlight the running activity from the start, not only when the status changes

Utilities

Rolf Eike Beer committed changes in /trunk/KDE/kdeutils/kgpg/gpgproc.cpp:

Check the GnuPG version first before setting the default arguments. GnuPG 1.x doesn't know about --debug-level which will cause it to fail.

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer:

Don't remove a transaction from the queue after it is done, but rather introduce a "Done" state. This prevents the action button from re-appearing and also the possibility for an "In Progress" pane in the future.

Diffs: 1, 2, 3, 4 Revision 1203891
Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer:

Fix a scoping bug that caused only apps from the first transaction to be shown in the launcher

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer:

Make reloading two-staged so that we can both delete things before they become invalid and cause crashes, while at the same time not reloading too early and causing crashes.

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer/ApplicationBackend.cpp:

Don't bump the current transaction pointer on CommitErrors; A CommitChangesFinished signal will still fire in this case and workerEvent will handle this for us. This fixes a crash where errorOccurred would bump the iterator to the end, and then workerEvent would try to use the iterator and crash

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer/CategoryView:

Watch for the search view's destruction and set the pointer back to 0.
This way searching, going back to top-level, navigating to some other categories, and then doing another top-level search doesn't crash Muon

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer/ApplicationModel:

Ditch our KIconLoader stuff and use straight KIcon. The KIconLoader stuff led to some icons not being found, and some ones with transparent backgrounds having a loss in quality.

On the downside, apps without an icon have the generic "unknown" icon rather than the "applications-other" icon

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer:

Fix a bug where the progress bar would say "Removing" when you would install/remove addons for an already-installed App.
This required some big changes to the ApplicationBackend's workerEvent notification, since we are now emitting a pointer to the transaction rather than just to the Application being acted upon.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 1204911
Evan Teran committed changes in /trunk/KDE/kdeutils/kcalc:

changed the way that the power operator works when dealing with fraction knumber types
this should fixed bug #259363

BUG #259363

Daniel Nicoletti committed changes in /trunk/playground/sysadmin/kpackagekit:

Fixed animations by using png sequencies

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 46 more) Revision 1205324
Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src/backend.cpp:

Turns out QString::toLatin1() does *not* return a QLatin1String, but rather a bytearray.
It still compiled because there's a QString::QString(QByteArray) constructor, but that means that Backend::Package(QString) was calling itself in an infinite loop until stack exhaustion.

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src/package.cpp:

Check to see if the VerIterator we get from the state cache is valid or not. If it's a purely virtual package it will not be in the depCache, and will crash us when we try to access it

Games

Wolfgang Rohdewald committed changes in /trunk/KDE/kdegames/kajongg/src/board.py:

Dragging a Tile: The tile no more changes size when drag starts.

Stefan Majewsky committed changes in /trunk/KDE/kdegames/kolf/shape.cpp:

Let's see if that does away with that weird crash some people get when starting Kolf.

Features

Development Tools

Michael Pyne committed changes in /trunk/KDE/kdesdk/scripts:

Add git repository aliasing and quick module declaration to kdesrc-build.

This commit adds two options (not yet documented in the DocBook):

1. git-repository-base, which defines a new repository alias (kde-git in the sample file)

In order to actually use this repository alias, you can use a new type of module
(unimagineatively called a "module-set") like so:

global
...
end global

module-set $repo_name
use-modules <list of git modules e.g. akonadi attica soprano k3b etc.>
end module-set

No other options are supported in a module-set at this point. kdesrc-build treats a
module-set as if you'd simply manually declared a new module for each item you passed
to use-modules, and sets the "repository" option for each new module to the base URL
(as determined by repo_name), with the module name tacked on.

kdesrc-build will filter any trailing .git off of the virtual module name.

If you still want to add options for a module, you can simply manually declare a module
of that name after the module-set, and choose options there (it won't change the build
order though).

Hopefully this makes it that much easier to use the plethora of git modules that have
been getting successfully transferred over to git.kde.org. PLEASE let me know if I've
broken something here or otherwise improperly implemented it. CC'ing dfaure since I
figure he'll be interested and/or have feedback.

Educational

Dennis Nienhüser committed changes in /trunk/KDE/kdeedu/marble/data/placemarks:

Add a cityplacemarks cache file that only contains cities with a population of one million or more.
It is meant to be used on less capable devices where the current approach to determine which placemarks needs to be drawn takes considerable time.

Graphics

Pau Garcia i Quiles committed changes in /trunk/extragear/graphics/kipi-plugins:

Add initial implementation of Kopete plugin, using DBUS.

Sending files does not work, at least for me, with MSN (I don't know why) or
Facebook (expected because FB does not allow file transfers; OTOH Kopete
erroneusly reports FB contacts as file_transfer-enabled).

Let's see if Kopete developers can help with file transfer; I'll try to use
libkopete-dev if I don't get a solution. In the future, this plugin should
use Telepathy KDE.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1203666
Martin Klapetek committed changes in /branches/extragear/graphics/digikam/libs/imageproperties:

Add a button to tags sidebar, that will allow to assign the changes to all versions of a particular image.

So far the button is enabled only when 1 image is selected. But I'm not too happy with the new button layout, does anyone have any better idea of how to place these?

Marcel Wiesweg committed changes in /branches/extragear/graphics/digikam:

Implement uniqueHash V2.
The hash has now a very simple specification: First 100 kB, last 100 kB.
All problematic cases known to me are solved.

1) Any new database created with 2.0 will use the new hash.
That means you cannot use it with 1.x.
2) Any upgraded database from 1.x will keep the old hash.
That means you can use it in parallel with 1.x.
3) There is a button to carry out an explicit update on the
Database setup page, for those that want the new hash
for an updated database
When upgrading, the thumbnail database will be updated in parallel,
so nothing is lost.
4) The HistoryImageId in the history XML in metadata will only use the V2
hash, because it is effectively not possible to specify the generation of
the old hash, while the V2 hash is easily specified.
If you have an updated DB with V1 hash, the history image id may not always
contain the hash. (it is optional)

Nicolas Lécureuil committed changes in /trunk/extragear/graphics/kipi-plugins/picasawebexport/picasawebimglist.cpp:

Allow to upload mov files into picasa webalbum
Add some file formats from picasa website

KDE Base

Lukáš Tinkl committed changes in /trunk/KDE/kdelibs/solid/solid/backends/udev:

implement PortableMediaPlayer and adjust some checks
to differentiate it between the camera device

Diffs: 1, 2, 3, 4 Revision 1204288
Marco Martin committed changes in /trunk/playground/base/plasma/shells/mobile/containments/mobiledesktop:

a configurable horizontal mode, now the default

Diffs: 1, 2, 3, 4, 5, 6 Revision 1204294
Lukas Appelhans committed changes in /trunk/playground/base/plasma/MediaCenterComponents:

Finally this is my first CodeIn Project:
-Remove all the Mediabrowser-c++-view
-Add a loader for a qml-view
-add a basic, yet not 100% finished, qml-view

It needs some polishing here and there, but the basics are there :)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 1204312
Lukáš Tinkl committed changes in /trunk/KDE/kdelibs/solid/solid/backends/udev/udevvideo.cpp:

- handle non-video4linux devices (like an intergrated webcamera)
- properly report the driver handle device path (matches HAL behavior)

Marco Martin committed changes in /trunk/playground/base/plasma/shells/mobile/applets:

a declarative analog clock

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 1204331
John Layt committed changes in /trunk/KDE/kdebase/workspace/libs/plasmaclock/calendartable.cpp:

BIC: Adapt plasma calendar to change in KHoliday::HolidayRegionSelector widget

You will need kdepimlibs r1204347 for this change.

Vishesh Handa committed changes in /trunk/playground/base/nepomuk-kde/scripts:

Added a whole lot of scripts. They may be useful for new Nepomuk developers.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 1204620
David Faure committed changes in /trunk/KDE/kdelibs/kdecore:

Further fixes to kDebug:
* Since KConfig works without a main componentdata nowadays (auto-created by kglobal), make kDebug work
pretty much the same in qt-only apps as in kde apps, including obeying kdebugrc settings. The only difference
is that area 0 (and unknown areas) are called qAppName() rather than main-component-data-name.
* Update that name when the main component data gets created, even after early kDebugs.
* Make the handling of unknown numbered areas more consistent (using the settings for area 0)
* Complete unittest for the "no component data" case, in a separate program called by kdebug_unittest.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1204637
Lukáš Tinkl committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/battery/battery.cpp:

also offer global power management configuration, not just the PowerDevil profiles

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/testsuite/tools/query/nepomuksearch-kio-client.py:

Added result count and percent

Vishesh Handa committed changes in /trunk/playground/base/nepomuk-kde/scripts:

ps-nepomuk:
* Added exception handling
* Display total cpu and memory

nepomuk_setup:
* You need to manually set the scripts directory ( $SCRIPTS )

KDE-PIM

Volker Krause committed changes in /trunk/KDE/kdepim/plugins/messageviewer/bodypartformatter/text_calendar.cpp:

Add a basic implementation for WinCE. Doesn't provide the GUI for
counter proposals yet, but at least works for all the other cases.

John Layt committed changes in /trunk/KDE/kdepimlibs/kholidays:

BIC: Rework the api and appearance of the new HolidyRegionSelector widget.

After using the widget in the Plasma calendar I decided the api and layout
wasn't as usable as I wanted, and probably wouldn't scale well with planned
changes in 4.7. This change basically changes the gui from having two tick
boxes to displaying either a single tick box or a combo box with multiple
options. The api no longer refers to Primary or Secondary Selections but
instead uses flags with more meaningful names which should scale better when
holiday types and observance types are introduced and better separate the gui
implememtation from the api.

Volker Krause committed changes in /trunk/KDE/kdepim/messagecore/attachmentfromurljob.cpp:

Make adding of attachments work without KIO for WinCE.

Volker Krause committed changes in /trunk/KDE/kdepim/mobile/mail/savemailcommand.cpp:

KIO-free mail saving for WinCE.

Till Adam committed changes in /trunk/KDE/kdepim/mobile:

Add the ability to export a single contact.

Diffs: 1, 2, 3, 4, 5, 6 Revision 1204691

Office

Pavol Korinek committed changes in /branches/work/koffice-essen/plugins/textshape/TableLayout.cpp:

table row backgrounds implemented in layout

Ganesh Paramasivam committed changes in /branches/work/koffice-change-tracking-integration:

Initialized merge tracking via "svnmerge" with revisions "1-1204098" from
svn+ssh:///home/kde/branches/work/koffice-essen

Ganesh Paramasivam committed changes in /branches/work/koffice-change-tracking/libs/kotext/opendocument/KoTextWriter.cpp:

Initial check-in of post-processing code

Klaas Freitag committed changes in /trunk/playground/office/kraft/src:

- put more data to CatalogTemplate baseclass
- methods to save chapter- and item parents separately
- fixes in catalog d&d: move items to other subitems etc.
- update progressbar for sequence recomputing
- added display for template details (dates etc)
- != operator added to dbIDs

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 1205629

Networking Tools

Pali Rohár committed changes in /trunk/KDE/kdenetwork/kopete/plugins/latex/latexguiclient.cpp:

Enable html text in latex preview message

Jonas Emanuel Müller committed changes in /trunk/playground/network/videocatcher/src:

added offline support

Jonas Emanuel Müller committed changes in /trunk/playground/network/videocatcher/src/mainwindowkde.cpp:

add support for playback while downloading

Alexander Reinholdt committed changes in /trunk/playground/network/smb4k/core:

Show the user a notification if the KAuth::Action failed.

User Interface

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 48x48, 14 to go (more tomorrow)

Diffs: 1, 2, 3, 4, 5 Revision 1204053
Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 48x48, 2 to go

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 48x48, last one missing

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 48x48, done next 32x32 but that's for tomorrow

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 32x32 1 done many many to go :D

Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 32x32, 198 to go (and I managed to get this set under 200 icons before making 33 years old by one minute :D )

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1204776
Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

actions icons needed for mobile/touch (me notes that oxygen icons are not super good in the mobile and a new set is needed but not for now)

Diffs: 1, 2, 3, 4 Revision 1205242
Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 32x32, 172 to go

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 1205571
Nuno Fernades Pinheiro committed changes in /trunk/kdesupport/oxygen-icons:

new mimes 32x32, 149 to go (more later)

Utilities

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer:

FEATURE: Initial support for addons management.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 1204778
Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon:

... and since we reimplement MuonMainWindow::workerEvent(), we'll need to call it in our reimplementations if we want suspend suppression

Optimization

Development Tools

Nick Shaforostoff committed changes in /trunk/KDE/kdesdk/lokalize/src/glossary:

fix a bottleneck in glossary model, found with valgrind

KDE Base

Volker Krause committed changes in /branches/work/komo/kdelibs/kdecore/date/kdatetime.cpp:

Cache the regexps used in fromString(), makes it about three times
faster when called often enough. This so far only covers ISO dates, I'll
prepare a more complete patch for trunk soonish.

Saves about 20% CPU time during Kolab format conversion.

Marco Martin committed changes in /trunk/playground/base/plasma/shells/mobile:

use IconGrid for the widget explorer, consistency and speed ++

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 1204012
Marco Martin committed changes in /trunk/playground/base/plasma/shells/mobile/containments/mobiledesktop:

a button to confirm deletion, avoids accidental removal

Marco Martin committed changes in /trunk/playground/base/plasma/shells/mobile/shell/main.cpp:

force raster

Lukáš Tinkl committed changes in /trunk/KDE/kdebase/workspace/powerdevil/daemon/powerdevilfdoconnector.cpp:

actually signal saving power when on battery, not the other way round :)

/me slaps dario

Albert Astals Cid committed changes in /trunk/KDE/kdebase/workspace/libs/taskmanager/groupmanager.cpp:

do the same, just much faster

Sebastian Trueg committed changes in /trunk/KDE/kdebase/runtime/nepomuk/services/strigi:

* Give higher preference to manually added index folders. This way changed files are updated quicker
and newly added files are instantly in the index - even during initial indexing.

KDE-PIM

Volker Krause committed changes in /trunk/KDE/kdepim/runtime/resources/kolabproxy:

Don't do the XML parsing twice. Saves about 25% CPU time for the Kolab format parsing.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 1203870

Networking Tools

Ludovic Delfau committed changes in [silk] /:

Refactor the engine.

Diffs: 1, 2, 3 Revision 16b3201...

User Interface

Hugo Pereira Da Costa committed changes in /trunk/KDE/kdebase/workspace/kstyles/oxygen/demo/ui/oxygentabdemowidget.ui:

Some fine tunning for tab rendering when aligned on right frame of tabbars.
(not perfect yet, but better than before)

Hugo Pereira Da Costa committed changes in /trunk/KDE/kdebase/workspace/kstyles/oxygen/oxygenstyle.cpp:

Some fine tunning for tab rendering when aligned on right frame of tabbars.
(not perfect yet, but better than before)

Dennis Nienhüser committed changes in /trunk/KDE/kdeedu/marble:

Improve icons: Use a green flag instead of a red one for the destination icon. Green matches the named icons (A,B,C,...) color. Replace the generic routing step icon with one that has no arrow in it to avoid confusion. Similarly for the guidance mode icon.

Marcel Wiesweg committed changes in /branches/extragear/graphics/digikam/utilities/imageeditor/editor:

Provide quick access to tool and filters from the toolbar by putting a KCategorizedView,
with an ActionItemModel on all image plugin action, as the widget of a QWidgetAction
into the menu of a tool button (via non-delayed KMenuAction).
The view features auto scrolling.
Let's see if we like this.

Diffs: 1, 2, 3, 4, 5 Revision 1204261
Alex Fiestas committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/stackdialog.cpp:

Only save the position when the user actually move the notification around (as the previous patch by me was supposed to do)

Marco Martin committed changes in /trunk/KDE/kdebase/runtime/plasma/declarativeimports/core:

put naturalSize property back in: turns out was necessary to make things clean

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer/ApplicationDetailsView:

Layouting tweaks. It'd be cool to once I find the time do a history lookup to discover/display when a package was installed.

Alex Fiestas committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/notificationwidget.cpp:

Set MinimumWidth to 290 and remove the preferred one, the result are a smaller/more cute notifications

Alex Fiestas committed changes in /trunk/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/notificationwidget.cpp:

Set NotificationWidget::SizePolicy as MinimumExpanding, this improve the behavior with loooong titles (resulting in looong notifications)

Lukas Appelhans committed changes in /trunk/playground/base/plasma/declarative-applets/replacements/rssnow/package/contents/ui:

Much much better usability

Aurélien Gâteau committed changes in /trunk/KDE/kdegraphics/gwenview/app/mainwindow.cpp:

Practice what I preach: do not hardcode the size hint

Utilities

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon:

Move sleep suppression and canExit handling fully into MuonMainWindow for less code duplication between MuonMainWindow derivatives

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1205252
Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src:

-Add a Backend::package() overload that takes a QLatin1String. If you can use this overload, it is more efficient since you don't have to go QString -> ascii -> latin1 -> const char
-Make the regular Backend::package() implementation use the QL1S overload. This is slightly more efficient since we can convert directly from QString -> latin1 without converting to ascii in between (since APT package names will always be standard ASCII)

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/muon/installer/Application.cpp:

Use the new QLatin1String QApt::Backend::Package() overload to find out what package our Application is. Slightly speeds up ApplicationBackend::init()

Jonathan Michael Thomas committed changes in /trunk/extragear/sysadmin/libqapt/src/backend.cpp:

Small optimization: Use the new Backend::package(QL1S) overload inside Backend::search(). the QL1S overload is faster in the first place, plus since Xapian gives us an std::string it is also faster to go to QL1S than to QString

Other

Development Tools

Pino Toscano committed changes in /trunk/playground/devtools/kdevelop4-extra-plugins/python:

remove python plugin, now on git.kde.org

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 1205647

Educational

Victor Carbune committed changes in /trunk/KDE/kdeedu/kstars/kstars:

A second Google Code-in task by Valery Kharitonov: removes KDE/Qt 3 support libs
dependency from KStars and implicitly from KDE Edu. Yay!

No bugs, clean code, but would be great everyone to further test this change.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 1203704

KDE Base

Lukas Appelhans committed changes in /trunk/playground/base/plasma/declarative-applets:

Okay first try on the rssnow qml-rewrite... work in progress

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 1204630
Daniel Nicoletti committed changes in /trunk/playground/base/print-manager:

Moved to git! :D

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1205353

Office

Ganesh Paramasivam committed changes in /branches/work/koffice-change-tracking-integration:

Branch for the continuous integration of koffice-change-tracking with koffice-essen

Ganesh Paramasivam committed changes in /branches/work/koffice-change-tracking-integration:

Initialized merge tracking via "svnmerge" with revisions "1-1204136" from
svn+ssh:///home/kde/branches/work/koffice-change-tracking

Thomas Baumgart committed changes in /trunk:

Moved libalkimia to kdereview

Boudewijn Rempt committed changes in /trunk/koffice/krita:

Remove Krita.

Krita is now developed in http://projects.kde.org/calligra.

To follow Krita development:

Download the latest repository tarball:

$ wget -c http://anongit1.kde.org/calligra/calligra-latest.tar.gz

Unpack it:

$ tar -xzf calligra-latest.tar.gz

Initialize the repository:

$ cd calligra; ./initrepo.sh<

And from now on, with a simple

git pull

You can stay up to date.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 3780 more) Revision 1204342

Multimedia

Harald Sitter committed changes in /trunk/playground/multimedia/phonon-backends:

remove VLC backend - moved to gitorious

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 27 more) Revision 1205615

Utilities

Michał Małek committed changes in /branches/k3b:

Deleted K3b branches as it has been moved to git. Current location:
git://anongit.kde.org/k3b (read-only)
ssh://:k3b (read-write)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 1203713
Daniel Nicoletti committed changes in /trunk/playground/sysadmin/kpackagekit:

Moved to git! :D
git clone git://git.kde.org/apper

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 1205608