Issue 265
9th December 2012 by KDE Commit-Digest TeamContributors
Aleix Pol
Marta Rybczynska
Martin Cigorraga
This Week...
Statistics
Commits | 1957 by 162 developers |
Open Bugs | 21091 |
Open Wishes | 15801 |
Bugs Opened | 355 in the last 7 days |
Bugs Closed | 404 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
207
|
/branches/stable |
54
|
/trunk/l10n-support |
42
|
/trunk/www |
28
|
/krita/sketch |
17
|
/branches/work |
17
|
/src/models |
15
|
/views/todoview |
12
|
/trunk/playground |
11
|
/krita/plugins |
11
|
Files | Developer | Commits |
249
|
Laurent Montel |
93
|
120
|
Jan Kundrát |
40
|
108
|
Sergio Luis Martins |
37
|
108
|
Aleix Pol Gonzalez |
36
|
87
|
Boudewijn Rempt |
34
|
99
|
Sébastien Renard |
33
|
96
|
Jekyll Wu |
32
|
81
|
Aurélien Gâteau |
28
|
84
|
Yuri Chornoivan |
28
|
78
|
Torgny Nyblom |
26
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Swedish (sv) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
Estonian (et) |
99%
|
Polish (pl) |
97%
|
Dutch (nl) |
96%
|
Spanish (es) |
96%
|
French (fr) |
94%
|
German (de) |
93%
|
Italian (it) |
92%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
56
|
Christoph Feck |
28
|
Myriam Schweingruber |
28
|
Thomas Pfeiffer |
21
|
Laurent Montel |
19
|
Frank Reininghaus |
17
|
Thomas Lübking |
13
|
Ben Cooksley |
12
|
Christian Esken |
12
|
Kevin Funk |
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 115 selections this week
Bug Fixes
Development Tools
Do not crash in GrepOutputModel
In case there are no matches you can still trigger the replace.
=> Crash in GrepOutputmodel because it assumes the root item of the
model is still there.
Fixes:
* Disable the replace button in case there are no matches
* Do not crash in GrepoutModel in case the root item is invalid (call
safety)
REVIEW: 107548
In the EnvironmentGroupList, implicitly take the group to be default if empty group name is passed.
Reason: at least the CMake support does not use the designated default group method
(EnvironmentGroupList::defaultGroup()).
I guess that many other plugins don't do that either.
Fixed a serious bug: some parameters with default values were referenced together with them, this means that passing another value for such a parameter would have no effect whatsoever.
Signed-off-by: Dimitar Dobrev
Fix find/replace never stopping in some cases
In case capture lists in the pattern regexp are specfied, the
progressbar will never vanish again.
REVIEW: 107552
Educational
Add workaround for crash with Min-Crossing-Edges.
The crash is probably within the Boost implementation of the
Fruchterman Reingold algorithm.
fix latex output with Sage 5.4
in newer Sage versions the latex output is encapsulated diffrently. Adapt the
backend to those changes.
Fix journal file data loss for new projects.
This change ensures that journal files for new created projects are
saved. The problem was located in the missing associated project
for the journal file.
resource editor: fix resizing of keys when zoom factor unequal one
When applying the scaled coordinates of the resize grips to the actual
key items the values were only implicitely rounded. This resulted in
an off-by-one error in the code responsible for retaining the dimensions
of the key not affected by current grip. These errors accumulated
quickly to rather big values because the code is executed for each
drag event. This is fixed now through explicit rounding.
Graphics
Fix slideshow not starting
Make sure we go in view mode when started with "-" and when "Start Slideshow"
is selected from menu.
KDE Base
Fix incorrect usage of list iterators
The problem was that we erased an iterator from the list and then
incremented it. This can lead to problems (namely, random crashes) if
the iterator pointed to the last list element.
Thanks to Sandro Mani for testing the patch!
FIXED-IN: 4.9.5
Put the removal of kscreenlocker group into its own section
That should guarantee the removal
Fix: Storages are commonly referred to by description
Remove check if storage identifier is present, they are usually
hard to identify. Most Android phones use description (e.g. phone,
card) to identify them anyway.
Fix Bug 309292 - Missing properties in KColorDialog, KColorCells,
KColorPath
FIXED-IN: 4.10
"adding to KColorPath: QColor color" already done
use the new url for Twitter API
twitter service works again
patch by Prasad Murthy
Fix buttons accessibility in KMenuEdit
FIXED-IN: 4.10.0
Fix Konqueror home gesture command
Do not crash if the system configuration cache (syscoca) is corrupt and the user
launched to the preferences window.
FIXED-IN: 4.9.5
REVIEW: 107642
Fix Python3 breakage of action catch-all handler.
If an action throws an exception, this catch-all handler is supposed to
print a nice dialog, and print it too. However, at present, PyKDE4 seems
broken in some way because the use of i18n() and many other APIs causes
whining like this:
Traceback (most recent call last):
File "/home/zaufi/kde-devel/share/apps/kate/plugins/pate/kate/__init__.py", line 293, in __call__
return self.f()
File "/home/zaufi/kde-devel/share/apps/kate/pate/expand/expand.py", line 206, in expandAtCursor
expansions = loadExpansions(mime)
File "/home/zaufi/kde-devel/share/apps/kate/pate/expand/expand.py", line 147, in loadExpansions
for directory in kate.applicationDirectories('expand'):
File "/home/zaufi/kde-devel/share/apps/kate/plugins/pate/kate/__init__.py", line 399, in applicationDirectories
return kdecore.KGlobal.dirs().findDirs('appdata', path)
TypeError: KStandardDirs.findDirs(): argument 1 has unexpected type 'str'
So, we want to fix that at least. Will follow up on the mailing list.
Added curly brackets around DolphinApplication creation and execution, to make sure it is deleted before "return 0;" is
called. This might prevent random crashes due to the de-allocation chain in Qt at exit.
Fix crash when no service was selected (user clicked on "Open With...")
FileWatch: Remove any existing dirIterator when removing the watches
When issuing a command to remove the watches, watches could be being
added at that point. In that case one should remove those iterators so
that watches are not added after it is unmounted. Also, the dirIterators
seem to prevent the medium from being unmounted.
Also make sure _k_addWatches is invoked if the dir iterater list is not
empty. There can be a case when there is only 1 dir iterator, and it
fails to add a watch. In that case _k_addWatches is not called again,
and that iterator is never removed. This happened to me for a
'lost+found' directory.
FIXED-IN: 4.10
Correct value for autostart setting of Service-nepomukfileindexer, part2
After 530c743a89bb5366ff9b6f8be1d7a37f23b46880, this fixes the other
places where the incorrect default value 'false' was used.
Thanks to Luc Menut for noticing this problem!
CCBUG
Fix Bug 287199 - Canceling doesn't reset the changes made in the dialog
(nor does reopening it)
Thanks David to help me. We must close xmldocument.
FIXED-IN: 4.10
DMM: Auto-commit after each data manipulation statement
With the ResourceMerger rewrite we no longer push one statement at a
time. We now push them in one large statement. This has been shown to
cause transaction deadlocks in virtuoso. It is recommended to set
log_enable( 3 ) in order to auto commit after each data manipulation
command.
Ideally we should have proper transaction support and each command in
the data management model should be a separate transaction. However,
this will have to do until we figure out how to do that.
REVIEW: 107637
KDE-PIM
eventeditors: Don't validate the end date for journals.
Journals don't have end date.
Fix Bug 311298 - akonadi_nepomuk_feeder.notifyrc doesn't contain the
"IconName=..." entry
FIXED-IN: 4.10
korg/editors: Fix alarms.
This is a better fix for bug 311097.
We can't really rely on isVisible() for anything serious since
on widget creation it's still false.
Fix Bug 310852 - Use type-specific icons for "application/octet-stream"
attachments
FIXED-IN: 4.10
Save KOrganizer reminders when they are first added to the alarm dialog
Previously, the list of already-triggered reminders only got saved to
the config file when the user actively dismissed or suspended one of
them. With this and the previous patches, saving and loading of
reminders should work correctly now.
FIXED-IN: 4.10
Fix Bug 311024 - No tooltip on empty folders
Finally it's logical to show tooltip even if folder is empty
otherwise we must click on to know why there is not tooltip and show
that it's empty
FIXED-IN: 4.10
Use a QPointer to wrap dialogs for improved crash protection.
Fix crash when we "unset" unread status. Crash found by sergio
Fix Bug 311158 - Attachment properties dialog doesn't understand
"filename" attribute
FIXED-IN: 4.10
Fix Bug 233524 - cannot add tags to emails through filters
It was never works. List was always empty
Don't call query each time that we apply a filter
FIXED-IN: 4.10
Office
Fix h range for colorize option
fix saving of textranges in KoTextWriter::Private::saveParagraph(...)
Usage of KoTextRangeManager::textRangesChangingWithin(...) and
KoTextRange::saveOdf(...) can be surely improved, but for now this fixes
a good range of known textrange saving bug.
REVIEW: 107601
thanks boemann for review
Multimedia
don't construct objects when gst init failed
what happend is that we continued constructing backend objects even when
gst init failed (supposedly that is only the case since the pipeline
refactor) which in turn lead to crashing as it would have required just
about every function to do validity checking before doing anything at all.
the good news is that libphonon already does that as part of its own
validity system. whenver the backend returns 0 on an object construction
request libphonon's corresponding frontend object will simply ignore all
calls thus allowing a scenario in which the backend cannot construct
any valid backend objects (such as when gst init fails).
consequently also remove pointless checks for the validity in the
AO, MO and devicemanager ctors. also the managers are now only constructed
if gst_init was successful.
ultimate result of this is that when gst_init failed or our plugin
requirements are not met (i.e. gst-base is not present) no object will
get constructed other than the Backend object itself.
Fix memory leaks
CC
backport ADO asserts for 4.6.3 to help with debugging
Fix wrong DBus paths for the MixDevice instances
CC
Fix some more memory leaking.
CC
Fix resizing of the Sound Menu, after hotplug or application stream changes.
I still have not the faintest idea why the Widget refuses to resize itself,
so I now recreate the Sound Menu each time it pops up.
CC
Fix crash in the "feedback loop guard" for the case when there is no playback control on a Volume.
CC
Fix memory leaks, especially related to the MixDevice - DBusControlWrapper reference cycle.
CC
Dynamic lock timeout is our friend.
Instead of simply waiting for a fixed amount of ms for the next source,
we wait for the most sensible amount of time. This is whatever amount
of time is remaining to play minus a 0.5 seconds safety delta (time
values not precise etc.).
A source for which we have no time or for which the remaining time is
< 0.5 seconds is immediately unlocked again. Otherwise the consumer has
as much time as gst gave us to set a new source.
This in particular prevents pointless excessive locking on sources which
have a totalTime < whatever fixed lock value we have (so that we'd lock
longer than what we are playing). An issue apparent with notification-like
sounds, that are rather short and do not need gapless transitioning.
FIXED-IN: 4.6.3
Networking Tools
Remove kio-magnet, nobody really uses it and it only causes confusion for people who only want to use magnet links with ktorrent
History plugin - Fixed saving and reading plain text messages
Correctly detect if 802-1x security setting is enabled or not.
Support custom IM protocols
For IM protocols that Google does not officially support (i.e.
they don't have scheme URL for them), we should not create our
own scheme, but just send the name of the protocol in 'protocol'
attribute of the gd:im element.
FIXED-IN: 0.4.4
Utilities
Refactor QApt::Backend initialization in ApplicationBackend
Merged initBackend and setBackend. initBackend was the only user of
setBackend and having the API could have meant that it can be set, make
it explicit.
If the backend hasn't been initialized, don't initialize QAptActions yet,
wait until it has been initialized.
This fixes a crash when loading the muon-appsbackend with gui integration.
Fix detection of memory cards.
Fix runner freezes, make script jobs abortable
Create ProvidersDataSource object in data engine constructor,
to ensure it is always available, needed very often.
Initialize as 'dirty' to fill with provider data.
Also create the file system watcher in the constructor.
Implement ScriptJob::requestAbort(), like TimetableMate's
DebuggerJob::requestAbort(). Keep track of running jobs in
ServiceProviderScript, in the destructor abort all running jobs and
give them maximally one second to finish. The previous
ThreadWeaver::Weaver::instance()->finish() waited for all script jobs
from any provider also if there was no job running at all.
That could freeze krunner, when typing "too fast"
Games
Fix settings not saved on Quit
FIXED-IN: 4.9.5
REVIEW: 107586
(cherry picked from commit 29a4942d855ae768d1367f5f0df350cb7f6c368d)
On new game hide widgets which are not supposed to be seen.
REVIEW: 107561
FIXED-IN: 4.9.5
Features
Accessibility
Allow opening context menu from keyboard in volume slider and enum.
This is the last part of the accesibility patch suit, that in whole belong in KDE 4.10.
REVIEW: 106585
Development Tools
Add some json tests, fix internalFunctionContext test, which was
actually testing the internalContext.
Allow template parameters to have default arguments without having
identifiers.
Add cpp file test to test default argument behavior (in template and
function contexts).
Add some new cpp json tests to support (templateContext,
templateParameterDefault)
Add simple definition for __builtin_va_arg to allow the declaration
builder to get the correct types and create declarations.
Add tests.
Add "Switch To Buddy" plugin.
This enables in the C++ language plugin to add a new context menu
action to switch to corresponding header or implementation file.
Changes made:
- A new function has been added to IBuddyDocumentFinder to allow
language plugins to implement logic to find buddy or related files.
- The new plugin "switch to buddy" implements a context menu extension
which is only trigged if at least one buddy can be found. To get
possible buddies IBuddyDocumentFinder is used using the editor's
current document's mime type.
- See plugin
This implements a feature known from many IDEs. Using the Buddy
interface and a separate plugin I think it's rather clean and generic.
REVIEW: 107310
Educational
Background on icons, so that they can work in dark color schemes
The icons used in the opencaching.com plugin are dark brown with
transperant background, potentially making them [almost] invisible for
users with dark color schemes. By having a light background, this issue
is prevented. Color is taken from opencaching.com palette.
REVIEW: 107564
M +- -- src/plugins/render/opencachingcom/boat-required.png
M +- -- src/plugins/render/opencachingcom/chirp.png
M +- -- src/plugins/render/opencachingcom/diving.png
M +- -- src/plugins/render/opencachingcom/exclusive.png
M +- -- src/plugins/render/opencachingcom/historic-site.png
M +- -- src/plugins/render/opencachingcom/letterbox.png
M +- -- src/plugins/render/opencachingcom/multi-cache.png
M +- -- src/plugins/render/opencachingcom/night.png
M +- -- src/plugins/render/opencachingcom/puzzle.png
M +- -- src/plugins/render/opencachingcom/traditional.png
M +- -- src/plugins/render/opencachingcom/tree-climbing.png
M +- -- src/plugins/render/opencachingcom/unknown.png
M +- -- src/plugins/render/opencachingcom/uv-light.png
M +- -- src/plugins/render/opencachingcom/verifiable.png
M +- -- src/plugins/render/opencachingcom/virtual.png
KML ScreenOverlay reader.
Note: Dummy empty line inserted in geodata/CMakeLists.txt to have
cmake pick up the new files. If you still get an undefined reference
for KmlScreenOverlayTagHandler or similar, please invoke cmake
manually to have the GLOB calls execute again.
Details dialog: Add support for verifiable attributes, display tags as icons, small improvements
Improvements include text alignment, method to fill in the dialog to avoid
code duplication, and the hint is now displayed in a textbrowser according
to suggestion.
Added icons for tags.
don't set a cursor on Maemo 5
Widgets on Maemo 5 don't show a cursor by default. Marble should respect this because applications on the N900 usually don't show a cursor.
Graphics
Add support multicore CPU in Batch Queue Manager to process items from queues in parallel.
This will speed up items processing depending of cores available in your computer.
Detection of core suitable is done through KDE::Solid API.
Registration of items properties is not paralellized yet and still in main thread.
It can be a bottleneck in the workflow. This point must be analyzed later with core Database interface.
FIXED-IN: 3.0.0
KDE Base
Make plasma and experimental build with Qt5
Also disable its build when we're not building for Qt5. In Plasma, it
doesn't really make sense to allow both builds, since the changes are
too intrusive to maintain two builds.
Handle Microsoft TZIDs
Microsoft TZIDs which are not compatible with the Olson timezone
format which Google expects in dtStart and dtEnd timezones. We
use special mapping of X-MICROSOFT-CDO-TZID property to a real
Olson timezones to make Google happy. Unfortunatelly this means
that the original long MS timezone name is not preserved.
The conversion is run only in Objects::Event -> JSON serializer,
as Google always returns events with Olson timezone format.
FIXED-IN: 0.4.4
Move the InvalidFileResourceCleaner to the NepomukCleaner
The InvalidFileResourceCleaner was a good job to have. However, running
it automatically on startup caused more problems than it solved. For the
cases when the removeable media handling didn't work, or when mounting
something that Solid did not recognize, it would delete those file
resources on restart (if the device wasn't mounted)
Additionally, it caused extra network usage when mounting a network file
system, by stating (QFile::exists) all the files that had metadata. This
would annoy a lot of users.
We now have it as a job in the nepomukcleaner, which can be run when the
user wants. Ideally one should also have a warning in place that it
might delete metadata for non-mounted media. But we are in string
freeze.
Another reason this makes sense is cause the kioslaves now do not show
any resource which cannot be stated, so even if they are some file
resources which have an incorrect url, they will not be shown to the
user.
Moving KDialogQueue to kwidgets
At this stage, there's a circular reference between kwidgets and
kdeui because of the dependencies on kdeui/notifications and
KSqueezedLabel
KMessageBoxMessageHandler moved to kde4support
KMessageBoxMessageHandler depends on queued KMessageBox methods.
If it is to stay inside kdeui then a circular dependency would occur
as KMessageBox queued methods depend on original kdeui KMessageBox
and kdeui would need a reference to kde4support, closing the loop.
IndexScheduler: Allow the user to configure the behaviour of the queues
One can now set a delay in between items of the queue, and one can
configure if one wants the file indexing queue to be paused during
normal execution.
In 4.9, the indexing queue used to have a large delay when indexing
normally. In 4.10, there are now 2 queues - basic and file. The file
indexing queue is, by default, suspended during normal execution. Added
an option to allow the user to change that.
In nepomukstrigirc -
[Indexing]
BasicIQDelay = 0
FileIQDelay = 0
NormalMode_FileIndexing = "suspend" | "resume"
KIO listDir entries batching
KIO was not batching. At most it did:
1 signal with the first 100 entries
1 signal with the remainder
Now it's doing time based batching.
It will emit 1 signal every 300ms with the results thus far or emits as soon as all entries are in if that is before 300ms. This can be many signals if you have massive folders or a slow data source. Usually it's only 1-3 signals on the local HDD or SSD.
REVIEW: 107520
Create non-WId methods standalone implementation
This is needed on the way to split WId methods to their tier4/kinterprocesswindowing
framework. Initially, the analoguos non-WId methods called WId methods to avoid
code duplication. Unfortunately, that duplication has now to be done in order to
untie non-WId methods from the WId ones.
More elegant solution could be imagined but that would require the introduction of
new classes/types and the is not wanted for the moment.
KMessageBox methods now splitted to kinterprocesswindowing and kde4support
The queued methods moved to kde4support framework
The WId methods moved to kinterprocesswindowing
Sort alphabetically
It's a bit sad that our alphabetical list was not sorted alphabetically
FIXED-IN: 4.9.5
KDE-PIM
Now we can change image background
Make sure that deleting/adding/editting works reasonably
- Enable buttons only when it makes sense
- Edit the correct item
- Revert the addition when user rejects the dialog
- Fix deleting
Make default OpenPGP file extension configurable
Make it configurealbe if OpenPGP encrypted
files created by Kleopatra should have the .pgp ending or
the .gpg ending. The current behavior stays as default. (.gpg)
This change was requested by instutional users who want to share
files with the same ending between PGP and GnuPG and use the
same file extension to mark those files.
Give icons to the configuration windows
FIXED-IN: 4.10
-> Backport to the 4.9 branch if the Release Team decides to have 4.9.5
-> Markus: feel free to reopen if you find more instances
Add new filter rule MatchingAll
Using Categories to mark contacts it has been a big request
from users that they should be able to filter the contacts
by a set of categories and not only by one category.
Fixes:
kolab/issue4861
Fix saving and loading of suspended reminders in KOrganizer
We need to wait for all collections to be available when restoring
reminders at startup, or they won't get loaded properly. Additionally,
we must delete reminders one by one as they are dismissed instead of
just cleaning out the config file after each startup.
FIXED-IN: 4.10
REVIEW: 107546
l10n: produce a proper .po file header so that contexts are preserved again
This will have to be picked up by the translators, otherwise the contexts will
be all wrong and nothing will translated actually.
I hate this stuff. I'm *so* tempted with just moving the message extraction off
the KDE's scripty and its old lconvert, replacing it with a wget downloading my
own version. But maybe, jyst maybe this last thing is enough to make this beast
work, finally.
Meh.
Office
These commite includes fixes and new supports on mobi format.
Fixes: Kindle can open mobi ebooks, read blocks text completely.
Supports: images, bookmarks, footnotes and endnotes.
Column and row styles should be implicitly shared otherwise it can cause problems
when loading a file where the same style is used in more than one row/column
>From now on it's important to set the style back after you have modified it.
We will have to look into how this should work with named styles, but for now
we don't even have ui to change named table styles.
Allow setting a Google API key for book searches
It's unclear when Google will require an API key for all book
searches. Results seem to be currently available without a key, but
allow the user to specify one. Currently, the default Tellico key
has a daily limit of 1000 requests.
Add configuration page for the pixelize filter
Added the first version of per-architecture binaries for composition
Pros:
+ we can have prebuild versions for all the architectures supported
by Vc (Amd XMA4 and XOP are not supported by Vc yet)
+ the implementation is chosen dynamically on Krita start
+ the semi-general code for multi-arch builds now in
KoVcMultiArchBuildSupport.h (might be ported upstream in the future)
Cons:
- it depends on Vc's 'staging' branch, so it can't be put in master
right now
- the code became much less readable due to all that template magic
- I had to copy-paste Vc's 'vc_compile_for_all_implementations' cmake
macro, because we do not need 'Scalar' implementation
- the size of the pigment library grew almost 1.5 times: 11->17 MiB
(probably, we still need plugin system for this)
add psd support to sketch
Networking Tools
"Save as..." context menu action entry for images
Add plasma-themeability to the menu on the presence applet
The Presence applet will show a Plasma-themed icon now if
available. However, the context menu items for statuses are still
all Oxygen, so the user experience is inconsistent -- if the
user clicks on an icon for status, they won't get that icon
on the plasmoid. This patch will make it so that those menu items
are also Plasma-themed.
REVIEW: 107545
Add mechanism to validate EAP methods' settings. The first one implemented is
for TLS, which requires the identify field to be filled or it will crash the
edit dialog. Now the Ok button in edit dialog will be disabled if the identify
field is empty.
Restore tab position on reopening
User Interface
Utilities
Make lexer/parser a part of the build process
Previously the files gen_qregexplexer.cpp, gen_qregexpparser.cc and
gen_qregexpparser.hh were commited to version control.
It make far more sense to generate them at compile-time just like the
the moc-files.
Enable resizing of FAT and HPFS filesystems with parted >= 3.1.
Other
Initial provider for PublicTransport provider plugins
Start with one provider plugin for testing purposes.
There are many GTFS feeds available, each needs a
provider plugin, too many to include them all with the
default installation.
Optimization
Development Tools
Optimize QuickOpen for project files using new Path.
FilterWithSeparator is now a PathFilter and uses the curiously
recurring template pattern instead of virtual inheritance to get the
Path for an element.
Especially the filtering is now much better as we do not have to
split the string item representation, since we can directly operate
on the existing path segments.
Educational
Removed code duplication and added features to ValueModifier
This commit uses templates to reduce code duplication in
ValueModifier. enumerate() now supports being given a base string that
it will append its numbers to. There is also a new method --
enumerateAlpha() -- which will take a string and use its lexiographic
incrementation instead of a number. enumerateAlpha also supports a
base string.
This patch was created by andromeda-galaxy within GCI 2012,
thanks a lot!
Cache the atmosphere (increases performance).
REVIEW: 107581
KDE Base
Avoid opening the backend website multiple times
FIXED-IN: 4.10.0
Cache UDisks2 Device DBus connections
Cache the QDBusInterface connection for each UDI so that
it's not recreated every time Solid::Device is constructed.
This greatly reduces the number of DBus calls and makes
the UDisks2 backend much faster.
ResourceWatcher: Do no create a new ResourceManager on quit
The ResourceManager contains a ResourceWatcher. This ResourceWatcher is
initialized only when a Resource class requires it. On destruction it
calls ResourceWatcher::stop, which tries to disconnect it from
ResourceManager::nepomukSystemStarted signal.
The problem arises when the application is exiting, and the
ResourceManager (being a child of QCoreApplication) is being destroyed.
It in turn destroys the ResourceWatcher, which calls
ResourceWatcher::stop, which calls ResourceManager::instance() which
results in the creation of a new ResourceManager whose parent is
QCoreApplication::instance, which is 0, cause the application is
shutting down.
This whole extra ResourceManager being allocated is not required and can
be avoided by checking if QCoreApplication != 0, in
ResourceManager::instance.
Also, since ResourceManager::instance() can now return 0. I've added an
assert check in the Resource class.
REVIEW: 107573
TimeLine: Avoid inferencing when checking for files in date range
By not using inferencing in the ask query we save about ~110ms per
query. This adds up a lot when listing days of a month: 31*110 = 3.4
seconds.
We don't really need inferencing since all we care about is the
nie:lastModified.
TimeLine: Optimize the timeline query
Avoid searching through all the possible dates. All we care about is
when the file was last modified (nie:lastModified), not the time its
contents were created or anything else.
This speeds up the query exponentially.
KDE-PIM
Don't fetch contacts from server in retrieveItem()
Google Contacts resource does not use item parts, thus there no
point in fetching contact again in retrieveItem(). Just call
itemRetrieved() instead, because the Item already contains
full payload.
korg/incidenceeditors: Unclutter the date and time boxes.
No point in occupying 30% of the line edit with a clear button.
We don't need this KLineEdit functionality, our date and time
combos fill the line edit automatically if you're using a mouse
workflow.
If you use keyboard only, you wouldn't grab your mouse to click
the clear button either.
korg/todoview: Performance optimization: Insert parents first.
We now sort by hierarchy depth first, then insert in increasing
order of depth.
This way we don't need any rows moved signals, which are expensive.
Office
Change suffix from .xhtml to html as that is what people expect when exporting to html
Games
Avoid the confusion after revealing the world
Thank you to "Adam Davies" for his Google Code-in work!
Other
Educational
Documentation: Bump version.
The handbook is now up to date with the current master version of Rocs.
All interfaces and mechanisms included in the handbook are updated.
Note: before documentation freeze, some structure changes in the second
half of the handbook are planned.
KDE Base
Base for the new KScreen Daemon
KMessageBox is now a namespace
All of KMessageBox class members were static members.
As such, there's no point to put them into a class.
This move will allow us to split it's methods accross several
frameworks:
- kinterprocesswindowing will receive all WId methods
- kde4support will receive all queued methods
Multimedia
Update docs to 2.7 (first pass)
M +- -- doc/Face-smile.png
M +- -- doc/Icon-action-dynamic-amarok.png
M +- -- doc/Icon-application-exit.png
M +- -- doc/Icon-bookmark-new-list.png
M +- -- doc/Icon-configure.png
M +- -- doc/Icon-dialog-information.png
M +- -- doc/Icon-document-export.png
M +- -- doc/Icon-document-import.png
M +- -- doc/Icon-document-new.png
M +- -- doc/Icon-document-properties.png
M +- -- doc/Icon-document-save.png
M +- -- doc/Icon-edit-clear-list.png
M +- -- doc/Icon-edit-clear-locationbar-rtl.png
M +- -- doc/Icon-edit-copy.png
M +- -- doc/Icon-edit-delete.png
M +- -- doc/Icon-emblem-favorite.png
M +- -- doc/Icon-emblem-mounted.png
M +- -- doc/Icon-flag-green.png
M +- -- doc/Icon-folder-new.png
M +- -- doc/Icon-folder-remote.png
M +- -- doc/Icon-go-down.png
M +- -- doc/Icon-go-home.png
M +- -- doc/Icon-go-next.png
M +- -- doc/Icon-go-previous.png
M +- -- doc/Icon-go-up.png
M +- -- doc/Icon-list-add.png
M +- -- doc/Icon-list-remove.png
M +- -- doc/Icon-media-playback-pause.png
M +- -- doc/Icon-media-playback-start.png
M +- -- doc/Icon-media-playback-stop.png
M +- -- doc/Icon-preferences-other.png
M +- -- doc/Icon-view-list-tree.png
M +- -- doc/Icon-view-refresh.png
M +- -- doc/action-collection-amarok48.png
M +- -- doc/advancedtok.png
D +- -- doc/album.png
M +- -- doc/albumbar.png
A +- -- doc/amarok-2-6-duplicates-during-collection-scan.png
M +- -- doc/amarok-apg-presets-toolbar.png
M +- -- doc/amarok-context.png
M +- -- doc/amarok-e17.png
M +- -- doc/amarok-fluxbox.png
M +- -- doc/amarok-gnome.png
M +- -- doc/amarok-lxde.png
M +- -- doc/amarok-mac-port-install.png
M +- -- doc/amarok-maintoolbar.png
M +- -- doc/amarok-managing-media.png
M +- -- doc/amarok-newdynamic-detail.png
M +- -- doc/amarok-newdynamic.png
D +- -- doc/amarok-renameplaylist.png
M +- -- doc/amarok-slimtoolbar.png
M +- -- doc/amarok-xfce.png
M +- -- doc/amarok2-4-1albumtageditdialog.png
M +- -- doc/amarok2-4-1albumtageditpertrackdialog.png
D +- -- doc/amarok2-4-1configplayback.png
D +- -- doc/amarok2-4-1configscripts.png
M +- -- doc/amarok2-4-1configspeakersetup.png
D +- -- doc/amarok2-4-1configuredialog.png
M +- -- doc/amarok2-4-1configuredialogcollection.png
D +- -- doc/amarok2-4-1configuredialogplugins.png
D +- -- doc/amarok2-4-1databaseconfig.png
M +- -- doc/amarok2-4-1editfilterdialog.png
M +- -- doc/amarok2-4-1filenamelayoutchooseroptions.png
M +- -- doc/amarok2-4-1mergedviewcollection.png
M +- -- doc/amarok2-4-1non-mergedviewcollection.png
D +- -- doc/amarok2-4-1notifications.png
D +- -- doc/amarok2-4-1phononbackends.png
D +- -- doc/amarok2-4-1phonondevices.png
D +- -- doc/amarok2-4-1saveplaylistchoices.png
M +- -- doc/amarok2-4-1tageditdialog.png
M +- -- doc/amarok2-4-1viewmenu.png
D +- -- doc/amarok2-4.png
M +- -- doc/amarok2-4collectionsortingmenu.png
D +- -- doc/amarok2-4helpmenu.png
M +- -- doc/amarok2-4musicbrainztagger.png
M +- -- doc/amarok2-4organizefilesadvanceddialog.png
M +- -- doc/amarok2-4organizefilesbasicdialog.png
M +- -- doc/amarok2-4queueeditor.png
M +- -- doc/amarok2-4searchplaylist.png
D +- -- doc/amarok2-4transcodetracksdialog.png
A +- -- doc/amarok2-6.png
A +- -- doc/amarok2-6appletbrowser.png
A +- -- doc/amarok2-6configgeneralmenu.png
A +- -- doc/amarok2-6flactranscodemenu.png
A +- -- doc/amarok2-6helpmenu.png
A +- -- doc/amarok2-6playlistalbumcontextmenu.png
A +- -- doc/amarok2-6pluginsconfigmenu.png
A +- -- doc/amarok2-6scriptsconfigmenu.png
A +- -- doc/amarok2-6trackcontextmenu.png
A +- -- doc/amarok2-6transcodemenu.png
A +- -- doc/amarok2-6viewconfigmenu.png
A +- -- doc/amarok2-6viewundocksymbols.png
A +- -- doc/amarok2-7addtoplaylist.png
A +- -- doc/amarok2-7aftersplash.png
A +- -- doc/amarok2-7configuredialogcollection.png
A +- -- doc/amarok2-7removefromplaylist.png
A +- -- doc/amarok2-7renamesavedplaylist.png
A +- -- doc/amarok2-7saveplaylistchoices.png
A +- -- doc/amarok2-7settingsdatabase.png
A +- -- doc/amarok2-7settingsgeneral.png
A +- -- doc/amarok2-7settingsnotifications.png
A +- -- doc/amarok2-7settingsplayback.png
A +- -- doc/amarok2-7settingsplugins.png
A +- -- doc/amarok2-7themediasources.png
A +- -- doc/amarok2-7theplaylist.png
A +- -- doc/amarok2-7thetoolbar.png
M +- -- doc/amarok24_configureshortcutdetail.png
M +- -- doc/amarok24_configureshortcutsdialog.png
M +- -- doc/amarok24_settingsmenu.png
M +- -- doc/amarok24_settingsmenu_withreplaygain.png
M +- -- doc/amarok2_moodbar.png
A +- -- doc/amarok_2-6_layout.png
M +- -- doc/amarok_add-on_installer.png
D +- -- doc/amarok_addtoplaylist.png
M +- -- doc/amarok_addtoplaylist1.png
M +- -- doc/amarok_amarokmenu2-4.png
M +- -- doc/amarok_ampache_client2.png
M +- -- doc/amarok_connecting_media_devices.png
M +- -- doc/amarok_cover_manager.png
M +- -- doc/amarok_cover_manager_newcover.png
M +- -- doc/amarok_dynamic_playlist.png
M +- -- doc/amarok_layout11.png
M +- -- doc/amarok_layout22.png
M +- -- doc/amarok_layout23.png
M +- -- doc/amarok_layout24.png
M +- -- doc/amarok_layout25.png
M +- -- doc/amarok_layout26.png
M +- -- doc/amarok_layout27.png
M +- -- doc/amarok_layout28.png
M +- -- doc/amarok_loading_media_devices.png
M +- -- doc/amarok_locale_selection.png
M +- -- doc/amarok_main_toolbar.png
M +- -- doc/amarok_media_devices.png
M +- -- doc/amarok_on_mac.png
M +- -- doc/amarok_playlist_layout_d_ss.png
M +- -- doc/amarok_playlist_layout_editor.png
M +- -- doc/amarok_playlist_layout_nog1_s.png
M +- -- doc/amarok_playlist_layout_nog2_s.png
M +- -- doc/amarok_playlist_layout_v1_s.png
M +- -- doc/amarok_playlist_manipulation.png
M +- -- doc/amarok_playlist_search_ex.png
D +- -- doc/amarok_removeformplaylist.png
M +- -- doc/amarok_saved_playlists.png
M +- -- doc/amarok_script_info.png
D +- -- doc/amarok_script_manager.png
M +- -- doc/amarok_show_only_matches.png
M +- -- doc/amarok_slim_toolbar.png
M +- -- doc/amarok_tracks_media_devices1.png
D +- -- doc/amarok_windowlayout.png
M +- -- doc/amarokbreadcrumb.png
M +- -- doc/amarokmediasources-files.png
M +- -- doc/amarokmediasources-home.png
A +- -- doc/amaroknepomukcollectionbrowser2-7.png
A +- -- doc/amaroknepomukpluginconfig2-7.png
M +- -- doc/amaroknew2-4.png
M +- -- doc/amarokrightmenu.png
M +- -- doc/amarokripcd.png
M +- -- doc/amaroksystray.png
M +- -- doc/amaroktoplevelmenus2-4.png
M +- -- doc/amarokwindow_context.png
D +- -- doc/amarokwindow_mediasources.png
D +- -- doc/amarokwindow_playlist.png
M +- -- doc/apgpresetsmatchallgroup.png
D +- -- doc/app.png
A +- -- doc/applet_explorer.png
M +- -- doc/applications-internet.png
A +- -- doc/backend.png
M +- -- doc/bookmarking_menu.png
M +- -- doc/cd_collection_sansa.png
A +- -- doc/collection2.png
D +- -- doc/context_menu.png
M +- -- doc/contextpane.png
M +- -- doc/contextpanestopped.png
M +- -- doc/controlamarok.png
A +- -- doc/desktop_search.png
M +- -- doc/document-save.png
D +- -- doc/dynamic_playlist.png
M +- -- doc/edit-redo.png
M +- -- doc/edit-undo.png
M +- -- doc/favor.png
M +- -- doc/firstruncollection2.png
M +- -- doc/folder-amarok.png
M +- -- doc/generatedlist.png
M +- -- doc/generatingtree.png
M +- -- doc/hi48-action-clear-playlist-amarok.png
M +- -- doc/hi48-action-edit-playlist-queue.png
M +- -- doc/hi48-action-media-standard-track-progression-amarok.png
M +- -- doc/hi48-action-music-amarok.png
M +- -- doc/hi48-action-podcast-amarok.png
make audioview look nice
layout is now simpler using a fixed size analyzer below tags. in addition
when switching to the audioview the window resizes to the minimum size
(maximum size of analyzer + chrome). this now gives a very nice
appearance and if the user chooses to resize the window the entire view is
centered.
additionally:
- explicitly set fontsize via kglobalsettings
- stop adding the track number to the track label (looks silly)
Games
Change Download provider to be kde-files.org
I added a Kanagram category to kde-files.org instead of using the
knewstuff old website which was not working
Other
FindKGeoMap: prefix result of pkg_search_module
otherwise stuff like KGEOMAP_LIBRARIES is already set, making the actual find_library for it just a no-op
actually, this module should just go in favour of a KGeoMapConfig.cmake file...