X-Git-Url: http://git.maemo.org/git/?p=presencevnc;a=blobdiff_plain;f=src%2Fmainwindow.h;h=c5296a5d7646513679a7ddaaf1a618234e93d901;hp=9a6a270cc0b2beaa9111754748b7c817029a02c1;hb=420353ac7cbee4761341b96642647cdbb21bd380;hpb=4287da4b82e418e6a327d9a64aa946041d8059f9 diff --git a/src/mainwindow.h b/src/mainwindow.h index 9a6a270..c5296a5 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -20,58 +20,54 @@ #define MAINWINDOW_H #include "remoteview.h" -#include "vncview.h" #include class KeyMenu; +class ScrollArea; +class VncView; -//fix tearing during scrolling -class ScrollArea : public QScrollArea { +class MainWindow : public QMainWindow +{ + Q_OBJECT 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 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, int quality); - 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 about(); + void showConnectDialog(); + void connectToHost(QString url, int quality, int listen_port, bool view_only); + void disconnectFromHost(); + 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 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); + void closeEvent(QCloseEvent*); + void resizeEvent(QResizeEvent *event); private: - void grabZoomKeys(bool grab); - void reloadSettings(); - VncView *vnc_view; - ScrollArea *scroll_area; - QToolBar *toolbar, *zoombar; - QAction *scaling, *show_toolbar, *disconnect_action; - KeyMenu *key_menu; + void grabZoomKeys(bool grab); + void reloadSettings(); + + VncView *vnc_view; + ScrollArea *scroll_area; + + QToolBar *toolbar; + QSlider *zoom_slider; + QAction *scaling, *show_toolbar, *disconnect_action; + QActionGroup *input_toolbuttons; + KeyMenu *key_menu; + QAction *key_menu_button; + bool zoom_to_cursor; }; #endif