17th March 2013by KDE Commit-Digest Team
|Commits||2706 by 179 developers|
|Bugs Opened||394 in the last 7 days|
|Bugs Closed||408 in the last 7 days|
|Albert Astals Cid||
Internationalization (i18n) Status
|Brazilian Portuguese (pt_BR)||
|Albert Astals Cid||
There are 67 selections this week
actually STOP the screen saver
Prevent the opening of two or more "edit profile dialogs" per session.
Fixing the wrong behaviour to open two or more "edit dialog" for
one session/tab with the same profile, and the crash with two or
more "edit dialog", one for different session(tabs) with the same profile.
next try to fix crash, better updateRange
will handle remove, too, if needed
Prevent accidental deletion of home directory in Terminal Panel
The protection against unwanted execution of "rm -rf" when changing the
directory while entering the command did not work if there was never any
automatic "cd" command sent to the terminal before.
This patch ensures that Terminal Panel's member m_clearTerminal is
false after the initialization of the panel, such that the protection is
effective after that.
Disable animations in Plastik for native or non-compositing
Adding a new property on whether we want animations based on whether we
are on raster or with Compositing. The property is constant as the deco
gets recreated on compositing change state anyway.
Fix KDirWatch to emit dirty on parent dir when watched subdir is deleted
In Inotify mode, there's a special event for the case where a watched
dir is deleted ("IN_DELETESELF"). In the handling of that event, we must
still set the parent directory to dirty, in case another KDirWatch
only cares for the parent.
Excellent unit test by Frank Reininghaus, as usual -- thanks!
prevent looping calls to setIcon/setName
Activity no longer sets the activity name, icon, etc. that is the job of kactivitymanagerd,
perhaps via the activities DataEngine.
on activity creation, it was possible to have the icon set by Activity .. which would then call
setIcon on the KAMD activity .. which would then update Activity. which would then call .. etc.
tested creation of new activities, changing icons, etc. and all is well
bug reporters: please confirm
Locking active screenlocker should end grace time
For example, when the screenlocker activates on idle (but is not
configured to require a password) and then powerdevil suspends the
computer and is configured to lock screen on resume.
Matches behaviour of the old screensaver code.
Fix Join Chat Room Dialog from presence applet context menu
Join Channel Widget filters by chatroom capabilities, caps weren't included
in the AccountFactory so it didn't work.
Check pointer before dereferencing
Don't try to add or remove an empty selection
Guess if url is on target blank and show different contextual actions
I would not re-enable the "describing" icon part because it is NOT
really working here. I'm having troubles when I show the icon and
Hope this is enough
Store avatar tokens to use them when contact is offline
Workarounds a Tp bug/feature that returns an empty avatarToken for
offline users, so we can't display proper avatars for offline contacts
when (any) contact list is started.
Fix crash when dragging outside of tabbar
structures: allow custom string representations of values + unit test
Also install a script that allows creating UUID/GUID structures with
such a custom to string function. It can be used by writing this:
var x = importScript('uuid.js')
var myUUID = x.UUID()
var myGUID = x.GUID()
Bugfixes and better rotation handling.
* Fixed global shortcuts which were broken with the last commit.
* Fixed and improved auto-rotation which now uses the current screen rotation on startup to determine the correct tablet orientation.
* All rotation settings are now handled by the "Rotate" property.
* Tablet area selection should now work properly.
* Deprecated a lot of properties which are probably no longer necessary and which will be removed soon.
* Tablet area mapping is now handled by the Area property and no longer by the TabletArea property.
Add UI for the docfile KCM.
It currently consists of a tree view with selectable files,
a wizard, upload, and download buttons.
The up- and download buttons open the GHNS dialogs, the wizard button
is not implemented yet.
Use gzip compression for archives
It's probably worth it, since they contain only python scripts,
which are usually nicely compressible.
(Also, the mimetype detection doesn't work for .tar for some reason)
Prepare course skeleton.
Skeletons will help to create and maintain basic language courses
that can be directly shipped with Artikulate. The idea is as follows:
Artikulate will provide one course skeleton that can be used as base
for translators/teachers to create specific courses for their languages.
The so created courses are associated with the skeleton and by this
can by synced whenever the skeleton is extended.
Open print dialog from command line
Add figures to illustrate the enhancement methods (courtesy of Thomas Freitag)
A +- -- doc/enhance-lowcontrast.png
A +- -- doc/enhance-shape.png
A +- -- doc/enhance-solid.png
A +- -- doc/enhance-thinline.png
Fix usage of &kappname; (aka &kde-sc;) vs &kde; and related fixes
Some instances of &kappname;(&kde-sc;) were used to refer to generic
functionality of any KDE applications, and on the other side few &kde;
instances were used instead of &kappname;.
Also the description of the content of "About KDE" has been fixed.
Introduce Nepomuk Service 2
Nepomuk Service version 2 unlike the old services are not launched by
the nepomukservicestub process. Instead they each have their own
process, which they install.
Nepomuk Service2 are implemented by deriving from the Service2 base
class. The derived class needs to provide its own main function as well.
This patch implements the following -
* Nepomuk::Service2 implementation
* Port the nepomukserver to support both Service and Service2
* Port all the services to Service2
--- Storage (nepomukstorage)
--- File Indexer (nepomukfileindexer)
--- File Watch (nepomukfilewatch)
These Service2 classes are much lighter as some of them can be
QCoreApplications instead of a KApplication with a ui (The FileIndexer
requires a UI for KIdleTime)
Additionally, this makes debugging a lot simpler as we will no longer
get reports that "nepomukservicestub" crash or is acting up. We will
always know which service is at fault.
use plain text for information panel
GUI: toggle between showing "From" and "To" columns based on whether we're showing the "Sent" mailbox
This feature was suggested by "serpentine" on IRC. I've always wanted to do that :).
Show the number of recent messages in the mailbox list
See the patch for a discussion why it's done like it's done and not in a more
clever way. Quick summary: one cannot ask for a number of messages with \Recent
and without \Seen on a non-selected mailbox.
Age limit option for items in Google Calendar
Fetch only events that occur after a specified date. The default
time span is three years. This filter does not take in account
recurrent events that have started before the set date (they
will be included nontheless).
Add a method to filter contacts that are only from a specific account.
Use case: Text-ui has a dialog to invite contacts to chat, I only want
to show people from the same account.
Reviewed-by: Aleix Pol Gonzalez
Reviewed-by: Andrea Scarpino
Add kcm module
Add a theme manager
GUI: improve the attachments widget
- Add a nice icon from the Oxygen theme
- Make it multiline to conserve space on loooooong MIME types like the
- Make it possible to select the attachment filename by mouse for copy-paste
GUI: use shortcuts from the configurable shortcut handler
Made plugins work
This makes kparts/kplugins proper use QPluginLoader.
Currently only static plugins are supported (means
tested and work) what means external dynamic loaded
plugins are not a target yet.
With this commit all Calligra plugins (textshape,
pictureshape and variables) and the Words and
Author KPart's are proper registered as static
QPluginLoader plugins. It works and we can query
instances from the factories now at runtime.
Next step is to proper query such instances, inject
them the proper Calligra factory's/registry's and
continue fix bugs/crashers on the way to load and
display ODT documents.
Improved handling of the read-only mode
*Improved messages when opening read-only projects
*Fixed opening projects as read-only
*Added proposing opening read-only for projects that cannot be open read-write
*Added "(read only)" string to the window title to indicate read-only mode
Fix regexp in Google Scholar fetcher
The regexp for submitting the form to set the Bibtex cookie was bad.
How did it ever work?
Initial code for COffice
COffice is a trimmed down Calligra Suite with focus on mobile.
That name is a working name and may change.
This is work in progress and NOT ready or even usuable yet. Its the first step towards a goal.
The goals are:
* This introduces a new directory named calligra/coffice.
* Within taht directory happens all the related work on COffice.
* Buildsystem is qmake rather then cmake.
* This introduces the coffice/fake lib that allows COffice to be qt-only (no kde or other dependencies).
* Focus is atm on Calligra Words.
* Most of Calligra libs (flake, koplugin, kotext, koundo2, maim, odf, textlayout, widgets, widgetsutils) compiles and links on Desktop and Android.
* Some plugins (textshape, variables, pictureshape) compile and link on Desktop and Android.
* All of Words compiles and links on Desktop and Android.
* Starting the (non functional) app works (no crashes). Not more yet.
Work to do:
* KDE Plugins. For that I will work next on a QPluginLoader based impl.
* Fixing all the problems that will show up while making the simple viewer-app proper render a ODT document.
* The current app is only used for testing. Plan is to investigate the possibility to put all of the app(s) into an own thread that pushes to a render thread (Qt4, in Qt5 QtQuick2 gives the render-thread out of the box) and to look if Calligra Active can be extended/reused/used as app.
Improve Android support
Milestone 2 reached. Now COffice runs successful
on Android and displays ODT documents :)
R +3 -3 coffice/android/AndroidManifest.xml [from: coffice/coffice/android/AndroidManifest.xml - 086% similarity]
R +1 -1 coffice/android/build.xml [from: coffice/coffice/android/build.xml - 098% similarity]
R +0 -0 coffice/android/local.properties [from: coffice/coffice/android/local.properties - 100% similarity]
R +0 -0 coffice/android/proguard-project.txt [from: coffice/coffice/android/proguard-project.txt - 100% similarity]
R +1 -1 coffice/android/project.properties [from: coffice/coffice/android/project.properties - 096% similarity]
A +- -- coffice/android/res/drawable-hdpi/icon.png
A +- -- coffice/android/res/drawable-ldpi/icon.png
A +- -- coffice/android/res/drawable-mdpi/icon.png
A +- -- coffice/android/res/drawable/icon.png
R +- -- coffice/android/res/drawable/logo.png [from: coffice/coffice/android/res/drawable/logo.png - 100% similarity]
R +0 -0 coffice/android/res/layout/splash.xml [from: coffice/coffice/android/res/layout/splash.xml - 100% similarity]
R +0 -0 coffice/android/res/values-de/strings.xml [from: coffice/coffice/android/res/values-de/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-el/strings.xml [from: coffice/coffice/android/res/values-el/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-es/strings.xml [from: coffice/coffice/android/res/values-es/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-et/strings.xml [from: coffice/coffice/android/res/values-et/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-fa/strings.xml [from: coffice/coffice/android/res/values-fa/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-fr/strings.xml [from: coffice/coffice/android/res/values-fr/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-id/strings.xml [from: coffice/coffice/android/res/values-id/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-it/strings.xml [from: coffice/coffice/android/res/values-it/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ja/strings.xml [from: coffice/coffice/android/res/values-ja/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ms/strings.xml [from: coffice/coffice/android/res/values-ms/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-nb/strings.xml [from: coffice/coffice/android/res/values-nb/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-nl/strings.xml [from: coffice/coffice/android/res/values-nl/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-pl/strings.xml [from: coffice/coffice/android/res/values-pl/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-pt-rBR/strings.xml [from: coffice/coffice/android/res/values-pt-rBR/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ro/strings.xml [from: coffice/coffice/android/res/values-ro/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-rs/strings.xml [from: coffice/coffice/android/res/values-rs/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-ru/strings.xml [from: coffice/coffice/android/res/values-ru/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-zh-rCN/strings.xml [from: coffice/coffice/android/res/values-zh-rCN/strings.xml - 100% similarity]
R +0 -0 coffice/android/res/values-zh-rTW/strings.xml [from: coffice/coffice/android/res/values-zh-rTW/strings.xml - 100% similarity]
R +7 -1 coffice/android/res/values/libs.xml [from: coffice/coffice/android/res/values/libs.xml - 067% similarity]
R +1 -1 coffice/android/res/values/strings.xml [from: coffice/coffice/android/res/values/strings.xml - 088% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/ministro/IMinistro.aidl [from: coffice/coffice/android/bin/aidl/org/kde/necessitas/ministro/IMinistro.aidl - 100% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl [from: coffice/coffice/android/bin/aidl/org/kde/necessitas/ministro/IMinistroCallback.aidl - 100% similarity]
R +26 -26 coffice/android/src/org/kde/necessitas/origo/QtActivity.java [from: coffice/coffice/android/src/org/kde/necessitas/origo/QtActivity.java - 097% similarity]
R +0 -0 coffice/android/src/org/kde/necessitas/origo/QtApplication.java [from: coffice/coffice/android/src/org/kde/necessitas/origo/QtApplication.java - 100% similarity]
R +0 -0 coffice/android/version.xml [from: coffice/coffice/android/version.xml - 100% similarity]
Use file contents to figure out which type of blocklist we are dealing with in IP filter
Open links in new tab only if there is a window
in the current activity/on the current desktop
This code has been written by Jonathan Verner and reviewed (a bit)
by me. Hope everyone will be happy now...
Filter for both new and older audio/video call specs
Show icon in systray when mobile's access technology and signal quality are
(cherry picked from commit 91ef78c1a5e1a700b242e2d0a24cf0069fa8c07a)
implement the possibility of non adjacent ships
Before, the only game option was to play with adjacent ships.
Now it is possible to choose between the two options, adjacent or not,
including the network games.
The game mode can not be changed in the middle of a battle.
The local user settings are not affected by a network game. Both
players will play the same game type, but after that, the local options
will apply for new local games.
GUI: There is a new settings menu entry (Adjacent ships)
The tablet can now have different mappings for each screen.
The user can now select a tablet area for each screen independently.
However the data is only saved in the profile and not used yet. The
tablet handler has to be updated to make use of the new settings.
Update to 3.2:
- added Train Clock, based on design by Nuno Pinheiro;
- added beClock theme, inspired by clock by Thomas Luebking;
- added Binary Clock;
- show placeholder category in title in rich text editor;
- enable Apply button when configuration values are changed;
- added Edit button to trigger clipboard action editor;
- moved custom themes to separate, shared data file;
- some other improvements and fixes.
First code drop of Accounts KDED
This KDED will be in charge of enabling/disabling KDE services such
akonadi, perhaps Telapathy etc.
One of the things it will do (for example) is to create a PlavesView
when an ownCloud account is configured.
ATM it kinda works for Akonadi though I'm pushing this so mck182 can do
Large GUI rework and more utility classes.
Reworked large parts of the KCM GUI:
* Merged TabletArea and ScreenArea widgets into a more flexible AreaSelectionWdiget, to get rid of a lot of code duplication.
* Changed GUI to merge the KCM tabs for pad mapping, touch mapping and the touch settings into one tab.
* Created TabletPageWidget class which holds the new tablet tab page for all the changed GUI elements.
* Created widgets ScreenAreaSelectionWidget and TabletAreaSelectionWidget and the corresponding dialog classes, which allow the user to map tablet <-> screen.
* Removed some obsolete GUI classes which were never used anyway.
* Added X11Info which contains helper methods to query the X11 window system.
* Added X11Wacom which contains helper methods to query wacom tablets using Xinput.
* Moved the X11Input classes back to the common code as the KCM module needs them as well.
* Fixed a memory leak in the X11InputDevice class.
Beware! This commit breaks some features! Most notably the global shortcuts
for screen toggling and the tablet <-> screen mappings. These will be
fixed when the property cleanup is done.
Refactor threaded parsing, use long lived worker pattern.
Not only is the code much cleaner, we also have the added advantage
of not spinning up new threads whenever we parse a new file.
Furthermore the signals have been cleaned up to remove the unsafe
accessal of the old ParseThread once it has finished parsing.
FileIndexer: Only clean invalid items when idle
We always used to run the cleaner before indexing anything. This is not
required, we can continue with the basic indexing without cleaning the
old data. The cleaner is now only run when idle.
This decreases the initial virtuoso load when starting Nepomuk.
Deselect before select, so that we clear the message list before filling it again.
This makes it much faster to switch folders in kmail, the messagelist
can clear up immediately rather than inserting (while showing greyed out
items to the user) before deleting the old ones.
The body checker doesn't use the item modification time either.
Saves about 25% server response time and transfer volume.
Major speedup when switching folders (part 2/2)
Implement a "fast path" which clears everything when the storage model
emits rowsRemoved(0, count-1), rather than removing rows one by one.
(which was not very slow in general, but could get very slow when
it had to shuffle the current index around every time)
This fix is dedicated to the jazz trio Niels Lan Doky, since I mostly wrote
it between the two sets of their concert in Copenhagen.
HTML: scan the input using a single regular expression
This improves speed "a lot" -- previously, each pattern was tried until the end
of the input string after each and every match. This could easily lead to O(n^2)
complexity because it was easy to feed this with an input which e.g. matched
simple HTTP links all the time, but the whole rest of the input was repeatedly
scanned for a regexp matching an e-mail address all the time.
I haven't bothered with measurements (the old version did not finish in 30
minutes under callgrind when fed with a particularly malicious input).
Also make sure that all special metacharacters are properly escaped, that we
don't use locale-aware matching too much, and switch to RegExp2 for better Qt5
Nepomuk Feeder: Siplify the concept of the ItemQueue
The ItemQueue is this slightly convuluted class that served as queue
whose function would be different in different circumstances.
It originally contained a list of items (mItemPipeline) which still needed
to be fetched from Akonadi, a list of fetched items - mFetchedItemList
and a few other lists - mItemFetchList and mTempFetchList (not really
required). The class's main function processItem would perform
differents functions -
* If an indexing operation is going on - nothing
* If it mItemFetchList does not contain enough items, it would move one
item from the mItemPipeline to the mItemFetch list
* If the mItemFetchList was long enough, it would fetch all those items
from AKonadi and store them in the mFetchedItemList and start
processing them, one batch at a time untill mFetchedItemList is empty
Overall, it was quite confusing. I think I might have even missed a case
or two in the description above.
With this patch the entire concept of the ItemQueue has been simplified,
and its functions have now been renamed, and unnecessary variables have
The ItemQueue is now just responsible for the following functions -
* Fetching Akonadi Items when required in mFetchSize multiples
* Indexing those fetched Akonadi Items in mBatchSize multiples
Each call to processBatch (previously called processItem), will send one
batch for indexing. That's it. If it doesn't have enough items in its
queue, it will fetch mFetchSize items from Akonadi and then send them
Because of this simplification, we had to remove the concept of
indexingDelay between batches. Each call now just processes one batch,
it is the callers responsibility to schedule them properly.
All the functions now also return sane return values. Earlier the
concept of true/false was little shaky.
Also added proper documentation to the class so that it is evident what
this is class is supposed to do.
Simplify the Nepomuk data extraction Code
Instead of using the Nepomuk property URIs as keys in ContactItem we now
use the roles instead. This simplifies the data extraction part from the
model as we can keep a direct mapping in the query (Binding Name => Role)
Additionally, the ContactItem class could also load the data on its own
by using the Nepomuk Resource class. It now uses the same query as the
PersonsModel and fetches all the data in one go. This is much faster and
simpler. Though, it results in a little bit of code duplication.
And finally, the ResourceWatcher now reloads the contacts which are
modified instead of just changing those specific properties. This is
done because in many cases such as - ImAccounts, Emails, Photos, and
ContactGroups, one needs to query the Nepomuk DB in order to fetch more
KMail doesn't use the item modification time, so don't fetch it.
5% less transfer volume, ~10% faster response from the server, and also
saving some CPU on the client side since date/time handling is expensive.
Ported Fill Tool to strokes
This patch does 3 major things:
1) Ports the tool to strokes framework
2) Adds KisSimpleProcessingVisitor class which makes creation of new
processings easier (Lukas can use it now in his branch).
3) Adds lazy fetching of the "initial" image set for the qimage-based
tests. Now this set is shared by all the unittests, so there is no
need to store copies of it.
updated icons for supernovae
M +- -- kstars/icons/hi22-action-kstars_supernovae.png
M +- -- kstars/icons/hi32-action-kstars_supernovae.png
M +- -- kstars/icons/hi48-action-kstars_supernovae.png
M +- -- kstars/icons/hi64-action-kstars_supernovae.png
Make it so you have to explicitly enable hupnp support
This efectively disables upnp backend :/ I hope we can find somebody
that continues this great work soon :/
Google drops Google Reader and so do we
Google announced that by July 1 the Google Reader service
will be shut down, therefore there's no point in developing
and maintaining the Akonadi resource anymore. Let's focus
on other things now. *le sigh*