Bug 477940

Summary: The "Apply" button does not become active after the first click
Product: [Applications] systemsettings Reporter: Жора Змейкин <katze_942>
Component: kcm_kwinoptionsAssignee: fanzhuyifan
Status: RESOLVED FIXED    
Severity: minor CC: dougshaw77, fanzhuyifan, nate, plasma-bugs-null
Priority: NOR Keywords: qt6
Version First Reported In: 5.90.0   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=474649
Latest Commit: Version Fixed/Implemented In: 6.0
Sentry Crash Report:
Attachments: Demonstration

Description Жора Змейкин 2023-12-02 20:19:29 UTC
Created attachment 163782 [details]
Demonstration

When changing parameters in "Window Management => Window Behavior", the "Apply" button does not change its state. After the first click, the changes seem to be applied, but KDE still thinks I haven't saved the settings. You can see more details in the video.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon (Unstable), Wayland
KDE Plasma Version: 5.90.0
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.0
Comment 1 fanzhuyifan 2023-12-03 19:07:42 UTC
Can reproduce
Comment 2 Nate Graham 2024-01-11 20:40:03 UTC
*** Bug 479382 has been marked as a duplicate of this bug. ***
Comment 3 fanzhuyifan 2024-01-11 22:32:23 UTC
Working on this
Comment 4 Bug Janitor Service 2024-01-12 00:25:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4891
Comment 5 fanzhuyifan 2024-01-13 18:31:17 UTC
Git commit faab23e9147ff0701e83b8eb39d5ca1680b07d08 by Yifan Zhu.
Committed on 13/01/2024 at 19:04.
Pushed by alex into branch 'master'.

kcms/options: port to KCModule methods

Remove code that duplicates functionality of KCModule.

Previously the various config items were not fully ported to using
KCModule methods, and kept custom versions of isSaveNeeded and
isDefault. When called from KWinOptions::updateUnmanagedState, these
methods incorrectly reports that there are still changes to be saved.
This patch set ports all configs in window behavior to methods provided
by KCModule, solving the problem.

M  +12   -12   src/kcms/options/main.cpp
M  +0    -20   src/kcms/options/mouse.cpp
M  +0    -3    src/kcms/options/mouse.h
M  +2    -34   src/kcms/options/windows.cpp
M  +0    -11   src/kcms/options/windows.h

https://invent.kde.org/plasma/kwin/-/commit/faab23e9147ff0701e83b8eb39d5ca1680b07d08
Comment 6 Vlad Zahorodnii 2024-01-13 18:45:17 UTC
Git commit ffb13a1cd8e81bae313ba0e0dedcd0c7320adbdc by Vlad Zahorodnii, on behalf of Yifan Zhu.
Committed on 13/01/2024 at 19:32.
Pushed by vladz into branch 'Plasma/6.0'.

kcms/options: port to KCModule methods

Remove code that duplicates functionality of KCModule.

Previously the various config items were not fully ported to using
KCModule methods, and kept custom versions of isSaveNeeded and
isDefault. When called from KWinOptions::updateUnmanagedState, these
methods incorrectly reports that there are still changes to be saved.
This patch set ports all configs in window behavior to methods provided
by KCModule, solving the problem.


(cherry picked from commit faab23e9147ff0701e83b8eb39d5ca1680b07d08)

M  +12   -12   src/kcms/options/main.cpp
M  +0    -20   src/kcms/options/mouse.cpp
M  +0    -3    src/kcms/options/mouse.h
M  +2    -34   src/kcms/options/windows.cpp
M  +0    -11   src/kcms/options/windows.h

https://invent.kde.org/plasma/kwin/-/commit/ffb13a1cd8e81bae313ba0e0dedcd0c7320adbdc