┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
AgeCommit message (Collapse)Author
2022-11-30DolphinView: Add placeholder label for AFC kioKai Uwe Broulik
Similar to how it's special-cased for MTP
2022-11-29Exit the deleted directory when it is removedMéven Car
If current directory is a local file, try to find nearest dir ancestor and open it. Display warning to the user.
2022-11-25Fixed build-time deprecation warning about KStandardGuiItem::yes()Shivodit Gill
While building dolphin, a warning comes up about KStandardGuiItem::yes() being deprecated, and that another action verb should be using instead. This commit fixes the warning by replacing KStandardGuiItem::yes() with a KGuiItem constructor in the file src/views/dolphinview.cpp. The icon for the "Rename and Hide" button has also been changed from a check mark (dialog-ok) to an eye with a cross (view-hidden) to make the button look more unique and grab the attention of the user.
2022-10-27Fix view mode-specific settings not always applyingFelix Ernst
When the current view mode is different from the view mode for which settings were changed in Dolphin's settings dialog, those changes were sometimes not present when then changing the view mode of a view to the view mode for which settings were changed. This commit fixes this by always loading the settings for all view modes in the DolphinItemListView even if the view is currently using only one of those view modes.
2022-10-27Make details view mode's full row activation optionalFelix Ernst
In d3839617193e92463806580699caa595c892b8a6 the details view mode was changed in a way that made the full row of an item the click target instead of only having the item's icon and text be the representative clickable area of an item. This commit makes this new behaviour optional through a setting which can be changed in Dolphin's settings dialog. The explanation for introducing yet another setting in this case is as follows: While the introduced change is an improvement for many typical workflows, there are some workflows for which this new behaviour is problematic. Quite prominently a usage of Dolphin that tries to maximise information density is made worse by the change because now side padding is necessary to click the view's background. While the side padding is and was optional, disabling it made switching the active view in split view mode more difficult among other things. For a more complete discussion about the issues, please check out the bug report(s) and the discussion in Dolphin's gitlab issue with number 34. Co-authored-by: Ivan Čukić <[email protected]> BUG: 453700 FIXED-IN: 22.12
2022-10-16Port away from deprecated KIO APIAhmad Samir
2022-10-15Port away from deprecated KMessageBox Yes/NoFriedrich W. H. Kossebau
GIT_SILENT
2022-10-12Remove unused includesLaurent Montel
2022-10-11Fix item highlighting through DBusFelix Ernst
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
2022-09-26Remove unused includesLaurent Montel
2022-09-15[dolphinview] Disconnect modelChanged when destructingFelix Ernst
Deleting DolphinView deletes KItemListContainer, which deletes KItemListController, which emits modelChanged, which causes a signal delivery to the already destroyed DolphinView This is never good, and in Qt6 causes an assert (https://codereview.qt-project.org/c/qt/qtbase/+/381860). Co-authored-by: Nicolas Fella <[email protected]>
2022-08-24Don't show error message on ERR_USER_CANCELEDKai Uwe Broulik
There's no point telling the user what they just did. After https://invent.kde.org/frameworks/kio/-/commit/f192c133eb01bc8448d5ddd97fe20f8e6dbc467d this error has a text associated with it, so it might show up in the UI.
2022-08-14Don't show selection toggle areas on files while in selection modeFelix Ernst
2022-08-14Improve naming consistency and leave mode on EscapeFelix Ernst
2022-08-14Improve code qualityFelix Ernst
2022-08-14Better separation of classesFelix Ernst
Make obvious when actions trigger selection mode.
2022-08-14Keep working towards a reviewable stateFelix Ernst
- Various code improvements - Smoother animations - The bottom bar in General Mode only becomes visible if items are currently selected - Removed the selection mode action from the default toolbar since it can already be toggled in various ways - More documentation - Some cleaning
2022-08-14Add Selection ModeFelix Ernst
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
2022-07-30Remove service type file for vcs pluginsNicolas Fella
We don't support old-style plugins any more, so no need to install this
2022-07-18Remove references to KServiceTypeTrader in commentsNicolas Fella
2022-07-13Open >5 items dialog: use action terms instead of Yes/No buttonsFriedrich W. H. Kossebau
Yes/No buttons in dialogs are discouraged (not only) by KDE HIG in favour of actions terms.
2022-07-11portalize drag urlsHarald Sitter
this enables sandboxed application to receive drop events
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-07-02SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-06-15Cleanup config-dolphin.h includesAhmad Samir
2022-06-15Use cmakedefine01Ahmad Samir
This way we get a build time warning if the var isn't defined at all, e.g. a missing check_include_files() CMake call.
2022-06-15Use one config-dolphin.h.cmake configuration fileAhmad Samir
2022-06-15Fix rare ToolTipManager crash on exitDāvis Mosāns
If tooltips are enabled and you hover over item while immediately closing Dolphin sometimes it would crash because native parent might have been destroyed before DolphinView
2022-06-13SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-06-09SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-06-07SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-06-02We depend against qt5.15Laurent Montel
2022-05-31Simplify custom font settingsAhmad Samir
Instead of having 3 separate config keys, use the KConfig QFont de/serilaization.
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-05-24fix: Dolphin right click and compress doesn't scrollAndrey Butirsky
For newly created items being selected, we had updateViewState() called twice, and the first call blocked work execution needed in the other one
2022-05-11Port to QStringViewLaurent Montel
2022-05-11Remove unused includeLaurent Montel
2022-04-26Add the ability to sort by file extensionEugene Popov
Currently, Dolphin doesn't have the ability to sort by file extension (sorting by type means that files will be sorted by mimetype but not by extension). This MR fixes this shortcoming. BUG: 429579
2022-04-12Merge branch 'release/22.04'Kai Uwe Broulik
2022-04-11[Places Panel] Support drag and drop from ArkKai Uwe Broulik
Accepts Ark's special dnd mime types so that archive contents can be dragged onto a place to extract and/or (mount and) switch to the hovered location.
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-03-31[ToolTipManager] Create DolphinFileMetaDataWidget on-demand againKai Uwe Broulik
This reverts b7fbd19a7660424e6839df37f12b33111408b1fc but creates the widget only once and then reuses it. However, ownership of a parent-less widget is transferred to the `KToolTipWidget` but since we first request metadata, then show the tooltip (or won't if the mouse moved on since), we cannot rely on the `KToolTipWidget` exclusively. Instead, when we still delete the widget ourself until we have shown the `KToolTipWidget` once at which point it will handle the life time for us. This fixes parenting the widget to `DolphinView` which would make it appear as a broken line in the top left of the window.
2022-03-28Merge branch 'release/22.04'Kai Uwe Broulik
2022-03-28[ViewProperties] Apply better default roles for special viewsKai Uwe Broulik
This adds the following additional special view modes (some of them were already there but broken because they weren't applied, or were changed to have better defaults now that they are actually used): * Recent Files and Recent Documents, timeline: Details view with grouped sorting enabled and Name, Path, Modified * Search For Images: Icon view with Name, Dimensions, Date Time of the Picture * Search For Audio: Details view with Name, Artist, Album, Duration * Search For Videos: Icon view with just Name * Search For everything else, including Documents: Details view with Name, Path, Modified * Trash: Details view with Name, (Original) Path, Deletion Time BUG: 400969 BUG: 340393 BUG: 186376 FIXED-IN: 22.04.0
2022-03-28[ViewProperties] Consider existing roles in convertAdditionalInfoKai Uwe Broulik
Otherwise all default overrides for roles we perform in this class are moot.
2022-03-25Reuse metadata widget when creating tooltipsNicolas Fella
Currently any time we hover the mouse over a file we create a new DolphinFileMetaDataWidget (even when we don't actually show a tooltip). That is quite wasteful Instead we can reuse the existing instance and only change the URL
2022-03-23Allow for more explicit button labelsFelix Ernst
This commit allows us to very explicitly refer to any set of items in text. This way buttons don't need to be labeled generically like "Permanently Delete" but can be enriched to be labeled "Permanently Delete "FileName"" or "Copy 7 Selected Folders" or "Copy 6 Files" or "Rename "file1", "file2", "file3", "file4" and "folder5"". This commit tries to save translators a lot of work by using a translation puzzle. This might be problematic for some languages. The alternative on the other hand would mean that any label which wants to be explicit would need to have over 10 translations just for one label which seems quite bad as well. A fallback is to be implemented for languages that can't really accommodate for any specific word puzzle. This is explained in the documentation.
2022-03-11Pass dolphin view as parent widget to pluginsAnthony Fieroni
Signed-off-by: Anthony Fieroni <[email protected]>