fix ghastly deadlock/crash during exit
[presencevnc] / src / mainwindow.h
index e3104fd..d133ef6 100644 (file)
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
-#include <QtGui>
-
 #include "remoteview.h"
 #include "vncview.h"
 
+#include <QtGui>
+
+class KeyMenu;
+
 //fix tearing during scrolling
 class ScrollArea : public QScrollArea {
 public:
@@ -37,6 +39,7 @@ protected:
        }
 };
 
+
 class MainWindow : public QMainWindow {
        Q_OBJECT
 public:
@@ -44,7 +47,7 @@ public:
 public slots:
        void about();
        void showConnectDialog();
-       void connectToHost(QString url);
+       void connectToHost(QString url, int quality);
        void disconnectFromHost();
        void forceResize();
        void forceResizeDelayed();
@@ -53,19 +56,23 @@ public slots:
        void sendPgUp() { vnc_view->sendKey(Qt::Key_PageUp); }
        void sendPgDn() { vnc_view->sendKey(Qt::Key_PageDown); }
        void sendReturn() { vnc_view->sendKey(Qt::Key_Return); }
+    void setZoomLevel(int level);
        void showInputPanel();
-       void showModifierMenu();
+       void showKeyMenu();
        void showPreferences();
        void statusChanged(RemoteView::RemoteStatus status);
        void toggleFullscreen();
 protected:
        void closeEvent(QCloseEvent*);
+       void resizeEvent(QResizeEvent *event);
 private:
        void grabZoomKeys(bool grab);
        void reloadSettings();
        VncView *vnc_view;
        ScrollArea *scroll_area;
-       QToolBar *toolbar;      
+       QToolBar *toolbar, *zoombar;
+       QSlider *zoom_slider;
        QAction *scaling, *show_toolbar, *disconnect_action;
+       KeyMenu *key_menu;
 };
 #endif