diff options
Diffstat (limited to 'kxkb/kxkbconfig.h')
-rw-r--r-- | kxkb/kxkbconfig.h | 93 |
1 files changed, 30 insertions, 63 deletions
diff --git a/kxkb/kxkbconfig.h b/kxkb/kxkbconfig.h index 82fe610c9..4e424102a 100644 --- a/kxkb/kxkbconfig.h +++ b/kxkb/kxkbconfig.h @@ -1,7 +1,7 @@ // // C++ Interface: kxkbconfig // -// Description: +// Description: // // // Author: Andriy Rysin <rysin@kde.org>, (C) 2006 @@ -14,74 +14,30 @@ #include <tqstring.h> #include <tqstringlist.h> +#include <tqcolor.h> +#include <tqfont.h> #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 */ -enum SwitchingPolicy { +enum SwitchingPolicy { SWITCH_POLICY_GLOBAL = 0, SWITCH_POLICY_WIN_CLASS = 1, SWITCH_POLICY_WINDOW = 2, 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; @@ -90,31 +46,42 @@ class KxkbConfig { public: enum { LOAD_INIT_OPTIONS, LOAD_ACTIVE_OPTIONS, LOAD_ALL }; - + bool m_useKxkb; bool m_showSingle; bool m_showFlag; + bool m_showLabel; 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; + TQColor m_colorShadow; + TQString m_model; TQString m_options; TQValueList<LayoutUnit> m_layouts; - LayoutUnit getDefaultLayout(); - bool load(int loadMode); void save(); void setDefaults(); - + TQStringList getLayoutStringList(/*bool compact*/); static TQString getDefaultDisplayName(const TQString& code_); static TQString getDefaultDisplayName(const LayoutUnit& layoutUnit, bool single=false); -private: + const XkbOptions getKXkbOptions(); + +private: static const TQMap<TQString, TQString> parseIncludesMap(const TQStringList& pairList); }; |