Wolfgang Bauer [Thu, 28 Jan 2016 20:03:14 +0000 (21:03 +0100)]
Fix check whether window is closed by session management
qApp->isSessionRestored() specifies whether the application has been
restored by session management. This is obviously wrong here. Use
qApp->isSavingSession() instead.
Do not delete sub menus of the control menu explicitly
This is not necessary because the sub menus are children of the main
menu, such that they are deleted together with the other actions by
QMenu::clear().
This prevents a crash that can happen if a sub menu is open while
another menu action is clicked.
Thanks to Fabian Vogt and Wolfgang Bauer for investigating this issue!
dolphin is using
-DTRANSLATION_DOMAIN=\"dolphin\"
that is wrong for applications, apps need to use
KLocalizedString::setApplicationDomain
since that makes some other things like the transltators tab in the about
dialog show.
I have not removed -DTRANSLATION_DOMAIN=\"dolphin\" because on the other hand
this code is also a library (i.e. the dolphin kpart).
The "being pedandly correct" fix would be using -DTRANSLATION_DOMAIN=\"dolphin\"
only to compile the files that are part of the kpart but that's prone to
break at some point and using both KLocalizedString::setApplicationDomain and
-DTRANSLATION_DOMAIN does not create any problem so i went that route
Remove the dummy widget, which assured that the dialog layout was not stretched vertically (vbox align top does the same), to make the uncheckable "Open archives as folder" checkbox checkable again.
KItemListSmoothScroller::handleWheelEvent has some issues:
1. When I scroll file list holding mouse over the list, one mouse wheel tick corresponds
to 1/4 page interval, but when I hover on QScrollBar, one wheel tick corresponds to
1 page interval.
2. In KItemListSmoothScroller::eventFilter we don't return true, so that QScrollBar also
handles this event, and total scroll interval is m_scrollBar->pageStep() +
m_scrollBar->singleStep().
3. When I use touchpad that supports smooth scrolling via XInput2, and I hover it over
QScrollBar, I can only scroll content if I move my fingers very fast, because
numSteps = event->delta() / 8 / 15 is just zero unless I move very fast
(event->delta() in this case is less than 120).
4. Holding Shift while scrolling has no effect when holding mouse over QScrollBar in
contrast to scrolling faster when holding mouse over file list.
The patch eliminates all these issues making the behavior of KItemListSmoothScroller the
same as in KItemListContainer::wheelEvent, adding support for QWheelEvent::pixelDelta()
and removing usage of deprecated QWheelEvent::delta().
Michael Palimaka [Wed, 26 Aug 2015 12:53:44 +0000 (22:53 +1000)]
Update dependencies.
It appears that KF5TextEditor was added for KTextEdit, but that is actually
provided by KF5TextWidgets. It's then necessary to explicitly link to KF5Parts
(it was previously brought in implicitly by KF5TextEditor).
Burkhard Lück [Sun, 23 Aug 2015 12:27:12 +0000 (14:27 +0200)]
Update dolphin docbook to kf5
Proofread + check if the info is still valid, bump date + releaseinfo
Screenshots were already silently updated to kf5 in the past, see https://docs.kde.org/trunk5/en/applications/dolphin/index.html
Added Emmanuel as developer
Removed link to dolphin.kde.org, because this redirects to the userbase page
Fixed how to get Dolphin
REVIEW:124594
Vishesh Handa [Tue, 5 May 2015 14:32:23 +0000 (16:32 +0200)]
Move away from Baloo::Term
Baloo is set to become a framework and wants to only export the bare
minimum number of classes as it will need to provide ABI + API
guarentees forever. The Term class is now no longer exported. It can be
added back again.
Commit 119f7a3f fixed a crash that was caused by the porting of the
natural sorting code to QCollator. QCollator is not thread-safe, so
every thread needs its own instance. However, that commit made every
recursive call in the sorting code create a new deep-copied QCollator
instance, which is quite expensive and thus made inserting any items
into the model very slow (this could also be seen in the KFileItemModel
benchmark).
This commit avoids unnecessary QCollator copying by forcing all sorting
functions which are called in the same thread to pass the 'lessThan'
object by const reference, such that no unnecessary copying of that
object, including a deep copy of the QCollator, takes place.
The benchmark inserted KFileItemLists of different sizes in the model.
The intention was to verify that an O(N^2) complexity issue was fixed.
However, now that this original problem does not exist any more, the
benchmark results are much easier to read, and regressions are much
easier to spot at first sight, if only a single list size is used.
Gregor Mi [Sun, 3 May 2015 18:40:04 +0000 (20:40 +0200)]
Remove SpaceInfoToolsMenu and use KMoreToolsMenuFactory instead
Reduces the amount of needed code.
NEW: by using KMoreTools the menu is now user-configurable and
will automatically extended when KMoreToolsPresets gets new tools.
REVIEW: 122911
Simplify startup split view handling
* Instead of setting and resetting GeneralSettings's split view option, just pass it on to openFiles/openDirectories.
* Require at least one url in openFiles/openDirectories
Remove obsolete benchmark for inserting many child items
I added this benchmark quite a long time ago in order to check that the
changes in dc6322dc090bcaec40d75522debad1edfb25b27a do not make
inserting many child items into the model slower. The test tries to
insert child items of different subfolders at the same time, which
cannot happen during normal usage because KDirLister only tells us about
one subfolder at a time.
The code was commented out a long time ago because it is no longer
compatible with the (greatly improved) new internal structure of
KFileItemModel. I think that it's not worth porting the benchmark
because it fulfilled its intended purpose a long time ago. Even if
someone decides to make a simplified working new benchmark out of it at
some point, it does not make much sense to keep this commented-out code
around for years. It can still be found in the git history - after all,
that's what version control systems are for.
Lasse Liehu [Thu, 9 Apr 2015 23:53:05 +0000 (02:53 +0300)]
Enable translation scripting for date groups
This allows to work around limitations in Qt's date formatting.
Examples:
* Uppercasing the first character in a string because it's a title:
Day of the week and month names returned by QDateTime::toString
are usually lowercase.
* Correcting the noun case of a month name from "of [month]" to
"in [month]" in Finnish: "of [month]" is correct when talking
about a specific day, but wrong when talking about a specific month.
Kai Uwe Broulik [Tue, 31 Mar 2015 10:30:36 +0000 (12:30 +0200)]
Show kdeconnect devices under "Devices"
We probably need a more sophisticated heuristic for identifying devices in the places
panel but given we already did that for Bluetooth should do for the foreseeable future.