diff options
Diffstat (limited to 'kxkb/extension.h')
-rw-r--r-- | kxkb/extension.h | 84 |
1 files changed, 65 insertions, 19 deletions
diff --git a/kxkb/extension.h b/kxkb/extension.h index bf4293d2b..e8c9c7d7c 100644 --- a/kxkb/extension.h +++ b/kxkb/extension.h @@ -1,37 +1,83 @@ +/******************************************************************************* + + Xkb extension for KXkb + Copyright © 2009-2025 Trinity Desktop project + Copyright © 2001 S.R. Haque <srhaque@iee.org> + + 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 <lz@europe.com> + + 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> -class XKBExtension +#include "kxkbconfig.h" + +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(); - void reset(); - static bool setXkbOptions(const TQString& options, bool resetOldOptions); - bool setLayout(const TQString& model, - const TQString& layout, const TQString& variant, - const TQString& includeGroup, bool useCompiledLayouts=true); - bool setGroup(unsigned int group); - unsigned int getGroup() const; + bool setXkbOptions(const XkbOptions options); + bool setGroup(uint group); + + uint getGroup() const; + XkbOptions getServerOptions(); + + void processXEvent(XEvent *ev); + + void enableConfigureFilter(); + void disableConfigureFilter(); + + 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; - - bool setLayoutInternal(const TQString& model, - const TQString& layout, const TQString& variant, - const TQString& includeGroup); - bool compileCurrentLayout(const TQString& layoutKey); - bool setCompiledLayout(const TQString& layoutKey); - - TQString getPrecompiledLayoutFilename(const TQString& layoutKey); -// void deletePrecompiledLayouts(); + int m_configureFilterCounter; + int m_xkb_opcode; + +signals: + void groupChanged(uint group); + void optionsChanged(); }; #endif |