Issue 305
15th September 2013 by KDE Commit-Digest TeamContributors
Giacomo Barazzetti
Alex Fikl
This Week...
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 88 selections this week
Bug Fixes
Development Tools
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.
>From the "why did this even work before" dept: fix crash in completion
The problem with copy-pasting in the tree view is fixed.
Alignment of selected associations fixed.
Make the previously selected tab active, when current tab is closed.
Graphics
Fix selecting image in thumbnail bar when started with an argument
miss to sync config to record KIPI plugins list into client application RC file
FIXED-IN: 3.5.0
KDE Base
Fix crash when attempting to launch a non-existing preferred app.
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
REVIEW: 112627
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
it.
FIXED-IN: 4.11.2
REVIEW: 112561
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.
FIXED-IN: 4.11.2
input window: ensure input shaping is supported
FIXED-IN: 4.11.2
REVIEW: 112623
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
resize.
And with this change Oxygen windeco in compositing is fully functional!
Fix network stats with new systemd interface names
FIXED-IN: 4.11.2
REVIEW: 112319
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.
FIXED-IN: 4.11.2
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.
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)
REVIEW: 112604
FIXED-IN: 1.0.2
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
FIXED-IN: 4.11.2
REVIEW: 112595
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.
FIXED-IN: 4.11.2
REVIEW: 112602
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
blocker ...)
FIXED-IN: 4.11.2
REVIEW: 112805
Add retry timer to the screen saver connection logic
FIXED-IN: 4.11.2
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.
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
REVIEW:112674
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. :)
FIXED-IN: 4.11.2
REVIEW: 112678
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
FIXED-IN: 4.11.2
In the odf extractor, check for hasError separately to EndDocument.
This fixes the case where the file ends prematurely, which would
previously loop forever.
FIXED-IN:4.11.2
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 tcsh syntax highlighting
FIXED-IN: 4.11.2
KDE-PIM
Fix Bug 323474 - Autocompletion from recent addresses needs restart to turn off
FIXED-IN: 4.11.2
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.
Fix Bug 149449 - forward resent-to: mixed fields or KMail incorrectly displays them
FIXED-IN: 4.12
Fix double delete crash.
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 324532 - kmail filter on sending mails cannot change identity
FIXED-IN: 4.11.2
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.
REVIEW: 112631
Fix Bug 323707 - Mail dispatcher will ask twice for going online when sending an email after an offline period
FIXED-IN: 4.11.2
Gerd wished that kincidenceeditor used the default calendar
Fix Bug 323984 - Address completion inserts nothing
FIXED-IN: 4.11.2
Convert the Akonadi flags to IMAP flags in ChangeItemsFlagsTask like it's done in ChangeItemTask
and handle Akonadi::MessageFlags::Replied in ResourceTask::fromAkonadiFlags().
FIXED-IN: 4.11.2
REVIEW:112482
Office
Fixed a crash while closing the edit widgets of a split transaction.
Using the same approach as in the register - hide the widgets before
removing them.
Make sure that two simultaneous online update actions can't be
launched by disabling the update action while one update is in
progress.
Depending on the online connection plugin two simultaneous updates
could cause a crash.
Multimedia
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
incorrectly installed.
Networking Tools
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
REVIEW: 112683
User Interface
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.
Utilities
Require user's password when changing configuration
The KCM now uses KAuth in order to get user's password when attempting
configuration changes.
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)
Other
SMS message notification didn't show any text
QString content was shadowing a previously declared variable
Features
Accessibility
Add talker list to jovie trayicon context menu.
Thanks to Simion Ploscariu for the patch.
REVIEW: 112625
Development Tools
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.
Educational
Added a management pane for routes.
Graphics
epub video support
KDE Base
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
FIXED-IN: 4.11.2
REVIEW: 112654
KDE-PIM
Add menu to define html format option for specific email (asked by David)
GID migration.
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.
REVIEW: 112635
Add recent file action support
New class to purge deleted to-dos.
Unit-tests will be following. Just sorting out some test runner
issues.
Office
feature: New set of categories for french people
feature: Amount owned on unit table
feature: New account type: Pension
Multimedia
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.
REVIEW: 112706
FIXED-IN: 2.9
implement vlc 2.2's equalizer
Add an option to not play a sound when taking a picture.
REVIEW: 112708
implement subtitle api
Networking Tools
Implement loading/storing of GSM settings
Simplify loading/storing of settings map for other settings
Draw branches for contacts in KPeople mode
REVIEW: 112658
Add merge/unmerge button in toolbar of contact list
REVIEW: 111387
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)
DIGEST:
REVIEW: 112437
User Interface
support for setting a wallpaper trough drag and drop
Utilities
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.
Basic version of the new user table.
It displays colors and user names, and hides the user names if there's
not enough space
Add a GUI widget to upload a document to an existing server.
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.
Preview: Use OkularPart to show pdfs
It's slightly ugly because of the toolbar on the bottom and the sidebar,
but otherwise it works.
Show previews for all image results
This breaks the normal item highlighting to a certain extent, but we get
proper preview for all images.
Other
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).
Optimization
KDE Base
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
more fluid.
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!
FIXED-IN: 4.11.2
REVIEW: 112580
Optimization on the ContactIdentifier hash
Reduce ContactIdentifier copies
Use the same return value as the rest of the qHash() functions
Reviewed by Vishesh Handa
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)
Benefits:
* 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
New classes:
* 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.
Multimedia
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...
REVIEW: 112417
Utilities
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
Other
KDE Base
Expose setStandardActionNames as public API in kacceleratormanager
This is needed by KStandardAction which is in a different tier to
kacceleratormanager.
Changed it from setStandardActionNames to addStandardActionNames as
now it it public API it shouldn't break if two classes use it.
REVIEW: 112673
KDE-PIM
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
REVIEW: 112657