diff --git a/clients/oxygen/config/oxygenconfig.cpp b/clients/oxygen/config/oxygenconfig.cpp index 6c256ebb39..03a15a813b 100644 --- a/clients/oxygen/config/oxygenconfig.cpp +++ b/clients/oxygen/config/oxygenconfig.cpp @@ -141,60 +141,26 @@ namespace Oxygen void Config::save( KConfigGroup& ) { + // create configuration from UI + Configuration configuration; + configuration.setTitleAlignment( Configuration::titleAlignment( userInterface_->ui.titleAlignment->currentText(), true ) ); + configuration.setButtonSize( Configuration::buttonSize( userInterface_->ui.buttonSize->currentText(), true ) ); + configuration.setBlendColor( Configuration::blendColor( userInterface_->ui.blendColor->currentText(), true ) ); + configuration.setFrameBorder( Configuration::frameBorder( userInterface_->ui.frameBorder->currentText(), true ) ); + configuration.setSizeGripMode( Configuration::sizeGripMode( userInterface_->ui.sizeGripMode->currentText(), true ) ); + configuration.setSeparatorMode( (Oxygen::Configuration::SeparatorMode) userInterface_->ui.separatorMode->currentIndex() ); + configuration.setDrawTitleOutline( userInterface_->ui.titleOutline->isChecked() ); + configuration.setUseDropShadows( userInterface_->shadowConfigurations[1]->isChecked() ); + configuration.setUseOxygenShadows( userInterface_->shadowConfigurations[0]->isChecked() ); + configuration.setTabsEnabled( userInterface_->ui.tabsEnabled->isChecked() ); + configuration.setUseAnimations( userInterface_->ui.useAnimations->isChecked() ); + configuration.setAnimateTitleChange( userInterface_->ui.animateTitleChange->isChecked() ); + configuration.setUseNarrowButtonSpacing( userInterface_->ui.narrowButtonSpacing->isChecked() ); + // save standard configuration KConfigGroup configurationGroup( configuration_, "Windeco"); - - // when writing text entries, on needs to make sure that strings written - // to the configuration file are *not* translated using current locale - configurationGroup.writeEntry( - OxygenConfig::TITLE_ALIGNMENT, - Configuration::titleAlignmentName( Configuration::titleAlignment( userInterface_->ui.titleAlignment->currentText(), true ), false ) ); - - configurationGroup.writeEntry( - OxygenConfig::BUTTON_SIZE, - Configuration::buttonSizeName( Configuration::buttonSize( userInterface_->ui.buttonSize->currentText(), true ), false ) ); - - configurationGroup.writeEntry( - OxygenConfig::BLEND_COLOR, - Configuration::blendColorName( Configuration::blendColor( userInterface_->ui.blendColor->currentText(), true ), false ) ); - - configurationGroup.writeEntry( - OxygenConfig::FRAME_BORDER, - Configuration::frameBorderName( Configuration::frameBorder( userInterface_->ui.frameBorder->currentText(), true ), false ) ); - - configurationGroup.writeEntry( - OxygenConfig::SIZE_GRIP_MODE, - Configuration::sizeGripModeName( Configuration::sizeGripMode( userInterface_->ui.sizeGripMode->currentText(), true ), false ) ); - - configurationGroup.writeEntry( - OxygenConfig::SHADOW_CACHE_MODE, - Configuration::shadowCacheModeName( Configuration::shadowCacheMode( userInterface_->ui.shadowCacheMode->currentText(), true ), false ) ); - - switch( userInterface_->ui.separatorMode->currentIndex() ) - { - default: - case 0: - configurationGroup.writeEntry( OxygenConfig::DRAW_SEPARATOR, false ); - break; - - case 1: - configurationGroup.writeEntry( OxygenConfig::DRAW_SEPARATOR, true ); - configurationGroup.writeEntry( OxygenConfig::SEPARATOR_ACTIVE_ONLY, true ); - break; - - case 2: - configurationGroup.writeEntry( OxygenConfig::DRAW_SEPARATOR, true ); - configurationGroup.writeEntry( OxygenConfig::SEPARATOR_ACTIVE_ONLY, false ); - break; - } - - configurationGroup.writeEntry( OxygenConfig::DRAW_TITLE_OUTLINE, userInterface_->ui.titleOutline->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::USE_DROP_SHADOWS, userInterface_->shadowConfigurations[1]->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::USE_OXYGEN_SHADOWS, userInterface_->shadowConfigurations[0]->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::TABS_ENABLED, userInterface_->ui.tabsEnabled->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::USE_ANIMATIONS, userInterface_->ui.useAnimations->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::ANIMATE_TITLE_CHANGE, userInterface_->ui.animateTitleChange->isChecked() ); - configurationGroup.writeEntry( OxygenConfig::NARROW_BUTTON_SPACING, userInterface_->ui.narrowButtonSpacing->isChecked() ); + configurationGroup.deleteGroup(); + configuration.write( configurationGroup ); // write exceptions userInterface_->ui.exceptions->exceptions().write( *configuration_ );