diff options
Diffstat (limited to 'kxkb/extension.h')
-rw-r--r-- | kxkb/extension.h | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/kxkb/extension.h b/kxkb/extension.h index 091cce582..7bc085dbf 100644 --- a/kxkb/extension.h +++ b/kxkb/extension.h @@ -1,7 +1,36 @@ +/******************************************************************************* + + Xkb extension for KXkb + Copyright © 2009-2025 Trinity Desktop project + Copyright © 2001 S.R. Haque <[email protected]> + + Derived from an original by Matthias H�zer-Klpfel released under the QPL. + + Some portions come from kkbswitch released under the GNU GPL v2 (or later). + Copyright © 2001 Leonid Zeitlin <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + +*******************************************************************************/ + #ifndef __EXTENSION_H__ #define __EXTENSION_H__ #include <X11/Xlib.h> + #include <tqobject.h> #include "kxkbconfig.h" @@ -11,24 +40,43 @@ class XKBExtension : public TQObject TQ_OBJECT public: - XKBExtension(Display *display=NULL); + static XKBExtension *the(); ~XKBExtension(); + + XKBExtension(XKBExtension const&) = delete; + void operator=(XKBExtension const&) = delete; + bool init(); - static bool setXkbOptions(const XkbOptions options); - static TQString getServerOptions(); + bool setXkbOptions(const XkbOptions options); bool setGroup(uint group); + uint getGroup() const; + XkbOptions getServerOptions(); + void processXEvent(XEvent *ev); + void acquireConfigureLock(); + void releaseConfigureLock(); + + bool kcmlayoutRunning(); + +private slots: + void slotReleaseConfigureLock(); + +protected: + XKBExtension() {} + private: - Display *m_dpy; + Display *m_dpy; TQString m_tempDir; int m_keycode; static TQMap<TQString, FILE*> fileCache; + int m_configureLock; signals: void groupChanged(uint group); + void optionsChanged(); }; #endif |