/* # 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 #include "../util/room.h" class ServerConnection; class VncWindow; 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 *_acnConnect; QAction *_acnInformation; QAction *_acnAbout; QAction *_acnQuit; QTimer _showTimer; QTimer _hideTimer; int _hideCountdown; QTimer _blinkTimer; VncWindow *_vnc; bool _isManagerPc; const QPixmap _cam32, _beWatchedEye; QPoint _lastDragPos; int _yPos; int _yPosHidden; void enterEvent(QEvent* e) override; void mousePressEvent(QMouseEvent* event) override; void mouseMoveEvent(QMouseEvent* event) override; QList myRooms(); bool isManagerPc(); QString identifyMgrIP(); void init(); void initButtonsAndMenus(); QProcess lockDesktopP; private slots: void onVncServerIsRunning(int port); void onDisconnected(ServerConnection* connection); void onConnected(ServerConnection* connection); void onServerAttentionChanged(const bool on); void onDoDisconnect(); void onBtnAttention(); void exit(); void cameraBlink(); void showBar(); void hideBar(); void delayedShowBar(); void delayedHideBar(); void showAboutDialog(); void showInformationDialog(); void setToolbarPosition(const QRect &geometry); }; #endif /* PVSCLIENTGUI_H_ */