Marco Martin [Tue, 14 Mar 2017 11:02:44 +0000 (12:02 +0100)]
make services GHNS work with store.kde.org
Summary:
point the knsrc providers file to the new kde store,
and port the servicemenuinstallation/servicemenudeinstallation
scripts to kf5 (they still were based on kde4-config)
BUG:376922
Test Plan:
downloaded some service menus (send to telegram, convert svg)
by the knewstuff ui available in the services page of config dialog
they get installed in the proper folder and work, uninstall works
Elvis Angelaccio [Fri, 10 Mar 2017 18:31:33 +0000 (19:31 +0100)]
Port to KStandardAction::DeleteFile
Summary:
It was introduced in kconfig 5.25 and it properly handles the shift+del
shortcut (together with kxmlgui >= 5.30). This allows us to drop the
custom delete shortcut as well as the shift+del workaround in
DolphinMainWindow.
Test Plan: Shift+Del still deletes files, without the 'ambiguous shortcut' warning dialog.
Kai Uwe Broulik [Wed, 8 Mar 2017 13:38:46 +0000 (14:38 +0100)]
Honor KFileItem isHidden() in view
Instead of just assuming hidden files always start with a "."
The items were already filtered out but when showing hidden files they weren't painted at reduced opacity.
Vishal Rao [Sun, 26 Feb 2017 22:44:12 +0000 (23:44 +0100)]
Increase smooth scrolling animation duration from 100 to 300 ms and set easing curve to InOutQuart
Summary:
The current animation duration for smooth scrolling is 100 ms which feels as if there is no smooth scroll animation in the first place. Bumping this up to something like 300 ms seems to make the scrolling actually appear smooth.
Also, based on diff comments the easing curve is set to InOutQuart.
Test Plan: Built this change locally and tried scrolling a folder with many items both single step mouse wheel and also larger steps of the mouse wheel.
David Edmundson [Mon, 20 Feb 2017 12:22:06 +0000 (12:22 +0000)]
Work round missing right click event after dismissing a context menu
There is a bug that can happen in the following situation:
- user right clicks to open a menu
- that context menu grabs input
- the QGrabphicsView also notes the mouse was pressed, but not that the
mouse was released because it doesn't have mouse events any more
- when a user clicks to dismiss the menu and then without moving clicks
quickly again to send, we don't get another press event because the
QGraphicsScene still thinks the mouse is pressed from the first time the
context menu was shown and
QGraphicsScenePrivate::lastMouseGrabberItemHasImplicitMouseGrab still
points to the old object.
This is a known bug in QGraphicsView and you can see
QGraphicsScenePrivate::sendMouseEvent has a workaround to reset the
lastMouseGrabberItemHasImplicitMouseGrab on mouse moves, with the
comment: "This is a temporary fix for until we get proper mouse
grab events."
Realistically this isn't going to happen in QGraphicsView now.
We do get a double click event though. By checking for double click
events we can grab those missed clicks. It doesn't cause any other side
effects because normally the context menu will fire after the first
click and this rarely gets processed.
Don Nguyen [Sat, 18 Feb 2017 21:58:29 +0000 (22:58 +0100)]
Add a gitignore file
The entries in this patch are very minimal and are as follows:
apidocs - user generated doc
doxygen.log - log from generating doc
CMakeLists.txt.user - from Qt Creator
.directory - created by dolphin
Start an anchored selection when restoring the selected items to make it possible
that the selection can be changed after reloading of the current view.
Otherwise it is not possible to alter the selection without restarting a new
one.
Bug found by Martin Tobias Holmedahl Sandsmark
See also RR 128563
Restore the view state after the URL of the DolphinView has been changed,
as stated in the documentation of KUrlNavigator::saveLocationState.
The historyChanged signal of the KUrlNavigator is emitted before the urlChanged
signal and so the view state restoring happens before the view URL has been
changed. This makes it impossible to save and restore the selected URLs, because
DolphinView::setUrl clears the list of selected items (which has been restored
right before). This changes removes the history changed slot and restores the
view state after the setUrl call.
KWindowSystem is no longer used since commit 230fe13d1f.
It was only pulled for `KWindowEffects::enableBlurBehind()`, which is
now in plasma-integration (triggered by KToolTipWidget).
Use the new KToolTipWidget class (introduced by kwidgetsaddons 5.30) as backend of ToolTipManager.
FileMetaDataToolTip becomes a simple widget used as content of the tooltip.
It is now possible to actually use the metadata widget shown inside the tooltips.
Tooltips are now functional on Wayland as well.
More information about KToolTipWidget in https://git.reviewboard.kde.org/r/129648/
Kai Uwe Broulik [Tue, 31 Jan 2017 19:50:47 +0000 (20:50 +0100)]
Hide progress info for rename jobs in rename dialog
When mass-renaming files, you could end up with a a gazillion notifications of a finished move job.
This fixes this. Ideally we would have one job which had the rename jobs as subjobs to still get
progress info for the overall task.
Elvis Angelaccio [Sat, 21 Jan 2017 22:36:40 +0000 (23:36 +0100)]
informationpanel: don't change color of scrollarea's viewport
This code was added a long time ago in b1c9b5126d, but the commit
message doesn't explain why. If we remove it nothing seems to change and
we fix the ugly background on the scrollbar when Breeze draws a frame
around dockable panels.
Enabling the 'duration' column in a folder with audio files did only show empty information. Properly initializing the QTime object fixes this.
Testing Done
Find a folder with audio files
Make sure that Baloo has indexed this folder
Open this folder in Dolphin, detail view, enable the Audio/Duration column
Unpatched Dolphin does not display audio duration, patched Dolphin does
Tested on Gentoo x86_64 with Qt 5.5.1, KF 5.21.0 and Arch x86_64 with Qt 5.6.0 and KF 5.21.0.
Gregor Mi [Fri, 20 Jan 2017 23:07:49 +0000 (00:07 +0100)]
DolphinSearchBox: Add a "More search tools..." menu button
Additionally, moves the "More/Fewer options" button from right to left to reduce the mouse travelling distance when the dolphin is maximized on a large screen (see screenshots)
The current location url will be passed to the search tool to set the initial search root directory.
Don Nguyen [Fri, 20 Jan 2017 23:04:38 +0000 (00:04 +0100)]
Change "Date" to "Modified" and allow access to new "Accessed" time field
This is merge of #128964 and #128942. This will impelement changing the "Date" field to "Modified" and allow a new "Accessed" time field to be available. This also includes changes to update configuration files.
Don Nguyen [Fri, 20 Jan 2017 23:00:34 +0000 (00:00 +0100)]
Dolphin: directory loading progress
Everything is already set up to show the directory loading progress in the status bar, but the signal KFileItemModel::directoryLoadingProgress is never emmited anywhere. I connected it to KFileItemModelDirLister::percent.
This was difficult to test because I had a hard time finding a directory that didn't load almost immediately. I was able to verify the fix by listing a remote directory of 20,000 files (see screenshot)
Kai Uwe Broulik [Tue, 3 Jan 2017 08:46:43 +0000 (09:46 +0100)]
Explicitly pass iconNameForUrl when creating new places entry
Once KIO::iconNameForUrl returns special icons for standard paths (e.g. Video folder)
this will ensure when adding such a folder to places it will automatically get the proper icon.
Since KIO already depends on KBookmarks it can't depend the other way round, otherwise
this would have been fixed in KBookmarks directly.
Kai Uwe Broulik [Tue, 3 Jan 2017 08:45:33 +0000 (09:45 +0100)]
[DolphinView] Update view palette on palette change
Everything was handling palette change already but for the visual distinction between
active and non-active view (in case of split view), a custom palette was set which was
then never updated. This could be seen by the label text color changing but not the view background.
`isFolderWritable` is set in DolphinView::updateWritableState() according to
KFileItemListProperties::supportsWriting().
However, `writing=true` does not imply `makedir=true`,
in an ioslave's .protocol file. An example is the trash protocol.
So we need to enable the `create_dir` action only if the protocol is
actually able to create folders.
Correctly set the active status of views when changing tabs.
Before: Right click in home folder, see create new enabled, open tab, go
to /usr, right click and see it is disabled, switch back to first tab
and right click, and it is still disabled.
After: It is enabled and disabled as appropriate when switching tab.
Fix viewpropertiestest when GlobalViewProps is true
The test was not saving its changes to the global settings, so it was
passing on the CI only because the default value of GlobalViewProps is
already false. If GlobalViewProps was set to true instead, testAutoSave()
would fail because save() was not called and GlobalViewProps was not
Elvis Angelaccio [Sun, 20 Nov 2016 11:21:29 +0000 (12:21 +0100)]
Fix slow scrolling in dock panels
Commit f688bcd1f1 fixed slow scrolling with xf86-input-libinput on DolphinView.
However the commit also exposed a bug in the Dolphin scrolling
algorithm, which was previously hidden. This resulted in slow
scrolling in dock panels (Places and Folders), with both
xf86-input-evdev and xf86-input-libinput drivers, as well as libinput on
Wayland.
KItemListContainer::updateScrollOffsetScrollBar() relied on the view's
itemSize() method to compute the scrollbar's singleStep, but this QSize
was invalid for the dock panels' views.
We use a new itemSizeHint() method instead, which is always valid and
also adapts to the current icon size set in the view.
Kai Uwe Broulik [Fri, 28 Oct 2016 11:40:50 +0000 (13:40 +0200)]
[Places Item Edit Dialog] Fix accepting dialog with Return
By setting a parent for the QDialogButtonBox we let QDialog handle everything by itself.
Also, store the dialog button box as a member rather than just the OK button.
This removes the need to set the OK button as default manually (which didn't work anyway)
and fixes pressing Return while the input is focused erroneously opening the folder browser
rather than accepting the dialog.