Summary:
Any app that registers itself as able to open directories generally can't do anything
useful with an empty directory. So, don't show the {nav Open With} menu items for them.
Test Plan:
Before: {F6759793}
After: {F6759794}
The {nav Open With} items still appear for non-empty directories.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: trmdi, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D20396
Summary:
The "Everywhere" button actually selects the home directory, so use
an appropriate label ("Your files") and add a "user-home" icon.
Pre-select the right button when entering search, depending on the
location where the "Find ..." action was triggered.
Add tooltips for both buttons, stating where to look for files. Most
importantly, this includes the full path for "From here".
Canonicalize the path correctly (always strip trailing slash), otherwise
QUrl::fileName() will be an empty string, resulting in "From Here (/)"
Do not hide the buttons in case the url is non-local, as it is confusing:
1. The state depends on the previous search. When the user hits "Find"
when browsing e.g an SMB share, the search was probably in the home dir.
2. The current search location was hidden
3. The user may want to do a local search, give the option to do so.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: loh.tar, meven, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D20357
Summary:
FEATURE: 405302
FIXED-IN: 19.08.0
Test Plan:
1. Apply patch
2. Reboot (didn't work until I rebooted or logged out and back in again)
3. Hit {key Meta E}
4. Dolphin Launches
Reviewers: #dolphin, elvisangelaccio, davidedmundson
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D20229
Summary:
Add options to show aspect ratio and frame rate.
BUG: 366524
FIXED-IN: 19.08.0
Test Plan: Under Control -> Additional Info -> Video, there should be options for aspect ratio and frame rate.
Reviewers: #dolphin, #kde_applications, ngraham
Reviewed By: #dolphin, #kde_applications, ngraham
Subscribers: astippich, ngraham, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D20074
Summary:
When the configuration dialog is closed with unsaved changes,
a message box is prompted to save/discard them or cancel the event.
BUG: 391206
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: ngraham, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19904
Summary:
Bug symptom : {F6698879}
Fix the bugs and allow to avoid launching a PreviewJob with all files even when the preview is disabled.
Test Plan:
# In dolphin with an information panel with preview on
# launch the video preview
# Disable the preview
->bug 1: the video player control is still visible (this bug fix this)
# re-enable preview
-> bug 2: the video stays visible and the preview is displayed above (this bug fix this)
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19844
Test Plan:
- In Dolphin with two views (split view) and with the information panels
- Hover over a file on the not selected view
- > the information panel show information about this file
No other changes in behavior
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19936
Summary:
Bug symptom : {F6698879}
Fix the bugs and allow to avoid launching a PreviewJob with all files even when the preview is disabled.
Test Plan:
# In dolphin with an information panel with preview on
# launch the video preview
# Disable the preview
->bug 1: the video player control is still visible (this bug fix this)
# re-enable preview
-> bug 2: the video stays visible and the preview is displayed above (this bug fix this)
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19844
`controlsLayout` should not be a direct child of the widget, since it
already has `m_topLayout` as layout.
This fixes the following warning:
QLayout: Attempting to add QLayout "" to PhononWidget "", which already has a layout
Summary:
new finding tech:
- find_gem function configures gem-specific FindFoo files and wraps around
find_package
- FindFoo files look for ruby and then attempt to require the gem name
i.e. it checks if the gem can be successfully loaded by the interpreter
- since this is based on find_package it may be influenced in all the
regular ways (e.g. forced found or disabled from finding altogether
via CMAKE_DISABLE_FIND_PACKAGE_$PKGNAME)
various notes for the future:
- technically this isn't 100% correct because the require name of a gem and
the gem name may not be the same. e.g. the gem `docker-api` has the
require name `docker`. for all currently used gems the names are however
the same and so simply requiring the gem name is expected to work
- the implementation doesn't care about versions, again because we don't
need it to
- test-unit is a bundled gem, some distributions (e.g. Arch) do split it
out without making suitable dependency arrangements on a package level
though
the tech is heavily inspired by Aleix Pol's tech for finding QML modules
as seen in extra-cmake-modules
Test Plan:
- ruby not found: none of the modules found
- test-unit not present: error
- simplecov not prseent: never errors
- having a module installed or not is reported in the cmake output
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19856
Summary:
`m_sourceModel->movePlace` is called using index from the view model.
This becomes an issue when there are hidden places items.
This change calls `m_sourceModel->movePlace` using the corresponding mapped source index.
BUG: 399430
FIXED-IN: 19.04.0
Test Plan:
# Create at least 4 Places items
# Hide first item
# Drag the now first visible item between second and third item
Actual: The item does not move
Expected: The first visible item should now be second visible item in the list
Reviewers: #dolphin, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19901
Summary: This code has been unused since the KF5 port.
Reviewers: #dolphin, #plasma
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18273
path construction is a bit disappointing and doesn't actually work all that
well for out-of-tree PWDs. in lieu of an upstream fix let's try our best
to get the correct coverage directory set. without this hack no results
get recorded unfortunately.
Summary:
- apply ruby community style guidelines
- full rewrite fixing, among other things:
- inefficient/unreadable String#end_with reimplementation
- inefficient use of Kernel.system (forked shell to fork a shell)
- inefficient/unreadable Dir.glob reimplementation
- inefficient File initialization for single chmod
- invocation conditions are now actually readable
- invocation conditions now also force +x on argless scripts, not just
scripts that need arguments
- repetitive conditions are now expressed as loops on argument arrays
- mime detection now uses xdg-mime instead of file (xdg-mime internally
may fall back to mime but will prefer higher level tools such as
kmimetypefinder5; giving better results overall)
- return values of "backtick forks" are now checked and will produce
suitable errors on stderr
- fail now takes a log_msg argument which is printed to stderr. this
is in addition to the error raised as notification for the user, as
that is unfortunately not so useful for diagnostics
- overall error handling and logging of problem causes is much improved
- add license headers. the original code was actually fairly exhaustive, so
this really should have had a header to begin with. the code was
originally introduced in svn r1045663 on Nov 6 14:56:35 2009 UTC
- add blackbox tests. in the interest of keeping the scripts actually
simple scripts (as opposed to a bunch of classes used by even simpler
scirpts) they are now also covered by test rigging which runs them as
scripts (again, as opposed to individual unit testing of distinct units)
- the tests optionally can use simplecov to gather coverage metrics
- also wired up to ctest so it actually gets run
structurally there is actually a fair amount of overlap between the two
scripts, but again, in the interest of keeping things simple I think it's
better to live with that instead of refactoring a shared library out of
it and then use heavy-duty meta-programming
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19334
Summary:
Bug result after test plan :
{F6698812}
Test Plan:
In dolphin with the information panel
Select a video
Play the video
Disable the preview through the context menu (the video stays playing and visible and this will get fixed in a subsequent review)
Stop the video -> the video preview reappears when it should not
Reviewers: elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19843
Summary:
Fix a TODO : InformationPanelContent::configureSettings code is moved to InformationPanel::contextMenuEvent
Adding necessary accessors and changing visibility of one slot.
Test Plan:
1 compile
2 in dolphin right on the information panel
3 toggle preview
4 from the same context menu, click configure, metadadata settings appears
5 toggle "condensed date" if available
Reviewers: elvisangelaccio, #dolphin
Reviewed By: elvisangelaccio, #dolphin
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19832
Summary:
Fix "Add Network Folder" tooltip icon does not show on Breeze, shows correctly
on Breeze Dark. The fix is taken from D19596.
Test Plan:
Open Dolphin with the Breeze theme
Hover the mouse over the "Add Network Folder"
The icon is black on black
BUG: 404858
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: broulik, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19738
Summary:
Fix crash at shutdown after showing a tooltip. The commit
94d7e1471e introduced a crash that occurs
when closing Dolphin after Dolphin has showed a tooltip. This happens
because the ToolTipManager::showToolTip function calls the
KToopTipWidget::showBelow function passing in the pointer to the
DolphinFileMetaDataWidget. But this also passes the ownership of the
pointer to the KToopTipWidget as long as a new tooltip is not shown. The
problem is that at shutdown, the KToopTipWidget instance will be
destoyed first and therefore also destroy the DolphinFileMetaDataWidget
instance (which the ToolTipManager still owns through the
QScopedPointer) causing it to be deleted twice. The fix for this is
simply to swap the order of these two members so that the
DolphinFileMetaDataWidget is destroyed first by the QScopedPointer
thereby removing it from the KToopTipWidget if it has been set as it's
parent.
Test Plan:
Open Dolphin
Show a Tool Tip
Close Dolphin
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19737
Summary:
Automatic creation of .directory files is one of the most
complained about things in dolphin.
These days applications are supposed to store application-specific data
within $XDG_DATA_HOME. Long-term that's the proper solution for this
issue, but for now we can at least flip the default so that we no longer
create .directory files out of the box.
A tooltip is also added as a kind of warning for the users who want to
change the setting. Ideally a proper warning should be shown using a
KMessageWidget or KMessageBox, but neither play too well with the
setting dialog workflow used by dolphin.
CCBUG: 322922
Reviewers: #dolphin, #vdg, ngraham
Reviewed By: #dolphin, #vdg, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19661
Summary:
According to my testing this bug occurs because Qcursor::pos() does not work as expected under wayland on a secondary screen, then it returns inaccurate data.
This could hide bugs elsewhere.
BUG: 404799
FIXED-IN: 19.04.0
Test Plan:
Under Wayland test the context menu on both screens.
Do the same under Xorg.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: elvisangelaccio, ngraham, nicolasfella, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19535
Summary:
Fixes leak of DolphinFileMetaDataWidget in ToolTipManager. The
destructor of ToolTipManager failed to delete the m_fileMetaDataWidget
member. This is seen at shutdown but also when you close a tab that has
displayed a tooltip.
Test Plan:
Compile Dolphin with address sanitizer
Open Dolphin
Show a tooltip
Close Dolphin
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19485
Summary:
The documentation of QDateTime::toString() says that:
Any sequence of characters that are enclosed in single
quotes will be treated as text and not be used as an expression.
This means that translators cannot replace single quotes with other
characters such as «...». This is now described in the context of the
affected strings.
We also check that the translated string contains exactly 2 single
quotes, and we use the untraslated string otherwise.
BUG: 401382
Reviewers: lueck, aacid, cfeck
Subscribers: ltoscano, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18769
Summary:
New tabs should be placed after the currently active tab when using
middle click.
Test Plan:
Open new tab from the places panel using middle click, verify that the
Open new tab from the folders panel using middle click, verify that the
tab is opened after the current tab
Open new tab by middle clicking on the Back button, verify that the tab
is opened after the current tab
Open new tab by middle clicking on the Forward button, verify that the tab
is opened after the current tab
FEATURE: 403690
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19201
Summary:
I found these strings very hard to understand then translate without looking into the code because the use of "view" refers to both "the split view" and "the left pane and the right pane of the split view".
This patch attempts to explicitly mention panes when needed.
Reviewers: #dolphin, angeloevertonjr, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19579
Summary:
Delete all the custom formatting functions
and use the ones provided from KFileMetaData.
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: bcooksley, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19105
Summary:
Fixes memory leak of KItemListHeader
The KItemListHeader passed the listView parent object to the QObject
base class, but that pointer seems to always be nullptr causing the
KItemListHeader to not be memory managed by anything. Instead simple
use the listView as parent pointer.
Test Plan: This leak was found using Address Sanitizer
Reviewers: elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D14453
Summary:
Fix crash during shutdown. The root cause is that when Dolphin in stopped as
part of an activity, the KItemListViewAccessible destructor is called after
QApplication::exec has returned causing Qt to already having cleaned up the
QAccessibleInterface instances kept in KItemListViewAccessible. Instead of
storing the pointers to QAccessibleInterface we store the QAccessible::Id so
that we can use the QAccessible::deleteAccessibleInterface function for
deleting the instances.
BUG: 402784
Test Plan:
I wasn't able to reproduce the crash in the first place, but I have just
opened and closed Dolphin a few times and verified the the QAccessibleInterface
instances are correctly cleaned up.
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D19083
Summary:
Word-wrap KMessageWidget text to prevent the window from being widened
when the text is very long.
CCBUG: 404232
Only `CCBUG: ` because word wrap only works where QLabel detects a word boundary;
it will not wrap a string with no spaces or other word boundaries (e.g.
"aaaaaaaaaaaaaaaaaaaa...")
Test Plan:
- Create a new text file with a 300-character name that has spaces in it
- In the KMessageWidget's error message, the file name is wrapped at the word
boundaries
Reviewers: #dolphin, #frameworks, cfeck, elvisangelaccio
Reviewed By: #dolphin, cfeck, elvisangelaccio
Subscribers: elvisangelaccio, cfeck, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18968
Summary:
When opening a new using the context menu the new tab should be placed
after the currently open tab, not at the end of the tab list.
BUG: 403690
Test Plan:
Open multiple tabs and select a different tab than the last one.
Open a new tab using the context menu and see that it opens after the currently
selected tab.
Open a tab using Ctrl+T and see that it opens at the end.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: elvisangelaccio, ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18945
Summary:
This Diff make configurable which view will close when toggling off
the split view mode, if it's the active one or the inactive one.
A new checkbox was added to the Dolphin configuration window,
and defaults to the original behavior.
FEATURE: 312834
FIXED-IN: 19.03.80
Test Plan: {F6535432}
Reviewers: ngraham, #dolphin, elvisangelaccio
Reviewed By: ngraham, #dolphin
Subscribers: elvisangelaccio, cfeck, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18040
Use the inactive color group when the window is inactive and update when window state changes.
CCBUG: 404053
Differential Revision: https://phabricator.kde.org/D18811
"eBook thumbnails" would show up all the way at the bottom otherwise
Test Plan: 18.12 branch It now shows where it should
Differential Revision: https://phabricator.kde.org/D18787
Sort them descending by date as well as:
* for Recent Documents: switch to details view
* for Downloads enable grouping and disable sorting folders first
Differential Revision: https://phabricator.kde.org/D18697
Summary:
When Dolphin opens a new tab and immediately switches to it, the URL navigator gets focus if it's editable. If it's not, the breadcrumbs bar gets keyboard focus, which is not very useful since it's not really intended for keyboard navigation.
This patch changes that behavior so that the view always gets focus, which seems more useful and more consistent.
BUG: 401899
FIXED-IN: 19.04.0
Test Plan:
1. Put the URL navigator into breadcrumbs mode
2. Open a new tab
3. Observe that the view gets keyboard focus
4. Put the URL navigator into editable mode
5. Open a new tab
6. Observe that the view still gets keyboard focus
Reviewers: #dolphin, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: emateli, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17635
Summary:
- Prevent activeViewChanged from updating the window if the view is the same view (happens at least once when starting up)
- Stop updateWindowTitle from updating the title if its not changed.
Reviewers: #dolphin, elvisangelaccio, broulik
Reviewed By: #dolphin, elvisangelaccio, broulik
Subscribers: anthonyfieroni, broulik, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17882
Summary:
The name of the orientation property
for baloo/kfilemetadata was false, leading to
an always empty image orientation field.
Test Plan:
Look at an image in Dolphin details view
which has the exiv orientation tag set. Orientation
column is not empty.
Reviewers: #dolphin, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D18008
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.
BUG: 402641
FIXED-IN: 18.12.1
Reviewers: #dolphin, rizzitello, ngraham
Reviewed By: #dolphin, rizzitello, ngraham
Subscribers: rizzitello, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D17881
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