Commit Graph

93 Commits (master)

Author SHA1 Message Date
Slávek Banko 59c2b00dd7
Fix FTBFS when building kxkb without tdehw library.
This relates to issue #550.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
2 weeks ago
Mavridis Philippe aed24cdf3f Kxkb: layout switching and UI bugfixes and minor refactoring
* Layout switching
  - 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.
  - Reapply Xkb settings when a keyboard device changes state
  - Do not run setxkbmap without arguments
  - Catch and process changes to Xkb layouts and options
  - Always check for Xkb opcode in X11 events, this fixes invalid group issue (Michele Calgaro)

* Tray indicator
  - Do not reload all Kxkb settings every time we are requested to get a pixmap!
  - Tray indicator pixmap manager improvements
  - Fix Quit tray icon menu item

* Configuration
  - Optimize settings reloading
  - 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
  - Use pointer to global KxkbConfig instance instead of keeping own copy
  - 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()` - no reason to exist as separate function

* Refactoring
  - Merged KxkbLabelController into KxkbSystemTray
  - Rename LayoutIcon to LayoutIconManager for clarity
  - Minor code cleanup in LayoutIconManager
  - Remove use of singleton pattern for LayoutIconManager
  - Make XKBExtension a singleton.
  - 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
  - No need to use `tdeApp` pointer in KXKBApp (KUniqueApplication) class
  - Consistent code style and more appropriate function names and return types
  - Commented option sections for clarity
  - Removed superfluous debug messages
  - Add proper copyright header to extension.*

* Settings GUI
  - Make "Transparent background" checkbox available for theme colors in the GUI
  - Add customization options "Stretch flag", "Dim flag", "Show indicator bevel"
  - Disable KMilo checkbox when layout notifications disabled
  - Fix reading settings for TDE layout hotkeys

This resolves #547.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 weeks ago
Michele Calgaro 669c9bc7d8
Use tdestandarddirs.h
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 months ago
Michele Calgaro cbf7df3a2e
Use tdeglobalaccel.h
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 months ago
Michele Calgaro 834496cf73
Use tdeApp
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 months ago
Michele Calgaro 6671b1a5d0
Use tdeprocess.h
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
5 months ago
Michele Calgaro c1e3b95ae6
Rename KUniqueApplication to TDEUniqueApplication
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
5 months ago
Michele Calgaro 8afb12b32b
Improve settings for some sliders related to keyboard, accessibility and style. This also solves issue #513
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
9 months ago
Michele Calgaro 026828840f
Replace KDE_[NO_]EXPORT with TDE_[NO_]EXPORT
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
12 months ago
Alexander Golubev 174b64e809 kxkb: fix incorrect signal name introduced by 1fea8982f
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
1 year ago
Alexander Golubev 18a8b8d435 kxkb: utilize a translations provseided by xkeyboard-config
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 <fatzer2@gmail.com>
1 year ago
Alexander Golubev 1fea8982fd kxkb: add missing connect
Overvise apply button on the dialog won't be enablen when the option is
changed

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
1 year ago
Alexander Golubev d0c145d5a3 kxkb: handle resetOld correctly in cases if all opions already set
Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/issues/391

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
1 year ago
Michele Calgaro a4241b7911
Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
1 year ago
Michele Calgaro c4a6487c82
Replace various '#define' strings - part 6
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
1 year ago
Mavridis Philippe 7c724a4921
KXkb: add keyboard layout notification
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
1 year ago
Mavridis Philippe 9647d4c7ff
Kxkb: move LayoutUnit struct into its own file and add getLayoutName function
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
1 year ago
Michele Calgaro b965cbac5b
Replace Qt with TQt
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
1 year ago
Michele Calgaro 33c7d15989
Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, QIODevice with TQ* version
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Michele Calgaro 814bf5fc4f
Replace Q_OBJECT with TQ_OBJECT
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Roman Savochenko d4d334c1af
kxkb: prevent overflow in case of non-existing layout group
Signed-off-by: Roman Savochenko <roman@oscada.org>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Roman Savochenko d17e353a02
kxkb: fix unnecessary translations strings.
Signed-off-by: Roman Savochenko <roman@oscada.org>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Mavridis Philippe 22bb398b3b
kxkb: re-add custom TDE switching shortcut
This commit fixes issue #342.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
2 years ago
Mavridis Philippe e8208c1dfb
Kxkb: improve TDE Control Centre module.
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 <mavridisf@gmail.com>
2 years ago
Mavridis Philippe a67db2d484
Kxkb: Improve layout switching
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 <mavridisf@gmail.com>
2 years ago
Mavridis Philippe b50ab13974
Kxkb: Improve Xkb option detection
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 <mavridisf@gmail.com>
2 years ago
Mavridis Philippe d048506bb6
kxkb: transparent indicator background feature
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
3 years ago
Mavridis Philippe 3bdd919eec
Removed unneeded quit() call.
This resolves a problem with Kxkb's Quit confirmation, where pressing Cancel
would nevertheless quit the program.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
4 years ago
Mavridis Philippe ff8e7b2753
Added flags/definitions for existing locales.
* Braille
* Esperanto
* Indonesian (Javanese)
* Maori (New Zealand)

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
4 years ago
Mavridis Philippe 44ae59c0d9
Re-set previous layout after changing layout settings.
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
4 years ago
Mavridis Philippe eff93621da
Added customization options for Kxkb
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
4 years ago
aneejit1 3abd9e912c Ask pkg-config/find_file where we can find the X11 Xkb rules directory and add some more candidate paths for xkbd to search
Signed-off-by: aneejit1 <aneejit1@gmail.com>
5 years ago
Michele Calgaro c320afae2f Removed unused repeatBixBIOS checkbox from keyboard settings. This resolves bug 3142.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
5 years ago
Slávek Banko 2f706891f3
Desktop file translations:
+ 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 <slavek.banko@axis.cz>
5 years ago
Chris 7b55ca5987 Improve German translation and fix some desktop files.
Signed-off-by: Chris <xchrisx@uber.space>
5 years ago
Slávek Banko b95b665c78
Add CMakeL10n rules.
Update TIMEZONES list.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Michele Calgaro bcbc3ba665
Removed hard-coded reference to /opt/trinity. This resolves bug 680.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Slávek Banko ba2fe63167 Fix memory leak after use XGetAtomName
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
8 years ago
Timothy Pearson 09dce5e19f Fix invalid headers in PNG files and optimize for size 9 years ago
Slávek Banko 08122b137e Fix FTBFS on freebsd
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
10 years ago
Michele Calgaro da25462d26 Fixed khelpcenter visualization bug. This solves bug 2188.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
10 years ago
Timothy Pearson 477ef4454d Bring keyboard icon into XDG compliance 10 years ago
Michele Calgaro 8858fc1159 Fixed help handbook sections for Regional & Accessibility. This relates to bug 1850. 11 years ago
Timothy Pearson cce4a56a19 Fix remaining missing semicolons at end of Keywords strings 11 years ago
Timothy Pearson b9637c7590 Revert "Fix remaining missing semicolons at end of Keywords strings"
This reverts commit fd2369a8f0.
11 years ago
Timothy Pearson fd2369a8f0 Fix remaining missing semicolons at end of Keywords strings 11 years ago
Timothy Pearson 0c11ace605 Fix missing semicolons at end of Keywords strings 11 years ago
Timothy Pearson 24db855178 Fix ServiceTypes, ExcludeServiceTypes, and DocPath desktop file entries to match XDG specifications 11 years ago
Timothy Pearson ee9dade9cf Fix Keywords separators to match XDG desktop specifications 11 years ago
Darrell Anderson 26dbe18ed4 KDE->TDE branding cleanup. 11 years ago