15th September 2013by KDE Commit-Digest Team
There are 88 selections this week
Make the previously selected tab active, when current tab is closed.
Make sure delayedModificationWarningOn() is always called as a slot
Also remove weird tricks of storing the caller in a slot. Use the sender
method, so that we can more easily know what object we're talking about.
I've never had this crash, but the backtrace seems obvious.
Backport from master.
miss to sync config to record KIPI plugins list into client application RC file
Fix selecting image in thumbnail bar when started with an argument
todo KDE 5 note
in KDE5, maybe add
- void MoivingRange::setBlockMode(bool enableBlockMode);
- bool MoivingRange::blockMode() const;
This way, arbitrary highlighting would work for colums as well. In fact, if implemented
correctly in the Kate Renderer, drawing block selection mode could use this, too.
The vi in put mode yank highlighting could use it, too: https://bugs.kde.org/show_bug.cgi?id=324695
A correct implementation needs to take care of MovingRangeFeedback, especially
of mouseEnteredRange(), mouseExitedRange(), caretEnteredRange() and caretEnteredRange()
Fix it for non-running items too.
Always sort items correctly when the refreshItems() signal is received
When sorting by, e.g., "Size", and the name is used as a fallback
because there are multiple files with the same size, the refreshItems
signal that is received when a file's name is changed either with the
dialog or outside the current view did not cause the view to be resorted
after commit d70a4811807776966c3241a72121242f4d1eaee8. This patch fixes
Improve the support of pykde applications in Dr.Konqi
* "Restart Application" button now also works for pykde apps
* pykde apps are reported according to their real name instead of "python"
The implementation is dirty, but it works and I don't have much time and
don't want to read crash reports of "python" any more.
Move the decoration window back to the padding position after each resize
Behavior seems to have changed in Qt 5. Without doing the move the deco
has a wrong position and all mouse interaction is broken after the first
And with this change Oxygen windeco in compositing is fully functional!
Fix network stats with new systemd interface names
fix two damage artifact causes
1. when adding a full damange, that must not replace existing (larger) repaints
2. emit geometryChanged before invoking and to update shadowGeometry through addRepaintFull
In the odf extractor, check for hasError separately to EndDocument.
This fixes the case where the file ends prematurely, which would
previously loop forever.
fix tcsh syntax highlighting
group aware restack accounts layer compatibility
the restack code stacks under all members of an application
this is a problem if the group contains a keep below or desktop
etc. (while the other window is a normal one) what resulted in
restacking the client "invalidly" above the window of the other
layer but below all other memberso of its own group for no reason
Fix Bug 311099 - View the underscore when using Ctrl + PagDown
Take the style option vertical/horizontal margin into account
for the calculation of the new scroll offset.
Thanks to Frank for pointing out two other problems with "Page Up/Down" and providing
a better way to fix these problems. :)
Fix crash when attempting to launch a non-existing preferred app.
correctly determine input in calculator
The bug reported this behaviour: if you press something like 'a+b+c=',
the result would be incorrect because the calculator plasmoid wrongly
resets the calculator when pressing 'c'. The intended behaviour is that
the calculation is cleared when pressing a number after pressing '='.
This patch adds a variable to determine this situation correctly.
Patch by Paul Rohrbach
keepInArea, client geometry containment condition
Since windows can place the decoration outside the screen
this needs to be still a valid condition when checking
whether we've to keep in area
In addition: calculate tx, ty and perform one move call
(include rule check and XMoveWindow unless there's a geometry
Add retry timer to the screen saver connection logic
It seems that on some systems the kwalletd comes before the screen saver
service, and so it fails to connect to it. As a result, it fails to receive
ActiveChanged signal, and wallets are never closed, even if the KCM option
for this is ticked. That is before the connection is attempted only
during startup. This commit adds a retry timer to reattempt connection.
The connection is reattempted every 10s, as long as kwalletd runs and the
screen saver service is not available.
Refresh modes when currentModeId points to unknown mode
Sometimes drivers insert or remove modes, so when currentModeId points to a mode
that we don't have cached, we must refresh the local cache.
This also fixes a crash that occured when currentModeId would be pointing to a
mode that we don't have (even after refreshing modes)
fix xcb CurrentInput implementation
broke on interim Wrapper() constructor change
The Constructor needs to explicitly pass
XCB_WINDOW_NONE to the inherited Constructor to
trigger a request
Thanks to Alex Leach for finding this
Delay KDE class initialization to main loop
Gui platform plugin is loaded during QApplication construction, but it
relies on some KApplication/QApplication data to work correctly.
This patch delays the initialization to main loop, to ensure
KApplication/QApplication is already constructed.
Fix crash if you clicked "add tag" too fast, due to the widget getting
deleted from under you. Fixed by using deleteLater().
I could only reproduce this under valgrind - everything else was faster
than I could click.
Spin the event loop before destroying the menu.
This allows the menu implementation to complete toggling the
launcher before the instance is destroyed. It's extremely un-
fortunate that the library currently requires this careful
handling; see e944d7ae in kde-workspace for a note on what
needs to be cleaned up there.
Fix empty combo box in "add contact" dialog
In Kpeople mode we never request FeatureRoster to reduce DBus traffic
fetching a roster list that we get from Nepomuk anyway.
The add contact dialog needs this in order to tell if a roster is editable.
This patch upgrades all connections.
Fix Bug 324532 - kmail filter on sending mails cannot change identity
Convert the Akonadi flags to IMAP flags in ChangeItemsFlagsTask like it's done in ChangeItemTask
and handle Akonadi::MessageFlags::Replied in ResourceTask::fromAkonadiFlags().
Gerd wished that kincidenceeditor used the default calendar
Don't return "Unknown" as the calendar name.
That happened because the code wasn't using the complete collection,
which can be retrieved from the ETM.
Fix Bug 323707 - Mail dispatcher will ask twice for going online when sending an email after an offline period
Fix Bug 149449 - forward resent-to: mixed fields or KMail incorrectly displays them
Fix Bug 323474 - Autocompletion from recent addresses needs restart to turn off
Fix the matchers resolver in MatchesSolver job
Properly figure out how do we want to merge the contacts.
Not closing the bug since the GUI needs a similar fix. The important part
is fix fixed now, so we won't mess with the database.
Make sure that two simultaneous online update actions can't be
launched by disabling the update action while one update is in
Depending on the online connection plugin two simultaneous updates
could cause a crash.
Fix long-standing issue with not finding plugins after upgrade.
It turned out that the KDE class KBuildSycocaProgressDialog which
we used before does not work reliably. Now we are executing the
kbuildsycoca4 binary directly, which works always. So the user
should only ever get an error message if the plugins _are_ actually
Fix sort/filter bug in Channel List View
Get SSID from access point instead of from connection settings
Because it looks that sometimes connection settings doesn't exist
Toggle between no grouping and group by groups when in kpeople mode
Also this fixes expand when filtering
Fix simple animations.
Animations did not work when "properties" was set to "" (which is the initial
value). Moreover when target was overwritten the old target was still hold in
the targets property. Both problems are fixed now.
Ensure that the WindowThumbnail is not trying to render a thumbnail of itself
Recursive window thumbnails would look awesome on the screen, but reality
is that X/OpenGL or $DEITY doesn't like it at all and decided to just
freeze the view.
So let's delay all the redirecting till the WindowThumbnail has been
added to its QQuickWindow and if the window id is the one of the own
window we just render the icon instead.
status overlay: polishing
* delete the overlay when closing it to save memory (will not show again)
* Change first phase of "Synchronizing" to "Initiating synchronization",
because it actually opens the document and thus gives a better indication
of the error in case e.g. the document is not found
* Hide the overlay when opening a document fails (because it doesn't exist)
Require user's password when changing configuration
The KCM now uses KAuth in order to get user's password when attempting
SMS message notification didn't show any text
QString content was shadowing a previously declared variable
Merge branch 'cmakesplit'
With this change, I'm making it so the project will be parsed from
a separate thread and will pass the data to another thread that will
do the tree creation.
Added a management pane for routes.
epub video support
sanitize user/fullscreenable condition
whether or not a window is maximizable does really not
matter (it's not if the size is locked, so the
maximized size is the only size) but only if the
window can take the fullscreen geometry.
otoh, the size restrictions (maximum size, fixed aspect)
should be honored by default but still ignorable by rule
A new MigratorBase as interface for migrators.
I didn't adapt the existing KMigratorBase as it taylored towards one
migrator per resource and I found a couple of other incompatibilities so
I figured I rather make something clean from scratch.
It should be easy enough to adapt KMigratorBase to be based on top
MigratorBase if we still need that code.
Add recent file action support
New class to purge deleted to-dos.
Unit-tests will be following. Just sorting out some test runner
Add menu to define html format option for specific email (asked by David)
feature: New account type: Pension
feature: Amount owned on unit table
feature: New set of categories for french people
Enable Wikipedia over SSL.
This patch makes SSL the default. It also adds a checkbox to disable
it so if there would be a problem a fallback to HTTP is possible.
Add an option to not play a sound when taking a picture.
implement subtitle api
Add support for KPeople to LogViewer
The main contact view has been reworked to be based on KTp::ContactsModel,
which, when available, uses KPeople. This allows browsing history of entire
personas instead of individual contacts. When KPeople is not available, the
contacts are grouped by account, which matches the old behavior.
The date view calendar has been replaced by a list of dates groupped by months,
which makes it easier to search for logs of contacts that you chat only rarely.
View delegates have been updated too, so the contact and date views now look
more like contact list.
New Settings dialog has been added to allow theme configuration from LogViewer
as well as choosing between ascending and descending sorting of messages.
(Merged and squashed from logviewer-kpeople branch)
Implement loading/storing of GSM settings
Simplify loading/storing of settings map for other settings
Draw branches for contacts in KPeople mode
Add merge/unmerge button in toolbar of contact list
support for setting a wallpaper trough drag and drop
Preview: Use OkularPart to show pdfs
It's slightly ugly because of the toolbar on the bottom and the sidebar,
but otherwise it works.
Basic version of the new user table.
It displays colors and user names, and hides the user names if there's
not enough space
Previews: Show previews for text files
Show a simple preview using QTextEdit. No point messing around with
KatePart. It just gets too messy, without any advantage.
Show previews for all image results
This breaks the normal item highlighting to a certain extent, but we get
proper preview for all images.
First version of the status overlay.
On opening a document, displays an overlay over the view which indicates
connection and synchronization progress. The overlay prevents editing the
document. It closes when the user join request has been completed.
Add a GUI widget to upload a document to an existing server.
First iteration of filetransfer plugin
Now it just downloads to the user desktop payloads received in packages
with type kdeconnect.filetransfer.
Added the package type define.
Created an an auxiliar QFile-like class with a small needed modification.
Added a commented test in the filetransfer plugin code (to be moved).
Speed up local directory listings with many files, and reduce memory usage.
Benchmarks show a speed improvement from 20ms to 14ms (for 1000 files)
and memory usage going from 92 MB to 50 MB at the peak (for 500K files).
Mark Gaiser confirms that receiving the entries in batchs doesn't slow down
the dolphin view either.
Additionally it circumvents the "expected failure due to jumbo packet size",
but that Qt5 QAbstractSocket bug is in the process of being fixed too.
Move the tab-handling away from DolpinMainWindow (Patch-Series)
* Much smaller DolphinMainWindow -> easier maintenance
* Encapsulate the functionality into different classes like DolphinRecentTabsMenu,
DolphinTabPage (Split View handling) and DolphinTabWidget (Tab handling)
* Port away from KTabBar to QTabBar and QTabWidget instead of hiding/showing DolphinViews in a vertical layout
(Brings some other benefits like smooth tab changing - fading, keep settings for every tab page like splitter size, ...)
* Make it easier for other developers to read the code or to change something in the tab/split view handling of Dolphin
* Make it possible to fix some bugs very easily, which are hard to fix with the old code
* DolphinTabPage - handles the two views, splitter and the layout
* DolphinTabWidget - based on QTabWidget, does the tab handling (create tabs, remove tabs, update tab title/icon, ...)
The DolphinTabWidget is the new central widget for DolphinMainWindow.
Simplify insertion index calculation for DND reordering.
The original code took a stab at there being some travel resistance
to drags to avoid undesired accidental moves, but aside from doing
this in a naive (and buggy) way, it also turns out to be unnecessary
in further testing: Drag initiation has resistance to it anyway, and
during moves, the lack of resistance makes accidental overshoots
easy to correct for, along with the upside of making DND feel much
Make preview loading faster when scrolling
KFileItemListView notifies KFileItemModelRolesUpdater of changes of the
visible index range and the icon size with a delay, to prevent that
expensive operations are triggered repeatedly, and that scrolling feels
sluggish because the GUI thread is blocked by icon loading.
This patch ensures that the "long" delay of 300 ms is only used when
the zoom level is changed, and the "short" delay if only the visible
index range has changed.
Thanks to Christoph Feck for helping to analyze this problem!
Optimization on the ContactIdentifier hash
Reduce ContactIdentifier copies
Use the same return value as the rest of the qHash() functions
Reviewed by Vishesh Handa
Fix performance issue with large podcast feeds.
The podcast UI was very slow with channels with a large
number of episodes (1000+).
The root cause was that SqlPodcastChannel::tracks() was implemented
in such a way that it was expensive to call it. Unfortunately
it is extensively called by the PlaylistBrower...
Repaint the status overlay at most 10 times per second
Previously it was repainted for each sync segment, which made the status
display take about 95% of the time required to sync a document.
With this it's now limited to less than ~5%.
Performance optimization when synchronizing
slice() is actually significantly slower than getting the text from KTE
Expose setStandardActionNames as public API in kacceleratormanager
This is needed by KStandardAction which is in a different tier to
Changed it from setStandardActionNames to addStandardActionNames as
now it it public API it shouldn't break if two classes use it.
Supress unused kpeople rows the proxy mode
KPeople has a tree structure for all contacts to single contacts have a root
entry and 1 child node.
This looks silly when displayed so we supress the child node.
Currently this happens in the contact list delegate.
This moves it to the model which is a bit cleaner