diff options
Diffstat (limited to 'kxkb/kcmlayout.h')
-rw-r--r-- | kxkb/kcmlayout.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/kxkb/kcmlayout.h b/kxkb/kcmlayout.h new file mode 100644 index 000000000..76c8b6d55 --- /dev/null +++ b/kxkb/kcmlayout.h @@ -0,0 +1,62 @@ +#ifndef __KCM_LAYOUT_H__ +#define __KCM_LAYOUT_H__ + + +#include <kcmodule.h> + +#include <qstring.h> +#include <qlistview.h> + +#include "kxkbconfig.h" + + +class OptionListItem; +class LayoutConfigWidget; +class XkbRules; + +class LayoutConfig : public KCModule +{ + Q_OBJECT + +public: + LayoutConfig(QWidget *parent = 0L, const char *name = 0L); + virtual ~LayoutConfig(); + + void load(); + void save(); + void defaults(); + void initUI(); + +protected: + QString createOptionString(); + void updateIndicator(QListViewItem* selLayout); + +protected slots: + void moveUp(); + void moveDown(); + void variantChanged(); + void displayNameChanged(const QString& name); + void latinChanged(); + void layoutSelChanged(QListViewItem *); + void loadRules(); + void updateLayoutCommand(); + void updateOptionsCommand(); + void add(); + void remove(); + + void changed(); + +private: + LayoutConfigWidget* widget; + + XkbRules *m_rules; + KxkbConfig m_kxkbConfig; + QDict<OptionListItem> m_optionGroups; + + QWidget* makeOptionsTab(); + void updateStickyLimit(); + static LayoutUnit getLayoutUnitKey(QListViewItem *sel); +}; + + +#endif |