void Settings::settingsSaveRestore( bool save ){ if( save ) setValue("SettingsDefined", true ); beginGroup( "ViewSettings" ); { beginGroup( "MainText" ); { beginGroup( "FontsAndColors" ); { if( save ) { setValue(....); ...... } else { var = value(....).value<QColor>(); .... } } endGroup(); // FontsAndColors //beginGroup( "DistanciesAndSizes" ); //endGroup(); // DistanciesAndSizes beginGroup( "OtherSettings" ); { if( save ) { setValue(....); .... } else { value = value(....).toInt(); .... } } endGroup(); // OtherSettings } endGroup(); // MainText //beginGroup( "ConsoleText" ); { //beginGroup( "FontsAndColors" ); //endGroup(); // FontsAndColors //beginGroup( "OtherSettings" ); //endGroup(); //OtherSettings } //endGroup(); // ConsoleText //beginGroup( "SelectAndViewWins" ); //endGroup(); // SelectAndViewWins } endGroup(); // ViewSettings beginGroup( "ShellSettings" ); { if( save ) { setValue("MRUlist", MRUlist ); } else { MRUlist = value("MRUlist").toStringList(); } } endGroup(); //ShellSettings if( save ) sync();}
Settings::Settings() : QSettings( "settings.ini", QSettings::IniFormat ){ if( !value( "SettingsDefined" ).toBool() ) { // файл только что создан, установки не определены, заполняются умолчательными значениями resetDefaultSettings(); settingsSaveRestore( true ); } else // установки загружены из файла settingsSaveRestore( false );}