more correct work with configration files (use /etc/netctl-gui.conf if

no configuration present in the home directory)
This commit is contained in:
arcan1s 2015-06-28 00:07:44 +03:00
parent 5018232c08
commit a9c7f98677
5 changed files with 40 additions and 31 deletions

View File

@ -1,5 +1,11 @@
Ver.1.4.7
* all * all
+ implement support of setting of default configuration values
* fix language component (refer to #45) * fix language component (refer to #45)
* gui
* more correct work with configuration file
* helper
* more correct work with configuration file
Ver.1.4.6 Ver.1.4.6
--------- ---------

View File

@ -373,7 +373,8 @@ void MainWindow::updateConfiguration(const QVariantMap args)
deleteObjects(); 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()) if (args[QString("default")].toBool())
settingsWin->setDefault(); settingsWin->setDefault();
configuration = settingsWin->getSettings(); configuration = settingsWin->getSettings();
@ -386,7 +387,7 @@ void MainWindow::updateConfiguration(const QVariantMap args)
// update translation // update translation
qApp->removeTranslator(translator); 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; if (debug) qDebug() << PDEBUG << ":" << "Language is" << language;
qtTranslator->load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qtTranslator->load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
qApp->installTranslator(qtTranslator); qApp->installTranslator(qtTranslator);

View File

@ -591,7 +591,7 @@ QMap<QString, QString> SettingsWindow::getSettings(QString fileName)
config[QString("LANGUAGE")] = Language::defineLanguage(fileName, QString()); config[QString("LANGUAGE")] = Language::defineLanguage(fileName, QString());
settings.beginGroup(QString("Common")); 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("MAINUPDATE")] = settings.value(QString("MAINUPDATE"), QString(MAINUPDATE)).toString();
config[QString("WIFIUPDATE")] = settings.value(QString("WIFIUPDATE"), QString(WIFIUPDATE)).toString(); config[QString("WIFIUPDATE")] = settings.value(QString("WIFIUPDATE"), QString(WIFIUPDATE)).toString();
config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString(SYSTRAY)).toString(); config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString(SYSTRAY)).toString();

View File

@ -36,7 +36,7 @@ QVariantMap getArgs()
args[QString("debug")] = false; args[QString("debug")] = false;
args[QString("nodaemon")] = false; args[QString("nodaemon")] = false;
args[QString("session")] = false; args[QString("session")] = false;
args[QString("state")] = (int) 0; args[QString("state")] = static_cast<int>(0);
args[QString("system")] = false; args[QString("system")] = false;
args[QString("help")] = false; args[QString("help")] = false;
args[QString("info")] = false; args[QString("info")] = false;

View File

