Commit graph

5204 commits

Author SHA1 Message Date
Christoph Grüninger
4a20e56905 Replace deprecated QSqlDatabase::exec
Deprecated in Qt 6.6.
2026-09-18 17:26:44 +02:00
Tobias Fella
986b8b824f kcms/landingpage: Fix showing default kcms when there are no most used kcms
BUG: 522711
2026-09-10 12:25:26 +00:00
Nicolas Fella
69df118b9d Add missing Qt::Qml link 2026-09-07 13:21:39 +02:00
Uriel Fontan
16ebca0b9e kcms/mouse: Add UI to control on-button scroll locking
Add a "tap to autoscroll" option which a lot of users that come
from Windows use.

Depends on https://invent.kde.org/plasma/kwin/-/merge_requests/9671

FEATURE: 495617
FIXED-IN: 6.8.0
2026-09-03 15:13:44 -04:00
Sebastian Sauer
c1016ae008 Add Dwell Clicker applet and kcm
Implement the Plasma applet and kcm for the
Dwell Clicker as implement in the MR
plasma/kwin!9762

CCBUG: 521391
CCBUG: 472436
2026-09-02 11:44:22 +02:00
Philipp Kiemle
0a07bfeae0 kcms/tablet: Use plural function for translatable string
Some languages have multiple plural forms depending on the amount. This enables them to translate any amount of seconds correctly.
2026-08-30 12:45:52 -04:00
Nicolas Fella
bdb21b1440 [kcms/access] Remove ms suffix from mouse keys acceleration spinbox
The value here is not a time in seconds but a number of steps
2026-08-29 16:19:16 +02:00
Nicolas Fella
d16d8cf4f5 Rework screenreader management
Currently we start/stop Orca by writing a GSettings key that gets read by Orca. However that is being deprecated by Orca.

Instead in Orca 49 it gains a systemd service that should be preferred for managing Orca.

Add a new KDED module that takes over the screen reader management from KAccess (which does too many things, and is deeply intertwined with X11).

It takes care of starting Orca with the session if configured, as well as the toggle shortcut (which is migrated to be a desktopfile-based shortcut).

It tries to start/stop as well as enable/disable Orca via systemd, and falls back to manually forking/killing it otherwise.

It performs a one-time migration of the Enabled key to enabling the systemd service. Once that is done the Enabled key is ignored if systemd is used.

The KCM is adapted to pull the state from the KDED module.

Fixes https://invent.kde.org/plasma/plasma-desktop/-/issues/153
2026-08-27 16:29:38 +02:00
l10n daemon script
0c08e95052 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-08-27 01:42:49 +00:00
Tobias Ozór
acdafac335 kcms/plasmasearch: Implement restore default favorites 2026-08-26 16:58:48 +02:00
Tobias Ozór
1ad007e932 kcms/plasmasearch: Fix sidebar non-default Highlight
BUG: 523908
2026-08-26 16:45:59 +02:00
Tobias Ozór
4aeddc0ebd kcms/plasmasearch: Remove dead code 2026-08-26 16:45:59 +02:00
Joshua Goins
5945c92fbe kcms/tablet: Use "Clockwise/Counterclockwise" terminology instead
We used the labels "Up" and "Down" for the two dual keybinds you can
assign to dials/rings. It's much clearer to refer to these
using clockwise/counterclockwise terminology as that's easier to
understand from a physical point-of-view.

One potential problem is a disconnect between the UI and technical
reality (this may reveal some dials were actually backwards in the
driver) but that's only because our labels were unclear before.

For reference, I'm referring to positive delta as clockwise and negative
delta as counterclockwise, I guess that makes the most sense.

BUG: 510790
FIXED-IN: 6.8.0
2026-08-25 18:24:57 -04:00
Joshua Goins
a0f8f8ad74 kcms/tablet: Zero out top padding
Otherwise, the navigation bar sits awkwardly near, but not at the top of
the page.
2026-08-25 17:19:07 -04:00
Joshua Goins
bb2ce9330d kcms/tablet: Fix ActionDialog padding & sizing
This has regressed in some way somewhere, so I fixed this dialog by
fixing how the padding is set and not setting the maximum height.

