#ifndef __RULES_H__ #define __RULES_H__ #include #include #include class XkbRules { public: XkbRules(bool layoutsOnly=false); const QDict &models() const { return m_models; }; const QDict &layouts() const { return m_layouts; }; const QDict &options() const { return m_options; }; QStringList getAvailableVariants(const QString& layout); unsigned int getDefaultGroup(const QString& layout, const QString& includeGroup); bool isSingleGroup(const QString& layout); protected: void loadRules(QString filename, bool layoutsOnly=false); void loadGroups(QString filename); void loadOldLayouts(QString filename); private: QDict m_models; QDict m_layouts; QDict m_options; QMap m_initialGroups; QDict m_varLists; QStringList m_oldLayouts; QStringList m_nonLatinLayouts; QString X11_DIR; // pseudo-constant // void fixLayouts(); }; #endif