| Age | Commit message (Collapse) | Author |
|
This does not move the settings location in files though.
baby step for https://invent.kde.org/system/dolphin/-/issues/36
|
|
If a spacebar is used as a keyboard shortcut to activate the Selection Mode, then allow this shortcut to be triggered only if the view has a keyboard focus.
BUG: 465489
|
|
* when there is some selection already (some files were created previously)
* when the model has not yet insert all the selectedUrls
Also
* Rename DolphinView::slotCopyingDone to slotItemCreatedFromJob
BUG: 407161
|
|
|
|
|
|
Do not read m_hoveredColumnHearderRoleIndex before it has been
initialised.
.6 0x00007fe00632182c in QList<KFileItemModel::RoleInfo>::Node::t
(this=<optimized out>, this=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:153
.7 QList<KFileItemModel::RoleInfo>::at (i=3080252, this=0x7ffdf2e9bba8)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:572
.8 DolphinView::eventFilter (this=0x5584bef25160,
watched=0x5584bef8a300, event=0x7ffdf2e9bd30) at
./src/views/dolphinview.cpp:978
.9 0x00007fe003ebbdda in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.10 0x00007fe004b6c782 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.11 0x00007fe004b75411 in QApplication::notify(QObject*, QEvent*) ()
from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.12 0x00007fe003ebc07a in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.13 0x00007fe004b72269 in QApplication::event(QEvent*) () from
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
.14 0x00007fe004b6c793 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.15 0x00007fe003ebc07a in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.16 0x00007fe003f14e0b in QTimerInfoList::activateTimers() () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.17 0x00007fe003f15754 in ?? () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.18 0x00007fe001d20d3b in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.19 0x00007fe001d756c8 in ?? () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.20 0x00007fe001d1e3e3 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.21 0x00007fe003f15ad8 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /lib/x86_64-linux-gnu/libQt5Core.so.5
.22 0x00007fe003eba99b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.23 0x00007fe003ec2f34 in QCoreApplication::exec() () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.24 0x00005584bd2a9aad in main (argc=<optimized out>, argv=<optimized
out>) at ./src/main.cpp:249
BUG: 466110
|
|
Add events columnHovered/columnUnHovered to KItemListview and
KItemListHeaderWidget.
|
|
BUG: 432671
|
|
BUG: 419914
BUG: 181214
|
|
|
|
If current directory is a local file, try to find nearest dir ancestor and
open it. Display warning to the user.
|
|
Before this commit, even items that are distant children of
currently open views were considered selectable. This lead to the
bug that items meant to be highlighted through DBus would not be
highlighted if any ancestor of the item was open in any view.
This was fixed by only considering items in view if they can be
seen by scrolling. Main difficulty here was to make this also work
for the details view mode which allows expanding.
To implement this cleanly, some refactoring seemed necessary
because the logic to determine if an item is already in view
was previously intertwined with the logic to identify already open
directories.
This commit also contains the following refactorings aiming to
make the code more readable:
- A magic value (-1) is replaced using std::optional.
- A boolean trap is removed.
- A QPair is replaced by a struct with named variables.
- More and improved documentation
|
|
|
|
|
|
The selection mode action is a checkable toggle action named
"Select Files and Folders" which has "Space" as the default
shortcut.
In selection mode a bottom bar with contextual actions is shown.
These should mostly mirror the actions which are available through
the right-click context menu aka DolphinContextMenu.
Resizing of the window might make a overflow button appear in the
bottom selection mode bar.
This commit makes press and hold in the view activate selection
mode. This behaviour is not triggered if the press and hold is
used to either start a rubberband selection or a drag operation
within a short time. The length of the short timeframe is defined
by a QStyleHint. This is currently not implemented in touch
because I can't test it.
Mix the selection mode bars' background colors using a nice
combination of colors from the current color scheme
BUG: 427202
|
|
- The first test makes sure that the width of the places panel
doesn't change no matter what other panels are shown or hidden.
There used to be bugs about this.
- The second test is kind of an integration test. It makes sure
that the go actions work correctly. On two occasions we had
the regression here that after going "Up" in the file system
hierarchy the folder one emerged from didn't have keyboard
focus which makes peeking into multiple folders tiresome.
The test also makes sure that going back and forward works
as expected and there are some sanity checks about which
go actions are enabled, which items are selected and that
using tabs doesn't interfere with any of that.
|
|
Rather than "Folder empty", which is misleading as we didn't
actually load anything.
|
|
We know that we'll be a `QHelpEvent` from `QEvent::ToolTip`, so do a
static_cast from the event handler (where it's obvious from context),
and then pass it along to `tryShowNameToolTip`.
|
|
|
|
|
|
Since it actually adds padding on both left and right sides,
"Side Padding" might be more accurate.
This change is also propagated to variable and method names.
BUG: 453172
|
|
This mostly red MR should have no visible effect. It is part of my work towards !273.
There are two calls necessary to open the DolphinContextMenu:
One to construct it and one to execute/show it.
Before this commit, the actual populating of the ContextMenu was
done on execute. This meant that the actions of the ContextMenu
couldn't be looked at or changed without first showing the Menu
to the user. It also meant that the construction itself didn't
actually do much constructing/populating at all which might seem
a bit unintuitive.
This commit changes this behaviour so the DolphinContextMenu is
actually populated fully on construction. The executing/showing of
the ContextMenu now does just that and nothing more.
Previously, some actions in the context menu were actually not
wired up to anything and instead the DolphinContextMenu or the
DolphinMainWindow executed some code after the user had clicked
such a dummy action from the ContextMenu. Now all the actions are
properly constructed beforehand and no special handling is
necessary when the ContextMenu hides itself.
This commit removes the pos parameter from the DolphinContextMenu
constructor. This parameter contained the position where the Menu
would be shown later. This information isn't necessary to have on
construction and was already part of the exec(pos) call in the
first place. The variable m_pos that stored the value is removed.
This commit also removes a "customActions" functionality that can
supposedly be used to add further custom actions to the
DolphinContextMenu but this functionality isn't ever used
anywhere so its usefulness is questionable. It also wouldn't be
difficult to re-add this functionality if it was ever required for
something.
This commit also addresses an old TODO in dolphinpart.cpp that
asked for the calls for opening the DolphinContextMenu to actually
contain the information for which items the DolphinContextMenu is
supposed to be constructed. Before this, only the item that was
directly clicked was transmitted and then DolphinContextMenu
retrieved the currently selected set of items by itself.
It makes more sense that DolphinContextMenu would be informed on
construction which items it is supposed to show context actions
for.
Most of this is necessary so we are able to show the contextual
actions anywhere else than in the ContextMenu in the future.
I am targeting 22.08 with this MR because it makes no sense to merge a refactor for the upcoming release already.
|
|
This commit implements full-row selection and hover highlights for the
details view mode.
This commit also contains fixes for 444680, 444753, both uncovered
during this change.
BUG: 181438
BUG: 444680
BUG: 444753
FIXED-IN: 22.04
|
|
|
|
and more
|
|
Found via `codespell -q 3 -S *.desktop,*.xml`
|
|
This reverts commit bb67def173f31819bb9a696627f9af71c7037dcd.
|
|
This reverts commit 50149d6abb8a0a978db3c6afb5238bc42a4a89c8.
It breaks the string freeze and I don't think it can count as a bug
fix, so it breaks the feature freeze, too.
CCMAIL: [email protected]
|
|
CCBUG: 241227
Revision: https://phabricator.kde.org/D29115
|
|
Since a placeholder text is being used when the folder is empty, it
also makes sense to show a similar placeholder text when the view is
still loading, especially now that the status bar which previously
contained a loading indicator now disappears when a folder is loading.
|
|
BUG: 430095
BUG: 412902
FIXED-IN: 21.08
|
|
|
|
This commit replaces an error-prone usage of KIO::StatJob::exec() in
DolphinView with the recommended KIO::StatJob::start().
The containing method DolphinView::statusBarText() is changed to be a
method without return value: requestStatusBarText()
The new status bar text is instead returned through a new
setStatusBarText() signal that will be emitted asynchronously if
necessary.
The calling code that deals with status bar text is refactored to
correctly work despite the new asynchronicity. The helper method
calculateItemCount() is moved into requestStatusBarText() and some
other code from requestStatusBarText() is moved into a new helper
method emitStatusBarText().
The documentation of KIO::KJob::exec() explains why it should be
avoided. A reproducible crash is the reason for this commit.
|
|
Don't show the label while still loading. Since there is no property in
`KDirLister` a dedicated `m_loading` is added for this purpose.
Also, I removed the explicit update on `urlChanged` as the view
probably won't change until the lister starts loading.
BUG: 430085
|
|
Signed-off-by: Anthony Fieroni <[email protected]>
|
|
Throughout our QML-based software, we now display placeholder text for
empty views so that the user knows that the view is actually empty, and
it's not that the software is just broken.
This commit introduces the same thing for Dolphin's main view.
BUG: 429248
BUG: 426354
FIXED-IN: 21.04
|
|
With this patch dolphin now supports the following touch gestures:
* Tap gesture to interact/open with directories, files and so on
* TapAndHold and release gesture for access to the context menu (main window, panel folder, places and information)
* TapAndHold and moving gesture for drag and drop action (main windows, panel folder and places)
* pinch gesture for zoom in main window
* kinetic scrolling (QScroller) for main window, panel folder, panel places, panel information, setting preview and service
* two fingers swipe gesture to left, right and up as shortcut to navigate back, forward and up
* two finger tap gesture to toggle item selection, similar to Ctrl and left mouse click
FEATURE: 385066
FIXED-IN: 20.11.80
You are currently rebasing branch 'touch' on '85241a924'.
|
|
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
|
|
* Adds a "Copy location" item, after the "Copy" Context item and Edit Menu, which will attempt to copy the path of the fist item into clipboard.
## Reasoning
Most File Managers have this option through one or another way.
Also using the default Copy option often results in different behaviour depending on the target software, Konsole will take the path. Other Programs will use the URI. Which ultimately could lead to non optimal User Experience.
## Notes
* Should the target file **not** be on a local hard drive, this fallback to using the remote URL, feedback is wanted on that matter.
FEATURE: 407004
|
|
DolphinView doesn't know anything about split views and it shouldn't.
Rename these new methods to what they actually do (just copy or move to a
given QUrl).
|
|
Summary:
FEATURE: 276167
Default keyboard shortcuts set to `SHIFT+F5` for `copy`, `SHIFT+F6` for `move`
Reviewers: #dolphin, elvisangelaccio, ngraham, meven, dfaure
Reviewed By: #dolphin, elvisangelaccio, ngraham, meven, dfaure
Subscribers: yurchor, kde-doc-english, dfaure, meven, kfm-devel
Tags: #dolphin, #documentation
Differential Revision: https://phabricator.kde.org/D29006
|
|
For consistency with d1a70c0b629b.
|
|
This makes it explicit that this is just a copy to clipboard, so that
we can use the name for an actual KIO::copy().
|
|
Summary:
Port QRegExp::exactMatch() with QRegularExpression::anchoredPattern().
Port QRegExp::Wildcard with QRegularExpression::wildcardToRegularExpression().
Note that QRegularExpression::wildcardToRegularExpression() returns an anchored
pattern.
Test Plan:
Using the filter bar in dolphin works as before.
All unit tests pass, except:
- kfileitemmodeltest (which is unrelated AFAICS); it fails on master too
- placesitemmodeltest, which fails on master too
Reviewers: #dolphin, elvisangelaccio, meven
Reviewed By: #dolphin, elvisangelaccio
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D26215
|
|
Summary: Adds a Duplicate feature to Dolphin, showing up as a menu item in the File menu that appears when one or more items are selected and the directory is writable. Duplicated items receive the names of the original files with " copy" appended before the file extension, if any.
Test Plan:
{F5201386} {F5201393}
Test cases:
- Try to duplicate when nothing is selected: **PASS**: menu item is grayed out
- Try to duplicate anything on a read-only local volume: **PASS**: menu item is grayed out
- Try to duplicate anything on a read-only samba share: **PASS**: menu item is grayed out
- Duplicate single local file on R/W volume: **PASS**: item is duplicated and named correctly
- Duplicate multiple local files on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single local directory on R/W volume: **PASS**: item is duplicated and named correctly, but a rename operation is not initiated
- Duplicate multiple local directories on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single file on R/W samba share: **PASS**: item is duplicated and correctly
- Duplicate multiple files on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single directory on R/W samba share: **PASS**: item is duplicated and named correctly
- Duplicate multiple directory on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected
- Try to undo a successful duplication: **PASS**: operation is undone
This is my first attempt at a big change like this and I'm sure it's full of issues. I will accept any and all suggestions for improvement. :)
Reviewers: #dolphin, #kde_applications, elvisangelaccio, dfaure, broulik, davidedmundson
Subscribers: kfm-devel, meven, markg, fazevedo, cfeck, #dolphin
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D8208
|
|
Summary:
In DolphinTabWidget::openFiles it assumes openDirectories will open new tabs, so it
only marks the URL selection for the newly opened tabs. This assumption is incorrect
as Dolphin might reuse tabs when the folder is already open.
Even then, markUrlsAsSelected does nothing when the folder is already opened.
The selection seems to only be used when the folder finishes loading, calls made after
that only change a variable without updating the actual selection.
A call to DolphinView::updateViewState() is required to restore the intended behaviour, so long as DolphinView::clearSelection() has been called on the relevant tab, otherwise updateViewState() is a no-op.
BUG: 417230
FIXED-IN: 19.12.3
Test Plan:
1. In any application that has an "open containing folder" select that option
2. and then do the same for another file in the same folder
Reviewers: broulik
Reviewed By: broulik
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D27389
|
|
Summary:
Instantly hide tooltip shown over an element when filter bar changes.
Currently the tooltip stays even when filtering causes the file under the mouse to change or disappears entirely.
The tooltip also continues to cover much of the window - hiding the new filtering results from user.
This is an enhancement to D22512
Test Plan:
1. place the mouse pointer over a file to show the tooltip
2. press "/" to activate filter bar
3. type in filter phrase
Reviewers: #dolphin, elvisangelaccio, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D26576
|
|
Summary:
FEATURE: 409591
FIXED-IN: 19.12.0
Test Plan: {F7096397}
Reviewers: elvisangelaccio, shubham, #dolphin
Reviewed By: elvisangelaccio, #dolphin
Subscribers: broulik, cfeck, kfm-devel, kde-doc-english
Tags: #dolphin, #documentation
Differential Revision: https://phabricator.kde.org/D22444
|
|
Summary:
Instantly hide tooltip shown over an element when a key is pressed.
Currently, when pressing an alphanum key to select a different file,
the tooltip continues to cover much of the window - often hiding that newly selected file from view.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, elvisangelaccio
Subscribers: broulik, elvisangelaccio, kfm-devel, pdabrowski
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D22512
|
|
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
|