Commit graph

62 commits

Author SHA1 Message Date
Ivailo Monev
485dfa324a kcontrol: create QApplication instance for kkeyboard
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-16 02:48:57 +03:00
Ivailo Monev
65eb546f63 kcontrol: convert desktoppaths, input and keyboard KCM initialization to autostart
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 00:23:01 +03:00
Ivailo Monev
42c66da3f2 generic: consistent copyright statements
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 04:07:15 +03:00
Ivailo Monev
86d4e57798 kcontrol: ensure the keyboard KCM options dialog state text is not elided
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-22 18:27:15 +03:00
Ivailo Monev
0c762b6333 kcontrol: do not show options with placeholder from keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 00:52:48 +03:00
Ivailo Monev
300beddd4e kcontrol: set flag as the icon for the layout column in keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 19:38:30 +03:00
Ivailo Monev
e4366d3493 soliduiserver: implement feature to execute actions under certain conditions
can implement condition for when device changes occurs too but I have no
plans to use it for something, not yet that is. the remove condition can
(and probably will be) used to start kvkbd when there is no keyboard
plugged in altough that will require program to check when to do that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 19:26:41 +03:00
Ivailo Monev
3c48401883 kcontrol: warn about keyboard layout options in keyboard KCM
I've tested only the grp:alt_space_toggle option, don't even want to know
what kind of issues the other option will cause. feel free to file issues
to X11 tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 05:56:19 +03:00
Ivailo Monev
f68fd1b58d kcontrol: set the tooltip and "what is this?" for the model box of keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 05:05:53 +03:00
Ivailo Monev
18073517bb kcontrol: disable moving of tree columns in keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 04:27:45 +03:00
Ivailo Monev
8b3b954d85 kcontrol: implement keyboard layout options
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 04:09:57 +03:00
Ivailo Monev
ec442d8ad1 kcontrol: stub keyboard KCM keyboard layout options
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 02:38:02 +03:00
Ivailo Monev
e7a2d4f45b kcontrol: use automatic initial size for KCMKeyboardDialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 02:13:42 +03:00
Ivailo Monev
7065198d98 kcontrol: add solid action files for mouse, keyboard and joystick devices
try plugging a mouse, keyboard or joystick - see what happens!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 22:20:37 +03:00
Ivailo Monev
52a83a7bad kcontrol: disallow adding duplicate layouts from keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 05:16:23 +03:00
Ivailo Monev
c402bff997 kcontrol: remove redundant KCMKeyboard destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:02:42 +03:00
Ivailo Monev
cc7fd6b174 kcontrol: remove declaration of non-existing KCMKeyboardDialog::save() signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:01:34 +03:00
Ivailo Monev
343749034c kcontrol: remove declaration of non-existing KCMKeyboardDialog::updateWidgets() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:00:21 +03:00
Ivailo Monev
e74152d243 kcontrol: fix keyboard KCM edit action initial variant selection and up/down buttons state
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 21:33:17 +03:00
Ivailo Monev
6d76faf469 kcontrol: implement add and edit actions for keyboard KCM
TODO: store the descriptions in KKeyboardLayout such that when adding items
to, say, QComboBox the items will be pre-sorted

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 20:54:51 +03:00
Ivailo Monev
5f2c455590 kcontrol: set layouts before key repeat settings on startup
in case any XKB-related function fails (such as XkbAllocKeyboard())

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 19:41:16 +03:00
Ivailo Monev
b5b873c2b3 generic: keyboard layout applet and kayboard KCM reimplementation
lots of changes with this commit - on the plasma applet side:
 + the applet now handles mouse wheel events
 * the applet itself sets its global global shortcut key
 + the applet itself has configuration interface for the text and flag options
 * ported to the new KKeyboardLayout class
 - no per-window or per-application keyboard layout

on the overall keyboard configuration:
 * no KDED module required
 + keyboard layout descriptions (model, layout, variant, etc.) are actually translated
 - no keyboard configuration will be shown when a keyboard is plugged-in (see bellow)
 - keyboard layout options are not configurable, not via GUI interface anyway

the hotplug plasma data engine, device notifications and solid actions
have to be either reimplemented or extended to handle more device types
(currently the above mentioned handle only removable devices by default
such as cameras, not input devices such as keyboard)

overall - from reimplemented one thing to another and the keyboard
configuration is not done yet (adding and editing keyboard layout not
implemented yet) but in a working state

on a side note the changes here affect kvkbd as it uses D-Bus interface
for keyboard layout change that is no more and has to be ported or (most
likely) replaced with a handler for QEvent::RequestSoftwareInputPanel
event that shows a keyboard on demand

there is also the double-keyboard layout applet thing - applet for the
keyboard layout could be added and the daemon (KDED module) was showing
its own keyboard layout indicator automatically (by default)