BUG: 524720
FIXED-IN: 6.8.0
2026-08-25 17:17:51 -04:00
Marco Martin
3968ba90e7 Tablet KCM: port to new form layouts
port the tablet KCM to the new form api

the layout is very similar to the old one with the default flat mode
2026-08-25 15:47:37 -04:00
Joshua Goins
5de014d879 kcms/tablet: Fix UI issues from calibration changes
The lines now align with the targets again, the strings are simplified
and the UI moved a bit down. I made sure to test at 1280x720 (a pitiful
resolution!) to ensure nothing collides with the new center target.
2026-08-25 15:21:41 -04:00
Joshua Goins
c0ecdc93d1 kcms/tablet: Add context for new calibration strings 2026-08-25 15:21:41 -04:00
Taron Loque
6d0892b73c kcms/tablet: Fix calibration accuracy
Attempt at fixing the systematic offset of the calibration tool of about
1mm to the right. The Point matrix orientation was changed, also I added
a center point on which you can click to apply a correction. It created
good results for me without needing a refinement pass. Needed to move
the Text on top so the center Crosshair is unobstructed.

TESTED: XP-Pen Artist 16TP, Fedora 43
2026-08-25 15:21:41 -04:00
l10n daemon script
b9054e5bea SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-08-19 01:44:06 +00:00
l10n daemon script
de3308213e SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-08-18 01:41:40 +00:00
l10n daemon script
d58ee8ef2a SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-08-16 01:42:18 +00:00
Marco Martin
e32130d158 baloofile_kcm: port to the new Form api
port the form part to the new api: the view part is good as it is right
now
2026-08-12 13:17:56 +02:00
Noah Davis
0279026147 ZoomMagnifier: remove subtitle for shortcuts action
It was unnecessary to begin with. It also looked terrible with the cards style, but that's probably a bug, not a reason to remove the subtitle.
2026-08-11 13:41:55 -04:00
Noah Davis
ff2d93fd49 ZoomMagnifier: Use flat layout instead of Form-within-Form
Form-within-Form doesn't work well or look good for the cards style.
2026-08-11 13:41:53 -04:00
Noah Davis
e6cc173a0b Port kcm_access to new Kirigami.Form API
Related to https://invent.kde.org/plasma/systemsettings/-/work_items/50
2026-08-11 13:39:55 -04:00
Wladimir Leuschner
2b241bf848 kcms/mouse,touchpad: Add spinboxes to scroll speed settings
Add spinboxes to the mouse/touchpad settings page, that show the
numerical value of the currently selected scroll speed. @teams/vdg

