update about dialog
[presencevnc] / src / mainwindow.h
1 /*
2     Presence VNC
3     Copyright (C) 2010 Christian Pulvermacher
4
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License along
16     with this program; if not, write to the Free Software Foundation, Inc.,
17     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 #ifndef MAINWINDOW_H
20 #define MAINWINDOW_H
21
22 #include "remoteview.h"
23
24 #include <QtGui>
25
26 class KeyMenu;
27 class ScrollArea;
28 class VncView;
29
30 class MainWindow : public QMainWindow
31 {
32     Q_OBJECT
33 public:
34     MainWindow(QString url, int quality, int listen_port, bool view_only);
35 public slots:
36     void about();
37     void showConnectDialog();
38     void connectToHost(QString url, int quality, int listen_port, bool view_only);
39     void disconnectFromHost();
40     void updateScreenSpace();
41     void updateScreenSpaceDelayed();
42     void sendTab();
43     void sendEsc();
44     void sendPgUp();
45     void sendPgDn();
46     void sendReturn();
47     void setZoomLevel(int level);
48     void showInputPanel();
49     void showKeyMenu();
50     void showPreferences();
51     void statusChanged(RemoteView::RemoteStatus status);
52     void toggleFullscreen();
53     void zoomSliderReleased();
54     void displayStateChanged(QString state);
55 protected:
56     void closeEvent(QCloseEvent*);
57     void resizeEvent(QResizeEvent *event);
58 private:
59     void grabZoomKeys(bool grab);
60     void reloadSettings();
61
62     VncView *vnc_view;
63     ScrollArea *scroll_area;
64
65     QToolBar *toolbar;
66     QSlider *zoom_slider;
67     QAction *scaling, *show_toolbar, *disconnect_action;
68     QActionGroup *input_toolbuttons;
69     KeyMenu *key_menu;
70     QAction *key_menu_button;
71     bool zoom_to_cursor;
72 };
73 #endif