Summary:
The rename dialog used to be modal, but commit
828ba8902c changed the behavior without
really explaining why.
Test Plan: disable inline renaming and rename something.
Reviewers: #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17621
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.
Reviewers: #dolphin, elvisangelaccio, dhaumann
Reviewed By: elvisangelaccio, dhaumann
Subscribers: elvisangelaccio, dhaumann, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16980
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.
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.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, broulik, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17042
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.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17111
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
Reviewers: #dolphin
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16824
Summary:
This is consistent with the HIG, and the 'Rename' entry in
the context menu already behaves like that.
Test Plan:
Right click on /home. The context menu should contained
the 'Delete' entry, but it should be disabled.
Reviewers: #dolphin, #vdg, ngraham
Reviewed By: #dolphin, #vdg, ngraham
Subscribers: ngraham, romangg, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17012
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.
Reviewers: #dolphin, #frameworks, bruns, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16857
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.
Test Plan:
With Hidden Places
{F6398756}
{F6398759}
Context Menu:
{F6398762}
{F6398761}
Without Hidden Places.
{F6414694}
{F6414696}
Reviewers: #dolphin, #vdg, elvisangelaccio, ngraham
Reviewed By: #dolphin, #vdg, elvisangelaccio, ngraham
Subscribers: cfeck, elvisangelaccio, veqz, davidc, ngraham, kfm-devel
Tags: #dolphin
Maniphest Tasks: T8349
Differential Revision: https://phabricator.kde.org/D16767
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)
Test Plan: builds; links as expected
Reviewers: elvisangelaccio, #dolphin
Reviewed By: elvisangelaccio, #dolphin
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16896
Summary: For normal "casual" linux users, renaming the file/folder starting with dot may get irritating, they will be wondering their file is deleted.
Test Plan:
1. Make new file/folder.
2. Rename it to .foo
3. Question dialog appears.
Reviewers: elvisangelaccio, ngraham, pino
Reviewed By: elvisangelaccio, ngraham
Subscribers: cfeck, emateli, elvisangelaccio, pino, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15980
Summary:
This was supposed to be part of commit 5454283008, 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
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16460
Ensures the overlay is painted in the same icon state, especially the selected one so dark overlays turn white.
Differential Revision: https://phabricator.kde.org/D16307
Summary: BUG: 181880
Test Plan:
Right-click on a place or on a device in the Places panel now show a Properties entry.
Clicking on it will open its folder property.
Reviewers: #dolphin, #plasma, #vdg, ngraham, elvisangelaccio
Reviewed By: #dolphin, #vdg, ngraham, elvisangelaccio
Subscribers: anthonyfieroni, elvisangelaccio, cfeck, ngraham, abetts, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15929
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.
The randomly failing `testRefresh()` on the CI can be reproduced by
replacing the QTRY_COMPARE with a simple QCOMPARE.
So it seems the CI can be slow such that the default QTR_COMPARE
timeout of 5 seconds is not enough.
If a timeout of 10 seconds fixes this particular test case, we can use
this bigger timeout also in the other failing tests.
Summary:
This removes the 'Unmount' context menu in the Places panel for discs
corresponding to / and /home.
It does not make much sense to offer an option that will always fail.
BUG: 399659
Reviewers: #dolphin, #vdg, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: sefaeyeoglu, elvisangelaccio, ngraham, broulik, bruns, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15989
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.
BUG: 399599
Reviewers: #dolphin, elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16115
removePlaceAfter(index) is a bit misleading, because it seems we are
going to remove the place after index `index`.
This method is just scheduling the removal of the place instead.
The method name should be consistent with what it actually does.
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.
BUG: 399599
Reviewers: #dolphin, elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16115
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.
Test Plan:
{F6304893}
All menu items work.
Reviewers: #dolphin, broulik, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: acrouthamel, anthonyfieroni, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15609
Even on fastest disks, filling up the disk in 10 seconds is unlikely.
Moreover, Plasma's "low disk" warning only polls every minute as well and Dolphin doesn't warn you about the fact that it's full.
Reduces needless wake ups of disks and network.
CCBUG: 398612
Differential Revision: https://phabricator.kde.org/D15507
KFilePlacesModel creates the Desktop and Downloads bookmarks only if
their folder exists.
This should hopefully fix the failing test on the CI (actual count = 15,
expected count = 17), since the CI runs in docker and probably doesn't
have those two folders by default.
Summary:
Commit e133c4557e doesn't work because the actions in the
KNewFileMenu are added only when we show the context menu for the first
time.
Fixes the failing test cases in D16005.
Test Plan: Run `dolphinmainwindowtest` and open the context menu in different places (Home, Root, Trash, `bluetooth:/`, etc.)
Reviewers: #dolphin
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16006
Summary:
Root and Trash test cases are currently failing because of
commit e133c4557e.
Reviewers: #dolphin
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D16005
Summary:
This is only a proposal but:
1/ it the sysmetric of the Unmount entry in the context menu of mounted devices
2/ I have to admit it took me a very long time to discover (by accident) that you can just (left-)click on a unmounted device to get it mounted automatically. I might not be the only feeling that you should be able to mount a device from the context menu ...
Twin of D15988 in Kio while dolphin is not based on the kio code for Places.
{F6306516}
Reviewers: #dolphin, #vdg, ngraham, elvisangelaccio
Reviewed By: #dolphin, #vdg, ngraham, elvisangelaccio
Subscribers: ngraham, acrouthamel, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15974
Second try:
added Qt::CTRL + Qt::Key_T and Qt::CTRL + Qt::SHIFT + Qt::Key_N
as QKeySequence::AddTab is only Qt::CTRL + Qt::SHIFT + Qt::Key_N
under plasma.
m_bookmarkedItems is long gone (since commit da6f8fe086).
Porting `showModelState()` to the new KFilePlacesModel source model is
not worth it, since this was just a debugging function and most of the
logic has been moved upstream anyway (see T7040).
Summary:
The current icon is used for displaying the Properties context menu
in other places in dolphin. Change to edit-entry.
Test Plan: Right-click on a place in the Places panel.
Reviewers: #dolphin, #vdg, ngraham
Reviewed By: #dolphin, #vdg, ngraham
Subscribers: broulik, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15938
Summary:
Inline renaming is aborted as soon as an item is dragged. Previously, ’m_dragging' was used to determine if an item was being dragged. However, inline renaming is triggered after a certain amount of
time, during which time the user may have stopped dragging items.
BUG: 398375
FIXED-IN: 18.08.2
Test Plan: When dragging an selected item, inline renaming should never be started, regardless of where you drag it (Places panel, other split-view window, out of the Dolphin window, ...).
Reviewers: wbauer, elvisangelaccio, #dolphin, ngraham
Reviewed By: wbauer, elvisangelaccio, #dolphin, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15904
Rather than relying on a widget being visible which might not be the case for e.g. non-active tabs
Differential Revision: https://phabricator.kde.org/D15774
A search URL is never local, so this part of the code was never reached, resulting in raw baloosearch or filenamesearch URLs
showing up as window and tab title
Differential Revision: https://phabricator.kde.org/D15772
When explicitly refreshing the view (e.g. F5) also refresh disk space info.
This would also allow us to raise the refresh interval somewhat.
CCBUG: 398612
Differential Revision: https://phabricator.kde.org/D15508
There's no point in creating a QFileInfo instance and checking for file properties if we're not going to do anything with it
when not inside home.
Differential Revision: https://phabricator.kde.org/D15237
Summary:
Currently if someone starts 2 dolphins, the second cannot register
org.freedesktop.FileManager1 meaning and when the first dolphin quits,
no-one has it registered.
It doesn't cause a huge problem right now as we just dbus-activate a new one if
needed, but it means the behaviour is a bit inconsistent and
non-optimal.
DBus has a system to queue names, meaning that as long as any dolphin is
running this name is owned by one of the processes.
Also this patch registers the service after the object which is
technically safer.
Test Plan:
Ran d-feet
Opened 2 dolphins, closed the first
Service was still registered and the PID of the owning process changed.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15539
This avoids requesting a thumbnail twice for certain files, typically the first or last one in a folder.
Differential Revision: https://phabricator.kde.org/D15404
Summary:
QKeySequence::AddTab = Qt::CTRL + Qt::Key_T.
Leaving only the first avoids the warning window "There are two actions (New Tab, New Tab) that want to use the same shortcut (Ctrl+T)"
BUG: 398324
Test Plan:
su - test
unset KDE_FULL_SESSION
dolphin
After: No more the warning window.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15371
Fixes a regression introduced by not using the selected state.
The views other than icon view actually do have a proper highlighted background.
Differential Revision: https://phabricator.kde.org/D15387
Summary:
KIO's file dialog already has logic to avoid drawing frames around images detected as likely to be icons, which is improved with D15071. Since Dolphin doesn't use KIO for any of this (boo) we have to pull it over here too; this patch brings the same feature to Dolphin, as well as the feature to disable frames and shadows for all thumbnails at very small sizes, which improves clarity.
With this patch, Dolphin's frame drawing behavior becomes consistent with that of the file dialog (as of D15071).
BUG: 295526
FIXED-IN: 18.12.0
Test Plan:
Icons no longer have frames:
{F6214279}
Images without transparency still have frames:
{F6214280}
Nicer presentation for folders with mixed image types (images without transparency get frames; images without it don't):
{F6214278}
At small sizes, thumbnail clarity is improved by omitting the frame and shadow. Before:
{F6214296}
After:
{F6214294}
Reviewers: #dolphin, broulik, elvisangelaccio
Reviewed By: #dolphin, broulik, elvisangelaccio
Subscribers: markg, anthonyfieroni, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15069
Saves creating a new KFileItem from scratch which stats the file.
Only when the root item isn't available (as can happen when you're currently looking at an non-existing directory)
will it create a new KFileItem
Differential Revision: https://phabricator.kde.org/D15266
Otherwise for 22px icons on high dpi we will request either the wrong icons or scale them needlessly.
Dolphin requests a pixmap of 22px, this is then multiplied by dpr resulting in 44 which isn't a valid icon size (only 32 or 48 are).
Moreover, we will also hit the path where it will scale the pixmap to a proper icon size resulting in blurry icons
(and a performance penalty).
Differential Revision: https://phabricator.kde.org/D15260
Summary:
We only wrote out a checkbox value if the checkbox was checked.
Unchecking it would not do anything.
BUG: 398022
Test Plan:
Read KRun's exepcted values
Unchecked config option
Reloaded dolphin
Checkbox remained off
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15147
This causes selected monochrome Breeze icons to turn white as this state is meant for when the icon is actually painted ontop of
e.g. a blue highlighted area in a menu
Since the advanced icon configuration (where you could choose a custom hint color and other effects) has been removed in Plasma 5.13
and more importantly the fact that Dolphin always tints the icon in the highlight color disregarding any custom icon effects settings
this is an acceptable change.
CHANGELOG: Fixed monochrome icons turning invisible when selected
BUG: 398014
FIXED-IN: 18.08.2
Differential Revision: https://phabricator.kde.org/D15255
Summary:
This commit renames the DolphinViewContainer::getCaption to simply
caption, this was a review comment that I failed to fix in a previous
commit.
Test Plan: None
Reviewers: elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15114
Summary:
Changes the tabName function to return the name of the passed in
DolphinTabPage. Previously it would return the name of the active tab,
which causes in-active tabs to get the wrong name.
Test Plan:
Open Dolphin
Right click a folder and select 'Open in new tab'
Notice that the new tab has the wrong title
BUG: 397910
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15112
Summary:
The text thumbnail is really useful in tooltips, but disabled by default in
KIO. Having just a larger version of the placeholder icon from the theme
doesn't make a lot of sense, so try the best to get a proper preview.
Same applies to the information panel, which would otherwise just
show the same icon.
Test Plan:
Got textfile previews in tooltips and in the information panel even if
disabled.
Reviewers: #dolphin, elvisangelaccio, broulik, markg, ngraham
Reviewed By: #dolphin, broulik, ngraham
Subscribers: abetts, markg, kfm-devel, ngraham
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15138
Summary:
Previously the title of tabs was a prettyfied version of the URL.
This is inconsistent with the title of the Window and in some cases
for specials URLs kind of misleading. This commit generalizes the
code from DolphinMainWindow so that both the DolphinMainWindow title
and the tab title uses the same function for the title. This also
means that the 'Show Full Path in Title Bar' also applies to the
tab title, and also that searches changes the tab title.
FEATURE: 387851
Test Plan: Open a new tab from the places panel and navigate around.
Reviewers: #dolphin, ngraham, elvisangelaccio, markg
Reviewed By: #dolphin, ngraham, markg
Subscribers: markg, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14442
Summary:
As discussed in D14814, 6674c9c387 removed the {nav Show tooltips}
checkbox in Dolphin's preferences when Baloo is unavailabe at compile
time and thus the tooltip would not be functional. The {nav Miscellaneous}
label in front of the checkbox was also removed, even though it relates
to all options in that group.
In addition, after 6674c9c387 running Dolphin without Baloo support
would print
QWidget::insertAction: Attempt to insert null action
on startup.
Both issues can be fixed with more `#ifdefs`.
Test Plan:
After building with `-DCMAKE_DISABLE_FIND_PACKAGE_KF5Baloo=ON`, the
{nav Show tooltips} checkbox is removed, the {nav Miscellaneous} label
is still there, and there is no warning printed.
Reviewers: elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14980
Summary:
It was only used as fallback when baloo was not found, but
`KFileMetaDataWidget` is useless without nepomuk.
The result of this patch is that the information panel and the tooltips
won't be available from platforms without baloo (instead of being
available but broken). The baloo dependency remains optional.
Closes T8720
Test Plan:
Build dolphin with `cmake -DCMAKE_DISABLE_FIND_PACKAGE_KF5Baloo=ON ..` and
make sure it doesn't show tooltips or the information panel.
Reviewers: #dolphin, broulik, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Maniphest Tasks: T8720
Differential Revision: https://phabricator.kde.org/D14814
This avoids creating a QDateTime object with all the timezone processing that comes with it since we're only
interested in the actual pretty date once we show the role to the user.
Differential Revision: https://phabricator.kde.org/D14880
Summary:
With the new uds implementation, when some data is meant to replace an old one, it has to use replace() instead of insert() to avoid an assert of data already exists.
Use 3 different entries and only insert().
Test Plan:
before: crash in the uds assert
after: passes the test
Reviewers: #dolphin, #frameworks, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: bcooksley, bshah, nalvarez, cfeck, dfaure, aacid, ngraham, bruns, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13813
Summary:
With the new uds implementation, when some data is meant to replace an old one, it has to use replace() instead of insert() to avoid an assert of data already exists.
Use 3 different entries and only insert().
Test Plan:
before: crash in the uds assert
after: passes the test
Reviewers: #dolphin, #frameworks, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: dfaure, aacid, ngraham, bruns, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13813
This avoids creating a QDateTime object with all the timezone processing that comes with it since we're only interested in the
relative order, not absolute precise date time values.
CHANGELOG: Sorting files by date is significantly faster now
Differential Revision: https://phabricator.kde.org/D14394
Summary: When DolphinContextMenu::baseFileItem is called a KFileItem is allocated and stored in DolphinContextMenu::m_baseFileItem, which is of type KFileItem*, but the destructor failed to delete this.
Test Plan: This leak was found using Address Sanitizer
Reviewers: broulik, elvisangelaccio
Reviewed By: broulik, elvisangelaccio
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14178
Instead of using KIconLoader which currently doesn't support high dpi scaling, use QIcon::fromTheme which can.
Differential Revision: https://phabricator.kde.org/D14222
Summary: The KItemListViewAccessible class has a list of QAccessibleInterface pointers in a member variable m_cells. The problem is that when new entries are created, the newly allocated pointer is not stored in the list, only a nullptr is store, this renders the cleanup code in the destructor useless. This patch simply stores the pointer in the list, causing the destructor to correctly free the memory.
Test Plan: I found this issue using address sanitizer. Simply building Dolphin with -fsanitize=address and opening a window caused the memory leak.
Reviewers: #dolphin, jtamate, elvisangelaccio
Reviewed By: #dolphin, jtamate, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14168
Summary: The InformationPanel::m_pendingPreview and ApplyViewPropsJob::m_currentItem member variables are not used and can therefore be removed.
Reviewers: broulik, elvisangelaccio
Reviewed By: broulik, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14180
Summary:
Like D12571, but for the {nav View Properties} Window. Also did a little bit of re-organization. This allows us to use a `QFormLayout` as the top-level layout and simplify the code a lot, including no longer using the now-unnecessary paradigm of putting a layout inside a `QWidget`, and ending the use of `QGridLayout` to make a fake and more complicated form-style layout.
Depends on D13749
Test Plan:
Window still resizes properly when the Additional Information content is shown or hidden.
Global view properties, additional information hidden:
{F6035943}
Global view properties, additional information shown:
{F6035945}
Per-folder view properties, additional information hidden:
{F6035869}
Per-folder view properties, additional information shown:
{F6035870}
Reviewers: #dolphin, elvisangelaccio, broulik, #vdg
Reviewed By: #dolphin, elvisangelaccio
Subscribers: abetts, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13768
Summary:
Uses a reference to the collator instead of copying and reinitializing it again and again. This is the reason for the speedup.
Changing the implementation from a Functor class to a Lambda removes some boilerplate code, but is not relevant for performance.
This requires a workaround for https://bugreports.qt.io/browse/QTBUG-69361
Just a single comparison to force the clean state of QCollator.
Test Plan:
Sorting in a directory with 82874 images:
[TIME] Sorting: 19883 (before)
[TIME] Sorting: 4198 (after)
kfileitemmodelbenchmark before: .............. Passed 29.36 sec
kfileitemmodelbenchmark after: .............. Passed 20.39 sec
Reviewers: #dolphin, #frameworks, markg, elvisangelaccio, bruns
Reviewed By: #dolphin, markg, elvisangelaccio
Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13814
Summary:
Use a lambda function to use only one QCollator initialized only once.
This requires a workaround for https://bugreports.qt.io/browse/QTBUG-69361
Just a single comparison to force the clean state of QCollator.
Test Plan:
Sorting in a directory with 82874 images:
[TIME] Sorting: 19883 (before)
[TIME] Sorting: 4198 (after)
kfileitemmodelbenchmark before: .............. Passed 29.36 sec
kfileitemmodelbenchmark after: .............. Passed 20.39 sec
Reviewers: #dolphin, #frameworks, markg, elvisangelaccio, bruns
Reviewed By: #dolphin, markg, elvisangelaccio
Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13814
I prefer to wait until QQCollator is thread safe or
someone discovers why this is happening now and not before.
Summary: This reverts commit 63825de82f.
Test Plan: revert-hammer
Reviewers:
Subscribers:
Summary:
Use a lambda function instead of a class.
This way the member QCollator is not copied and initialized several times.
Test Plan:
Sorting in a directory with 82874 images:
[TIME] Sorting: 19883 (before)
[TIME] Sorting: 4198 (after)
kfileitemmodelbenchmark before: .............. Passed 29.36 sec
kfileitemmodelbenchmark after: .............. Passed 20.39 sec
Reviewers: #dolphin, #frameworks, markg, elvisangelaccio
Reviewed By: #dolphin, markg, elvisangelaccio
Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13814
Summary: This patch modernizes the appearance of Dolphin's configuration window by following the KDE HIG as much as possible and following design cues from Plasma and System Settings.
Test Plan:
Tested all settings to make sure they still work; they do.
Startup page, before:
{F5825313}
Startup page, after:
{F5918574}
View page (Icons), before:
{F5825319}
View page (Icons) after:
{F5918575}
View page (Compact), before:
{F5825321}
View page (Compact) after:
{F5918700}
View page (Detailed), before:
{F5825323}
View page: (Detailed), after:
{F5918701}
Navigation page: no change
Trash page, before:
{F5858748}
Trash page, after:
{F5866656}
(Provided by {D12986})
General page (behavior), before:
{F5825316}
General page (behavior) after:
{F5918572}
General page (confirmations), before:
{F5866885}
General page (confirmations), after:
{F5918702}
General page (status bar): no change
Reviewers: #dolphin, #vdg, broulik, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: fabianr, cfeck, medhefgo, zzag, rkflx, kfm-devel, elvisangelaccio, abetts
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12571
Summary: None of Dolphin's current usages of `KComboBox` use any of its additional features beyond `QComboBox`, so let's use `QComboBox` instead.
Test Plan: Tested all features that use comboboxes in Dolphin. No visual or functional changes or regressions.
Reviewers: #dolphin, elvisangelaccio, broulik
Reviewed By: #dolphin, elvisangelaccio
Subscribers: broulik, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13749
Summary:
A modal dialog that opens another modal dialog is bad UX and should be
avoided whenever possible. These days we have `KCollapsibleGroupBox`
that can be used to show advanced settings without cluttering the
default layout.
This change removes the `AdditionalInfoDialog` and uses a collapsible
groupbox instead. The `Apply` buttons gets enabled whenever a role gets
checked or unchecked, consistently with the existing checkboxes.
Test Plan: Change visible roles in the view properties dialog.
Reviewers: #dolphin, #vdg
Reviewed By: #vdg
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13569
Summary: KDE apps generally (ha ha) have their {nav General} page at the top of the list, so it's the first thing the user sees when they open the {nav Settings} window, but Dolphin is an exception. It puts the {nav General} page //last!// This patch makes Dolphin consistent with other KDE apps by moving the {nav General} page up to the top.
Test Plan: {F5918590}
Reviewers: #dolphin, #kde_applications, elvisangelaccio, ltoscano
Reviewed By: elvisangelaccio, ltoscano
Subscribers: kde-doc-english, ltoscano, elvisangelaccio, kfm-devel
Tags: #dolphin, #documentation
Differential Revision: https://phabricator.kde.org/D13595
We call `markAsDirty(false)` at the end of `loadSettings()` but that's
not enough, because `m_isDirty` is initialized to false (as it should be).
This means `isDirtyChanged` is not emitted and the button is not disabled.
By disabling it explicitly, we make it consistent with the Apply button
in the settings dialog (which is also initially disabled).
Summary:
Commit 43da84eefc introduced the risk of entering an endless loop of
`FocusIn`/`FocusOut` events sent to two DolphinSearchBox instances when
opening a second tab (see D11871).
This happens because we deactivate the first tab when we open a new one, but
since the `setActive(true)` is delayed with a QTimer, both the old tab
and the new one become active and receive their own `FocusIn` event
(which starts the loop of focus in/out events).
To prevent this issue, we schedule the searchbox activation only if the
searchbox is not already active.
Test Plan:
- Search something in dolphin
- Open a new tab after the search ends
- Check that dolphin does not eat the CPU
Reviewers: #dolphin, anthonyfieroni
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13152
QVariant::toString() unwraps a QStringList with a single string to a QString, however a list with multiple entries returns a null string.
Explicitly check for KFileMetaData property type and convert accordingly.
BUG: 395033
FIXED-IN: 18.04.3
Differential Revision: https://phabricator.kde.org/D13349
Summary:
The `RenameDialog::slotResult()` slot is currently never called because
the dialog is deleted first, due to the usage of the `WA_DeleteOnClose`
attribute. This breaks the scroll-to-renamed-file feature when the
inline renaming is disabled.
Instead of deleting the dialog on close, we can use `deleteLater()` when
we are sure the dialog has actually finished its job, which is when the
KIO move job emits the `result` signal.
Test Plan:
- Disable inline renaming
- Rename a file so that it goes out of the view
- Check whether the view scrolls to the renamed file.
Reviewers: #dolphin, emateli
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D13304
Connections to lambda slots without context/receiver argument can lead
to crashes, because if the receiver is deleted Qt won't delete the connection
as it normally would when the receiver is specified.
This patch moves the slot from the lambda in PlacesItem (which is not a QObject)
to PlacesItemSignalHandler. This fixes the `dolphinmainwindowtest` crash
we currently have on master, and should also fix bug #394507 which has
the very same stacktrace.
BUG: 394507
FIXED-IN: 18.04.2
Summary: This adds the 'Sort By' and 'View Mode' options into the context menu of Dolphin within the file browser. I keep looking for these option (especially sort by) in the Context Menu, and keep forgetting to go to the menu. It also makes the order of "View Mode" and "Sort By" options consistent in the control menu
Test Plan: Made sure that the options appeared when right clicking on an empty space.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: question, markg, elvisangelaccio, mmustac, rkflx, ngraham, kfm-devel, #dolphin
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12911
Summary: Now that Dolphin can be run as the root user again, let's show a warning.
Test Plan:
When run with the root user account:
{F5882057}
Reviewers: #dolphin, markg, elvisangelaccio
Reviewed By: markg, elvisangelaccio
Subscribers: acooligan, anthonyfieroni, chinmoyr, kfm-devel, rikmills, emmanuelp, zzag, nicolasfella, elvisangelaccio, Fuchs, mmustac, markg
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12732
Summary:
Prohibiting the use of Dolphin as the actual root user (not using `sudo` or `kdesu`) breaks legitimate use cases for using the root user. An example is Kali, a distro that logs in as the root user by default as a deliberate design choice.
In such an environment, there is no additional security vulnerability beyond what you're already potentially exposing yourself to. So, let's re-enable it.
BUG: 387974
FIXED-IN: 18.08.0
Test Plan:
- Log in as normal user and run `sudo dolphin`: you get an error message.
- Log in as normal user and run `kdesu dolphin`: you get an error message.
- Log in as the root user and run dolphin normally: it works.
Reviewers: markg, elvisangelaccio, #dolphin
Reviewed By: markg
Subscribers: chinmoyr, cfeck, elvisangelaccio, mmustac, Fuchs, markg, graesslin, nicolasfella, zzag, kfm-devel, emmanuelp
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12795
This fixes a regression introduced by ec12391a1b.
We don't use anymore the custom `new_window` action, but we use the
standard `file_new` action instead.
Summary:
There is no need to add all of kdeinit_dolphin's
dependencies (including the static archive) when
linking dolphin; kdemain is the only needed symbol.
Mark the link libraries PRIVATE to simplify the
link command for dolphin.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: asturmlechner, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12931
Summary:
The file main.cpp is already in dolphin_SRCS and doesn't
belong in dolphinstatic_SRCS.
Normally the duplicate object is simply ignored, but with
link time optimization (LTO), linking dolphin can fail.
Apparently, the compiler tries to inline inline kdemain()
in this case. That is undesirable anyway and it ultimately
fails because the DBusInterface definition is not available:
.../ccHEv6cl.ltrans0.ltrans.o: In function `DBusInterface::~DBusInterface()':
<artificial>:(.text+0x2583): undefined reference to `vtable for DBusInterface'
.../ccHEv6cl.ltrans0.ltrans.o: In function `DBusInterface::~DBusInterface()':
<artificial>:(.text+0x5aa3): undefined reference to `vtable for DBusInterface'
.../ccHEv6cl.ltrans0.ltrans.o: In function `kdemain':
<artificial>:(.text+0x7686): undefined reference to `DBusInterface::DBusInterface()'
<artificial>:(.text+0x7b64): undefined reference to `vtable for DBusInterface'
collect2: error: ld returned 1 exit status
See also <https://bugs.gentoo.org/655710>.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, asturmlechner, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12929
Summary:
This gave a warning when running the script, and the value was
overwritten a few lines below, so just remove the unused value.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D12845
Summary:
Disable all the items in the 'create new' menu when the active view is in the trash,
because they're not useful and don't even work. We don't disable the entire menu
because it's useful to be able to see what specific things are disabled.
This can be reverted once T8234 is implemented.
BUG: 332463
FIXED-IN: 18.08.0
Test Plan:
- Enter the trash with and without a split view; the 'create new' menu items are all disabled
- Be looking at something other than the trash with and without a split view; the 'create new' menu items are all enabled
- Toggle between split views (one in the trash, one elsewhere); menu is correct for both cases
Out of the trash:
{F5837042}
In the trash:
{F5837043}
Reviewers: #dolphin, broulik, elvisangelaccio, markg
Reviewed By: #dolphin, elvisangelaccio, markg
Subscribers: markg, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D12731
This can lead to crashes and is inconsistent with the KIO file picker dialog, which shows duplicated entries.
BUG: 393528
Differential Revision: https://phabricator.kde.org/D12558
Otherwise the test executable will not be able to find the .rc file
while creating a DolphinMainWindow instance.
We also need to force the component name to `dolphin`, otherwise kxmlgui
will default to the name of the binary (which in this case would be
dolphinmainwindowtest rather than dolphin).
We deactivate the previously active view container whenever we change the active
split view, but we never do the same when we close the split view.
Long term we should probably even delete the secondary view after
closing the split view, because it will never be used again and the
pointer will be overwritten the next time the user opens the split view.
Summary:
In dolphintabpage.cpp:
Through the connections set up in createViewContainer(), m_primaryViewContainer->setActive(true), at line 98,
ends up triggering slotViewActivated().
Because m_primaryViewActive is true, oldActiveView is not set to the view needed in this particular situation.
Both oldActiveView and newActiveView end up pointing to the same view and the connections are not set up.
BUG: 385111
FIXED-IN: 18.04.1
Test Plan:
1. Open split view
2. Make left panel active
3. Close split view
4. Navigate to various directories
Window title now updates to show current directory
Also tried with multiple tabs/combinations
Reviewers: #dolphin, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: elvisangelaccio, ngraham
Differential Revision: https://phabricator.kde.org/D12446
Summary:
This patch moves the "Open", "Open With", and "Open in" items to the top of the context menu to reap the following benefits:
- Move the "Open" and "Open With" items closer to the top since they're commonly used items, and right now they're buried in the middle of the menu
- Group related functionality
- Consistency with other common platforms (macOS Finder and Windows Explorer both have these items at the top of the context menu)
For folders, the "Open With" entries are moved higher, but not all the way to the top, since the "open in New tab/folder" entries are more useful.
Test Plan:
Tested all menu items in the context menu for files, folders, and links; all still work.
Context menu for single file:
{F5806809}
Context menu for multiple files:
{F5806810}
Context menu for single folder:
{F5806811}
Context menu for multiple folders:
{F5806812}
Context menu for symlink to folder:
{F5806815}
Reviewers: #dolphin, #vdg, elvisangelaccio, abetts
Reviewed By: #dolphin, #vdg, elvisangelaccio, abetts
Subscribers: markg, abetts, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D11884
Summary:
Dolphin had some code to change the grid spacing when previews were toggled, in an attempt to optimize the view for 3:2 landscape photos. This was problematic for many reasons:
- Conceptually, it was a bad idea to optimize the view for one specific use case. Previews are useful for more than just landscape photos, and this optimization would be inapplicable to any other set of files.
- Folders entirely full of images commonly have some portrait-orientation images included too, so even if the goal were appropriate, it was a bad idea to optimize for only having landscape images.
- For small sizes and medium icons (< 96px), the preview grid size was virtually identical to the non-preview grid size, so it had essentially no effect, and only made the icons wiggle strangely when previews were toggled.
- For large large sizes (>= 96px), all it did was unnecessarily increase the horizontal grid spacing, actually //reducing// usability for browsing through folders of images.
Therefore, let's just remove this code.
BUG: 393306
FIXED-IN: 18.04.1
Test Plan:
- Go to {nav Settings > View Modes > Icons} and make the icon size and preview size identical for 64px
- Toggle previews on and off
- Change both sizes to 112x
- Toggle previews on and off
In both cases, the grid spacing does not change and the icons do not wiggle strangely. The only visual change is that previews turn on or off.
Dolphin still works fine for viewing 3:2 landscape photos. 80px icons:
{F5813467}
192px icons:
{F5813465}
In fact, it's vastly //improved// for the >=96px use case since the grid spacing is no longer excessively wide
Reviewers: #dolphin, hein
Reviewed By: hein
Subscribers: broulik
Differential Revision: https://phabricator.kde.org/D12362
Summary:
Let user choose date display format via checkbox in context menu
[[ https://phabricator.kde.org/file/info/PHID-FILE-5xjr7tvypj3jaczjtzrz | Example ]]
Depends on D11242
FEATURE: 392352
Test Plan: visual inspection
Reviewers: #dolphin, markg, ngraham
Reviewed By: markg, ngraham
Subscribers: broulik, markg, ngraham
Tags: #dolphin, #kde_applications
Differential Revision: https://phabricator.kde.org/D11245
Summary:
After performing a search and using the "Open path" or "Open Path in New Window" present in the context menu, make sure the file is selected and visible in the resulting view.
Cannot implement the same fix for "Open Path in New Tab" because of a limitation in how the contents of inactive tabs are rendered; will need to fix that separately in another patch.
BUG: 377510
Test Plan: Search for an item, and choose {nav Open Path} or {nav Open path in new window}
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, broulik
Differential Revision: https://phabricator.kde.org/D11703
Summary: These new functions to access the next and previous tabs are not used by anything yet, but it is envisioned that they would be useful for a variety of purposes--such as the "open path in new tab" feature from D11703
Test Plan: Dolphin still compiled and runs; new code is not actually used anywhere
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D12039
Summary:
This patch basically adds the check that would normally be done to the
itemInserted method, which seems to be good idea in general.
However, the fact that this is needed there might be an indicator of a logic bug
in the function – though, as I'm not familiar with the code base I cannot judge
this.
Test Plan:
Without this patch, dolphin when started from a terminal prints the following
warning (number can be different):
qt.accessibility.core: Cannot create accessible child interface for object: PlacesView(0x563e863e35c0) index: 10
After applying the patch, the warning doesn't appear anymore. Dolphin still
works still as it did before.
Reviewers: elvisangelaccio, #dolphin
Reviewed By: elvisangelaccio
Subscribers: #dolphin
Differential Revision: https://phabricator.kde.org/D11990
Summary:
We are asking the users whether they are sure they want to quit.
But the "Quit" button can be ambiguous (am I quitting dolphin or just
this dialog?). If we use a "Quit Dolphin" button instead, that clearly
shows what will happen after triggering the action.
Test Plan: Close dolphin while multiple tabs are open.
Reviewers: #dolphin
Differential Revision: https://phabricator.kde.org/D11892
Summary:
`m_spinBox` is initialized only when renaming multiple items.
This commit restores the single-item rename logic which was wrongly
removed by commit c5eb4e3116.
BUG: 392743
FIXED-IN: 18.03.90
Test Plan: Disable inline renaming and try to rename single or multiple items (and also to undo the jobs).
Subscribers: #dolphin
Differential Revision: https://phabricator.kde.org/D11972
Summary:
informationpanelcontent.cpp currently has an explicit check for whether or not a URL has a Places panel entry, and if it does, no folder preview is generated. It's not clear why this is done, but it was reported as a bug: https://bugs.kde.org/show_bug.cgi?id=392621. Removing the logic fixes the bug.
BUG: 392621
FIXED-IN: 18.08.0
Test Plan:
Before:
{F5782793}
After:
{F5782794}
Detailed test procedure:
- Open the Information Panel
- Turn on previews
- Put some pictures in ~/Pictures
- Hover over it and see that the Information Panel shows a preview of its contents
- Add ~/Pictures to the Places panel
- Hover over it again and see that previews are no longer displayed
- Apply the patch and restart Dolphin
- Hover over it once more and see that there are now previews, yay!
Reviewers: #dolphin, markg, elvisangelaccio
Reviewed By: markg, elvisangelaccio
Subscribers: markg, broulik
Differential Revision: https://phabricator.kde.org/D11894
Summary:
This patch splits the single property "Image Size" into "Width" and "Height", providing more fine-tuned control for power users.
FEATURE: 374559
Test Plan:
- Sorting works correctly
- No real change, only exposed differently
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: ngraham, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D11816
Summary:
Adjust calculation of icon pixmap Y value; now based off center of text label bounding rectangle. Previously, icons appeared top-aligned when text size was larger than icon size.
Centering is done by obtaining the center point of the text frame (`m_textRect.center().y()`) and setting the top `Y` point of the icon to one-half of the scaled icon height (`m_scaled_PixmapSize.height()`) Division is done by `2.0`, to ensure calculations are done with floating-point math, in keeping with `QPointF`, which returns floating-point values.
Also includes an adjustment named `midlineShift` (contributed by @zzag), which takes into account the font's midline in respect to the center of the text frame. Certain fonts (i.e. Noto Sans) can have a slightly offset midline, resulting in imperfect alignment of the icon. This small adjustment resolves that potential issue.
See before and after screenshots.
{F5764918}
Before, showing misalignment (with and without debugging wireframes)
{F5764920}
After, showing correction
BUG: 390771
Test Plan:
-- Compile Dolphin with patch
-- Increase system font size by several points (i.e. 15pt)
-- Check that Places panel icons remain centered with the text label
-- Select Compact View mode
-- Adjust icon size slider to minimum
-- Ensure that icons also remain centered in file listing
-- Check several combinations of icon size & font size to ensure centering is consistent
Reviewers: #dolphin, ngraham, cfeck, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: zzag, elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D11650
This avoids work being done when it doesn't need to be.
For instance, the preview generator waits for everything to have settled using a 200ms timer before generating a preview.
This timer fired also in response to onStyleOptionChanged and needlessly delayed preview generation when navigating between folders
despite the style option (e.g. icon size, view mode) not having changed.
Differential Revision: https://phabricator.kde.org/D11481
The desktop file name changed to org.kde.dolphin a long time ago. To avoid this breaking again, just use qApp->desktopFileName()
BUG: 391997
Differential Revision: https://phabricator.kde.org/D11540
Summary: https://cgit.kde.org/dolphin.git/commit/?id=86f4fcb8cd574f6d886627fc5e01c9edfc84e977 introduced a regression: the context menu for links no longer shows various items that were gated behind being a directory. However, a link can be both a link and a directory, from KIO's perspective. This patch resolves the issue.
Test Plan:
- Context menus for files, folders, and file links are unchanged.
- The missing context menu items for folder links have returned: {F5761809}
I should have tested that patch better, and for that I apologize and offer to fix this regression here. I will endeavor to up my reviewing game.
Reviewers: rominf, michaelh, #dolphin, rkflx
Reviewed By: rominf, rkflx
Subscribers: rkflx
Differential Revision: https://phabricator.kde.org/D11562
The desktop file name changed to org.kde.dolphin a long time ago. To avoid this breaking again, just use qApp->desktopFileName()
BUG: 391997
Differential Revision: https://phabricator.kde.org/D11540
There are various places where Dolphin created a new KFilePlacesModel which would then query all storage devices and do other expensive work.
Differential Revision: https://phabricator.kde.org/D11283
Summary:
This is not complete. I'm wondering about "Open symlink destination folder in new tab/window".
Feature wants also "Copy symlink destination". I dislike this, because then it's good to have "Cut symlink destination" and that's too much.
FEATURE: 215069
Reviewers: #dolphin, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: rkflx, ngraham, elvisangelaccio, markg, #dolphin
Differential Revision: https://phabricator.kde.org/D10990
Summary:
After restoring all the files from the trash, the trash icon remain 'full'. This patch fixes this.
BUG: 252483
Reviewers: elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D11216