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