diff options
Diffstat (limited to 'kxkb/kxkbconfig.cpp')
-rw-r--r-- | kxkb/kxkbconfig.cpp | 81 |
1 files changed, 23 insertions, 58 deletions
diff --git a/kxkb/kxkbconfig.cpp b/kxkb/kxkbconfig.cpp index 8e6890161..183709769 100644 --- a/kxkb/kxkbconfig.cpp +++ b/kxkb/kxkbconfig.cpp @@ -30,27 +30,14 @@ static const char* switchModes[SWITCH_POLICY_COUNT] = { const LayoutUnit DEFAULT_LAYOUT_UNIT = LayoutUnit("us", ""); const char* DEFAULT_MODEL = "pc104"; -LayoutUnit KxkbConfig::getDefaultLayout() -{ - if( m_layouts.size() == 0 ) - return DEFAULT_LAYOUT_UNIT; - - return m_layouts[0]; -} - bool KxkbConfig::load(int loadMode) { TDEConfig *config = new TDEConfig("kxkbrc", true, false); config->setGroup("Layout"); -// Even if the layouts have been disabled we still want to set Xkb options -// user can always switch them off now in the "Options" tab - m_enableXkbOptions = config->readBoolEntry("EnableXkbOptions", false); - - if( m_enableXkbOptions == true || loadMode == LOAD_ALL ) { + if( loadMode == LOAD_ALL ) { m_resetOldOptions = config->readBoolEntry("ResetOldOptions", false); m_options = config->readEntry("Options", ""); - kdDebug() << "Xkb options (enabled=" << m_enableXkbOptions << "): " << m_options << endl; } m_useKxkb = config->readBoolEntry("Use", false); @@ -81,7 +68,7 @@ bool KxkbConfig::load(int loadMode) kdDebug() << " layout " << LayoutUnit(*it).toPair() << " in list: " << m_layouts.contains( LayoutUnit(*it) ) << endl; } - kdDebug() << "Found " << m_layouts.count() << " layouts, default is " << getDefaultLayout().toPair() << endl; + kdDebug() << "Found " << m_layouts.count() << " layouts" << endl; TQStringList displayNamesList = config->readListEntry("DisplayNames", ','); for(TQStringList::ConstIterator it = displayNamesList.begin(); it != displayNamesList.end() ; ++it) { @@ -94,37 +81,6 @@ bool KxkbConfig::load(int loadMode) } } -// m_includes.clear(); - if( X11Helper::areSingleGroupsSupported() ) { - if( config->hasKey("IncludeGroups") ) { - TQStringList includeList = config->readListEntry("IncludeGroups", ','); - for(TQStringList::ConstIterator it = includeList.begin(); it != includeList.end() ; ++it) { - TQStringList includePair = TQStringList::split(':', *it ); - if( includePair.count() == 2 ) { - LayoutUnit layoutUnit( includePair[0] ); - if( m_layouts.contains( layoutUnit ) ) { - m_layouts[m_layouts.findIndex(layoutUnit)].includeGroup = includePair[1]; - kdDebug() << "Got inc group: " << includePair[0] << ": " << includePair[1] << endl; - } - } - } - } - else { //old includes format - kdDebug() << "Old includes..." << endl; - TQStringList includeList = config->readListEntry("Includes"); - for(TQStringList::ConstIterator it = includeList.begin(); it != includeList.end() ; ++it) { - TQString layoutName = LayoutUnit::parseLayout( *it ); - LayoutUnit layoutUnit( layoutName, "" ); - kdDebug() << "old layout for inc: " << layoutUnit.toPair() << " included " << m_layouts.contains( layoutUnit ) << endl; - if( m_layouts.contains( layoutUnit ) ) { - TQString variantName = LayoutUnit::parseVariant(*it); - m_layouts[m_layouts.findIndex(layoutUnit)].includeGroup = variantName; - kdDebug() << "Got inc group: " << layoutUnit.toPair() << ": " << variantName << endl; - } - } - } - } - m_showSingle = config->readBoolEntry("ShowSingle", false); m_showFlag = config->readBoolEntry("ShowFlag", true); m_showLabel = config->readBoolEntry("ShowLabel", true); @@ -185,12 +141,10 @@ void KxkbConfig::save() config->writeEntry("Model", m_model); - config->writeEntry("EnableXkbOptions", m_enableXkbOptions ); config->writeEntry("ResetOldOptions", m_resetOldOptions); config->writeEntry("Options", m_options ); TQStringList layoutList; - TQStringList includeList; TQStringList displayNamesList; TQValueList<LayoutUnit>::ConstIterator it; @@ -199,11 +153,6 @@ void KxkbConfig::save() layoutList.append( layoutUnit.toPair() ); - if( layoutUnit.includeGroup.isEmpty() == false ) { - TQString incGroupUnit = TQString("%1:%2").arg(layoutUnit.toPair(), layoutUnit.includeGroup); - includeList.append( incGroupUnit ); - } - TQString displayName( layoutUnit.displayName ); kdDebug() << " displayName " << layoutUnit.toPair() << " : " << displayName << endl; if( displayName.isEmpty() == false && displayName != layoutUnit.layout ) { @@ -215,9 +164,6 @@ void KxkbConfig::save() config->writeEntry("LayoutList", layoutList); kdDebug() << "Saving Layouts: " << layoutList << endl; - config->writeEntry("IncludeGroups", includeList); - kdDebug() << "Saving includeGroups: " << includeList << endl; - // if( displayNamesList.empty() == false ) config->writeEntry("DisplayNames", displayNamesList); // else @@ -259,7 +205,6 @@ void KxkbConfig::setDefaults() { m_model = DEFAULT_MODEL; - m_enableXkbOptions = false; m_resetOldOptions = false; m_options = ""; @@ -321,6 +266,26 @@ TQString KxkbConfig::getDefaultDisplayName(const LayoutUnit& layoutUnit, bool si return displayName; } +const XkbOptions KxkbConfig::getXkbOptions() { + load(LOAD_ALL); + + XkbOptions options; + TQStringList layouts; + TQStringList variants; + for(TQValueList<LayoutUnit>::ConstIterator it = m_layouts.begin(); it != m_layouts.end(); ++it) { + const LayoutUnit& layoutUnit = *it; + layouts << layoutUnit.layout; + variants << layoutUnit.variant; + } + options.layouts = layouts.join(","); + options.variants = variants.join(","); + options.model = m_model; + options.options = m_options; + kdDebug() << "[getXkbOptions] options: " << m_options << endl; + options.resetOld = m_resetOldOptions; + return options; +} + /** * @brief Gets the single layout part of a layout(variant) string * @param[in] layvar String in form layout(variant) to parse @@ -356,4 +321,4 @@ const TQString LayoutUnit::parseVariant(const TQString &layvar) if( pos < 2 || len < 2 ) return ""; return varLine.mid(pos+1, len-2); -} +}
\ No newline at end of file |