update main funtions

Beta release of helper
This commit is contained in:
arcan1s 2014-08-09 21:35:55 +04:00
parent 42194295cc
commit fb430b036e
10 changed files with 133 additions and 93 deletions

View File

@ -49,11 +49,15 @@ bool restoreExistSession()
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// detach from console // detach from console
bool debugFlag = false;
bool daemonFlag = false;
for (int i=0; i<argc; i++) for (int i=0; i<argc; i++)
if (QString(argv[i]) == QString("--daemon")) { if (QString(argv[i]) == QString("--daemon"))
daemon(0, 0); daemonFlag = true;
break; else if ((QString(argv[i]) == QString("-d")) || (QString(argv[i]) == QString("--debug")))
} debugFlag = true;
if ((daemonFlag) && (!debugFlag))
daemon(0, 0);
QApplication a(argc, argv); QApplication a(argc, argv);
QApplication::setQuitOnLastWindowClosed(false); QApplication::setQuitOnLastWindowClosed(false);
// check if exists // check if exists
@ -156,6 +160,8 @@ int main(int argc, char *argv[])
args[QString("error")] = true; args[QString("error")] = true;
} }
} }
if ((args[QString("debug")].toBool()) && (args[QString("minimized")].toInt() == 1))
args[QString("minimized")] = (int) 0;
if (args[QString("essid")].toString() != QString("ESSID")) if (args[QString("essid")].toString() != QString("ESSID"))
args[QString("tab")] = (int) 3; args[QString("tab")] = (int) 3;
if (args[QString("open")].toString() != QString("PROFILE")) if (args[QString("open")].toString() != QString("PROFILE"))

View File

@ -116,9 +116,9 @@ MainWindow::~MainWindow()
} }
QString MainWindow::getInformation() QString MainWindow::printInformation()
{ {
if (debug) qDebug() << "[MainWindow]" << "[getInformation]"; if (debug) qDebug() << "[MainWindow]" << "[printInformation]";
QString profile; QString profile;
QString status; QString status;
@ -146,9 +146,9 @@ QString MainWindow::getInformation()
} }
QStringList MainWindow::getSettings() QStringList MainWindow::printSettings()
{ {
if (debug) qDebug() << "[MainWindow]" << "[getSettings]"; if (debug) qDebug() << "[MainWindow]" << "[printSettings]";
QStringList settingsList; QStringList settingsList;
for (int i=0; i<configuration.keys().count(); i++) for (int i=0; i<configuration.keys().count(); i++)

View File

@ -56,8 +56,8 @@ public:
const QMap<QString, QVariant> args = QMap<QString, QVariant>(), const QMap<QString, QVariant> args = QMap<QString, QVariant>(),
QTranslator *appTranslator = 0); QTranslator *appTranslator = 0);
~MainWindow(); ~MainWindow();
QString getInformation(); QString printInformation();
QStringList getSettings(); QStringList printSettings();
bool isHelperActive(); bool isHelperActive();
protected: protected:

View File

@ -41,7 +41,7 @@ bool NetctlGuiAdaptor::Close()
QString NetctlGuiAdaptor::Information() QString NetctlGuiAdaptor::Information()
{ {
return mainWindow->getInformation(); return mainWindow->printInformation();
} }
@ -54,7 +54,7 @@ bool NetctlGuiAdaptor::Restore()
QStringList NetctlGuiAdaptor::Settings() QStringList NetctlGuiAdaptor::Settings()
{ {
return mainWindow->getSettings(); return mainWindow->printSettings();
} }

View File

