void ActionDialog::restoreHistory() { const int maxCount = AppConfig().option<Config::command_history_size>(); ui->comboBoxCommands->setMaxCount(maxCount); QFile file( dataFilename() ); file.open(QIODevice::ReadOnly); QDataStream in(&file); QVariant v; ui->comboBoxCommands->clear(); ui->comboBoxCommands->addItem(QString()); while( !in.atEnd() ) { in >> v; if (v.canConvert(QVariant::String)) { // backwards compatibility with versions up to 1.8.2 QVariantMap values; values["cmd"] = v; ui->comboBoxCommands->addItem(commandToLabel(v.toString()), values); } else { QVariantMap values = v.value<QVariantMap>(); ui->comboBoxCommands->addItem(commandToLabel(values["cmd"].toString()), v); } } ui->comboBoxCommands->setCurrentIndex(0); }
void ConfigurationManager::loadSettings() { QSettings settings; settings.beginGroup("Options"); for (auto it = m_options.begin(); it != m_options.end(); ++it) { const auto &option = it.key(); auto &value = it.value(); if ( settings.contains(option) ) { const auto newValue = settings.value(option); if ( !newValue.isValid() || !value.setValue(newValue) ) log( tr("Invalid value for option \"%1\"").arg(option), LogWarning ); } else { value.reset(); } } settings.endGroup(); settings.beginGroup("Shortcuts"); ui->configTabShortcuts->loadShortcuts(settings); settings.endGroup(); settings.beginGroup("Theme"); ui->configTabAppearance->loadTheme(settings); settings.endGroup(); ui->configTabAppearance->setEditor( AppConfig().option<Config::editor>() ); onCheckBoxMenuTabIsCurrentStateChanged( ui->checkBoxMenuTabIsCurrent->checkState() ); updateTabComboBoxes(); updateAutostart(); }
AppLayerTest::AppLayerTest(bool aIsMaster, size_t aNumRetry, FilterLevel aLevel, bool aImmediate) : LogTester(aImmediate), user(aIsMaster), lower(mLog.GetLogger(aLevel, "lower")), mts(), app(mLog.GetLogger(aLevel, "app"), &mts, AppConfig(1000, aNumRetry)) { lower.SetUpperLayer(&app); app.SetUser(&user); }
bool ConfigurationManager::setOptionValue(const QString &name, const QString &value) { if ( !m_options.contains(name) ) return false; const QString oldValue = optionValue(name).toString(); m_options[name].setValue(value); if ( optionValue(name) == oldValue ) return false; AppConfig().setOption(name, m_options[name].value()); emit configurationChanged(); return true; }
void ConfigurationManager::apply() { Settings settings; settings.beginGroup("Options"); for (auto it = m_options.constBegin(); it != m_options.constEnd(); ++it) settings.setValue( it.key(), it.value().value() ); settings.endGroup(); // Save configuration without command line alternatives only if option widgets are initialized // (i.e. clicked OK or Apply in configuration dialog). settings.beginGroup("Shortcuts"); ui->configTabShortcuts->saveShortcuts(settings.settingsData()); settings.endGroup(); settings.beginGroup("Theme"); ui->configTabAppearance->saveTheme(settings.settingsData()); settings.endGroup(); // Save settings for each plugin. settings.beginGroup("Plugins"); QStringList pluginPriority; pluginPriority.reserve( ui->itemOrderListPlugins->itemCount() ); for (int i = 0; i < ui->itemOrderListPlugins->itemCount(); ++i) { const QString loaderId = ui->itemOrderListPlugins->data(i).toString(); Q_ASSERT(!loaderId.isEmpty()); pluginPriority.append(loaderId); settings.beginGroup(loaderId); QWidget *w = ui->itemOrderListPlugins->widget(i); if (w) { PluginWidget *pluginWidget = qobject_cast<PluginWidget *>(w); const auto &loader = pluginWidget->loader(); const QVariantMap s = loader->applySettings(); for (auto it = s.constBegin(); it != s.constEnd(); ++it) settings.setValue( it.key(), it.value() ); } const bool isPluginEnabled = ui->itemOrderListPlugins->isItemChecked(i); settings.setValue("enabled", isPluginEnabled); settings.endGroup(); } settings.endGroup(); if (!pluginPriority.isEmpty()) settings.setValue("plugin_priority", pluginPriority); ui->configTabAppearance->setEditor( AppConfig().option<Config::editor>() ); setAutostartEnable(); // Language changes after restart. const int newLocaleIndex = ui->comboBoxLanguage->currentIndex(); const QString newLocaleName = ui->comboBoxLanguage->itemData(newLocaleIndex).toString(); QString oldLocaleName = settings.value("Options/language").toString(); if (oldLocaleName.isEmpty()) oldLocaleName = "en"; const QLocale oldLocale; settings.setValue("Options/language", newLocaleName); if (QLocale(newLocaleName).name() != oldLocale.name() && newLocaleName != oldLocaleName) { QMessageBox::information( this, tr("Restart Required"), tr("Language will be changed after application is restarted.") ); } }
void ConfigurationManager::setAutostartEnable() { PlatformPtr platform = createPlatformNativeInterface(); platform->setAutostartEnabled( AppConfig().option<Config::autostart>() ); }