/* # 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 # # # Main class for the fbgui. # */ #ifndef FBGUI_H #define FBGUI_H #include #include #include // Internal default settings #define DEFAULT_URL "http://www.google.com" #define DEFAULT_DOWNLOAD_DIR "/tmp/fbgui/downloads" #define DEFAULT_CONFIG_PATH "/etc/fbgui.conf" #define DEFAULT_UPDATE_INTERVAL 1; #define DEFAULT_QRC_HTML_DIR ":/html" #define DEFAULT_FILE_TRIGGER "/tmp/fbgui/trigger" // Global settings extern QString fileToTriggerURL; extern QString sessionID; extern QString binPath; extern QString downloadPath; extern QUrl baseURL; extern int debugMode; extern int updateInterval; class fbgui : public QMainWindow { Q_OBJECT public: fbgui(); private: // setup procedures void setupDebugSplit(); void createActions(); bool checkHost() const; void watchForTrigger(); void loadURL(); // widgets constituing the gui QWebView* _webView; QSplitter* _splitter; QTextEdit* _debugConsole; // action list QAction* _quit; QAction* _toggleDebug; // QFileSystemWatcher* _watcher; private slots: void checkForTrigger(const QString& dirname); // slots for processing actions void toggleDebug(); }; #endif // FBGUI_H