the X11 keyboard bell options are next to useless btw - there is
KNotification::beep() for such things so the X11 bell options are
simply dropped

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 18:12:13 +03:00
Ivailo Monev
186a7702e8 generic: adjust to KGlobalSettings changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-22 04:29:13 +03:00
Ivailo Monev
7189f4783e kcontrol: keep reference to the QByteArray object in KeySymHelper::getKeySymbol()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-22 09:21:12 +07:00
Ivailo Monev
332a0287b6 kcontrol: format and indent
there is a copy of the table and the function at:
kde-extraapps/kvkbd/src/keysymconvert.cpp

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-06 07:02:27 +03:00
Ivailo Monev
ce48bc0997 generic: preperations for kdelibs changes
automatically replaced via:
find -name CMakeLists.txt -exec sed -e 's|${KDE4_PLASMA_LIBS}|KDE4::plasma|g' -e 's|${KDE4_KIO_LIBS}|KDE4::kio|g' -e 's|${KDE4_SOLID_LIBS}|KDE4::solid|g' -e 's|${KDE4_KFILE_LIBS}|KDE4::kfile|g' -e 's|${KDE4_KDECORE_LIBS}|KDE4::kdecore|g' -e 's|${KDE4_KDEUI_LIBS}|KDE4::kdeui|g' -e 's|${KDE4_KCMUTILS_LIBS}|KDE4::kcmutils|g' -e 's|${KDE4_KDECLARATIVE_LIBS}|KDE4::kdeclarative|g' -e 's|${KDE4_KPTY_LIBS}|KDE4::kpty|g' -e 's|${KDE4_KEMAIL_LIBS}|KDE4::kemail|g' -e 's|${KDE4_KMEDIAPLAYER_LIBS}|KDE4::kmediaplayer|g' -e 's|${KDE4_KPARTS_LIBS}|KDE4::kparts|g' -e 's|${KDE4_KIDLETIME_LIBS}|KDE4::kidletime|g' -e 's|${KDE4_KTEXTEDITOR_LIBS}|KDE4::ktexteditor|g' -e 's|${KDE4_KPASSWDSTORE_LIBS}|KDE4::kpasswdstore|g' -e 's|${KDE4_KARCHIVE_LIBS}|KDE4::karchive|g' -e 's|${KDE4_KDNSSD_LIBS}|KDE4::kdnssd|g' -e 's|${KDE4_KNOTIFYCONFIG_LIBS}|KDE4::knotifyconfig|g' -e 's|${KDE4_KEXIV2_LIBS}|KDE4::kexiv2|g' -i {} +

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 23:27:11 +03:00
Ivailo Monev
1cbda72fad generic: replace use of QTime as timer with QElapsedTimer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-07 12:57:37 +03:00
Ivailo Monev
ff101e191b kcontrol: executeXmodmap() function optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 05:48:14 +03:00
Ivailo Monev
be89c3a277 generic: remove irrelevant TODO files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 03:15:13 +03:00
Ivailo Monev
67d1219669 kcontrol: correct XkbSetControls() return value check
I should've checked the return type before commit
7e5939c9fb

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-30 04:49:17 +02:00
Ivailo Monev
7e5939c9fb kcontrol: fix regression since 45fbbf2582
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-29 12:40:45 +02:00
Ivailo Monev
936c69c827 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-14 16:19:24 +03:00
Ivailo Monev
45fbbf2582 generic: compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-05 22:06:42 +03:00
Ivailo Monev
ca76c014aa kcontrol: replace use of QtConcurrent::blockingFilter() with QMutableListIterator<T>()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-18 02:15:17 +03:00
Ivailo Monev
5e468154f8 kcontrol: sync symbols table data with kvkbd
for reference:
5abb5acdbf

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-27 22:37:50 +03:00
Ivailo Monev
1c98a15ed1 kcontrol: adjust expected data in keyboard flags test
for reference:
https://cgit.freedesktop.org/xkeyboard-config/commit/?id=9692f00a9682cb4c85cf048ccccbfd1408008768

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-28 00:15:47 +03:00
Ivailo Monev
945ade0f19 generic: replace internal with Katie definition checks or remove them completely
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-10 02:29:23 +03:00
Ivailo Monev
be7d2cf633 generic: avoid global static KStandardDirs instance access
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-15 05:30:54 +03:00
Ivailo Monev
2887b7d05e kcontrol: replace KProcess with QProcess
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-04-01 18:33:08 +03:00
Ivailo Monev
aa2fd61df3 kcontrol: lookup the iso-codes directory
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-18 18:22:20 +02:00
Ivailo Monev
591b538337 generic: replace installation paths with KDE4_ prefixed
see commit in kdelibs repository

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 20:13:13 +00:00
Ivailo Monev
de7cddaba2 generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-08 14:51:07 +00:00
Ivailo Monev
af45159765 generic: replace forward declarations with headers inclusions
this was done with namefsck script from Katie, solves namespace issues

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-05 02:36:36 +00:00
Ivailo Monev
f45ebe197a generic: avoid use of legacy QString::null, QString::Null, QChar::Null and QChar::null
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2018-07-09 20:23:10 +00:00
Ivailo Monev
7b1608bead generic: build system cleanups
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2016-09-16 23:59:39 +00:00
Ivailo Monev
fdadefd2ff generic: fix some compiler warnings
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-06-24 20:55:07 +00:00
Ivailo Monev
260c6f3dd8 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-28 22:27:02 +00:00
Ivailo Monev
d6d2061bb5 generic: misc cleanups
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-16 16:05:41 +00:00
Ivailo Monev
76f31dea72 kcontrol: assumbe libXi is newer that v1.2.0 for keyboard module
libXi v1.2.0 was released on 02-Dec-2008, I doubt someone is using
that old version.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2015-11-21 16:44:19 +02:00
Ivailo Monev
d388626a4b generic: make libdbusmenu-qt optional for appmenu and disable klipper if not found
disabling klipper in such case is temporary, until its dependency
on the menu library gets sorted out

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2015-11-13 04:48:37 +02:00