/* # Copyright (c) 2009, 2010 - OpenSLX Project, Computer Center University of # Freiburg # # This program 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 suggestions, praise, or complaints to feedback@openslx.org # # General information about OpenSLX can be found at http://openslx.org/ */ #ifndef PVSCLIENTGUI_H_ #define PVSCLIENTGUI_H_ #include class ServerConnection; class VncWindow; class ConnectWindow; class BlankScreen; namespace Ui{ class Toolbar; } class Toolbar : public QWidget { Q_OBJECT public: Toolbar(QWidget *parent = 0); Toolbar(const QByteArray sessionName, QWidget *parent = 0); Toolbar(const bool autoConnect, QWidget *parent = 0); virtual ~Toolbar(); private: Ui::Toolbar *_ui; QMenu *_menu; QAction *_acnDisconnect; QAction *_acnAbout; QAction *_acnQuit; ConnectWindow *_connectWindow; QTimer _hideTimer; ServerConnection *_connection; QTimer _blinkTimer; VncWindow *_vnc; const QPixmap _cam32, _beWatchedEye; void leaveEvent(QEvent* e); void enterEvent(QEvent* e); QString identifyMgrIP(); void init(); private slots: void onVncServerIsRunning(int port); void onDisconnected(); void onConnected(ServerConnection* connection); void onDoDisconnect(); void exit(); void cameraBlink(); void showBar(); void hideBar(); void showAboutDialog(); }; #endif /* PVSCLIENTGUI_H_ */