add history to connect 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 <QtGui>
23
24 #include "remoteview.h"
25 #include "vncview.h"
26
27 class MainWindow : public QMainWindow {
28         Q_OBJECT
29 public:
30         MainWindow(QString url, int quality);
31 public slots:
32         void about();
33         void showConnectDialog();
34         void connectToHost(QString url);
35         void disconnectFromHost();
36         void forceResize();
37         void forceResizeDelayed();
38         void sendTab() { vnc_view->sendKey(Qt::Key_Tab); }
39         void sendEsc() { vnc_view->sendKey(Qt::Key_Escape); }
40         void sendPgUp() { vnc_view->sendKey(Qt::Key_PageUp); }
41         void sendPgDn() { vnc_view->sendKey(Qt::Key_PageDown); }
42         void sendReturn() { vnc_view->sendKey(Qt::Key_Return); }
43         void showInputPanel();
44         void showModifierMenu();
45         void showPreferences();
46         void statusChanged(RemoteView::RemoteStatus status);
47         void toggleFullscreen();
48 protected:
49         void closeEvent(QCloseEvent*);
50 private:
51         void grabZoomKeys(bool grab);
52         void reloadSettings();
53         VncView *vnc_view;
54         QScrollArea *scroll_area;
55         QToolBar *toolbar;      
56         QAction *scaling, *show_toolbar, *disconnect_action;
57 };
58 #endif