@ -52,7 +52,7 @@ int TrayIcon::showInformation()
if (supportsMessages()) { if (supportsMessages()) {
QString title = QApplication::translate("TrayIcon", "netctl status"); QString title = QApplication::translate("TrayIcon", "netctl status");
QString message = mainWindow->getInformation(); QString message = mainWindow->printInformation();
showMessage(title, message, QSystemTrayIcon::Information); showMessage(title, message, QSystemTrayIcon::Information);
} }
else else
@ -66,7 +66,7 @@ int TrayIcon::showInformationInWindow()
if (debug) qDebug() << "[TrayIcon]" << "[showInformationInWindow]"; if (debug) qDebug() << "[TrayIcon]" << "[showInformationInWindow]";
QString title = QApplication::translate("TrayIcon", "netctl status"); QString title = QApplication::translate("TrayIcon", "netctl status");
QString message = mainWindow->getInformation(); QString message = mainWindow->printInformation();
return QMessageBox::information(0, title, message); return QMessageBox::information(0, title, message);
} }

View File

@ -53,6 +53,19 @@ bool ControlAdaptor::Close()
} }
QStringList ControlAdaptor::Settings()
{
return helper->printSettings();
}
bool ControlAdaptor::Update(const QString configPath)
{
helper->updateConfiguration(configPath);
return true;
}
// netctlCommand // netctlCommand
bool ControlAdaptor::autoDisableAll() bool ControlAdaptor::autoDisableAll()
{ {

View File

@ -39,6 +39,8 @@ public slots:
// helper // helper
bool Active(); bool Active();
bool Close(); bool Close();
QStringList Settings();
bool Update(const QString configPath = QString(""));
// netctlCommand // netctlCommand
bool autoDisableAll(); bool autoDisableAll();
bool autoEnable(const QString profile); bool autoEnable(const QString profile);

View File

@ -48,13 +48,14 @@ bool checkExistSession()
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// detach from console // detach from console
bool isDaemon = true; bool debugFlag = false;
bool daemonFlag = true;
for (int i=0; i<argc; i++) for (int i=0; i<argc; i++)
if (QString(argv[i]) == QString("--nodaemon")) { if (QString(argv[i]) == QString("--nodaemon"))
isDaemon = false; daemonFlag = false;
break; else if ((QString(argv[i]) == QString("-d")) || (QString(argv[i]) == QString("--debug")))
} debugFlag = true;
if (isDaemon) if ((daemonFlag) && (!debugFlag))
daemon(0, 0); daemon(0, 0);
#if QT_VERSION >= 0x050000 #if QT_VERSION >= 0x050000
QCoreApplication::setSetuidAllowed(true); QCoreApplication::setSetuidAllowed(true);
@ -97,6 +98,8 @@ int main(int argc, char *argv[])
args[QString("error")] = true; args[QString("error")] = true;
} }
} }
if ((args[QString("debug")].toBool()) && (!args[QString("nodaemon")].toBool()))
args[QString("nodaemon")] = true;
// running // running
if (args[QString("error")].toBool()) { if (args[QString("error")].toBool()) {

View File

@ -32,10 +32,10 @@
NetctlHelper::NetctlHelper(QObject *parent, QMap<QString, QVariant> args) NetctlHelper::NetctlHelper(QObject *parent, QMap<QString, QVariant> args)
: QObject(parent), : QObject(parent),
configPath(args[QString("config")].toString()), initConfigPath(args[QString("config")].toString()),
debug(args[QString("debug")].toBool()) debug(args[QString("debug")].toBool())
{ {
updateConfiguration(); updateConfiguration(initConfigPath);
} }
@ -47,74 +47,16 @@ NetctlHelper::~NetctlHelper()
} }
QMap<QString, QString> NetctlHelper::getDefault() QStringList NetctlHelper::printSettings()
{ {
if (debug) qDebug() << "[NetctlHelper]" << "[getDefault]"; if (debug) qDebug() << "[NetctlHelper]" << "[printSettings]";
QMap<QString, QString> settings; QStringList settingsList;
settings[QString("CLOSE_HELPER")] = QString("false"); for (int i=0; i<configuration.keys().count(); i++)
settings[QString("CLOSETOTRAY")] = QString("true"); settingsList.append(configuration.keys()[i] + QString("=") +
settings[QString("CTRL_DIR")] = QString("/run/wpa_supplicant_netctl-gui"); configuration[configuration.keys()[i]]);
settings[QString("CTRL_GROUP")] = QString("users");
settings[QString("FORCE_SUDO")] = QString("false");
settings[QString("HELPER_PATH")] = QString("/usr/bin/netctlgui-helper");
settings[QString("IFACE_DIR")] = QString("/sys/class/net/");
settings[QString("LANGUAGE")] = QString("en");
settings[QString("NETCTL_PATH")] = QString("/usr/bin/netctl");
settings[QString("NETCTLAUTO_PATH")] = QString("/usr/bin/netctl-auto");
settings[QString("NETCTLAUTO_SERVICE")] = QString("netctl-auto");
settings[QString("PID_FILE")] = QString("/run/wpa_supplicant_netctl-gui.pid");
settings[QString("PREFERED_IFACE")] = QString("");
settings[QString("PROFILE_DIR")] = QString("/etc/netctl/");
settings[QString("RFKILL_DIR")] = QString("/sys/class/rfkill/");
settings[QString("STARTTOTRAY")] = QString("false");
settings[QString("SUDO_PATH")] = QString("/usr/bin/kdesu");
settings[QString("SYSTEMCTL_PATH")] = QString("/usr/bin/systemctl");
settings[QString("SYSTRAY")] = QString("true");
settings[QString("USE_HELPER")] = QString("true");
settings[QString("WPACLI_PATH")] = QString("/usr/bin/wpa_cli");
settings[QString("WPASUP_PATH")] = QString("/usr/bin/wpa_supplicant");
settings[QString("WPA_DRIVERS")] = QString("nl80211,wext");
for (int i=0; i<settings.keys().count(); i++)
if (debug) qDebug() << "[NetctlHelper]" << "[getDefault]" << ":" <<
settings.keys()[i] + QString("=") + settings[settings.keys()[i]];
return settings; return settingsList;
}
QMap<QString, QString> NetctlHelper::getSettings()
{
if (debug) qDebug() << "[NetctlHelper]" << "[getSettings]";
QMap<QString, QString> settings = getDefault();
QFile configFile(configPath);
QString fileStr;
if (!configFile.open(QIODevice::ReadOnly))
return settings;
while (true) {
fileStr = QString(configFile.readLine()).trimmed();
if ((fileStr.isEmpty()) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar('#')) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar(';')) && (!configFile.atEnd())) continue;
if (fileStr.contains(QChar('=')))
settings[fileStr.split(QChar('='))[0]] = fileStr.split(QChar('='))[1];
if (configFile.atEnd()) break;
}
configFile.close();
for (int i=0; i<settings.keys().count(); i++)
if (debug) qDebug() << "[NetctlHelper]" << "[getSettings]" << ":" <<
settings.keys()[i] + QString("=") + settings[settings.keys()[i]];
return settings;
}
void NetctlHelper::quitHelper()
{
if (debug) qDebug() << "[NetctlHelper]" << "[quitHelper]";
QCoreApplication::instance()->quit();
} }
@ -155,13 +97,86 @@ void NetctlHelper::deleteInterface()
} }
void NetctlHelper::updateConfiguration() QMap<QString, QString> NetctlHelper::getDefault()
{
if (debug) qDebug() << "[NetctlHelper]" << "[getDefault]";
QMap<QString, QString> settings;
settings[QString("CLOSE_HELPER")] = QString("false");
settings[QString("CLOSETOTRAY")] = QString("true");
settings[QString("CTRL_DIR")] = QString("/run/wpa_supplicant_netctl-gui");
settings[QString("CTRL_GROUP")] = QString("users");
settings[QString("FORCE_SUDO")] = QString("false");
settings[QString("HELPER_PATH")] = QString("/usr/bin/netctlgui-helper");
settings[QString("IFACE_DIR")] = QString("/sys/class/net/");
settings[QString("LANGUAGE")] = QString("en");
settings[QString("NETCTL_PATH")] = QString("/usr/bin/netctl");
settings[QString("NETCTLAUTO_PATH")] = QString("/usr/bin/netctl-auto");
settings[QString("NETCTLAUTO_SERVICE")] = QString("netctl-auto");
settings[QString("PID_FILE")] = QString("/run/wpa_supplicant_netctl-gui.pid");
settings[QString("PREFERED_IFACE")] = QString("");
settings[QString("PROFILE_DIR")] = QString("/etc/netctl/");
settings[QString("RFKILL_DIR")] = QString("/sys/class/rfkill/");
settings[QString("STARTTOTRAY")] = QString("false");
settings[QString("SUDO_PATH")] = QString("/usr/bin/kdesu");
settings[QString("SYSTEMCTL_PATH")] = QString("/usr/bin/systemctl");
settings[QString("SYSTRAY")] = QString("true");
settings[QString("USE_HELPER")] = QString("true");
settings[QString("WPACLI_PATH")] = QString("/usr/bin/wpa_cli");
settings[QString("WPASUP_PATH")] = QString("/usr/bin/wpa_supplicant");
settings[QString("WPA_DRIVERS")] = QString("nl80211,wext");
for (int i=0; i<settings.keys().count(); i++)
if (debug) qDebug() << "[NetctlHelper]" << "[getDefault]" << ":" <<
settings.keys()[i] + QString("=") + settings[settings.keys()[i]];
return settings;
}
QMap<QString, QString> NetctlHelper::getSettings(const QString configPath)
{
if (debug) qDebug() << "[NetctlHelper]" << "[getSettings]";
QMap<QString, QString> settings = getDefault();
QFile configFile(configPath);
QString fileStr;
if (!configFile.open(QIODevice::ReadOnly))
return settings;
while (true) {
fileStr = QString(configFile.readLine()).trimmed();
if ((fileStr.isEmpty()) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar('#')) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar(';')) && (!configFile.atEnd())) continue;
if (fileStr.contains(QChar('=')))
settings[fileStr.split(QChar('='))[0]] = fileStr.split(QChar('='))[1];
if (configFile.atEnd()) break;
}
configFile.close();
for (int i=0; i<settings.keys().count(); i++)
if (debug) qDebug() << "[NetctlHelper]" << "[getSettings]" << ":" <<
settings.keys()[i] + QString("=") + settings[settings.keys()[i]];
return settings;
}
void NetctlHelper::updateConfiguration(QString configPath)
{ {
if (debug) qDebug() << "[NetctlHelper]" << "[updateConfiguration]"; if (debug) qDebug() << "[NetctlHelper]" << "[updateConfiguration]";
deleteInterface(); deleteInterface();
configuration = getSettings(); if (configPath.isEmpty())
configPath = initConfigPath;
configuration = getSettings(configPath);
createInterface(); createInterface();
} }
void NetctlHelper::quitHelper()
{
if (debug) qDebug() << "[NetctlHelper]" << "[quitHelper]";
QCoreApplication::instance()->quit();
}

View File

@ -31,19 +31,20 @@ public:
explicit NetctlHelper(QObject *parent = 0, explicit NetctlHelper(QObject *parent = 0,
QMap<QString, QVariant> args = QMap<QString, QVariant>()); QMap<QString, QVariant> args = QMap<QString, QVariant>());
~NetctlHelper(); ~NetctlHelper();
QStringList printSettings();
public slots: public slots:
QMap<QString, QString> getDefault(); void updateConfiguration(QString configPath = QString(""));
QMap<QString, QString> getSettings();
void quitHelper(); void quitHelper();
private: private:
QString configPath; QString initConfigPath;
QMap<QString, QString> configuration; QMap<QString, QString> configuration;
bool debug; bool debug;
void createInterface(); void createInterface();
void deleteInterface(); void deleteInterface();
void updateConfiguration(); QMap<QString, QString> getDefault();
QMap<QString, QString> getSettings(const QString configPath);
}; };