summaryrefslogblamecommitdiffstats
path: root/src/ndgui.h
blob: f6d10614e0e616786336556965f8610f212ce0d8 (plain) (tree)
1
2
3
4
5
6
7
8






                   
                  


                             





                                 








                                                                       
                                                                 








                                                     
                                      
                                                  
                    

 
                           


























                                                                        
                           
 
                                  
 
                           
 
                                            






                                                                                    







                                                                      
                



                                  



                 
#ifndef NDGUI_H
#define NDGUI_H

#include <QtGui>
#include <QtWebKit>
#include <QVariant>

#include "fbgui.h"
#include "loggerengine.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