diff options
Diffstat (limited to 'kxkb/rules.h')
-rw-r--r-- | kxkb/rules.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/kxkb/rules.h b/kxkb/rules.h new file mode 100644 index 000000000..a4955317e --- /dev/null +++ b/kxkb/rules.h @@ -0,0 +1,46 @@ +#ifndef __RULES_H__ +#define __RULES_H__ + +#include <tqstring.h> +#include <tqdict.h> +#include <tqmap.h> + + +class XkbRules +{ +public: + + XkbRules(bool layoutsOnly=false); + + const TQDict<char> &models() const { return m_models; }; + const TQDict<char> &layouts() const { return m_layouts; }; + const TQDict<char> &options() const { return m_options; }; + + TQStringList getAvailableVariants(const TQString& layout); + unsigned int getDefaultGroup(const TQString& layout, const TQString& includeGroup); + + bool isSingleGroup(const TQString& layout); + +protected: + + void loadRules(TQString filename, bool layoutsOnly=false); + void loadGroups(TQString filename); + void loadOldLayouts(TQString filename); + +private: + + TQDict<char> m_models; + TQDict<char> m_layouts; + TQDict<char> m_options; + TQMap<TQString, unsigned int> m_initialGroups; + TQDict<TQStringList> m_varLists; + TQStringList m_oldLayouts; + TQStringList m_nonLatinLayouts; + + TQString X11_DIR; // pseudo-constant + +// void fixLayouts(); +}; + + +#endif |