ENHANCEMENT: 477745
FIXED-IN: 6.8.0
2026-08-11 10:26:42 -04:00
Nicolas Fella
0a3e0fe1f7 kcms/access: Remove unused includes 2026-08-06 11:59:45 +02:00
Nicolas Fella
af71730483 kcms/access: Drop X11 code 2026-08-06 11:59:45 +02:00
Nicolas Fella
f55be743f0 kcm/access: Drop writing UseSystemBell to kdeglobals
It's not read anywhere
2026-08-06 11:59:45 +02:00
Tobias Ozór
665d8bbb87 kcms/plasmasearch: Add non-default highlights
ENHANCEMENT: 521978
FIXED-IN: 6.8.0
2026-08-05 12:34:53 -04:00
Antti Savolainen
eeda92f39a spellchecking: do not ask to apply settings if no backend or dictionary exists
BUG: 482233
2026-08-03 16:08:10 -04:00
Tobias Ozór
5966acaa1e kcms/workspaceoptions: Add missing default indicator
Add a default indicator to the "When dragging files or folders:" setting
2026-08-03 14:05:35 -04:00
Christoph Grüninger
15781c1689 Prevent detaching temporary from Qt conatainers
Found by Clazy (detaching-temporary).
2026-07-29 07:58:29 +00:00
Christoph Grüninger
dca9866641 Do not include whole Qt modules
Found by Clazy (no-module-include).
2026-07-29 07:58:29 +00:00
Christoph Grüninger
da33d713e1 Remove unused non-trivial variable
The variable in screenmappertest.cpp is a left-over from
2793b1b0df.
The variable in backend.cpp is a left-over from
bf37558f36.
Found by Clazy (unused-non-trivial-variable).
2026-07-29 07:58:29 +00:00
l10n daemon script
8a28781590 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-27 01:41:38 +00:00
Nicolas Fella
f621317f04 Install kcfg files
So that it can be picked up by tooling
2026-07-24 10:58:15 +02:00
l10n daemon script
f4460d43a4 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-23 01:40:11 +00:00
l10n daemon script
7394045856 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-22 01:41:30 +00:00
Kai Uwe Broulik
58b09b2d1d Remove unused Plasma::Plasma linkage
They don't use any Plasma stuff from C++.
2026-07-20 13:09:10 +00:00
Sebastian Sauer
932f29636c kcms/gamecontroller: Fix std::out_of_range exception
If either slash==std::string::npos or devicePath.empty() then
the code can throw a std::out_of_range exception. Fix that
and make sure the code not throws a std::out_of_range exception.

Based on a patch done by Adam Doda.

BUG: 522886
2026-07-20 04:29:04 +00:00
Sebastian Sauer
71b3e4dafa kcms/gamecontroller: Fix UB to use of uninitialized memory
In the else case sys_path was never initialized resulting
in random memory being passed into udev_device_new_from_syspath
what results in undefined behavior.

Based on a patch done by Adam Doda.

BUG: 522886
2026-07-20 04:29:04 +00:00
l10n daemon script
6c849bfe3b SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-20 01:39:05 +00:00
Christoph Grüninger
f7cc2b2fca Prevent detaching in range-based for-loop
Use std::to_array<QString> instead of QStringList.
Found by Clazy (range-loop-detach).
2026-07-19 16:30:44 +02:00
Christoph Grüninger
e7dfe6cf61 Prevent detaching in range-based for-loop
Make container const.
Found by Clazy (range-loop-detach).
2026-07-19 16:30:11 +02:00
l10n daemon script
3350347453 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-19 01:41:19 +00:00
Nicolas Fella
52320017cb kcms/mouse: Drop backend null checks
There will always be a backend
2026-07-16 16:52:10 +02:00
Nicolas Fella
4faf3b93fe kcms/mouse: Drop InputBackend::create 2026-07-16 16:52:10 +02:00
Nicolas Fella
9096535eeb kcms/mouse: Fold KWinWaylandBackend into InputBackend 2026-07-16 16:52:10 +02:00
Nicolas Fella
4aab3477fe kcms/mouse: Drop isAnonymousInputDevice
It's always false on Wayland
2026-07-16 16:52:09 +02:00
l10n daemon script
b2f9412054 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-15 01:41:09 +00:00
Christoph Wolk
ce645a1186 kcms/mouse: actually disable if there is only one device
kcm_mouse wants to enable the device combobox if there is only one
device. But the attempt fails: count is not a property accessible to
the FormEntry, only to its contentItem (the combobox). As a consequence
we get a qml ReferenceError and the property always remains at the
default value (enabled).

Instead, use the Combobox's count property.
2026-07-13 08:44:35 +00:00
Christoph Grüninger
2dbff7fd0c Revert "Remove unused imports of Qt5Compat.GraphicalEffects"
This reverts commit 338bcd698a.

