maemo: disable updates when screen is off
[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         Q_OBJECT
32 public:
33         MainWindow(QString url, int quality, int listen_port, bool view_only);
34 public slots:
35         void about();
36         void showConnectDialog();
37         void connectToHost(QString url, int quality, int listen_port, bool view_only);
38         void disconnectFromHost();
39         void updateScreenSpace();
40         void updateScreenSpaceDelayed();
41         void sendTab();
42         void sendEsc();
43         void sendPgUp();
44         void sendPgDn();
45         void sendReturn();
46         void setZoomLevel(int level);
47         void showInputPanel();
48         void showKeyMenu();
49         void showPreferences();
50         void statusChanged(RemoteView::RemoteStatus status);
51         void toggleFullscreen();
52         void zoomSliderReleased();
53     void displayStateChanged(QString state);
54 protected:
55         void closeEvent(QCloseEvent*);
56         void resizeEvent(QResizeEvent *event);
57 private:
58         void grabZoomKeys(bool grab);
59         void reloadSettings();
60
61         VncView *vnc_view;
62         ScrollArea *scroll_area;
63         QToolBar *toolbar;
64         QSlider *zoom_slider;
65         QAction *scaling, *show_toolbar, *disconnect_action;
66         QActionGroup *input_toolbuttons;
67         KeyMenu *key_menu;
68         bool zoom_to_cursor;
69 };
70 #endif