summaryrefslogtreecommitdiffstats
path: root/kxkb/rules.h
diff options
context:
space:
mode:
Diffstat (limited to 'kxkb/rules.h')
-rw-r--r--kxkb/rules.h46
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