Pushed by mistake to branch "master".
2026-07-11 16:47:39 +02:00
Christoph Grüninger
338bcd698a Remove unused imports of Qt5Compat.GraphicalEffects 2026-07-11 16:35:33 +02:00
l10n daemon script
f5d77f8dd8 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-10 01:40:21 +00:00
Tobias Fella
47d8e7fc51 kcms/keys: Position view at beginning when changing category
BUG: 522775
2026-07-09 08:48:21 +00:00
l10n daemon script
64b47fb8c6 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-09 01:41:44 +00:00
Antti Savolainen
5eddd07cd3 kcm_spellchecking: unify kcm name with the rest
This was the only one that didn't start with "kcm_".
2026-07-06 14:02:15 -04:00
Joshua Goins
30edb4717d kcms/libkwindevices: Fix serializeMatrix serializing in the wrong order
We were switching which order the columns/rows were in accidentally,
this should be fixed in lock-step with KWin because the same code exists
there.

I copied over the simple test from KWin too to verify this actually
works as expected now.
2026-07-06 13:16:20 +00:00
l10n daemon script
33adc52a39 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-06 01:41:16 +00:00
l10n daemon script
c58c094544 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-07-05 01:39:36 +00:00
Antti Savolainen
e9f9e9361e kcm_*: fix BugReportUrl 2026-07-03 13:37:45 -04:00
David Redondo
575910dc9f kcms/landingpage: Fix color bleed through at the corners
Both the main shadow rectangle and the indicator have antialiased
corners which produce pixels with alpha != 1, leading to the highlight
color bleeding through.
To prevent this use an additional rectangle to paint the border
of the image.
BUG:522042
2026-06-30 13:31:39 +02:00
Marco Martin
4c7e61f319 KCMMouse: fix some layout issues
Fix some fallout from porting: enabled and visible should never be
properties of the contentItem, but properties of the FormEntry itself

BUG:521992
2026-06-30 12:49:36 +02:00
Marco Martin
dc241382cb WorkspaceOPtions: fix warnings
Fix some QML-related warnings in the workspaceoptions KCM:
a missing id and some parent-child relation

CCBUG:522275
2026-06-29 15:46:04 +02:00
Vlad Zahorodnii
c79a79912e kcms/gamecontroller: Disable gamepad input emulation by default
This sync's up kcm defaults with kwin defaults.
2026-06-22 15:48:01 +02:00
Tobias Fella
c7f32a8e25 kcms/keyboard: Improve title of key bindings page
Since it's the title of a settings page, the word "Configure" is a bit redundant and different from the style we use in other settings pages.
There's also no need for an ellipses, since it's not an action (that requires more user input).
2026-06-18 20:03:48 +00:00
l10n daemon script
2cad522ad9 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-06-18 01:38:29 +00:00
Tobias Fella
3dd35074a4 kcms/keyboard: Ensure that keyboards without variant info don't show "undefined" as variant 2026-06-17 09:05:04 +00:00
Nicolas Fella
33cc2e2de2 kcms/access: Drop activation shortcuts page
X11 has a built-in feature where you can press specific keys multiple times
to enable sticky keys/slow keys. We have a confirmation dialog and some options
around this.

