reset KeyMenu when connecting
authorChristian Pulvermacher <christian@christian-laptop.(none)>
Mon, 20 Sep 2010 06:07:58 +0000 (08:07 +0200)
committerChristian Pulvermacher <christian@christian-laptop.(none)>
Mon, 20 Sep 2010 06:07:58 +0000 (08:07 +0200)
src/mainwindow.cpp
src/mainwindow.h

index 36e966a..47d3d36 100644 (file)
@@ -35,7 +35,8 @@
 MainWindow::MainWindow(QString url, int quality):
        QMainWindow(0),
        vnc_view(0),
-       scroll_area(new ScrollArea(0))
+       scroll_area(new ScrollArea(0)),
+       key_menu(0)
 {
        setWindowTitle("Presence VNC");
 
@@ -135,6 +136,7 @@ MainWindow::MainWindow(QString url, int quality):
                scroll_area->setWidget(vnc_view);
                vnc_view->start();
                vnc_view->enableScaling(scaling->isChecked());
+               key_menu = new KeyMenu(this);
        }
 }
 
@@ -199,6 +201,10 @@ void MainWindow::connectToHost(QString url)
        vnc_view->enableScaling(scaling->isChecked());
        disconnect_action->setEnabled(true);
        toolbar->setEnabled(true);
+
+       if(key_menu) //reset
+               delete key_menu;
+       key_menu = new KeyMenu(this);
 }
 
 void MainWindow::disconnectFromHost()
@@ -297,9 +303,7 @@ void MainWindow::toggleFullscreen()
 
 void MainWindow::showKeyMenu()
 {
-       static KeyMenu *key_menu = new KeyMenu(this);
        key_menu->exec();
-
        vnc_view->sendKeySequence(key_menu->getKeySequence());
 }
 
index 4c50e78..fc33210 100644 (file)
@@ -24,6 +24,8 @@
 
 #include <QtGui>
 
+class KeyMenu;
+
 //fix tearing during scrolling
 class ScrollArea : public QScrollArea {
 public:
@@ -69,5 +71,6 @@ private:
        ScrollArea *scroll_area;
        QToolBar *toolbar;      
        QAction *scaling, *show_toolbar, *disconnect_action;
+       KeyMenu *key_menu;
 };
 #endif