┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinview.h
AgeCommit message (Collapse)Author
2022-07-07Add two autotestsFelix Ernst
- 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.
2022-07-07Show "Loading canceled" placeholder when loading was canceledKai Uwe Broulik
Rather than "Folder empty", which is misleading as we didn't actually load anything.
2022-07-06Don't reinterpret_cast QEventKai Uwe Broulik
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`.
2022-06-15Cleanup config-dolphin.h includesAhmad Samir
2022-06-15Use one config-dolphin.h.cmake configuration fileAhmad Samir
2022-05-26Change wording "Leading Column Padding" to "Side Padding"Jin Liu
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
2022-04-02Refactor DolphinContextMenu so its actions are retrievableFelix Ernst
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.
2022-01-16Full row highlight implementationTom Lin
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
2021-12-28Add name-only tooltip and make logicalHeightHints a pair of qreal and boolLeo Treloar
2021-12-17Enable Ctrl/Shift-Click to open folder in a new tab/windowAlessio Bonfiglio
and more
2021-12-06Fix various typosluz paz
Found via `codespell -q 3 -S *.desktop,*.xml`
2021-08-29Revert "Revert "Configurable Show hidden files and folders last toggle""Elvis Angelaccio
This reverts commit bb67def173f31819bb9a696627f9af71c7037dcd.
2021-08-06Revert "Configurable Show hidden files and folders last toggle"Heiko Becker
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]
2021-08-05Configurable Show hidden files and folders last toggleGaston Haro
CCBUG: 241227 Revision: https://phabricator.kde.org/D29115
2021-06-29Show a "Loading..." placeholder textMufeed Ali
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.
2021-04-24InformationPanel: Allow to refresh the panel when its displayed content changesMéven Car
BUG: 430095 BUG: 412902 FIXED-IN: 21.08
2021-02-09Build with QT_NO_KEYWORDSNicolas Fella
2021-02-08Avoid KJob::exec() in DolphinViewFelix Ernst
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.
2021-01-17[DolphinView] Fix "Folder is empty" label showing prematurelyKai Uwe Broulik
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
2021-01-10Open new tab placement optionAnthony Fieroni
Signed-off-by: Anthony Fieroni <[email protected]>
2020-11-28Add placeholder text for empty viewsNate Graham
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
2020-09-13Improve Touch supportSteffen Hartleib
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'.
2020-08-25Output of licensedigger + manual cleanup afterwards.Elvis Angelaccio
Unfortunately licensedigger does not strip the trailing * characters. While at it, use a common style for all source files.
2020-06-29## SummaryYann Holme-Nielsen
* 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
2020-05-19DolphinView: rename new methods to copy/move urlsElvis Angelaccio
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).
2020-05-14Allow to copy or move selection to the other split viewAntonio Prcela
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
2020-05-11DolphinView: rename cutSelectedItems to cutSelectedItemsToClipboardElvis Angelaccio
For consistency with d1a70c0b629b.
2020-05-11DolphinView: rename copySelectedItems to copySelectedItemsToClipboardElvis Angelaccio
This makes it explicit that this is just a copy to clipboard, so that we can use the name for an actual KIO::copy().
2020-05-06Port QRegExp to QRegularExpressionAhmad Samir
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
2020-03-15Add Duplicate featureNathaniel Graham
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
2020-03-01Fix files not being highlighted if directory of file is already openAlexander Saoutkin
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
2020-01-11Hide tooltip instantly on filter changePiotr Henryk Dabrowski
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
2019-09-10Add Reset Zoom Level action inside View menuNate Graham
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
2019-08-03[Dolphin] Hide tooltip instantly on key pressPiotr Henryk Dabrowski
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
2019-03-09New tab placed after current tab when middle-clickingDavid Hallas
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
2018-10-25Fix minor typosYuri Chornoivan
2018-03-04Remove unused #includeRoman Inflianskas
Summary: I used CLion inspection to hunt all unused #include Reviewers: #dolphin, elvisangelaccio, markg Reviewed By: #dolphin, elvisangelaccio, markg Subscribers: bcooksley, markg, elvisangelaccio, #dolphin Differential Revision: https://phabricator.kde.org/D10985
2017-11-20Modernize: Use override where possibleKevin Funk
Also use override instead of Q_DECL_OVERRIDE
2017-10-27Two clicks on file/folder to renameAndreas Krutzler
Summary: Make renaming of files/folders faster by clicking a second time on the items text to start renaming. BUG: 205157 Test Plan: This feature works as follows: 1. select an item by single-click, or one is already selected 2. wait the "double-click-interval" 3. click on the items text 4. none of the cancellations (see below) happens within the double-click-interval 5. inline-renaming starts Cancellations: * open any file/folder * select different item(s) * start dragging items * Dolphin loses focus This feature is just enabled while "Double-click to open files and folders" in system-settings and "Rename inline" in Dolphin are enabled. Reviewers: #dolphin, #kde_applications, elvisangelaccio, emmanuelp, ngraham, markg, rkflx Reviewed By: #dolphin, #kde_applications, elvisangelaccio, ngraham, rkflx Subscribers: rkflx, markg, funkybomber, sars, elvisangelaccio, ngraham Differential Revision: https://phabricator.kde.org/D7647
2017-09-17Keep renamed file(s) in viewEmirald Mateli
When renaming a file, if its new name causes it to scroll out of view, Dolphin will not scroll to the location of the new file. This patch aims to address that. This affects all view modes. CCBUG: 354330 Test Plan: 1. Have many files in a directory (or several files, just zoom in a lot) 2. Rename a file so that it will move out of view Differential Revision: https://phabricator.kde.org/D6312
2017-07-27Fix drop menu position with urlnavigator dropsElvis Angelaccio
Commit 1e251d2f6a in kio broke drop menus when dropping on the URL navigator (menus show up in the DolphinView rather than the URL bar). This happens because in DolphinView::dropUrls() we set `this` as the widget passed to KJobWidgets::setWindow() (in DragAndDropHelper::dropUrls()). We need to replace `this` with the actual widget that received the QDropEvent and that can mapToGlobal() the relative pos of the drop event. Unfortunately this widget is not KUrlNavigator itself, but one of its KUrlNavigatorButton children (private class, not exported). So unfortunately we need a new API in KIO that exposes this child widget. Differential Revision: https://phabricator.kde.org/D6684
2017-05-08Don't ignore tag clicks in the tooltipsElvis Angelaccio
Summary: Now that we can use the metadata widgets in the tooltips, we can also open the tags:// url if the user clicks some tag in a tooltip. The behavior is now consistent with the metadata widget in the information panel. Test Plan: Click a tag when the metadata tooltip shows up. Reviewers: emmanuelp Subscribers: #konqueror, #dolphin Differential Revision: https://phabricator.kde.org/D5658
2017-02-18Restore the view state after the URL of the DolphinView has been changed,Emmanuel Pescosta
as stated in the documentation of KUrlNavigator::saveLocationState. The historyChanged signal of the KUrlNavigator is emitted before the urlChanged signal and so the view state restoring happens before the view URL has been changed. This makes it impossible to save and restore the selected URLs, because DolphinView::setUrl clears the list of selected items (which has been restored right before). This changes removes the history changed slot and restores the view state after the setUrl call.
2017-01-03[DolphinView] Update view palette on palette changeKai Uwe Broulik
Everything was handling palette change already but for the visual distinction between active and non-active view (in case of split view), a custom palette was set which was then never updated. This could be seen by the label text color changing but not the view background. Differential Revision: https://phabricator.kde.org/D3909
2016-09-04Use tab for switching active splitMartin T. H. Sandsmark
REVIEW: 128564 REVIEW: 110970 BUGS: 171743
2015-09-03Only store modified columns widths after the mouse button was releasedFrank Reininghaus
This prevents that the new widths are written to disk multiple times in quick succession, which can make column resizing quite slow. BUG: 351846 REVIEW: 351846 FIXED-IN: 15.08.1
2015-02-25Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove ↵Emmanuel Pescosta
the deprecated KVersionControlPlugin interface from konqlib REVIEW: 122687
2015-01-05Dolphin: port from KonqOperations::doDrop to the new KIO::DropJobDavid Faure
REVIEW: 121678
2014-11-03Q_DECL_OVERRIDELukáš Tinkl
2014-11-02KonqOperations: KIO::pasteMimeData -> KIO::paste, update signal and simplify ↵David Faure
dolphin accordingly.