On Wayland we haven't reimplemented the feature. We could, if there is demand for it.
Until that happens drop the UI for it, since it doesn't do anything right now.
2026-06-15 13:50:36 +02:00
Nicolas Fella
af7d403310 kcms/touchpad: Drop unneeded KWindowSystem check 2026-06-11 13:13:49 +02:00
Nicolas Fella
1dcad1f3cc kcms/touchpad: Dissolve backends/ folder 2026-06-11 13:10:20 +02:00
Nicolas Fella
2721020359 kcms/touchpad: Fold TouchpadBackend into KWinWaylandBackend 2026-06-11 13:10:19 +02:00
Nicolas Fella
44dfb7cffd kcms/touchpad: Fold LibinputCommon into KWinWaylandTouchpad 2026-06-11 13:10:19 +02:00
Nicolas Fella
92c11e7277 Add missing KSharedConfig include 2026-06-10 14:24:05 +02:00
Nicolas Fella
fc61b1aa23 Remove unused X11 deps 2026-06-08 20:08:34 +02:00
Nicolas Fella
84f18228aa kcms/keyboard: Drop dead code 2026-06-08 15:55:07 +02:00
Nicolas Fella
bff1a37b19 kcms/keyboard: Remove unused config header 2026-06-08 15:55:07 +02:00
Nicolas Fella
1e07a7c88b kcms/keyboard: Rename x11_helper
It's not about X11 at all
2026-06-08 15:55:07 +02:00
Nicolas Fella
e8938d3e78 kcms/keyboard: Drop unused function 2026-06-08 15:55:07 +02:00
Nicolas Fella
115252eff8 kcms/keyboard: Drop unused struct 2026-06-08 15:55:07 +02:00
Nicolas Fella
39f896153d kcms/keyboard: Consistently use m_ prefix for members 2026-06-08 15:55:07 +02:00
Nicolas Fella
6581e4588a kcms/keyboard: Remove unneeded special member functions
Apply rule of zero
2026-06-08 15:55:07 +02:00
Nicolas Fella
c1c5ce2de9 kcms/keyboard: Drop unused struct 2026-06-08 15:55:07 +02:00
Nicolas Fella
60b5cdaaf9 kcms/keyboard: Clean up tests 2026-06-08 12:46:40 +02:00
Nicolas Fella
ca53b803b8 Add missing qqml.h include 2026-06-07 15:04:19 +02:00
Fushan Wen
269a96ae4d
kcms/mouse: Fix incorrect divisor in pointer acceleration comparison
The onAccelSpeedChanged handler compared value/1000 against
device.pointerAcceleration, but the assignment used value/100.
This mismatch meant the guard clause almost never matched, so
the assignment was always executed. Change the comparison
to also use value/100 to match the assignment.

Assisted-by: Kilo Code:deepseek-v4-flash
2026-06-07 14:02:14 +08:00
l10n daemon script
67d6ed317f SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2026-06-07 01:42:18 +00:00
Ivan Čukić
2b8a03e6a0 Add missing qqml.h include
qmlRegisterType and related functions live in qqml.h
2026-06-06 06:03:13 +00:00
Nicolas Fella
11c1e030bf kcms/keyboard: Drop dead code
It's not called anywhere
2026-06-05 12:35:53 +02:00
Nicolas Fella
80c424b5b9 kcms/mouse: Drop obsolete build options 2026-06-04 17:53:20 +02:00
Nicolas Fella
f6ed13925e Remove unused dependencies 2026-06-04 17:51:28 +02:00
Nicolas Fella
6ee51136b3 kcms/mouse: Drop kcminit
It only did something on X11

Contributes to https://invent.kde.org/plasma/plasma-desktop/-/work_items/70
2026-06-04 17:51:28 +02:00
Nicolas Fella
887bad2919 Drop kapplymousetheme
This was only called from startplasma on X11
2026-06-04 17:51:28 +02:00
Nicolas Fella
d61bb159d1 kcms/mouse: Drop X11 backend
Could be cleaned up further
2026-06-04 17:51:28 +02:00
Andreas Sturmlechner
50ca366dfd
kcms/touchpad: Drop obsolete BUILD_KCM_TOUCHPAD_KWIN_WAYLAND option
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2026-06-04 17:03:23 +02:00
Nicolas Fella
4a4576405e kcms/keyboard: Drop X11 code
Mostly straight-forward, but touches the KCM code a bit to drop calling functions that return empty on Wayland anyway
2026-06-04 14:59:05 +02:00
David Edmundson
4246746de1 kcms/gamecontroller: Guard against SDL device opening failing
BUG: 520176
2026-06-04 11:06:28 +00:00
Nicolas Fella
481bee0eb2 kcms/touchpad: Drop empty kcminit 2026-06-03 18:48:01 +02:00