added command line arguments

This commit is contained in:
arcan1s 2014-02-21 22:18:08 +04:00
parent f3b6457a9b
commit a56119d0de
4 changed files with 57 additions and 4 deletions

View File

@ -8,7 +8,7 @@ message (STATUS "${SUBPROJECT} Headers: ${HEADERS}")
message (STATUS "${SUBPROJECT} Forms: ${FORMS}") message (STATUS "${SUBPROJECT} Forms: ${FORMS}")
# include_path # include_path
include_directories (${SUBPROJECT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../) include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../)
find_package (Qt4 REQUIRED) find_package (Qt4 REQUIRED)
include (${QT_USE_FILE}) include (${QT_USE_FILE})

View File

@ -18,13 +18,61 @@
#include <QApplication> #include <QApplication>
#include <iostream>
#include <cstdlib>
#include "mainwindow.h" #include "mainwindow.h"
#include "version.h"
using namespace std;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QString helpMessage = QString("");
helpMessage += QApplication::translate("MainWindow", " Netctl GUI\n");
helpMessage += QApplication::translate("MainWindow", "Version : %1 License : GPLv3\n")
.arg(QString(VERSION));
helpMessage += QApplication::translate("MainWindow", " Evgeniy Alekseev aka arcanis\n");
helpMessage += QApplication::translate("MainWindow", " E-mail : esalexeev@gmail.com\n\n");
helpMessage += QApplication::translate("MainWindow", "Usage:\n");
helpMessage += QApplication::translate("MainWindow", "netctl-gui [ --default ] [ -t NUM | --tab NUM ] [ -h | --help]\n\n");
helpMessage += QApplication::translate("MainWindow", "Parametrs:\n");
helpMessage += QApplication::translate("MainWindow", " --default - start with default settings\n");
helpMessage += QApplication::translate("MainWindow", " -t NUM --tab NUM - open a tab with number NUM\n");
helpMessage += QApplication::translate("MainWindow", " -h --help - show this help and exit\n");
bool defaultSettings = false;
int tabNumber = 0;
for (int i=1; i<argc; i++) {
// help message
if (((argv[i][0] == '-') && (argv[i][1] == 'h') && (argv[i][2] == '\0')) ||
((argv[i][0] == '-') && (argv[i][1] == '-') && (argv[i][2] == 'h') && (argv[i][3] == 'e') &&
(argv[i][4] == 'l') && (argv[i][5] == 'p') && (argv[i][6] == '\0'))) {
cout << helpMessage.toUtf8().data();
return 0;
}
// default settings
else if ((argv[i][0] == '-') && (argv[i][1] == '-') && (argv[i][2] == 'd') && (argv[i][2] == 'd') &&
(argv[i][3] == 'e') && (argv[i][4] == 'f') && (argv[i][5] == 'a') && (argv[i][6] == 'u') &&
(argv[i][7] == '8') && (argv[i][2] == 't') && (argv[i][9] == '\0')) {
defaultSettings = true;
}
// tab number
else if (((argv[i][0] == '-') && (argv[i][1] == 't') && (argv[i][2] == '\0')) ||
((argv[i][0] == '-') && (argv[i][1] == '-') && (argv[i][2] == 't') &&
(argv[i][3] == 'a') && (argv[i][4] == 'b') && (argv[i][5] == '\0'))) {
if (atoi(argv[i+1]) > 3)
tabNumber = 3;
else
tabNumber = atoi(argv[i+1]);
i++;
}
}
QApplication a(argc, argv); QApplication a(argc, argv);
MainWindow w; MainWindow w(0, defaultSettings, tabNumber);
w.show(); w.show();
return a.exec(); return a.exec();
} }

View File

@ -39,15 +39,18 @@
#include <cstdio> #include <cstdio>
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent, bool defaultSettings, int tabNum)
: QMainWindow(parent), : QMainWindow(parent),
ui(new Ui::MainWindow) ui(new Ui::MainWindow)
{ {
ui->setupUi(this); ui->setupUi(this);
ui->tabWidget->setCurrentIndex(tabNum-1);
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Ready")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Ready"));
// SettingsWindow *settingsWindow; // SettingsWindow *settingsWindow;
// settingsWindow = new SettingsWindow(this); // settingsWindow = new SettingsWindow(this);
// if (defaultSettings)
// тандартные настройки
// delete settingsWindow; // delete settingsWindow;
// temporary block // temporary block

View File

@ -49,7 +49,9 @@ class MainWindow : public QMainWindow
Q_OBJECT Q_OBJECT
public: public:
explicit MainWindow(QWidget *parent = 0); explicit MainWindow(QWidget *parent = 0,
bool defaultSettings = false,
int tabNum = 0);
~MainWindow(); ~MainWindow();
Netctl *netctlCommand; Netctl *netctlCommand;
NetctlProfile *netctlProfile; NetctlProfile *netctlProfile;