summaryrefslogtreecommitdiffstats
path: root/kxkb
Commit message (Collapse)AuthorAgeFilesLines
* kcmlayout: disable KMilo checkbox when layout notifications disabledfix/kxkb/547Mavridis Philippe22 hours1-0/+2
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* KXkb: Catch and process changes to Xkb layouts and optionsMavridis Philippe22 hours9-88/+403
| | | | | | | | | | | | | The XKBExtension class reports likely configuration changes to the main app which then updates its internal options object accordingly and marks some option sets as 'tainted'. A notification is produced to inform the user that an external application such as setxkbmap has changed some options. The next time the keyboard layout configuration module opens a dialog box asks the user to select to load either the KXkb configuration on disk or the currently active Xkb options. In both cases the user can then save and apply the preferred version of the configuration. Other significant changes: * Make XKBExtension a singleton so that only one instance of the class exists. The extension is initialized on first use. * Add mutex to XKBExtension to prevent it from processing configuration changes likely caused by KXkb * XKBExtension::getServerOptions() now also returns layout and variant information in a XkbOptions struct * New KxkbConfig::setFromXkbOptions() member can update current configuration from a XkbOptions struct * Add proper copyright header to extension.* Signed-off-by: Mavridis Philippe <[email protected]>
* KXkb: do not run setxkbmap without argumentsMavridis Philippe22 hours1-0/+11
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* KXkb: overhaul loading/saving functionsMavridis Philippe22 hours5-122/+162
| | | | | | | | | | | | * Fixed optimized loading of initial settings using KxkbConfig::LOAD_INIT_OPTIONS (I had sort of broken it in the past) * Removed unused KxkbConfig::LOAD_ACTIVE_OPTIONS * newInstance() now delegates calling setLayout() to readSettings() * Merged initTray() into readSettings() - has no reason to exist as separate function * Consistent code style and more appropriate function names and return types * Commented option sections for clarity * Removed superfluous debug messages Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: Add customization options "Stretch flag", "Dim flag", "Show indicator ↵Mavridis Philippe22 hours6-48/+173
| | | | | | | | bevel" Apart from the last one, these options expose existing functionality making it user-configurable. Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: reapply Xkb settings when a keyboard device changes stateMavridis Philippe22 hours3-5/+30
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: Improvements for tray window pixmap manager, optimize settings reloadingsMavridis Philippe23 hours9-107/+81
| | | | | | | | | | | | * Rename LayoutIcon to LayoutIconManager for clarity * Remove use of singleton pattern for LayoutIconManager * Do not reload all Kxkb settings every time we are requested to get a pixmap! * Use pointer to global KxkbConfig instance instead of keeping own copy * Make "Transparent background" checkbox available for theme colors in the GUI * Minor code cleanup in LayoutIconManager * KxkbConfig: do not reload settings every time getKxkbOptions() is called; if settings actually need to be re-read, it must be done maunally before calling this function Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: improve system tray code and fix various switching-related bugsMavridis Philippe23 hours7-268/+223
| | | | | | | | | | - Improved layout change logic (indicator is now always updated when the actual switch occurs). This fixes layout switching triggered by the X11 shortcut not being synchronized with layout switching from the tray icon click and the TDE shortcut. - Kxkb will ignore XkbStateNotify events not related to XkbGroupState which caused strange behaviour with the system tray context menu. - Merged KxkbLabelController into KxkbSystemTray This resolves #547. Signed-off-by: Mavridis Philippe <[email protected]>
* Use tdeprocess.hMichele Calgaro2024-12-023-3/+3
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Rename KUniqueApplication to TDEUniqueApplicationMichele Calgaro2024-11-203-10/+3
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Improve settings for some sliders related to keyboard, accessibility and ↵Michele Calgaro2024-08-011-3/+5
| | | | | | style. This also solves issue #513 Signed-off-by: Michele Calgaro <[email protected]>
* Replace KDE_[NO_]EXPORT with TDE_[NO_]EXPORTMichele Calgaro2024-05-052-4/+4
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* kxkb: fix incorrect signal name introduced by 1fea8982fAlexander Golubev2024-03-291-1/+1
| | | | Signed-off-by: Alexander Golubev <[email protected]>
* kxkb: utilize a translations provseided by xkeyboard-configAlexander Golubev2024-03-037-24/+40
| | | | | | | | | xkeyboard-config package comes with a message catalogue of its own to translate locale, keyboard model and xkb option names. It would be easier and more robust to utilize it instead of redoing all translation in-house. Signed-off-by: Alexander Golubev <[email protected]>
* kxkb: add missing connectAlexander Golubev2024-03-031-0/+1
| | | | | | | Overvise apply button on the dialog won't be enablen when the option is changed Signed-off-by: Alexander Golubev <[email protected]>
* kxkb: handle resetOld correctly in cases if all opions already setAlexander Golubev2024-02-081-4/+4
| | | | | | Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/issues/391 Signed-off-by: Alexander Golubev <[email protected]>
* Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT definesMichele Calgaro2024-01-165-53/+53
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Replace various '#define' strings - part 6Michele Calgaro2023-12-263-30/+30
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* KXkb: add keyboard layout notificationMavridis Philippe2023-12-2510-1/+126
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: move LayoutUnit struct into its own file and add getLayoutName functionMavridis Philippe2023-12-256-60/+84
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Replace Qt with TQtMichele Calgaro2023-11-132-10/+10
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, ↵Michele Calgaro2023-09-252-3/+3
| | | | | | QIODevice with TQ* version Signed-off-by: Michele Calgaro <[email protected]>
* Replace Q_OBJECT with TQ_OBJECTMichele Calgaro2023-07-204-5/+5
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* kxkb: prevent overflow in case of non-existing layout groupRoman Savochenko2023-06-291-2/+7
| | | | | Signed-off-by: Roman Savochenko <[email protected]> Signed-off-by: Michele Calgaro <[email protected]>
* kxkb: fix unnecessary translations strings.Roman Savochenko2023-06-291-3/+3
| | | | | Signed-off-by: Roman Savochenko <[email protected]> Signed-off-by: Michele Calgaro <[email protected]>
* kxkb: re-add custom TDE switching shortcutMavridis Philippe2023-06-1410-42/+135
| | | | | | This commit fixes issue #342. Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: improve TDE Control Centre module.Mavridis Philippe2023-03-2410-245/+778
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add conflicts check for hotkey checkboxes Due to the ability to set multiple keyboard layout switching hotkeys, it is important to inform the user of conflicting options that are not handled properly by the X.org server when set at the same time (e.g. Win+Space and Alt+Space). This change adds a warning that informs the user about the problem and the conflicting options. This warning is shown only when setting multiple hotkeys via the Xkb options tab, which is for the advanced user. Most users will ever need only one hotkey, and the combobox on the first tab should be more than enough. 2) Add "none" item to layout switching options 3) Replace Reset old options checkbox with radio buttons As per discussion, this makes the function of the option more apparent. WhatIs hints have been added for additional clarity. 4) Update hotkey combobox per server options 5) Avoid duplication of options by querying Xkb for already set options. This was a problem in Append Mode in which `setxkbmap` strings would get too long due to setting already set options. This code checks for already set options and omits them from the new `setxkbmap` call. This does not apply to Overwrite Mode. 6) Overwrite previous grp: options when using the combobox See previous commit message about the addition of hotkeys combobox. Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: Improve layout switchingMavridis Philippe2023-03-2415-712/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) New layout switching approach The new approach is based on the "grp" options group of Xkb and so enables us to use predefined X11 layout (group) switching hotkeys like "Caps Lock" or "Shift+Alt" (you can see the full list in the Options tab). The added bonus to this is that we conform to the Xkb setting. The code lets Xkb handle the keyboard layout switching hotkey(s) and is similar to the one that is used in kkbswitch, monitoring for an Xkb group (layout) change event. This solution required me to remove some hacky and obsolete code which was there to support really old pre-XFree-4.2 era systems and included the "include groups" hack. This means that the "Enable latin layout" checkbox is now gone and setxkbmap is only called when the keyboard layouts and/or options are modified, and not for every layout change. 2) Common layout switching hotkeys combobox A combobox was added to the first page of the Keyboard Layouts KCM module. It provides to the users a quick way to set a layout switching key combination. It also controls the "grp" group in the Xkb tab. A special note about this combobox is that, even if Append Mode was selected in the Xkb Options tab, this hotkey will overwrite previous hotkey options. This means that all grp: options will be forced removed before applying the option from the combobox (in contrast to specifying options via the Xkb Options tab, which, in Append Mode, will not get overwritten until next login). Signed-off-by: Mavridis Philippe <[email protected]>
* Kxkb: Improve Xkb option detectionMavridis Philippe2023-03-241-22/+90
| | | | | | | | 1. Prefer XML files for Xkb options, as on some systems they have the a fuller set of options with descriptions than plain Xkb rules files. 2. Various hacks to improve descriptions of newer Xkb options Signed-off-by: Mavridis Philippe <[email protected]>
* kxkb: transparent indicator background featureMavridis Philippe2022-03-196-98/+162
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Removed unneeded quit() call.Mavridis Philippe2021-06-021-4/+4
| | | | | | | This resolves a problem with Kxkb's Quit confirmation, where pressing Cancel would nevertheless quit the program. Signed-off-by: Mavridis Philippe <[email protected]>
* Added flags/definitions for existing locales.Mavridis Philippe2021-05-161-10/+28
| | | | | | | | | * Braille * Esperanto * Indonesian (Javanese) * Maori (New Zealand) Signed-off-by: Mavridis Philippe <[email protected]>
* Re-set previous layout after changing layout settings.Mavridis Philippe2021-05-162-120/+153
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Added customization options for KxkbMavridis Philippe2021-05-168-201/+569
| | | | Signed-off-by: Mavridis Philippe <[email protected]>
* Ask pkg-config/find_file where we can find the X11 Xkb rules directory and ↵aneejit12020-07-271-5/+22
| | | | | | add some more candidate paths for xkbd to search Signed-off-by: aneejit1 <[email protected]>
* Removed unused repeatBixBIOS checkbox from keyboard settings. This resolves ↵Michele Calgaro2020-07-211-21/+0
| | | | | | bug 3142. Signed-off-by: Michele Calgaro <[email protected]>
* Desktop file translations:Slávek Banko2020-06-285-525/+19
| | | | | | | + Creation of POT template for desktop files added to CMakeL10n rules. + Added creation of translated desktop files during build. Signed-off-by: Slávek Banko <[email protected]>
* Improve German translation and fix some desktop files.Chris2019-12-172-3/+3
| | | | Signed-off-by: Chris <[email protected]>
* Add CMakeL10n rules.Slávek Banko2018-12-091-0/+23
| | | | | | Update TIMEZONES list. Signed-off-by: Slávek Banko <[email protected]>
* Removed hard-coded reference to /opt/trinity. This resolves bug 680.Michele Calgaro2018-08-281-2/+3
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Fix memory leak after use XGetAtomNameSlávek Banko2017-03-251-10/+11
| | | | Signed-off-by: Slávek Banko <[email protected]>
* Fix invalid headers in PNG files and optimize for sizeTimothy Pearson2016-07-233-0/+0
|
* Fix FTBFS on freebsdSlávek Banko2015-06-122-2/+7
| | | | Signed-off-by: Slávek Banko <[email protected]>
* Fixed khelpcenter visualization bug. This solves bug 2188.Michele Calgaro2015-06-092-5/+5
| | | | Signed-off-by: Michele Calgaro <[email protected]>
* Bring keyboard icon into XDG complianceTimothy Pearson2015-03-262-2/+2
|
* Fixed help handbook sections for Regional & Accessibility. This relates to ↵Michele Calgaro2014-11-142-1/+16
| | | | bug 1850.
* Fix remaining missing semicolons at end of Keywords stringsTimothy Pearson2014-10-192-131/+131
|
* Revert "Fix remaining missing semicolons at end of Keywords strings"Timothy Pearson2014-10-192-131/+131
| | | | This reverts commit fd2369a8f0b40ef35586b3407750ec4662d1be7e.
* Fix remaining missing semicolons at end of Keywords stringsTimothy Pearson2014-10-192-131/+131
|
* Fix missing semicolons at end of Keywords stringsTimothy Pearson2014-10-182-2/+2
|