| Age | Commit message (Collapse) | Author |
|
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"
|
|
|
|
Summary:
This patch introduces context menu actions that allow users to hide or unhide selected files by editing the .hidden file in their parent directories.
What this patch does:
- Implemented HideFileItemAction plugin based on KAbstractFileItemActionPlugin
- Plugin is disabled by default unless explicitly enabled in kservicemenurc via the hidefileitemaction key
- "Hide" action adds selected file names to the .hidden file, avoiding duplicates
- "Unhide" action removes selected file names from the .hidden file
- Action visibility logic:
- If only visible or only hidden files are selected, only the relevant action is shown
- If both are selected, both "Hide" and "Unhide" actions are shown
- Write permission checks ensure actions are disabled if the .hidden file cannot be modified
- Optimized redundant path computations by calculating parent directory and .hidden file paths once and reusing them
|
|
Previously, the code could misposition the selection after removal if
the last file in the view was removed and several files were selected.
And since it didn't clear the selection, the previous selection
influence the selection.
Instead clear the selection and position only the focus, either on the
next item after the last index, or the last item still in the view if the last
item was removed.
BUG: 504490
|
|
When navigator is outside of menubar, we should show separator under
it to make it visually easier to understand it's a clickable area.
This adds a small separator, that will be disabled when
the navigator is moved back to menubar.
BUG: 508303
|
|
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"
|
|
|
|
When typing in the search bar (or other widgets using AnimatedHeightWidget), pressing PageUp or PageDown would cause the internal QScrollArea (with hidden scrollbars) to react and scroll. This made the entered text appear to disappear even though focus stayed in the input field. PageUp and PageDown are now intercepted in AnimatedHeightWidget to prevent the underlying QScrollArea from handling them, ensuring input remains visible across all users of AnimatedHeightWidget.
BUG: 508835
|
|
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"
|
|
The dialog isn't resizable, so saving/restoring the size is pointless
|
|
copied text
QLabel does not support line wrapping at arbitrary positions. The original code achieved word wrap by manually adding newline characters to the text, which resulted in these newlines being included when the filename was selected and copied.
This patch replaces QLabel with QTextEdit for filename display, leveraging QTextEdit's built-in word wrap functionality that handles line breaks purely for display without modifying the underlying text. This ensures copied filenames remain free of unintended newlines.
BUG: 493279
|
|
BUG: 425457
This commit ensures that both the menu and column headers in table view
will have the same default sorting (ascending/descending) for each role.
It also saves the user's preferences for each role throughout the session.
Previously, sorting by "Modified" would always sort by "Oldest First."
If the user then changed to "Newest First" and sorted again by "Name,"
files would be sorted in reverse alphabetical order (Z-A).
Now, sorting by "Modified" defaults to "Newest First." If a user switches
between multiple roles, the default for each role will be used unless
the user changes to a non-default sort order. In that case, the user's
preference will be applied.
Defaults:
**Descending Order:**
Time-based roles
- modificationtime
- creationtime
- accesstime
- deletiontime
- imageDateTime
- releaseYear
Size/dimension roles
- size
- width
- height
- pageCount
- wordCount
- lineCount
Quality/Quantity roles
- rating
- duration
- bitrate
- frameRate
**Ascending order:**
- Text based roles (A-Z)
- All other roles
|
|
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"
|
|
|
|
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"
|
|
This commit doubles the distance a single scroll tick will scroll
in the main view.
While fixing a bug and improving scroll behaviour in
8e3addb7e73122a4c89ef347b03f714ff75a253a, the scroll distance was
effectively reduced to a third of the original value. Most users
seem to be okay with this, but there is some disgruntlement. Even
though the new scroll speed is consistent with KWrite, it is way
slower than e.g. Firefox.
In a perfect world we would have a similar scroll distance in every
scroll area so users could predict how much they have to scroll to
see a certain part of the content, however we are not there yet.
This commit aims to find a middle ground between our own definition
of scroll distance and user expectation.
BUG: 508290
|
|
Opening selection mode twice with a single folder selected causes
a crash. SetFolderIconItemAction expects its widget to be
destroyed but the SelectionMode::BottomBar code path keeps it
alive, so the second call to QWidgetAction::createWidget() of the
folder icon chooser crashes because the previously created widget
still has a parent. This small check fixes the crash.
Contrarily, the regular context menu does destroy the actions on
hide, so no crash happens there. An alternative fix to what was
implemented in this commit could look at the lifetime handling of
the SelectionMode::BottomBar implementation. Its
BottomBarContentsContainer is never destroyed,
BottomBarContentsContainer::contextActionsFor does not set
lifetimes on contextActions, or destroys its actions on hide.
However, fixing this here in QWidgetAction::createWidget() also
makes sense because the related QWidgetAction::requestWidget()
method transfers ownership to the caller. It's not part of this
API to expect the caller to delete the widget immediately. On the
contrary QWidgetAction::requestWidget(QWidget *parent) is
typically expected to be callable e.g. by toolbars as well where
the action will persist indefinitely.
BUG: 508648
|
|
This MR updates Dolphin to support redo functionality added in KIO's FileUndoManager. It enables triggering redo operations from the user interface and ensures appropriate integration with the undo/redo command flow.
Require: [!1941](https://invent.kde.org/frameworks/kio/-/merge_requests/1941)
BUG: 451746
|
|
(cherry picked from commit c5823873b64bcf2c5ed7b11919ee53460ce7b09e)
|
|
Prior to this commit editing the search term would sometimes change the
cursor position. This commit makes sure the cursor position does not
move by itself.
BUG: 507272
|
|
Found via `codespell -S "*.desktop,*.po,*.svg,*.xml,./po" -L aparent,childs,goup,lokal`
|
|
When editRole is changed, as in we start renaming an item,
we should clean up the hover effect. Otherwise
we'll have a weird glitchy look.
BUG: 508388
|
|
Since we never set the background color of the branch indicator to
something different now,
we can just let its color to stay as default.
|
|
Due to the new focus changes, our background highlights are more
transparent.
This means that the selected icon color is wrong, since
it's meant for fully opaque background
We should color the icon only when the element is pressed,
which is the only time we use fully opaque background.
BUG: 508418
|
|
It needs to outlive the menu for the file name input prompt to work.
While at it, hook up the new rejected signals ot ensure the menu
is properly cleaned up also when canceled.
Amends commit 697d58e9
|
|
Also cancelling the confirmation results in a job finishing
with error.
|
|
BUG: 508864
|
|
|
|
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"
|
|
While the file's content won't change, applications may no longer
recognize it.
|
|
This commit fixes a segfault accidentally introduced in a previous
commit.
|
|
We should use styleOption().iconSize instead of iconSize(), since
the styleOption returns always the correct size depending on
if we are showing previews or not.
In DolphinItemListView we set the iconSize based on the
previewSize or iconSize, and the styleOption().iconSize is
whichever value it is here.
KItemListWidget::iconSize always returns the settings.iconSize
BUG: 508352
|
|
When user changes the zoom rapidly, we start the animation multiple
times, which causes delays with the animation and the icon size
is wrong for a while until user interaction refreshes the view.
This change runs the animation only when it's been finished, and
avoids the issue with the refresh. Instead in those situations,
we know that user is doing something really rapidly, so we
should just set the icon size to what it needs to be.
BUG: 508352
|
|
When a session is being restored, DolphinTabPage::setSplitViewEnabled()
is called for each tab. That function assumes the tab page's
m_navigatorsWidget is a valid pointer, which is true only for an active
tab. That causes a segmentation fault when Dolphin is launched from the
command line with more than two URLs and the --split flag.
This commit fixes this bug by connecting the
DolphinNavigatorsWidgetAction to each tab page before calling
restoreState() in DolphinTabWidget::readProperties().
BUG: 462046
|
|
This change makes `Ctrl+Shift+N` behavior consistent with right-click context menu:
- If a single directory is selected, create inside it
- Otherwise, create in current working directory
BUG: 508196
|
|
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"
|
|
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"
|
|
QString::slice is preferable when available, as it does not allocate.
Amends db92361e10f356ed0d1bf2dc7ea3453086ce876c
|
|
StrokePath gives the focus frame a less blurry look
Since the path is bit thinner now, we need to adjust the
alpha level to make it easier to see.
This is especially visible in dark themes.
BUG: 507005
|
|
KFileItem can give us this information since 6.0, no need to create a
QFileInfo and stat'ing the file again.
|
|
|
|
The Properties window is mostly useless in Trash.
This also makes it consistent with the Places panel.
BUG: 497349
|
|
|
|
The menu is located at Menu -> Configure -> Window color scheme
Either in menu or hamburger mode.
FEATURE: 506618
|
|
When the "Risks of Acting as an Administrator" prompt is not accepted,
the user now gets their url theme set back to `file://`.
|
|
The "Risks of Acting as an Administrator" prompt now only runs
saveDontShowAgainContinue when the prompt is confirmed. This fixes it
saving even when the prompt was cancelled.
|
|
The check now correctly considers only KMessageDialog::PrimaryAction as confirmation, where before closing the window (4 isn't KMessageDialog::Cancel anymore) would pass through and still ask for the root password even when the prompt was technically cancelled.
Also now correctly uses the Enum instead of a hardcoded integer.
|
|
So the Information Panel refreshes.
|
|
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"
|
|
(cherry picked from commit 10bf8ba9a351ea28cb874cb22cf4339b9eb60eb5)
|