blob: 5a1f39d50d34a90ddb868792d84ed1ae0988d282 (
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
#
#
# Main class of the fbgui:
# - Manages display of components and their communications
#
*/
#ifndef FBGUI_H
#define FBGUI_H
#include <QtGui>
#include <QtWebKit>
#include <QxtCore>
// 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 variables
extern QString serialLocation;
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:
// debug setup
void setupBasicDebug();
void createDebugConsole();
// layout setup
void setupLayout();
void createActions();
// functions to trigger the loading of baseURL
void watchForTrigger();
bool checkHost() const;
void loadURL();
QByteArray generatePOSTData();
// widgets constituing the gui
QWebView* _webView;
QSplitter* _splitter;
QTextEdit* _debugConsole;
// action list
QAction* _quit;
QAction* _toggleDebugConsole;
// watcher to detect changes in the observed directory
QFileSystemWatcher* _watcher;
private slots:
// action slots
void toggleDebugConsole();
// checks if the change reported by _watcher is the one we are looking for
// e.g. fileToTriggerURL has been created, ignores other events.
void checkForTrigger(const QString& dirname);
};
#endif // FBGUI_H
|