Elvis Angelaccio [Wed, 12 Jul 2017 08:40:15 +0000 (10:40 +0200)]
Fix drop menu position with urlnavigator drops
Commit 1e251d2f6a in kio broke drop menus when dropping on the URL
navigator (menus show up in the DolphinView rather than the URL bar).
This happens because in DolphinView::dropUrls() we set `this` as the
widget passed to KJobWidgets::setWindow() (in DragAndDropHelper::dropUrls()).
We need to replace `this` with the actual widget that received the QDropEvent
and that can mapToGlobal() the relative pos of the drop event.
Unfortunately this widget is not KUrlNavigator itself, but one of its
KUrlNavigatorButton children (private class, not exported). So
unfortunately we need a new API in KIO that exposes this child widget.
Kai Uwe Broulik [Tue, 27 Jun 2017 12:03:31 +0000 (14:03 +0200)]
[Places Panel] Disallow editing devices
I introduced this bug when I changed the layout of the menu.
While it would be nice if one could edit devices, it is currently not possible
and would require significant re-engineering effort in Solid.
While the "Edit" menu works just fine, changes are not persisted.
Elvis Angelaccio [Sun, 11 Jun 2017 17:33:36 +0000 (19:33 +0200)]
Merge branch 'Applications/17.04'
* Applications/17.04:
Change in "Open in new tab" feature in Dolphin
Ignore drops-onto-items from invalid places items
Revert "Increase smooth scrolling animation duration from 100 to 300 ms and set easing curve to InOutQuart"
Emirald Mateli [Sun, 11 Jun 2017 17:26:52 +0000 (19:26 +0200)]
Change in "Open in new tab" feature in Dolphin
Summary:
This patch proposes a change to the "open in new tab" feature.
The "open in new tab" feature will try to open selected items (files or folders) in a new tab, however, if there are no valid items to be opened in a new tab then nothing will happen, making it look like a bug. This patch adds the functionality that when there are no valid items(files or folders) to be opened in a new tab the current folder will be opened.
Test Plan:
1. Select a file(pdf, text, image etc) in Dolphin
2. Click on the "Open in new tab" toolbar button
Expected: since the file is not a valid target to open in a new tab, the current directory should be opened (as is the case where selection is empty)
Actual: Nothing happens after the button is pressed
Elvis Angelaccio [Fri, 21 Apr 2017 11:16:05 +0000 (13:16 +0200)]
Ignore drops-onto-items from invalid places items
If the QMimeData object created by PlacesItemModel doesn't have any url
set (e.g. when dragging unmounted devices), it is detected by the
resulting DropJob as "drop raw data" because the mimeData has one format set
(the internalMimeType() used for dragging between places items).
This results in a crash because the DropJob schedules a PasteJob, but in
the meantime the QDrag from Dolphin ends and deletes the mimeData object
that was passed to the paste job.
The fix is to prevent the DropJob in the first place. We can introduce a
new internal mimetype that we use to blacklist drops-onto-items (while
still allowing drops-between-items). This way PlacesItemModel can set
the blacklist flag if the mimeData is being created without urls.
BUG: 373005
FIXED-IN: 17.04.3
Test Plan:
Drag and drop an unmounted device to another place item or the DolphinView, doesn't crash anymore.
Dropping the unmounted device between two places item still works.
1. Scroll is now too fast with devices such as touchpads or trackpoints.
2. Scroll behavior is now inconsistent between Dolphin and other applications
(e.g. the Plasma file dialog). Breeze's default animation duration is 100 ms.
3. Many people complained and this feature is currently not configurable. We
should introduce a QStyle::SH_Widget_Animation_Duration hint that would
allow us to not hardcode durations in Dolphin (i.e. respect whatever
duration the users set in their QStyle).
Proposal in https://codereview.qt-project.org/#/c/195712/
Sort the tag-values alphabetically in the "Tags" column
Up until now tag-values have appeared unsorted in the Tags column
when the selected View Mode is "Details".
In older versions of Dolphin (in KDE4) the tags-values were
alphabetically sorted in the Tags column, which means that back then
this was the desired behavior.
This commit restores this functionality.
Elvis Angelaccio [Wed, 29 Mar 2017 11:37:02 +0000 (13:37 +0200)]
Update name of the delete action in the .rc files
Summary:
Small regression in commit 68bb0ec22a. We need to use the new (standard)
name for the delete action, otherwise it won't be properly
enabled/disabled.
Don Nguyen [Mon, 27 Mar 2017 22:52:29 +0000 (00:52 +0200)]
behavior change -> New Window opens with same URL
This patch will cause a "New Window" command to open a new window with
the URL from the active view. Opening a new instance via launcher will
still open a new window with the URL specified in Startup settings.
This is the behavior in Windows 10 file explorer. The advantage is this
gives the user a way to open a new window with the current URL(New
Window) as well as a new window with URL specified in Startup
settings(new instance) whereas currently, there isn't an easy way to
open a new window with the current URL. You'd have to either open a new
window and copy and paste the URL, or open a new tab(which opens with
the same URL) and detach it. I'd much rather have the new window open
with the current URL and if what I wanted was the Startup URL I could
easily get there as it's already bookmarked.
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.