From a9c7f986772177943b687f577776fbba400dacf9 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Sun, 28 Jun 2015 00:07:44 +0300 Subject: [PATCH] more correct work with configration files (use /etc/netctl-gui.conf if no configuration present in the home directory) --- CHANGELOG | 6 ++++ sources/gui/src/mainwindow.cpp | 5 +-- sources/gui/src/settingswindow.cpp | 2 +- sources/helper/src/messages.cpp | 2 +- sources/helper/src/netctlhelper.cpp | 56 +++++++++++++++-------------- 5 files changed, 40 insertions(+), 31 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0a84f64..328bf0c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,11 @@ +Ver.1.4.7 * all + + implement support of setting of default configuration values * fix language component (refer to #45) +* gui + * more correct work with configuration file +* helper + * more correct work with configuration file Ver.1.4.6 --------- diff --git a/sources/gui/src/mainwindow.cpp b/sources/gui/src/mainwindow.cpp index d055eb0..58a2097 100644 --- a/sources/gui/src/mainwindow.cpp +++ b/sources/gui/src/mainwindow.cpp @@ -373,7 +373,8 @@ void MainWindow::updateConfiguration(const QVariantMap args) deleteObjects(); - settingsWin = new SettingsWindow(this, debug, configPath); + QString actualConfigPath = QFile(configPath).exists() ? configPath : QString("/etc/netctl-gui.conf"); + settingsWin = new SettingsWindow(this, debug, actualConfigPath); if (args[QString("default")].toBool()) settingsWin->setDefault(); configuration = settingsWin->getSettings(); @@ -386,7 +387,7 @@ void MainWindow::updateConfiguration(const QVariantMap args) // update translation qApp->removeTranslator(translator); - QString language = Language::defineLanguage(configPath, args[QString("options")].toString()); + QString language = Language::defineLanguage(actualConfigPath, args[QString("options")].toString()); if (debug) qDebug() << PDEBUG << ":" << "Language is" << language; qtTranslator->load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qApp->installTranslator(qtTranslator); diff --git a/sources/gui/src/settingswindow.cpp b/sources/gui/src/settingswindow.cpp index 175536c..3252c07 100644 --- a/sources/gui/src/settingswindow.cpp +++ b/sources/gui/src/settingswindow.cpp @@ -591,7 +591,7 @@ QMap SettingsWindow::getSettings(QString fileName) config[QString("LANGUAGE")] = Language::defineLanguage(fileName, QString()); settings.beginGroup(QString("Common")); - config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString(LANGUAGE)).toString(); + config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), config[QString("LANGUAGE")]).toString(); config[QString("MAINUPDATE")] = settings.value(QString("MAINUPDATE"), QString(MAINUPDATE)).toString(); config[QString("WIFIUPDATE")] = settings.value(QString("WIFIUPDATE"), QString(WIFIUPDATE)).toString(); config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString(SYSTRAY)).toString(); diff --git a/sources/helper/src/messages.cpp b/sources/helper/src/messages.cpp index 4049669..545b998 100644 --- a/sources/helper/src/messages.cpp +++ b/sources/helper/src/messages.cpp @@ -36,7 +36,7 @@ QVariantMap getArgs() args[QString("debug")] = false; args[QString("nodaemon")] = false; args[QString("session")] = false; - args[QString("state")] = (int) 0; + args[QString("state")] = static_cast(0); args[QString("system")] = false; args[QString("help")] = false; args[QString("info")] = false; diff --git a/sources/helper/src/netctlhelper.cpp b/sources/helper/src/netctlhelper.cpp index 3e01fc6..843edb5 100644 --- a/sources/helper/src/netctlhelper.cpp +++ b/sources/helper/src/netctlhelper.cpp @@ -147,47 +147,49 @@ QMap NetctlHelper::getSettings(const QString file) QSettings settings(file, QSettings::IniFormat); settings.beginGroup(QString("Common")); - config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString("en")).toString(); - config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString("true")).toString(); - config[QString("CLOSETOTRAY")] = settings.value(QString("CLOSETOTRAY"), QString("true")).toString(); - config[QString("STARTTOTRAY")] = settings.value(QString("STARTTOTRAY"), QString("false")).toString(); - config[QString("SKIPCOMPONENTS")] = settings.value(QString("SKIPCOMPONENTS"), QString("false")).toString(); + config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString(LANGUAGE)).toString(); + config[QString("MAINUPDATE")] = settings.value(QString("MAINUPDATE"), QString(MAINUPDATE)).toString(); + config[QString("WIFIUPDATE")] = settings.value(QString("WIFIUPDATE"), QString(WIFIUPDATE)).toString(); + config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString(SYSTRAY)).toString(); + config[QString("CLOSETOTRAY")] = settings.value(QString("CLOSETOTRAY"), QString(CLOSETOTRAY)).toString(); + config[QString("STARTTOTRAY")] = settings.value(QString("STARTTOTRAY"), QString(STARTTOTRAY)).toString(); + config[QString("SKIPCOMPONENTS")] = settings.value(QString("SKIPCOMPONENTS"), QString(SKIPCOMPONENTS)).toString(); settings.endGroup(); settings.beginGroup(QString("Helper")); - config[QString("USE_HELPER")] = settings.value(QString("USE_HELPER"), QString("true")).toString(); - config[QString("FORCE_SUDO")] = settings.value(QString("FORCE_SUDO"), QString("false")).toString(); - config[QString("CLOSE_HELPER")] = settings.value(QString("CLOSE_HELPER"), QString("false")).toString(); - config[QString("HELPER_PATH")] = settings.value(QString("HELPER_PATH"), QString("/usr/bin/netctlgui-helper")).toString(); - config[QString("HELPER_SERVICE")] = settings.value(QString("HELPER_SERVICE"), QString("netctlgui-helper.service")).toString(); + config[QString("USE_HELPER")] = settings.value(QString("USE_HELPER"), QString(USE_HELPER)).toString(); + config[QString("FORCE_SUDO")] = settings.value(QString("FORCE_SUDO"), QString(FORCE_SUDO)).toString(); + config[QString("CLOSE_HELPER")] = settings.value(QString("CLOSE_HELPER"), QString(CLOSE_HELPER)).toString(); + config[QString("HELPER_PATH")] = settings.value(QString("HELPER_PATH"), QString(HELPER_PATH)).toString(); + config[QString("HELPER_SERVICE")] = settings.value(QString("HELPER_SERVICE"), QString(HELPER_SERVICE)).toString(); settings.endGroup(); settings.beginGroup(QString("netctl")); - config[QString("SYSTEMCTL_PATH")] = settings.value(QString("SYSTEMCTL_PATH"), QString("/usr/bin/systemctl")).toString(); - config[QString("NETCTL_PATH")] = settings.value(QString("NETCTL_PATH"), QString("/usr/bin/netctl")).toString(); - config[QString("NETCTLAUTO_PATH")] = settings.value(QString("NETCTLAUTO_PATH"), QString("/usr/bin/netctl-auto")).toString(); - config[QString("NETCTLAUTO_SERVICE")] = settings.value(QString("NETCTLAUTO_SERVICE"), QString("netctl-auto")).toString(); - config[QString("PROFILE_DIR")] = settings.value(QString("PROFILE_DIR"), QString("/etc/netctl")).toString(); + config[QString("SYSTEMCTL_PATH")] = settings.value(QString("SYSTEMCTL_PATH"), QString(SYSTEMCTL_PATH)).toString(); + config[QString("NETCTL_PATH")] = settings.value(QString("NETCTL_PATH"), QString(NETCTL_PATH)).toString(); + config[QString("NETCTLAUTO_PATH")] = settings.value(QString("NETCTLAUTO_PATH"), QString(NETCTLAUTO_PATH)).toString(); + config[QString("NETCTLAUTO_SERVICE")] = settings.value(QString("NETCTLAUTO_SERVICE"), QString(NETCTLAUTO_SERVICE)).toString(); + config[QString("PROFILE_DIR")] = settings.value(QString("PROFILE_DIR"), QString(PROFILE_DIR)).toString(); settings.endGroup(); settings.beginGroup(QString("sudo")); - config[QString("SUDO_PATH")] = settings.value(QString("SUDO_PATH"), QString("/usr/bin/kdesu")).toString(); + config[QString("SUDO_PATH")] = settings.value(QString("SUDO_PATH"), QString(SUDO_PATH)).toString(); settings.endGroup(); settings.beginGroup(QString("wpa_supplicant")); - config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString("/usr/bin/wpa_supplicant")).toString(); - config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString("/usr/bin/wpa_cli")).toString(); - config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_$i.pid")).toString(); - config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString("nl80211,wext")).toString(); - config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant")).toString(); - config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString("users")).toString(); + config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString(WPASUP_PATH)).toString(); + config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString(WPACLI_PATH)).toString(); + config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString(PID_FILE)).toString(); + config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString(WPA_DRIVERS)).toString(); + config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString(CTRL_DIR)).toString(); + config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString(CTRL_GROUP)).toString(); settings.endGroup(); settings.beginGroup(QString("Other")); - config[QString("EDITOR_PATH")] = settings.value(QString("EDITOR_PATH"), QString("/usr/bin/gvim")).toString(); - config[QString("IFACE_DIR")] = settings.value(QString("IFACE_DIR"), QString("/sys/class/net/")).toString(); - config[QString("RFKILL_DIR")] = settings.value(QString("RFKILL_DIR"), QString("/sys/class/rfkill/")).toString(); - config[QString("PREFERED_IFACE")] = settings.value(QString("PREFERED_IFACE"), QString("")).toString(); + config[QString("EDITOR_PATH")] = settings.value(QString("EDITOR_PATH"), QString(EDITOR_PATH)).toString(); + config[QString("IFACE_DIR")] = settings.value(QString("IFACE_DIR"), QString(IFACE_DIR)).toString(); + config[QString("RFKILL_DIR")] = settings.value(QString("RFKILL_DIR"), QString(RFKILL_DIR)).toString(); + config[QString("PREFERED_IFACE")] = settings.value(QString("PREFERED_IFACE"), QString(PREFERED_IFACE)).toString(); settings.endGroup(); settings.beginGroup(QString("Toolbars")); @@ -210,7 +212,7 @@ void NetctlHelper::updateConfiguration() if (debug) qDebug() << PDEBUG; deleteInterface(); - if (system) + if ((system) || (!QFile(configPath).exists())) configuration = getSettings(QString("/etc/netctl-gui.conf")); else configuration = getSettings(configPath);