show current host in title bar
[presencevnc] / src / mainwindow.h
index 4c50e78..441062b 100644 (file)
 #define MAINWINDOW_H
 
 #include "remoteview.h"
-#include "vncview.h"
 
 #include <QtGui>
 
-//fix tearing during scrolling
-class ScrollArea : public QScrollArea {
-public:
-       ScrollArea(QWidget *parent) : QScrollArea(parent) { }
-protected:
-       virtual void scrollContentsBy(int dx, int dy)
-       {
-               QScrollArea::scrollContentsBy(dx, dy);
-               if(widget())
-                       widget()->update(); //update whole widget
-       }
-};
-
+class KeyMenu;
+class ScrollArea;
+class VncView;
 
 class MainWindow : public QMainWindow {
        Q_OBJECT
 public:
-       MainWindow(QString url, int quality);
+       MainWindow(QString url, int quality, int listen_port, bool view_only);
 public slots:
        void about();
        void showConnectDialog();
-       void connectToHost(QString url);
+       void connectToHost(QString url, int quality, int listen_port, bool view_only);
        void disconnectFromHost();
-       void forceResize();
-       void forceResizeDelayed();
-       void sendTab() { vnc_view->sendKey(Qt::Key_Tab); }
-       void sendEsc() { vnc_view->sendKey(Qt::Key_Escape); }
-       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 updateScreenSpace();
+       void updateScreenSpaceDelayed();
+       void sendTab();
+       void sendEsc();
+       void sendPgUp();
+       void sendPgDn();
+       void sendReturn();
+       void setZoomLevel(int level);
        void showInputPanel();
        void showKeyMenu();
        void showPreferences();
        void statusChanged(RemoteView::RemoteStatus status);
        void toggleFullscreen();
+       void zoomSliderReleased();
+    void displayStateChanged(QString state);
 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;
+       QSlider *zoom_slider;
        QAction *scaling, *show_toolbar, *disconnect_action;
+       QActionGroup *input_toolbuttons;
+       KeyMenu *key_menu;
+       bool zoom_to_cursor;
 };
 #endif