| Age | Commit message (Collapse) | Author |
|
|
|
|
|
BUG: 482508
Signed-off-by: Somsubhra Bairi <[email protected]>
|
|
|
|
The dolphinui.rc and dolphinuiforphones.rc file describe parts of
the desktop and phone user interfaces for Dolphin. They are meant
to be different in specific ways, but identical in many others.
This test makes sure that the two ui files stay mostly identical by
requiring any differences between them need to be explicitly
stated/registered as an exception in the test. This way no
accidental divergence of user interfaces can happen.
|
|
There is not enough horizontal space to show the full Dolphin
settings window on the average phone. This commit saves some
horizontal space by moving the category switcher in Dolphin
settings from being a list on the left to being tabs on the top.
|
|
It currently does not seem to work together with virtual keyboards.
|
|
Previous to this commit launching Dolphin on phones (e.g. those
running Plasma Mobile) would show Dolphin with its default user
interface optimised for desktop usage. This commit changes this so
instead a phone form factor optimised user interface is used.
The differences to the default UI configuration are:
-Toolbar at bottom
-Icon-only toolbar
-Different actions on the toolbar
-Places panel hidden
-Location bar at the top with a button to show places
-Zoom slider hidden (pinch gestures to zoom still work)
Through these changes Dolphin actually has a good user experience
on phones by default. All the features were already there.
Especially Steffen Hartleib's work to trigger selection mode on
long press leads to great UX when dealing with multiple files.
Still, this might be considered just a start towards making Dolphin
great on phone form factors. Secondary windows that Dolphin might
spawn are not yet adapted, but are usable on Plasma Mobile as they
are anyway.
|
|
Tapping the forward or back mouse buttons quickly enough makes Dolphin
interpret the action as a double-click of the button in question and
handle it in mouseDoubleClickEvent() instead of its normal button
handler. This means that certain button presses might seem delayed or
"swallowed" when quickly navigating forwards or backwards through the
history.
Since a double-click of the forward or back button is currently
meaningless, fix this by emitting a normal mouseButtonPressed event for
those buttons in the double-click handler and skipping any further event
processing.
Co-authored-by: Felix Ernst <[email protected]>
CCBUG: 485295
|
|
|
|
|
|
c934e803647674b4692668f047b6ffa18121982a was meant to change the
double-click view background feature to only allow double-clicks
with the left mouse button. However, it mistakenly did the exact
opposite and allowed every double-click except ones with the left
mouse button to trigger the feature. This one-liner fixes this.
|
|
|
|
Sort by and View mode are already available through hamburger menu; cut and copy are already available through shortcuts
BUG: 493808
BUG: 476955
|
|
|
|
the selection
On sucessful return of the rename dialog, we update
the model and the selection immediately to reflect
the new name. This is to avoid the short duration
after the rename during which the selection is lost.
Currently, after the rename dialog finishes, the selection
is briefly lost for about 1 second until the view
automatically refreshes.
This patch updates the model and selection immediately
after the dialog finishes, so the renamed file is still
selected.
BUG: 481717
|
|
Currently, the inline renaming updates the model and
the list of selected files (m_selectedUrls) immediately
after the user presses enter, but the selection in the
view is not immediately updated. This results in the
selection to be briefly lost for about 1 second until
the view automatically refreshes.
This patch updates the selection immediately after
the user presses enter, so the renamed file is still
selected.
BUG: 481717
|
|
The `setData` function is used by inline renaming to
update the `text` role (i.e. file name) in the model
before actually do the renaming.
However, the current implementation only updates `text`
and url in KFileItem in this case, leaving the `url` role
and the `m_items` cache untouched. This makes the cache
incoherent, so `index()` won't find the renamed item. It
also makes the `url` role incoherent with the `text` role.
This also fixes the problem mentioned in bug #481561
where when inline renaming fails, it still shows the new
name. (Because `m_model->index` fails to find the new name
and rename it back on job failure.)
BUG: 481561
|
|
BUG: 481561
|
|
|
|
|
|
|
|
This commit moves the focus to the message of newly shown passive
messages when accessibility software is used. Moving focus to an
object generally means that it will be announced, so this makes
sure that users of accessibility software know when they are being
notified of a change.
|
|
KCoreDirLister::itemsDeleted() signal is being emitted twice for the
same url. This results in Dolphin displaying an incorrect location.
Delay changing the url instead of delaying
DolphinView::currentDirectoryRemoved() so that the check for current
directory being removed in KFileItemModel::slotItemsDeleted() occurs
correctly, while still ensuring that KCoreDirLister is not prematurely
modified.
BUG: 492277, BUG: 473377
|
|
(cherry picked from commit 2f8b55cd88ebaa258a04a01b7b789592bb064fe2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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"
|
|
By now, Konqueror uses the new mechanism introduced in
https://invent.kde.org/frameworks/kparts/-/merge_requests/86.
Thus, we can avoid using the deprecated SeviceTypes which are also
removed from the official KPluginMetaData API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There's two locations where place URLs are compared in Dolphin. One
is in DolphinContextMenu::placeExists, which determines whether or not
to show an "Add to Places" context menu entry. The other one is in
DolphinViewContainer::caption, which provides the place name for use in
the window title, if applicable.
Neither of these functions correctly normalize the URL to account for
trailing slashes. Whilst placeExists() does not even attempt it,
caption() was changed in 681d8bb6c (Fix wrong window titles, 2019-09-15)
to support this using a regular expression.
However, caption() fails to escape the URL before incorporating it in
the regular expression, leading to failed matches and errors like the
following when browsing to directories that do not happen to make up a
valid regular expression:
QString(View)::contains(): called on an invalid QRegularExpression
object (pattern is '\A(?:file:///home/foo/[Z-A]/?)\z')
Instead of relying on complex and possibly brittle regular expressions,
use KFilePlacesModel's closestItem() function to find the closest
matching URL and then finally check whether the normalized URLs match
exactly.
|
|
|
|
Make sure we update the trash directory when storage devices are added/changed.
This ensures that whenever a mounted device, for example
USB stick is mounted/unmounted, the contents are properly
updated in the trash folder as well.
Otherwise the trash folder and USB stick trash folder will get
out of sync, making the trash folder behavior unpredictable.
BUG:493247
|
|
|
|
By default.
Since recentlyused:/ fills only access time based on the DB data.
timeline:/ is also included.
CCBUG: 437382
|
|
|
|
|
|
|
|
(cherry picked from commit f8f4c5bc12fa14cfa3efb800049a3efeb9a84189)
|