#ifndef _MAINWINDOW_H_ #define _MAINWINDOW_H_ #include #include class SessionNameWindow; class ConnectionFrame; class ListenServer; class DiscoveryListener; class Client; class ClientLogin; namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT private: Ui::MainWindow *ui; SessionNameWindow *_sessionNameWindow; QLabel *_sessionNameLabel; QList _clientFrames; int _tileWidth, _tileHeight; int _tilesX, _tilesY; int _tbIconSize; Qt::ToolBarArea _tbArea; int _timerId, _timerTimeout; ListenServer *_listenServer; DiscoveryListener *_discoveryListener; qint64 _buttonBlockTime; void placeFrameInFreeSlot(ConnectionFrame* frame); ConnectionFrame* createFrame(); bool loadPosition(QSettings& settings, const QString& id, int& x, int& y); void savePosition(ConnectionFrame *cf); public: MainWindow(QWidget *parent = 0); ~MainWindow(); protected: void closeEvent(QCloseEvent *e); void changeEvent(QEvent *e); void resizeEvent(QResizeEvent *e); void mouseReleaseEvent(QMouseEvent* e); void timerEvent(QTimerEvent* event); protected slots: // This void onSessionNameClick(); void onSessionNameUpdate(); void onButtonSettings(); void onButtonChat(); void onButtonBroadcast(); void onButtonLock(bool checked); void onButtonExit(); // connection frame void onPlaceFrame(ConnectionFrame* frame); void onFrameClicked(ConnectionFrame* frame); // Net void onClientConnected(Client* client); void onClientAuthenticating(Client* client, ClientLogin* request); void onClientAuthenticated(Client* client); void onVncServerStateChange(Client* client); void onVncClientStateChange(Client* client); }; #endif