Summary:
The DolphinTabPage::activeViewUrlChanged signal triggers the title
update in DolphinMainWindow, which sets the new title from the
`m_activeViewContainer` instance.
This means we need to notify the main window that the active view
changed before telling it that the current url changed.
Nate Graham [Sun, 16 Dec 2018 20:49:57 +0000 (13:49 -0700)]
Return editable URL navigator to breadcrumb mode if it has focus and everything is selected and when Ctrl+L is pressed
Summary:
This patch makes an editable location bar return to breadcrumb mode when {key Ctrl L} is pressed, but only if the location bar currently has focus and everything is selected. Otherwise, it will simply return focus to it as before.
This provides a slightly easier way to make the location bar return to breadcrumbs mode
Test Plan:
- Compile and deploy and make the location bar be breadcrumbs
- Hit {key Ctrl L} twice in a row -> location field turns to being in breadcrumb mode. Focus is correctly returned to the main view.
- Hit {key Ctrl L}, move focus elsewhere, then hit {key Ctrl L} again -> Location bar is editable and focused with everything selected.
- Hit {key Ctrl L}, deselect some of the text, then hit {key Ctrl L} again -> Location bar selects everything.
Anton Kreuzkamp [Mon, 3 Dec 2018 14:01:36 +0000 (15:01 +0100)]
KItemListWidget: Use initStyleOption
Instead of using QStyleOption::initFrom, let's use
QGraphicsWidget::initStyleOption, which is made for exactly the purpose
of KItemListWidget. This is especially important since, according to the
docs of QGraphicsItem::paint "The widget argument is optional. [...]
For cached painting, widget is always 0.". Even though currently no code
in dolphin does cached painting, for the sake of modularity one should
not rely on widget to be non-null. Using QStyleOption::initFrom does
assume that, though.
In fact, GammaRay asks the items to do cached painting when attaching it
to the application, causing it to crash.
Thomas Surrel [Tue, 20 Nov 2018 11:10:15 +0000 (12:10 +0100)]
Fix selection when navigating back, with size sorting.
Summary:
KItemListSelectionManager::itemsMoved (called when sorting by size)
was re-activating anchor selection regardless if we actually were
doing an anchored selection. This was leading to an incorrect
selection when navigating back.
BUG: 352296
Test Plan:
In any folder, sort by size then move to a subfolder. Navigate back
to the parent folder: only the parent folder should be selected.
Thomas Surrel [Thu, 22 Nov 2018 21:24:37 +0000 (22:24 +0100)]
Do not sort twice when changing role and order at the same time
Summary:
When using the list header to change the role and order, if one
changes the order to descending and then changes role, dolphin
also changes the order back to ascending. This results in sorting
the list of files twice in a row. This patch removes the first
(useless) sort.
Elvis Angelaccio [Sun, 11 Nov 2018 12:41:18 +0000 (13:41 +0100)]
[PlacesPanel] Port to KFilePlaceEditDialog
Summary:
This patch ports away from the old PlacesItemEditDialog copy,
which doesn't honour the "applicationLocal" checkbox.
KFilePlaceEditDialog was not exported by KIO, but it will be starting
from 5.53
BUG: 376619
FIXED-IN: 19.03.80
Test Plan:
* Create a new place ("Add Entry" from the panel context menu) and check the "only show in dolphin" checkbox
* Edit an existing (global) place and check the "only show in dolphin" checkbox
Thomas Surrel [Tue, 13 Nov 2018 10:05:16 +0000 (11:05 +0100)]
Do not disconnect all StorageAccess signals when unmounting
Summary:
The problem is caused by the fact device interfaces returned by
Solid (e.g. item->device().as<Solid::StorageAccess>()) are not
full objects, but only references/pointers to a per-device-object,
i.e. requesting the same interface for a device will return the same
address every time.
If the interface is used used in multiple places, calling disconnect
on the interface address disconnects the signals for all users.
BUG: 400992
Test Plan:
In Dolphin, mount a local partition (e.g. a Windows partition)
then unmount it (right click on it in Places, then Unmount).
Try to access it again by clicking on it in Places, we should
get access to it correctly.
Chris Rizzitello [Sun, 11 Nov 2018 21:02:08 +0000 (16:02 -0500)]
Improve Ux for the places panel's hidden items
Summary:
BUG: 400860
FIXED-IN: 18.12.0
Clean up the context menu for the places panel.
- Change Text "Show All Entries" -> "Show Hidden Places"
- Use State dependent icon (like hidden files)
- Disable instead of hide if not places are hidden.
- Toggle to unchecked if last item of group is unhidden.
Create a copy of this "Show Hidden Places" entry in the main dolphin menu View->Places.
Harald Sitter [Thu, 15 Nov 2018 13:43:57 +0000 (14:43 +0100)]
move kcrash link to dolphin app (which is the effective user)
Summary:
to successfully use kcrash when linking with as-needed (which is a default
flag on many linux distros) one also needs to call KCrash::initialize.
this call happens in the app's main.cpp. as such the kcrash link target
on the dolphinprivate library doesn't do anything for dolphinprivate but
only kicks into action for dolphin itself.
to avoid confusion and make it clear that kcrash is only initialized in the
application scope the KF5::Crash link target is now on the application
target, not the library target.
(this makes no difference in the output, kcrash was still correctly linked
via dolphinprivate; but only for kdeinit_dolphin, dolphinprivate did
not get linked to it with as-needed)
Elvis Angelaccio [Sat, 27 Oct 2018 14:53:59 +0000 (16:53 +0200)]
Don't enable two-clicks renaming in single-click mode
Summary:
This was supposed to be part of commit 5454283008f2, but apparently we
didn't notice it was missing.
Test Plan:
- Enable single-click mode from system settings
- Select a file in dolphin
- Long-click the selected file and make sure inline renaming doesn't start
Elvis Angelaccio [Sat, 13 Oct 2018 16:49:35 +0000 (18:49 +0200)]
[PlacesItemModelTest] Revert last two commits
Commit c527dc2172 proves that on the CI sometimes the `QAbstractItemModel::dataChanged`
signal is not being emitted at all (build #208 failed because the test timed out).
KFilePlacesModel emits `dataChanged()` in the `_k_reloadBookmarks()`
slot only when it's called after the KBookmarkManager emits the `changed()` signal.
And the `changed()` signal is emitted after KDirWatch emits the
`created` signal.
On the CI server kdirwatch is probably not reliable, which would explain
why the test randomly fails.
Thomas Surrel [Wed, 10 Oct 2018 20:24:31 +0000 (22:24 +0200)]
Update hidden state correctly
Summary:
When renaming a file from '.hidden' to 'not_hidden', the file
would still be displayed like a hidden file with a semi-transparent
icon and a grey text.
Thomas Surrel [Wed, 10 Oct 2018 20:24:31 +0000 (22:24 +0200)]
Update hidden state correctly
Summary:
When renaming a file from '.hidden' to 'not_hidden', the file
would still be displayed like a hidden file with a semi-transparent
icon and a grey text.
This contribution was motivated by a comment on [[ https://pointieststick.wordpress.com/2018/10/06/this-week-in-usability-productivity-part-39/comment-page-1/#comment-2108 | Nate's blog]].
Summary: Right now, the "Create New" menu's functionality is not visible with Dolphin's default layout that has a {nav Control} button instead of a menubar. This patch adds that functionality to the {nav Control} button's menu so that it's actually discoverable for regular users.