diff options
Diffstat (limited to 'kxkb/kxkbconfig.h')
-rw-r--r-- | kxkb/kxkbconfig.h | 79 |
1 files changed, 20 insertions, 59 deletions
diff --git a/kxkb/kxkbconfig.h b/kxkb/kxkbconfig.h index 0f8c981ea..7d02fd3a3 100644 --- a/kxkb/kxkbconfig.h +++ b/kxkb/kxkbconfig.h @@ -19,6 +19,15 @@ #include <tqptrqueue.h> #include <tqmap.h> +#include "layoutunit.h" + +struct XkbOptions { + TQString layouts; + TQString variants; + TQString model; + TQString options; + bool resetOld; +}; /* Utility classes for per-window/per-application layout implementation */ @@ -29,61 +38,6 @@ enum SwitchingPolicy { SWITCH_POLICY_COUNT = 3 }; - - -inline TQString createPair(TQString key, TQString value) -{ - if( value.isEmpty() ) - return key; - return TQString("%1(%2)").arg(key, value); -} - -struct LayoutUnit { - TQString layout; - TQString variant; - TQString includeGroup; - TQString displayName; - int defaultGroup; - - LayoutUnit() {} - - LayoutUnit(TQString layout_, TQString variant_): - layout(layout_), - variant(variant_) - {} - - LayoutUnit(TQString pair) { - setFromPair( pair ); - } - - void setFromPair(const TQString& pair) { - layout = parseLayout(pair); - variant = parseVariant(pair); - } - - TQString toPair() const { - return createPair(layout, variant); - } - - bool operator<(const LayoutUnit& lu) const { - return layout<lu.layout || - (layout==lu.layout && variant<lu.variant); - } - - bool operator!=(const LayoutUnit& lu) const { - return layout!=lu.layout || variant!=lu.variant; - } - - bool operator==(const LayoutUnit& lu) const { -// kdDebug() << layout << "==" << lu.layout << "&&" << variant << "==" << lu.variant << endl; - return layout==lu.layout && variant==lu.variant; - } - -//private: - static const TQString parseLayout(const TQString &layvar); - static const TQString parseVariant(const TQString &layvar); -}; - extern const LayoutUnit DEFAULT_LAYOUT_UNIT; extern const char* DEFAULT_MODEL; @@ -91,20 +45,26 @@ extern const char* DEFAULT_MODEL; class KxkbConfig { public: - enum { LOAD_INIT_OPTIONS, LOAD_ACTIVE_OPTIONS, LOAD_ALL }; + enum { LOAD_INIT_OPTIONS, LOAD_BASIC_OPTIONS, LOAD_ALL_OPTIONS }; bool m_useKxkb; bool m_showSingle; bool m_showFlag; bool m_showLabel; + bool m_fitToBox; + bool m_dimFlag; + bool m_bevel; bool m_enableXkbOptions; bool m_resetOldOptions; SwitchingPolicy m_switchingPolicy; bool m_stickySwitching; int m_stickySwitchingDepth; + bool m_enableNotify; + bool m_notifyUseKMilo; bool m_useThemeColors; TQColor m_colorBackground; + bool m_bgTransparent; TQColor m_colorLabel; TQFont m_labelFont; bool m_labelShadow; @@ -114,9 +74,7 @@ public: TQString m_options; TQValueList<LayoutUnit> m_layouts; - LayoutUnit getDefaultLayout(); - - bool load(int loadMode); + void load(int loadMode); void save(); void setDefaults(); @@ -124,6 +82,9 @@ public: static TQString getDefaultDisplayName(const TQString& code_); static TQString getDefaultDisplayName(const LayoutUnit& layoutUnit, bool single=false); + bool setFromXkbOptions(XkbOptions options); + const XkbOptions getKXkbOptions(); + private: static const TQMap<TQString, TQString> parseIncludesMap(const TQStringList& pairList); }; |