/** * Copyright (c) 2010,2011 - RZ Uni Freiburg * Copyright (c) 2010,2011 - OpenSLX Project * * This program/file is free software distributed under the GPL version 2. * See http://openslx.org/COPYING * * If you have any feedback please consult http://openslx.org/feedback and * send your feedback to feedback@openslx.org * * General information about OpenSLX can be found under http://openslx.org */ #ifndef NDGUI_H #define NDGUI_H #include #include #include #include "fbgui.h" #include "networkdiscovery.h" extern QString gServerIp; extern bool gAutoUp; extern QString gSocketServerPath; extern QString gPathToDhcpExe; class ndgui: public QMainWindow { Q_OBJECT public: ndgui(QMainWindow *parent = 0); ~ndgui(); Q_INVOKABLE QVariantList getManualConfInterfaces(); Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); Q_INVOKABLE QString readLogFile(); Q_INVOKABLE QVariantMap getInterfaceConf(QString ifName); void init(); public slots: void handleConnectionEstablished(QString ifName); void abortBoot(QString msg); void chooseInterfaceDialog(QString msg); void handleAllProcessesFinished(); void restartSystem(); void shutDownSystem(); void continueBoot(QString ifName); void continueBootWithoutCheck(QString ifName); void tryAgain(); void startSingleShot(); void startNetworkDiscovery(); /*test for html gui version*/ void attachToDOM(); void loadJQuery(); void addInterface(const QString &ifName); void updateIfStatus(const QString &ifName, const QString &status); void updateStatus(const QString &status); void updateIfProgressBar(const QString &ifName, const int& percent); void notifyCall(QString msg); signals: void initFbgui(); private slots: void setUserChoiceTrue(); private: QString _tag; void createAction(); bool _userChoice; bool _started; QWebView* _webView; QAction* _allowUserChoice; QAction* _tryAgain; NetworkDiscovery* _networkDiscovery; QList _ifNameList; // maps interfaceName to its gateway QList _manConfList; QString _manualConfInterfaces; // QSplitter to split the main window in two resizable frames. QSplitter* _splitter; // QTextEdit implementing a minimalistic debug console. QTextEdit* _debugConsole; // triggers toggleDebugConsole() QAction* _toggleDebugConsole; void setupLayout(); void createDebugConsole(); void toggleDebugConsole(); }; #endif // NDGUI_H