blob: d4ab0b111fb58568209dc0254f81fc0e15bf8870 (
plain) (
tree)
|
|
/**
* 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 <QtGui>
#include <QtWebKit>
#include <QVariant>
#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);
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<QString> _ifNameList; // maps interfaceName to its gateway
QList<QString> _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 init();
void setupLayout();
void createDebugConsole();
void toggleDebugConsole();
};
#endif // NDGUI_H
|