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:
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:
`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
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
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
Summary:
Use Ctrl+H as another keyboard shortcut to show and hide hidden files, as it is already the standard used in other GTK-based Linux file managers (Nautilus, Nemo, Caja, Thunar, Pantheon Files). This doesn't replace any existing shortcuts, so existing KDE users' muscle memory is retained.
FEATURE: 390527
FIXED-IN: KDE Applications 17.12.3
Test Plan:
- Ctrl+H now shows and hides hidden files
- Alt+. still works to do the same
- F8 still works to do the same
- Toolbar button still changes state appropriately when any of the three shortcuts are used
Reviewers: #dolphin, elvisangelaccio
Reviewed By: elvisangelaccio
Subscribers: emateli, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D10558
Instead of creating our own KIconLoader (which takes ~5ms here) just use QIcon::fromTheme which already does everything right.
BUG: 390488
Differential Revision: https://phabricator.kde.org/D10532
Summary:
Since Breeze offers such a great palette of action icons I thought we should make use of them which make things also more consistent with other applications.
Before:
{F5711158}
After:
{F5711159}
Test Plan:
Show menubar
Icons are shown in Edit menu
Reviewers: #dolphin, ngraham
Reviewed By: #dolphin, ngraham
Subscribers: ngraham
Differential Revision: https://phabricator.kde.org/D10503
Summary:
Removed call to settings.readConfig() in ViewSettingsTab::loadSettings(),
because it overwrites default settings with user settings even if called
from ViewSettingsTab::restoreDefaultSettings().
Test Plan:
Settings -> Configure Dolphin -> View Modes:
Choose "Custom Font", "Choose...": other font settings than preselected;
alter "Icon Size" slider positions;
click OK; OK;
note modified text font next to icons, icon sizes
Settings -> Configure Dolphin -> View Modes:
Click "Defaults"
check "Font" is reset to "System Font";
check "Icon Size" slider positions are reset to default positions;
click OK
check text font next to icons, icon sizes are reset to defaults
Subscribers: ltoscano, ngraham, elvisangelaccio, michaelh, #dolphin
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D10190
Summary:
terminalpanel.cpp *should* compile on Windows, so there is no reason to
remove it from the build and use tons of #ifdefs in dolphinmainwindow.
We still keep the terminal panel disabled on Windows
(i.e. the two remaining #ifndef Q_OS_WIN in dolphinmainwindow),
because it is probably not functional.
But at least we won't break the Windows CI every time
someone touches the terminal panel code (see e.g. 2e942237c9).
Test Plan: Builds on Linux, someone on Windows should test this patch if possible.
Reviewers: #dolphin, #craft
Differential Revision: https://phabricator.kde.org/D10006
Summary:
The check is called when the mouse is moved in a drag&drop operation.
Dragging all files in a directory with 3000 files under callgrind,
moving the mouse to the other panel and then canceling, doing it twice,
callgrind shows that the method urlListMatchesUrl is called around
200 times, spending around 9,30% of the cpu in those calls.
Applying the patch, callgrind tells it uses now 0.31% of the cpu in 1208 calls.
CCBUG: 342056
Reviewers: #dolphin, elvisangelaccio, markg
Reviewed By: #dolphin, elvisangelaccio, markg
Subscribers: markg, anthonyfieroni, michaelh, elvisangelaccio, ngraham
Differential Revision: https://phabricator.kde.org/D10085
- "include own header first line"
- "put config.h in angle brackets line"
- "do not include QtModule/QtClass line"
`QElapsedTimer` was implicitly included by
kfileitemmodelsortalgorithm.h, now we need to explicitly include it in
kfileitemmodel.cpp.
We also need to explicitly link to `Qt5::Concurrent`, otherwise we
cannot `#include <QtConcurrentRun>`.