Commit graph

18 commits

Author SHA1 Message Date
Méven Car 079f903bc8 Fix a bunch of clazy warnings 2023-08-29 07:18:51 +00:00
Friedrich W. H. Kossebau ed2d352c42 Add explicit moc includes to sources for moc-covered headers
* speeds up incremental builds as changes to a header will not always
  need the full mocs_compilation.cpp for all the target's headers rebuild,
  while having a moc file sourced into a source file only adds minor
  extra costs, due to small own code and the used headers usually
  already covered by the source file, being for the same class/struct
* seems to not slow down clean builds, due to empty mocs_compilation.cpp
  resulting in those quickly processed, while the minor extra cost of the
  sourced moc files does not outweigh that in summary.
  Measured times actually improved by some percent points.
  (ideally CMake would just skip empty mocs_compilation.cpp & its object
  file one day)
* enables compiler to see all methods of a class in same compilation unit
  to do some sanity checks
* potentially more inlining in general, due to more in the compilation unit
* allows to keep using more forward declarations in the header, as with the
  moc code being sourced into the cpp file there definitions can be ensured
  and often are already for the needs of the normal class methods
2023-07-05 07:59:18 +00:00
Felix Ernst e5abe2c67b Update my eMail to the KDE-provided one
GIT_SILENT
NO_CHANGELOG
2023-06-04 18:09:42 +02:00
Serg Podtynnyi 38c34eeca3 Add clang-format and format code as in Frameworks 2023-02-05 12:45:38 +07:00
Felix Ernst eede574723 Fix potential nullptr de-reference
The `break` that is replaced by a `return` here would only break
out of the innermost while loop so the std::vector::end could still
become accessed after that. By returning here we completely exit
out of both nested loops and therefore don't access the
std::vector::end.
2023-01-08 15:07:16 +01:00
Laurent Montel 2aa64b2c38 Not use forward and includes 2022-12-26 13:22:44 +01:00
Laurent Montel 7d3bf84e9d Remove duplicate headers between cpp/h files 2022-12-20 21:54:57 +01:00
Felix Ernst 75679f628a Fix dismiss button in selection mode paste bar
This one liner changes the signal that is emitted when the
"Dismiss" button is pressed on the Paste bottom bar in selection
mode. Before this commit, the `leaveSelectionModeRequested()`
signal was used but it had no effect because technically the
selection mode isn't active anymore when the paste bar is shown.

Everything works as expected if instead
`barVisibilityChangeRequested()` is emitted.
2022-10-15 08:44:41 +00:00
Laurent Montel e19aa49a08 Remove unused includes 2022-09-26 08:17:13 +02:00
Felix Ernst f4bed9333e Trigger "Exit Selection Mode" button on clicked and not on pressed
This way it works just like every other button.

This commit also removes two empty files that sneaked in by
accident.
2022-09-15 14:18:44 +00:00
Felix Ernst f45d2e9854 Add "Invert Selection" and "Select All" to bottom bar
In selection mode, a bottom bar with contextual actions appears
when at least one item is selected. This commit makes it so this
bottom bar also contains the "Invert Selection" and "Select All"
actions so users have more complete control over changing what is
and isn't selected while in selection mode.
2022-08-14 14:42:40 +00:00
Felix Ernst e464b58c33 Address Nate's UX feedback: Episode 2
- Make Esc leave selection mode and have it only clear selection
    when already outside selection mode.
- Let translators know that the "More" overflow button should only
    have a short text on it.
- Fix a crash that happened when any code tried to exit selection
    mode even though selection mode had never been enabled to begin
    with.
2022-08-14 14:42:40 +00:00
Felix Ernst 261b741d5f Address Nate's UX feedback
-More labels
-More icons
-"Abort" -> "Cancel"
2022-08-14 14:42:40 +00:00
Felix Ernst 2e588733c7 Improve naming consistency and leave mode on Escape 2022-08-14 14:42:40 +00:00
Felix Ernst 78cffd2979 Improve code quality 2022-08-14 14:42:40 +00:00
Felix Ernst 8e55f2c240 Better separation of classes
Make obvious when actions trigger selection mode.
2022-08-14 14:42:40 +00:00
Felix Ernst 402b4a5698 Keep working towards a reviewable state
- 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-14 14:42:40 +00:00
Felix Ernst 3b7c05b385 Add Selection Mode
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-08-14 14:42:40 +00:00