Issue 272
27th January 2013 by KDE Commit-Digest TeamContributors
Marta Rybczynska
Anselmo L. S. Melo
Jaka Kranjc
Thibaut Gridel
Jürgen Appel
This Week...
Statistics
Commits | 2742 by 173 developers |
Open Bugs | 21078 |
Open Wishes | 15778 |
Bugs Opened | 374 in the last 7 days |
Bugs Closed | 360 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
199
|
/branches/stable |
179
|
/trunk/l10n-support |
58
|
/trunk/playground |
41
|
/trunk/www |
20
|
/krita/sketch |
19
|
/krita/ui |
19
|
/doc/index.docbook |
18
|
/portage/win32libs |
14
|
/libs/widgets |
12
|
Files | Developer | Commits |
207
|
Laurent Montel |
77
|
156
|
Ingo Malchow |
54
|
153
|
Friedrich W. H. Kossebau |
52
|
150
|
Chetan Khona |
50
|
135
|
Dmitry Kazakov |
48
|
135
|
Burkhard Lück |
45
|
117
|
Albert Astals Cid |
45
|
111
|
Kenny Coyle |
38
|
93
|
Aurélien Gâteau |
38
|
111
|
Jekyll Wu |
37
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Swedish (sv) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
Estonian (et) |
99%
|
Polish (pl) |
98%
|
Spanish (es) |
97%
|
Dutch (nl) |
96%
|
German (de) |
95%
|
French (fr) |
93%
|
Italian (it) |
92%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
38
|
Christoph Feck |
24
|
Martin Gräßlin |
24
|
Gilles Caulier |
18
|
Vishesh Handa |
18
|
Thomas Lübking |
13
|
Frank Reininghaus |
12
|
Dmitry Kazakov |
11
|
Ben Cooksley |
9
|
Myriam Schweingruber |
9
|
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 205 selections this week
Bug Fixes
Development Tools
always explicitly set the text of the first column
otherwise on data update, it just shows whatever was there previously, which
is wrong and obviously highly misleading
Extend test, verify the function type.
This shows that something is wrong with the JSON test suite...
Use proper target exe path calculation for CTests
Calculation of the executable path is done through the
ProjectExecutableTargetItem which respects RUNTIME_OUTPUT_DIRECTORY
target property and CMAKE_RUNTIME_OUTPUT_DIRECTORY variable values.
Addtionally Test::executable is not modified if kde4_add_unit_test
detection logick failed (target name calculated in the detection block
dies not exists in the code).
REVIEW: 108556
Fix AndroidRunner stop action.
When the stop button was pressed nothing happened
Change-Id: I58a05aa3a4ea990595298cde0a330b382b65b035
Always set type on function declarations.
The return value of the visitor functions only tells the
visitor whether to continue looking at the children nodes.
Educational
Fix SVG export
Some code was disabled, because it required
Qt 4.5, which we long assume.
Thanks Leonardo Barichello for spotting this!
FIXED-IN: 4.10
status is unreliable, check for nan explicitly.
Losing the GPS fix often results in gpsd reporting status as ok, but
reporting nan as position. These invalid coordinates result in broken
position data (nan as position, random painting on the map) and likely
also crashes.
Fixing mistake in fetching of DSS imagery for deep-sky objects.
Now, the DSS image size is really determined by the size of the
deep-sky object.
When querying DSS, use POSS2/UKSTU Blue plates. They are much better.
Ideally, we should give the user the choice.
resource editor: don't crash when deleting the first keyboard layout
The root problem of the issue is the kdelibs bug 303228
("KCategorizedView is calling visualRect recursively"), this commit
provides only a work arround for the issue by temporalily deactivating
the categorization of the resource list when deleting a resource.
Fix bug with NGC / IC multiplicity suffixes.
NGC / IC objects sometimes have multiplicity suffixes.
eg: NGC 4945A is the tiny galaxy near NGC 4945.
Because we did not read these values correctly, RA values for objects
with suffixes were read incorrectly and assumed to be zero. This bug
was reintroduced while moving to KSParser.
Also, the suffixes were not included in the names of the objects. Now
they are.
BUG
Graphics
Merge branch 'load-img-with-wrong-extension' into KDE/4.10
REVIEW: 108470
FIXED-IN: 4.10.0
add info about Table Selection Tool and that browse tool mode is necessary for Inverse Search
Try to make it fail on jenkins too
Seems the path is not being utf8 and thus stuff does not fail
Don't think this will do anything, but won't hurt
Fix for bug 312823 - There is always a "undefined[Finished]"
notification when gwenview starts up:
Don't try to load an empty KUrl.
REVIEW: 108565
FIXED-IN: 4.10.0
Some cleanup in docs, fix EBN warnings
Rewind buffer in case a bad Qt image decoder moved it
Fix decoding jpeg files with a .gif extension.
Add a test (that needs pdflatex) that tests synctexpdf
The second one fails (patch is coming in a moment)
This is just to try what jenkins says of all this :D
Don't crash if a null KFileItem is passed to
ArchiveUtils::fileItemIsDirOrArchive
REVIEW: 108561
check if list is empty before to try to get first item. This must prevent internal Qt crash
KDE Base
Use pathOrUrl rather than prettyUrl, gets rid of file:/// when overwriting file
REVIEW: 108544
(cherry picked from commit 7687aba7026799c43cec4fa289bcd527e8ab8f6c)
Fix dirwatching being stopped when using KIO::moveAs().
CopyJob calls stopDirScan to avoid notification storm (it uses KDirNotify
i.e. DBus to notify of the operation instead), and forgot to call
restartDirScan in the precise case of direct renaming. Moving a '}' fixed it.
With many thanks to Frank Reininghaus for another great unittest!
FIXED-IN: 4.10
Make plasma widgets respect plasma theme colors
Patch adds ButtonBackgroundColor to PaletteHelper. Not sure it's the best way for fixing the bugs, but it works :-)
Problem is only exposed in combination of light colorschemes and dark plasma themes which don't have a light button (so have the same button text color as for window text).
PAtch by Hrvoje Senjan
REVIEW:108525
Ensure we destroy our test windows
KEditTagsDialog: Use the uri not the label as the unique identifier
The EditTags dialog used the Resource::genericLabel() as the unique
identifier when accessing tags. It would save this genericLabel in the
Qt::UserRole of the QListWidgetItem. This caused the following problems -
* When removing a tag, the tag would be identified via Tag(genericLabel),
this will NOT always give the correct tag back. Mainly cause
Tag(QString) operates on the nao:identifier not the genericLabel.
Quite often the genericLabel and the nao:identifier are the same, so
this wouldn't always be a problem.
By using Tag(genericLabel) we try to delete a tag with nao:identifier
genericLabel, which didn't actually exist.
* When saving tags, it would create each tag with the Tag(genericLabel),
this would normally be fine, unless there exists a tag whose
nao:identifier and genericLabel are not the same. In that case the tag
would be duplicated, and since the user only sees the genericLabel, it
would result in 2 identical tags being shown.
* When saving the tags, it would try and re-create each tag which was
being returned. This resulted in a lot of unnecessary Tag::setLabel
calls which cause unnecessary writes, and slow down the entire
process. This can get especially slow when marking a file with a large
number of tags. We now only set the label of the tags which do not
already exist.
a whole bunch of fixes, implemented WinOpticalDrive::supportedMedia()
Removing remaining problematic MenuIndex entries from profiles
don't add a type to the watcher
if we narrow down the types watched, when properties that are catched by and inverted term change, they won't be signaled if the object where those properties belong is of the wrong type:
example: isRelated property for activities, if we do a query asking for items of type FileDataObject
don't hide popup when under mouse
restores behavior of popups in 4.9
FIXED-IN:4.10
Rewrite of KWin's Screen Edge Handling
This rewrite is mostly motivated by the need to handle multi screen
setups correctly. That is have edges per screen and not for the combined
geometry. Also porting from XLib to XCB has been a motivation for the
rewrite.
The design of the new ScreenEdge handling is described in the
documentation of ScreenEdges in screenedge.h.
In addition the following changes have been performed:
* move configuration from Options to ScreenEdge
* add screen edge information to Workspace::supportInformation (obviously
replaces what had been read from Options)
* have Workspace hold a pointer to ScreenEdges instead of an object
* forward declaration of ScreenEdges in workspaces.h, this explains the
seemingly unrelated changes of just another include in some files
FIXED-IN: 4.11
Fix window not showing on correct desktop at startup
FIXED-IN: 0.1.2
Use KConfigXT in KWin::Options
For the time being the current design of Options is more or less kept to
not have to adjust KWin code all over the place. Also for some parts the
generated class from KConfigXT cannot be used due to inter-settings
dependencies defined in the setters.
Options now holds a pointer to a Settings object which is generated from
KConfigXT and uses it to read the default values and the individual
settings. This means the static default value methods are dropped and the
variables are initialized with a normal default value (all int 0, all
boolean false and so on) in the initializer list. Afterwards the values
are set to the correct default value through KConfigXT.
So far for the first step only Windows category is using KConfigXT.
REVIEW: 108572
Also set the font's style name when batch-changing all fonts.
This fixes a regression created by Qt 4.8: calling KFontRequester::setFont()
ends up calling the nearestExistingFont() helper function, which in turn
calls QFontDatabase::styleString(). In Qt 4.8, QFontDatabase::styleString()
calls QFont::styleName() before falling back to the old code path.
In our case, we ended up inheriting the style name of the current "General"
font.
In practice, this means that if the current "General" font had a style such
as "Regular", it was not possible to apply another one such as "Light" or
even "Bold" to all fonts because the other properties we set were
disregarded in favour of QFont::styleName().
Changing each font individually worked fine because it uses a different code
path.
Make the "A folder cannot be dropped into itself" message less intrusive
Showing this message in the KMessageWidget above the view, which means
that the view contents are moved down, can be extremely annoying
according to user feedback. Just showing the message in the status bar
is probably enough.
REVIEW: 108483
FIXED-IN: 4.10.0
discard mouse events outside the contents rect
in this way applets won't steal events from the handle buttons anymore
Fix a number of inconsistencies in state handling.
Make changes to the number of active threads at only one time, while
holding the lock.
Add basic documentation for StateImplementation.
This fixes doxygen´s class hierarchy view.
CleaningJob: Do not clear files whose url does not exist
RemovableMedia files are no longer stored as filex:/uuid/filePath. They
are stored as normal file urls. We do not want them to be removed when
running this cleaning job.
Fix "switch user" action not doing anything
Thanks to parcox for the patch.
@parcox: would have committed it with you as author, but KDE Git server
disallow authors whose name does not match "$firstname $lastname"
FIXED-IN: 0.1.2
don't stopMousePolling when not started
REVIEW: 108536
add unit test for crash 313769
enable dynamic word wrap
1. open kwrite, resize window to 900x1000 pixel
2. open test file "data/bug313769.cpp"
3. <cursor down><cursor down><ctrl+shift+end><ctrl+shift+cursor-up>
4. <ctrl+pos1>
5. <ctrl+shift+minus>
6. undo, redo, undo
Tags kioslave: When deleting a file, just remove the tag, do not delete the file
Cancel in-flight dbus queries to avoid leaks.
If close() is called on the query service client while dbus queries
are still in flight, they were left dangling. This change makes sure they are
properly cancelled. Without this, all such dangling queries are maintained by
nepomuk and updated constantly, causing extreme loads, over time.
REVIEW: 108550
VirtuosoInferenceModel: Cleanup
* Remove the type visibility code. We no longer rely on type visibility
for removing the ontology results.
* Temporarily disable the ontology graph group creation. It was created
in order to easily remove ontology results from Nepomuk queries.
However, virtuoso crashed a lot with the usage of graph group
exclusion.
Therefore graph groups aren't really used anywhere right now. Maybe
with future virtuoso versions. So, for now the code stays, but it is
not called.
Also added an appropriate warning in the function.
Tags kioslave: Allow recursive deletes
No point individually removing the tag from all the files it is tagged
with. Just removing the tag will do the same. Additionally, we do not
want to remove other tags when removing a tag.
Prefer a more meaningful binary name than a wrapper like "kdeinit4"
It is a little confusing for users, when they see "kdeinit4" is
mentioned in the "Detail" and backtrace header while it is "kdeinit4
krunner" that crashes.
This also improve consistency, since the title of DrKonqi dialog also
says it is krunner that crashes.
some screen locker visual fix
1. string in qml doesn't have "empty" property, use length to check it's
empty or not.
2. AccelButton's string doesn't have &, which will result in unpressable
accel key when process i18n string.
3. AccelButton will display & if showAccel is false, here we introduce a
new property for normal string
4. fallback to loginName if fullName is empty.
5. console.log() in AccelButton is removed.
REVIEW: 108559
don't shortcut Above restacks
just because we're above the sibling.
There could be another sibling to get below.
REVIEW: 108609
FIXED-IN: 4.11
Kinfocenter: use unique names for some subdevices
The names for disk devices are now the mount names (sda1) instead of
using the product name, which is same for all the partitions.
REVIEW: 108529
Signed-off-by: Tomáš Chvátal
KDE-PIM
Change tab and window icon when someone is typing or there is unread message
Tabs will have 'unread-message' icon when there is an unread message.
When there are no unread messages, but other side is typing, it shows
a 'typing' icon. Otherwise contact's presence icon is used.
The window will have 'unread-message' icon when there is an unread message
in any tab. Otherwise will show 'typing' if user in current tab is typing.
Otherwise it shows current tab presence icon.
REVIEW: 108500
FIXED-IN: 0.6
Apply patch from Torsten Grote "Don't add line breaks into URLs"
Thanks
REVIEW: 108254
Fix Bug 313652 - pimsettingexporter shows blank icon in its "About PIM
Setting Exporter" dialog
Use kontact icon
Fix Bug 313538 - KMail takes about 25 seconds to refresh background when
you click on "Serverside Subscription..." in IMAP account.
FIXED-IN: 4.10
No i18n in the global namespace
You need a kcomponent for i18n to work, and if it's in the global namespace it gets inited before anything can happen
Please do not ignore
"KGlobal::locale::Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work"
in the future
Office
Add a dlopen hack for disabling VSync
On some systems QLibrary cannot find needed OpenGL functions, so
we need to use pure dlopen for this.
We should port this code to GLEW, when GLEW 1.7 will become a mandatory
dependence.
Added a workaround for OpenGL bended lines
There are two reasons why the lines might become bended:
1) swapBuffers() call waits for the display VSync for about 6 ms, all the
events seem to be dropped during this time.
2) When painting very *huge* circles with very small brush
(circles ~ 3000px in diameter, brush ~5px) some another factor
appears. I cannot tell for sure, but this is, probably, texture loading.
This patch fixes only the first (!) reason of line bending.
First, it asks Qt to use single buffered contexts. Then, if a single
buffered context is not available, it asks openGL to disable VSync.
Changed default shortcuts as suggested by David Revoy
This patch fixes most of the shortcuts mentioned in the bugreport except:
"Save As..." -- this is a standard KDE shortcut, so you can configure
with a Configure Desktop dialog
"Fullscreen" -- this is a standard shortcut as well, but you can't easily
set it to "Ctrl+F" due to bug 313621 in KDE shortcuts
system.
Alternatively keep an updater in stash itself
This will happen when we haven't got the imageshare UI. At the moment
that means when we have QML. Arguably we can now remove that from the
imageshare plugin and just use this instead. (might happen later)
workaround for the focus lost, since the slot is called when the editing is finished or we lost focus we need to check if we really lost focus before hiding the edit
Made the Freehand Tool support intermediate undo's
Now you can use Ctrl+Z during transformation again!
Fixed a flickering bug caused by disabling Double Buffering
Now disabling the Double Buffering is the last resort for the
workaround of bended lines. First, we try to disable VSync and only
if it fails we disable Double Buffering.
Multimedia
Make Compile on OS X. Apparently Xcode gets confused between Meta::Base and MemoryMeta::Base
i18n: Use argument for track count on splash screen.
Fixes a bug reported by Albert Astals Cid on behalf of the translation
team. Also has the effect on my system of inserting thousands separators
like normal, perhaps I should have made this switch earlier...
Albert, please let me know if the translators desire this to be
backported, as it stands now I have no intention on breaking i18n freeze
for 4.10.
FIXED-IN:4.11
Use consistent naming (backend), use the full form
Playlist sorting by type does not work
FIXED-IN: 2.8
Inline and simplify the branch rules in the common kdesdk file.
common-kdesdk-rules was including common-kde-branches-rules,
which has lots of unnecessary kdepim-specific stuff.
I inlined it into common-kdesdk-rules and did a lot of simplification.
I have verified this commit doesn't change the conversion results.
Fix moving & resizing of timeline zone sometimes broken
EngineController, Fadeouter: improve fadeout behaviour by using RAII principles
Note that this needs phonon-gstreamer bug 313551 solved to unleash the
full power.
BUGFIXES:
* Fix bumpy fade-out when first used.
* Fix subtle bugs when a lond fade-out is initiated near the song end.
* Don't try to fade-out with phonon backends that don't support it. (vlc)
FIXED-IN: 2.8
Networking Tools
Fix a bunch of QML Warnings
Add workaround to prevent crash.
Initialize variable here to fix Metric edit box in VPN's routes window.
FIXED-IN: 0.9.0.7
Scroll when dragging contacts
As we override the drag+drop of the contact list the default scrolling in drag move event was not called.
This patch fixes that
Reviewed-by: Martin Klapetek
Fixes javascript error for word replacement from the spellcheck popup menu.
Restores Auto Spellcheck option in advanced settings
Utilities
Copy the exit status of the child dpkg process to our return value, otherwise commit errors won't trigger an error message.
Use QLatin1String to avoid implicit conversions from const char*. (Fixes build with QT_NO_CAST_FROM_ASCII)
Also some minor const correctness things.
Properly fetch screenshots
It will be broken since we're using local naming vs. debian's, but it works
in some cases...
Provide a proper changelog for Bodega resources
Uses the new API that Aaron just added (thanks :) for extracting the
changelog data.
Other
fixed link to installer log file in error dialogs (Ralf Habacker)
use windows eol in installer log file
Save touch/pen mode into profile after using the hotkey
The tablet will save the state for touch on/off and stylus/eraser
absolute/relative mode in the profile when the global hotkey that
changes this are used.
Fixed wrong assumption that only lower case package names are used:
Language packages may use upper case language postfixes eg. _BR.
Features
Development Tools
rainbow colors for variables
Simplify Code: build types directly in the DeclarationBuilder.
While the context builder is decoupled from the decl builder to
be reused in the use bulider, it does not make sense to also
decouple the typebuilder from the decl builder.
Merging both simplifies the code and makes it faster as well due
to less required locking, indirection and and lookups. We should
do that for all language plugins, really...
Also use rainbow color for global variables.
Actually, we use it now for every non-function declaration. Once
we start to support properties we have to think about how to handle
that. the function-based prototype OO system will be interesting
to handle here.
Educational
Three improvements to the D-Bus method getObjectDataXML
1. Return a Constellation field which indicates which constellation
the object is currently in.
2. Move the names into text elements for uniformity and easier parsing
3. Fix the value of "Minor_Axis" when the object is circular.
Support for moons in the Celestial bodies selector added
REVIEW: 108392
First approach to matrix implementation
Only with + operator implemented, but with the parsing and type checking
in place, apparently...
Adding two new objects to the NGC / IC catalog:
1. Melotte 111 -- the Coma Star Cluster
2. Collinder 399 -- the Coathanger / Brocchi's Cluster
Also adding common names for many NGC / IC objects. Adding alternate
common names for some objects.
FEATURE
EclipsesPlugin: Enable lunar eclipses
OsmAnnotate: draw edges for areas
KDE Base
support calling the greeter with immediate switch user UI
IndexCleaner: Add another removal query
Add a query to remove old strigi data where a res was part of another
resource which had the uri of the form </home/something..>.
FileMetadataProvider: Index the file if it has indexingLevel = 1
With 4.10 the file indexer is only called when the user is idle. This
means that the user could select a file and its information will not be
shown in the sidebar unless it has been indexed. This is not ideal. The
users want to be able to see the indexed information. They don't want to
have to wait for the indexing to complete.
Now, whenever the FileMetadataWidget displays the results of a file
which has not been completely indexed, it calls the nepmukindexer
process to index it completely.
ffmpeg analyzer: Support matroska videos
add switchUser to ksmserver's dbus API
this will allow us to move switch user functionality from krunner to ksmserver
as ksmserver manages the sessions (ergo its name) and the lock screen, this is
a logical place to put it. it also means we end up with just one UI (in the lock
screen greater) that is fully themable (in the QML sense: interaction, looks, etc)
for user sesssion and guarantee that the current sesssion is locked before we
switch to another session
IndexScheduler: Inform of status change on suspend/resume
Take a different approach for "zooming icons", imho a zoom slider is not needed.
And the only place I could imagine the zoom slider to fit in is left of the Ok/Cancel buttons
which is not possible, you can only add PushButtons there.
So, I add a "Zoom icons" checkable button (will have to evaluate if/how I make it remembers
if it is checked) that makes the icons show in 128x128 or 256x256, so if you want to see
inbeforehand how the icon will look in huge sizes, you can check this button.
But a zoom slider with multiple sizes is not needed imho. It's quicker applying the icon
and then playing around with the icon size in Dolphin rather than adding a huge code path
into the dialog.
Added geometry and Tooltip Feature (code cleaning/formatting required)
Add fileIndexingDone dbus signal
In order to start the webminer right after the fileindexer did his job
this signal is needed.
Usually the service is started via the eventmonitor after the usual 2min
idletime. If there are no files with kext_indexinglevel 2 the scheduler
is stopped till the next 2min idle time kicks in and the scheduler is
executed again.
Now with this signal the webminer scheduler can look for new stuff once
new files are indexed.
This is extremly useful if indexing on Normal mode is enabled in the
nepomukstrigirc.
With this signal right after downloading a pdf/video the fileindexer
extracts its part and the webminer can be started right away, thus the
user can see immediately what nepomuk can do for them.
REVIEW: 108469
Add a way for source models to expose more actions
Add dbus interface for interaction with the service
The WebMiner service can now be watched/controlled via dbus.
Available is:
* suspend
* resume
* status information
Still missing is output for the percentage signal that would give more
information about the current status of the indexer.
Add support for KRunner actions
provide support for calling up the switch user UI
Add run associated application action to handle
Nicer handling of QML loading failures
systemd session management support in the workspace
CK code is preserved but systemd is checked first
Makes switching users possible
REVIEW: 107611
Implement overwriting of existing values in the Mac kwallet version.
REVIEW: 108578
add actions to wrap current word or selected text into specified open/close characters (like: (){}[]<>"). incrase indentation level in case of multiline selection
Activate monitoring on symlinked files
Previously kate would monitor the symlink for changes
and ignored changes made to the actual data. This could
cause data loss if changes were made to the file behind
the symlink while editing in kate.
REVIEW: 108555
Publish the ontologyUpdateFinished Signal on DBus
Notify when all ontologies are updated. This is sound with notifying
every ontology that is updated.
REVIEW: 108437
Create a clickable link for reporting crashes of drkonqi itself
That should be more user friendly than expecting users to open
bugs.kde.org manually and find the drkonqi product.
power: hide unavailable sleep modes
Many thanks to Philip for pointing me to the code to copy from!
FIXED-IN: 0.1.2
connect to the show user switching signal and respond to it
Fix kconfigcompiler_test by porting to QFINDTESTDATA
It previously did not find the required files since CMake set TESTSRCDIR
wrongly. It was surrounded by quotes and lacking a trailing /
This did not cause test failures since QCOMPARE/QVERIFY was not used
directly in the test function, so it simply printed messages instead.
REVIEW: 108560
ResourceData: Set the nao:prefLabel for new tags on store
When a new tag is created only its nao:identifier is used. However, most
people using Nepomuk seem to rely on Resource::label() to get the tag's
label. There is no convenient way to access the identifier.
Therefore, we might as well set both the label and identifier on new tag
creation.
KDE-PIM
Re-enable direct nepomuk search for completion again by default.
dfaure, who originally introduced the option and advocated it be off by
default now thinks it's fast enough, after the recent changes, to be on
by default at least in master, for experimentation. I agree, this makes
it so.
Use a faster contains expression for "start of word" matches.
For the special case of address completion, we are really only
interested in matching at the start of various parts of the name, first
name, email, etc. So for that case, use bif:contains('foo*') rather than
the much more expensive regexp match. Speeds up addressee completion
something fierce for a minor loss in functionality, namely arbitrary
substring matching.
drafts improvements
- better "need-to-save" detection
- autostore in cache, not temp
- fix file permissions
- delete sent drafts
- use QLatin1Spam
- more comments
- warn user that attachments are not saved
offline: allow opening mailboxes which are cached when offline
fixes #592
GUI: reduce the interval in which "today's messages" are recognized as today's
Office
Finalize the Fill Config Widget behaviour.
Expose backgrounds in the resource poppup action.
Keep internally the resources.
Update the widget, and it's icon in the right way.
Add sketch installer files
use cross cursor and foreground color in calligraphy tool
, 313636
REVIEW:108562
Ported Transform Tool to strokes
There is one regression: the actions inside a single transform stroke
(that is until you applied the transformation) cannot be undone yet.
The undo of the transformation as a whole works perfectly.
,313294,310559,297929
feature: Buttons on dashboard widgets to discover the contextual menu
Introduce 3 new user-configurable opt-in columns
in the homepage's accounts table reflecting the
number of not marked, cleared and not
reconciled transactions per account
REVIEW: 108150
Implement Undo command for Paragraph Settings
REVIEW: 108491
(cherry picked from commit d4869442d2ec15da9130f81d06b9c4c41f8e791f)
Conflicts:
libs/kotext/KoTextEditor.h
libs/kotext/KoTextEditor_format.cpp
Added simple implementation of the texturing with real paper effect
Multimedia
Activating write single file disables the playlist capabilities in the interface.
Networking Tools
Handle all types of connections
Added option for opening new tabs next to current (default to true). Otherwise tabs created at end of list.
First draft of proxy model adding Telepathy presences
The idea is to provide presence and capabilities information directly
from Telepathy, which gives us instant changes and one less layer
for the data to go through and even easing the Nepomuk load. This
is done in a proxy model, so if we don't need the real-time presence
updates, we can use the PersonsModel directly.
Implement incomplete macro support
Use KTp::Actions for starting audio/video call
Improve icon management code
In the 1.x way, IconManager notified all the tabs about icons changed.
This way, just the interested tab is :)
Utilities
Merge branch 'discover-mainwindowification'
This branch improves the integration of muon into the rest of KDE workspace
and applications.
make sure that we can list packages.
it's an important milestone, since we already get the list of packages from
PackageKit
Move setupActions to MuonMainWindow
This way every window can disable/enable all actions at the same
time without depending on QAptActions.
This lets us finally detach from libmuonapt, now muon-updater
should be able to work with any backend.
Bring back updates showing in the toolbar
Since the porting to KToolBar, we lost the feature where we'd see how much
packages we can update from the overlay icon.
Now it's shown together in the button text. It also helps since it says
that those are updates, so you know what's the button about.
Create a generic backend updater
Other
Basic code completion support.
It just lists all declarations from the current context,
but now there's all the boilerplate code and an example of
how it works. Thus, it should be much easier to implement
better completion from here on.
Support global shortcuts to switch screen mapping + TabletArea
The screen selected screen the user wants to use can now be switched
via shortcuts between "All screens"/"Screen 1"/"Screen 2"
Also the used TabletArea calibration can be set individually between
the selected screen mapping and will change accordingly. If the screen
is toggled the stylus/eraser will be set to Absolte mode automatically.
For the implementation the ScreenMapping property is now depricated
Instead the ScreenSpace can have the values
* full
* map0
* map1
* x y w h (for part of the screen mapping)
In full/map0/map1 mode the actually screen size as reported by qt will be
used automatically without looking into the config.
Whenever the screen mapping is changed the values are saved in the config
to be remembered for the next reconnect.
Also the Area value will be changed as copied from the
* AreaMapFull
* AreaMapPart
* AreaMap0
* AreaMap1
properties that store the tablet calibration configuration for each
screen mapping.
DIGEST: This patch makes working with multiple monitors a lot better
Optimization
Development Tools
Add benchmark comparing different possible containers for the TypeRepo
This was discussed on IRC and I thought it might be interesting. Here
are the numbers for a RelWithDebInfo build on my machine:
RESULT : BenchHashes::typeRepo():"vector":
0.00012 msecs per iteration (total: 67, iterations: 524288)
RESULT : BenchHashes::typeRepo():"vector-raw":
0.00012 msecs per iteration (total: 66, iterations: 524288)
RESULT : BenchHashes::typeRepo():"qhash":
0.0011 msecs per iteration (total: 75, iterations: 65536)
RESULT : BenchHashes::typeRepo():"qmap":
0.0019 msecs per iteration (total: 64, iterations: 32768)
RESULT : BenchHashes::typeRepo():"unordered_map":
0.0018 msecs per iteration (total: 59, iterations: 32768)
So QHash is just one magnitude slower than QVector, and still quite
fast... We might try that out in the future for future proofing the
duchain type registration.
Educational
Added slot that handles configuration changes specifically for WI settings dialog to avoid redrawing the entire skymap everytime WI settings is changed.
EclipsesPlugin: Update eclipses menu on config changes
KDE Base
KFileItemModelRolesUpdater: Avoid multiple updates for Nepomuk data
The Nepomuk ResourceWatcher emits 3 signals - propertyChanged,
propertyAdded and propertyRemoved. We should only listen to either the
propertyChanged signal or the propertyAdded + Removed signals. There is
no point in listening to all 3 signals. That will just result in
unnecessary updates.
Additionally, we do not need to listen to the resourceCreated signal.
That is only emitted when we are watching for a specific types, which we
are not.
REVIEW: 108543
Make initial inventory count depend on number of cores.
ResourceWatcherConnection: Do not emit propertyAdded/Removed signals
The information can be inferred from the propertyChanged signal. This
results in less dbus traffic.
BasicIndexingQueue: Use stacks instead of queues
Iterating depth first will consume less memory than going breadth first.
Also stacks are based on QVectors which avoid the unnecessary extra
allocation in QLists.
Also, free the QVector memory when it is no longer required.
Query Service Folder: Avoid multiple refreshes of queries
When the storage has changed, the query is re-run. If the storage is
continuously being changed then each time it is changed the query is
re-run (Unless the old query was still running).
>From now on, we use a timer and wait for 2 seconds after the storage has
changed in order to re-run the query. This has the negative impact of
not sending updates until there are no changes for over 2 seconds.
This might not happen in the case of indexing. However, this behaviour
is preferred over re-running the queries a large number of times.
Specially since the data mostly never changes.
FileWatch: ignore unnecessary ClosedAfterWrite signals
Whenever a file opened under write mode is closed, the ClosedAfterWrite
signal is emitted, even if the file has not been modified. This isn't a
problem as such cause the file indexer checks the mtime of the file
agains't the value in the database before indexing it.
However, as an optimization we can ignore all the ClosedAfterWrite
events, where the modification time of the file is less than 1 minute
from the current time.
This reduces the dbus traffic, and avoids checking the database each
time.
ActiveFileQueue: Immediately timeout when adding a file the first time
When a file is added the first time we instants timeout that file. If it
is added again within m_emittedTimeout seconds of the timeout, it is
then moved to the actual queue where it waits a certain amount of time
before it timeouts. If it is again queues during this wait, the timer is
reset.
The behaviour has been changed cause multiple enqueues of the same file
are the exception. We should not slow down the real-time indexing just
cause we could receive multiple events for the same file. With this
approach, both cases are suitably covered.
Tags kioslave: Use the Tag class internally
We had avoided using the Tag class for listDir cause that would mean n+1
queries when listing all the tags - One for fetching all their uris and
the other to fetch each tag's properties. We could instead just do it in
1 query by fetching all the uris and identifiers in one go.
However, this approach had the drawback that we would display the
nao:identifier, whereas all applications actually show the
nao:prefLabel. Also, we could not display the correct datetime of the
tags.
This approach is cleaner and uses the ResourceManager to handle all the
caching.
IndexCleaner: Simplify the queries a little bit
* Use FILTER NOT EXISTS instead of bif:exists
* Use abbreviated properties
IndexCleaner: Reduce the number of cleaning queries
The cleaner always checks for legacy data as well. This is not always
necessary as not everyone has legacy data. We have 2 kinds of legacy
data -
* configuration dependent
* independent
The independent data just needs to be removed once, after which it never
needs to be queried again. We check for this kind of data and switch on
a boolean config value when we're done. That way we never need to do it
again.
The "Configuration Dependent" data depends on which files are folders
have been marked to be indexed. For this kind of data we check if the
strigi indexGraphFor relation is present. If it is, then we must run the
queries. Otherwise, we ignore it.
VirtuosoInferenceModel: Do not inference rule creation
We only need to disable the nepomuk-ontology-group creation. Not the
inference rules. Those are required!
QueryService: Do not emit unnecessary entriesRemoved signals
Remember to always add the result in Folder::addResult to the
m_newResults. Earlier it was only added when the result was actually
"new", this resulted it sending entryRemoved signals for all resources
in the old query result.
KDE-PIM
Simplify distribution of selection-models.
Instead of relying on the proper call order and setting the selection model in the modelstack,
we replace each usage of the model by a getter, and create the model already properly connected on demand.
This way we not only get rid of call order problems, but we also simplify passing around all the models to the different views.
The new approach therefore simplifies adding new views.
Wrote a new FullMessageCombiner class that combines the header and body
parts of a message into one part.
Made Changes to the ComposerAttachments class to use the
FullMessageCombiner.
Added Assertions in the ctor of the ImapMessageAttachmentItem and
FullMessageCombiner.
Removed the headerPartPtr() and bodyPartPtr() methods from the
ImapMessageAttachmentItem.
Made the FullMessageCombiner::data() returns the bodyPart and headerPart
data directly without caching.
Delay akonadi and nepomuk lookups to compress them.
Introduce a per-addresseelineedit timer that delays completion
lookups via both akonadi and nepomuk directly by 500ms, so they
can be compressed. This avoids running too many queries when one types
quickly into an addresseelineedit, which helps with performance.
REVIEW: 108549
Speed up the pure-nepomuk address completion.
This avoids unions and regexps, like we do in the akonadi contact search
job now, thus speeding up the (large) queries considerably.
Reviewed and sparql-foo'd by vHanda and cmollekopf. Thanks, guys.
Office
remove Sheets::Doc::updateBorderButton(), currently endless loop and view-, not doc-related
REVIEW: 108586
thanks zagge for review
Remove non-existing items from zorder listing in wdgdeformioptions.ui
--build warnings
Move Calligra::Sheets::ElapsedTime class to a private header that won't be installed
REVIEW: 107717
Patch by Philip Van Hoof, thanks
remove conflicting hardcoded names from not-code-referenced elements in .ui files (e.g. labels/layouts)
--build warnings
Avoid unneeded data copying in some loop code in Stage
Remove unneeded zorder from KWRunAroundProperties.ui (also had non-existing entries)
--build warnings
remove the last changetracking code from KoTextWriter
Remove non-existing buddy entries from .ui files
--build warningsw
Multimedia
Make sure to refresh monitor zone when subclip was selected:
Put kapptemplate parentmap files into one file.
Add argument parsing to postprocess.sh to easily postprocess only one subfolder of kdesdk.
Add kapptemplate1 branch for old kapptemplate code from before the rewrite.
TODO: make 802067 not add a bunch of removed files back into the tree...
R +10 -0 kdesdk/kapptemplate-parentmap [from: kdesdk/kapptemplate-parentmap-1 - 075% similarity]
Refactoring AmpacheAccountLogin
Cleanup code.
Better error detection.
Better error reporting.
common-kdesdk: don't try to match version branches with "__" prefix.
That part of the regexes never matches; there is never a double-underscore
prefixed branch that contains kdesdk. I think those CVS-era branches
may predate the creation of the kdesdk module!
The removal speeds up revlist generation and might speed up the actual
conversions slightly too.
Refactoring for Equalizer dialog
Add comments
Improve saving of pre-defined presets
Fix Can't edit & save an existing equalizer preset
Cleanup of the Equalizer stuff a bit, expecially the Equalizer Dialog
FIXED-IN: 2.8
Utilities
Finish the conversion to resources for the ProgressWidget
...which was one of the biggest, now clean up and testing...
Games
On selecting new game don't abort existing game without confirmation
REVIEW: 108460
Security
KDE Base
Initialize some variables and check on destruction
REVIEW: 108604
Initialize some variables and check on destruction
REVIEW: 108604
FIXED-IN: 4.10
Other
Development Tools
Consistent styles in tooltips
FIXED-IN: 4.6.0
REVIEW: 108492
Allow QtSharedMemory on win32-g++ builds
kde-projects: Don't filter out kde-build-metadata.
Specifically, when we have a non-master global branch, the new feature
to filter out module-set modules that don't have that branch was being
mis-applied to kde-build-metadata just to get some flags set right.
Instead, set the flags needed directly and skip the filter.
Educational
create the parser files before the lexer file, because this include it
Search the gfortran library before using it unconditionally
Hope it fixes cantor build in build.kde.org
KDE Base
SimpleIndexingJob: Refactor the code
Split it into a graph creation function which can theoretically be used
by others. This was initially done for some changes in the
nepomukindexer, which were eventually discarded.
Port KWin::errorMessage to new Xcb::Extensions
Code section had been in an #ifndef NDEBUG which is the reason why I did
not find the usage of Extensions there and why it always compiled
successfully.
Some data elements which got dropped needed to be added again like a name
for the extension and errorBase, etc.
Sorry for the inconvenience of a semi-broken master.
fix fileindexerconfig test
carefully handle the shortcut-circuit for || in c++
REVIEW: 108493
do not remove leading special chars
According to Mozilla docu only [^A-Za-z0-9_] is considered
a Word character - yeah :-(
Adjusting some of the default values in kwin.kcfg
* using the existing enum types
* adjusting the settings which recently changed.
Remove ZoomLevelInfo due to licencing issues.
And it is not yet decided if the slider will go in and how it will be
implemented. Removing for now
make layout a bit less hopelessy unbalanced
get rid of bold titles
use of bold test is in general discouraged and should be removed everywhere
Remove the mapping for kuiviewer
It has its own product with the exact name on bugs.kde.org, no need for
mapping to kdelibs|general
do not remove leading special chars
According to Mozilla docu only [^A-Za-z0-9_] is considered
a Word character - yeah :-(
Remove ThreadRunHelper.
Changes in the way Qt emits signals across threads have made it
obsolete.
Office
change the size of the sub widgets a bit
Change brush shortcuts to [ and ]
To align with mypaint, gimp and photoshop
completely remove remaining change tracking code from KoTextLoader and continue to work on removing it from KoTextWriter
In Sheets remove some duplicated includes & put own header include first
Multimedia
Add documentation to a few common-rules files.
Notably it says what variables you're expected to set
before including the files, and what they mean.
Simplify recursion rules for cervisia.
I have verified this change doesn't affect the repository,
except for a "svn path=" in the commit message metadata.
Networking Tools
RTL'izing text with a <span> does not work good enough. It will not end up right-aligning the text.
Use <div> to rtl texts again.
Initially, a <div> was used. However, it broke Renkoo and caused unwanted newlines.
Now we check and add the <div> only if the text is rtl.
Matches Adium's behaviour.
Fix build when TelepathyQt4 is in different prefix
REVIEW: 108602
Other
better handling of new user accounts when loging in from ldap
not initialized members
code polish
Compiled smokegen for Qt 5.
Signed-off-by: Dimitar Dobrev