@ -147,47 +147,49 @@ QMap<QString, QString> NetctlHelper::getSettings(const QString file)
QSettings settings(file, QSettings::IniFormat); QSettings settings(file, QSettings::IniFormat);
settings.beginGroup(QString("Common")); settings.beginGroup(QString("Common"));
config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString("en")).toString(); config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString(LANGUAGE)).toString();
config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString("true")).toString(); config[QString("MAINUPDATE")] = settings.value(QString("MAINUPDATE"), QString(MAINUPDATE)).toString();
config[QString("CLOSETOTRAY")] = settings.value(QString("CLOSETOTRAY"), QString("true")).toString(); config[QString("WIFIUPDATE")] = settings.value(QString("WIFIUPDATE"), QString(WIFIUPDATE)).toString();
config[QString("STARTTOTRAY")] = settings.value(QString("STARTTOTRAY"), QString("false")).toString(); config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString(SYSTRAY)).toString();
config[QString("SKIPCOMPONENTS")] = settings.value(QString("SKIPCOMPONENTS"), QString("false")).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.endGroup();
settings.beginGroup(QString("Helper")); settings.beginGroup(QString("Helper"));
config[QString("USE_HELPER")] = settings.value(QString("USE_HELPER"), QString("true")).toString(); config[QString("USE_HELPER")] = settings.value(QString("USE_HELPER"), QString(USE_HELPER)).toString();
config[QString("FORCE_SUDO")] = settings.value(QString("FORCE_SUDO"), QString("false")).toString(); config[QString("FORCE_SUDO")] = settings.value(QString("FORCE_SUDO"), QString(FORCE_SUDO)).toString();
config[QString("CLOSE_HELPER")] = settings.value(QString("CLOSE_HELPER"), QString("false")).toString(); config[QString("CLOSE_HELPER")] = settings.value(QString("CLOSE_HELPER"), QString(CLOSE_HELPER)).toString();
config[QString("HELPER_PATH")] = settings.value(QString("HELPER_PATH"), QString("/usr/bin/netctlgui-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("netctlgui-helper.service")).toString(); config[QString("HELPER_SERVICE")] = settings.value(QString("HELPER_SERVICE"), QString(HELPER_SERVICE)).toString();
settings.endGroup(); settings.endGroup();
settings.beginGroup(QString("netctl")); settings.beginGroup(QString("netctl"));
config[QString("SYSTEMCTL_PATH")] = settings.value(QString("SYSTEMCTL_PATH"), QString("/usr/bin/systemctl")).toString(); config[QString("SYSTEMCTL_PATH")] = settings.value(QString("SYSTEMCTL_PATH"), QString(SYSTEMCTL_PATH)).toString();
config[QString("NETCTL_PATH")] = settings.value(QString("NETCTL_PATH"), QString("/usr/bin/netctl")).toString(); config[QString("NETCTL_PATH")] = settings.value(QString("NETCTL_PATH"), QString(NETCTL_PATH)).toString();
config[QString("NETCTLAUTO_PATH")] = settings.value(QString("NETCTLAUTO_PATH"), QString("/usr/bin/netctl-auto")).toString(); config[QString("NETCTLAUTO_PATH")] = settings.value(QString("NETCTLAUTO_PATH"), QString(NETCTLAUTO_PATH)).toString();
config[QString("NETCTLAUTO_SERVICE")] = settings.value(QString("NETCTLAUTO_SERVICE"), QString("netctl-auto")).toString(); config[QString("NETCTLAUTO_SERVICE")] = settings.value(QString("NETCTLAUTO_SERVICE"), QString(NETCTLAUTO_SERVICE)).toString();
config[QString("PROFILE_DIR")] = settings.value(QString("PROFILE_DIR"), QString("/etc/netctl")).toString(); config[QString("PROFILE_DIR")] = settings.value(QString("PROFILE_DIR"), QString(PROFILE_DIR)).toString();
settings.endGroup(); settings.endGroup();
settings.beginGroup(QString("sudo")); 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.endGroup();
settings.beginGroup(QString("wpa_supplicant")); settings.beginGroup(QString("wpa_supplicant"));
config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString("/usr/bin/wpa_supplicant")).toString(); config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString(WPASUP_PATH)).toString();
config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString("/usr/bin/wpa_cli")).toString(); config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString(WPACLI_PATH)).toString();
config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_$i.pid")).toString(); config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString(PID_FILE)).toString();
config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString("nl80211,wext")).toString(); config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString(WPA_DRIVERS)).toString();
config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant")).toString(); config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString(CTRL_DIR)).toString();
config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString("users")).toString(); config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString(CTRL_GROUP)).toString();
settings.endGroup(); settings.endGroup();
settings.beginGroup(QString("Other")); settings.beginGroup(QString("Other"));
config[QString("EDITOR_PATH")] = settings.value(QString("EDITOR_PATH"), QString("/usr/bin/gvim")).toString(); config[QString("EDITOR_PATH")] = settings.value(QString("EDITOR_PATH"), QString(EDITOR_PATH)).toString();
config[QString("IFACE_DIR")] = settings.value(QString("IFACE_DIR"), QString("/sys/class/net/")).toString(); config[QString("IFACE_DIR")] = settings.value(QString("IFACE_DIR"), QString(IFACE_DIR)).toString();
config[QString("RFKILL_DIR")] = settings.value(QString("RFKILL_DIR"), QString("/sys/class/rfkill/")).toString(); config[QString("RFKILL_DIR")] = settings.value(QString("RFKILL_DIR"), QString(RFKILL_DIR)).toString();
config[QString("PREFERED_IFACE")] = settings.value(QString("PREFERED_IFACE"), QString("")).toString(); config[QString("PREFERED_IFACE")] = settings.value(QString("PREFERED_IFACE"), QString(PREFERED_IFACE)).toString();
settings.endGroup(); settings.endGroup();
settings.beginGroup(QString("Toolbars")); settings.beginGroup(QString("Toolbars"));
@ -210,7 +212,7 @@ void NetctlHelper::updateConfiguration()
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
deleteInterface(); deleteInterface();
if (system) if ((system) || (!QFile(configPath).exists()))
configuration = getSettings(QString("/etc/netctl-gui.conf")); configuration = getSettings(QString("/etc/netctl-gui.conf"));
else else
configuration = getSettings(configPath); configuration = getSettings(configPath);