add daemonized option

This commit is contained in:
arcan1s 2014-08-07 00:59:43 +04:00
parent 891b3b43ef
commit 4788ad0081
4 changed files with 29 additions and 11 deletions

View File

@ -18,6 +18,7 @@
# variables # variables
_netctl_gui_arglist=( _netctl_gui_arglist=(
'--daemonized'
'--maximized' '--maximized'
'--minimized' '--minimized'
'--about' '--about'

View File

@ -17,12 +17,12 @@
#include <QApplication> #include <QApplication>
#include <QDBusConnection> #include <QDBusConnection>
#include <QDBusMessage> #include <QDBusMessage>
#include <QDir> #include <QDir>
#include <QTranslator> #include <QTranslator>
#include <iostream> #include <iostream>
#include <unistd.h>
#include "language.h" #include "language.h"
#include "mainwindow.h" #include "mainwindow.h"
@ -56,9 +56,14 @@ QChar isParametrEnable(const bool parametr)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// detach from console
for (int i=0; i<argc; i++)
if (QString(argv[i]) == QString("--daemonized")) {
daemon(0, 0);
break;
}
QApplication a(argc, argv); QApplication a(argc, argv);
QApplication::setQuitOnLastWindowClosed(false); QApplication::setQuitOnLastWindowClosed(false);
// check if exists // check if exists
if (restoreExistSession()) if (restoreExistSession())
return 0; return 0;
@ -94,13 +99,17 @@ int main(int argc, char *argv[])
// reading // reading
for (int i=1; i<argc; i++) { for (int i=1; i<argc; i++) {
// windows // windows
// maximized // daemonized
if (QString(argv[i]) == QString("--maximized")) { if (QString(argv[i]) == QString("--daemonized")) {
startMinimized = 1; startMinimized = 1;
} }
// maximized
else if (QString(argv[i]) == QString("--maximized")) {
startMinimized = 2;
}
// minimized // minimized
else if (QString(argv[i]) == QString("--minimized")) { else if (QString(argv[i]) == QString("--minimized")) {
startMinimized = 2; startMinimized = 3;
} }
// about // about
else if (QString(argv[i]) == QString("--about")) { else if (QString(argv[i]) == QString("--about")) {
@ -188,7 +197,7 @@ int main(int argc, char *argv[])
QString helpMessage = QString(""); QString helpMessage = QString("");
helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Usage:")); helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Usage:"));
helpMessage += QString("netctl-gui [ --maximized ] [ --minimized ]\n"); helpMessage += QString("netctl-gui [ --daemonized ] [ --maximized ] [ --minimized ]\n");
helpMessage += QString(" [ --about ] [ --netctl-auto ] [ --settings ]\n"); helpMessage += QString(" [ --about ] [ --netctl-auto ] [ --settings ]\n");
helpMessage += QString(" [ -e ESSID | --essid ESSID ] [ -o PROFILE | --open PROFILE ]\n"); helpMessage += QString(" [ -e ESSID | --essid ESSID ] [ -o PROFILE | --open PROFILE ]\n");
helpMessage += QString(" [ -s PROFILE | --select PROFILE ]\n"); helpMessage += QString(" [ -s PROFILE | --select PROFILE ]\n");
@ -198,12 +207,15 @@ int main(int argc, char *argv[])
helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Parametrs:")); helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Parametrs:"));
// windows // windows
helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Open window:")); helpMessage += QString("%1\n").arg(QApplication::translate("MainWindow", "Open window:"));
helpMessage += QString("%1 --daemonized - %2\n")
.arg(isParametrEnable(startMinimized))
.arg(QApplication::translate("MainWindow", "start daemonized"));
helpMessage += QString("%1 --maximized - %2\n") helpMessage += QString("%1 --maximized - %2\n")
.arg(isParametrEnable(startMinimized)) .arg(isParametrEnable(startMinimized))
.arg(QApplication::translate("MainWindow", "start maximized")); .arg(QApplication::translate("MainWindow", "start maximized"));
helpMessage += QString("%1 --minimized - %2\n") helpMessage += QString("%1 --minimized - %2\n")
.arg(isParametrEnable(startMinimized)) .arg(isParametrEnable(startMinimized))
.arg(QApplication::translate("MainWindow", "start minimized")); .arg(QApplication::translate("MainWindow", "start minimized to tray"));
helpMessage += QString("%1 --about - %2\n") helpMessage += QString("%1 --about - %2\n")
.arg(isParametrEnable(showAbout)) .arg(isParametrEnable(showAbout))
.arg(QApplication::translate("MainWindow", "show about window")); .arg(QApplication::translate("MainWindow", "show about window"));

View File

@ -163,6 +163,8 @@ MainWindow::MainWindow(QWidget *parent,
// tray // tray
trayIcon = new TrayIcon(this, debug); trayIcon = new TrayIcon(this, debug);
if (startMinimized == 1)
return;
if ((QSystemTrayIcon::isSystemTrayAvailable()) && if ((QSystemTrayIcon::isSystemTrayAvailable()) &&
(configuration[QString("SYSTRAY")] == QString("true"))) (configuration[QString("SYSTRAY")] == QString("true")))
trayIcon->setVisible(true); trayIcon->setVisible(true);
@ -173,9 +175,9 @@ MainWindow::MainWindow(QWidget *parent,
hide(); hide();
else else
show(); show();
if (startMinimized == 1) if (startMinimized == 2)
show(); show();
else if (startMinimized == 2) else if (startMinimized == 3)
hide(); hide();
} }
else else
@ -473,8 +475,10 @@ void MainWindow::showMainWindow()
{ {
if (debug) qDebug() << "[MainWindow]" << "[showMainWindow]"; if (debug) qDebug() << "[MainWindow]" << "[showMainWindow]";
if (isHidden()) if (isHidden()) {
updateTabs(ui->tabWidget->currentIndex());
show(); show();
}
else else
hide(); hide();
} }

View File

@ -19,8 +19,9 @@
# variables # variables
_netctl_gui_arglist=( _netctl_gui_arglist=(
{'--daemonized','--daemonized'}'[start daemonized]'
{'--maximized','--maximized'}'[start maximized]' {'--maximized','--maximized'}'[start maximized]'
{'--minimized','--minimized'}'[start minimized]' {'--minimized','--minimized'}'[start minimized to tray]'
{'--about','--about'}'[show about window]' {'--about','--about'}'[show about window]'
{'--netctl-auto','--netctl-auto'}'[show netctl-auto window]' {'--netctl-auto','--netctl-auto'}'[show netctl-auto window]'
{'--settings','--settings'}'[show settings window]' {'--settings','--settings'}'[show settings window]'