cleanup
[presencevnc] / src / mainwindow.cpp
index bf6ee23..042b685 100644 (file)
@@ -78,6 +78,7 @@ MainWindow::MainWindow(QString url, int quality):
        toolbar->addAction(QIcon("/usr/share/icons/hicolor/48x48/hildon/general_fullsize.png"), "", this, SLOT(toggleFullscreen()));
        addToolBar(toolbar);
        toolbar->setVisible(settings.value("show_toolbar", true).toBool());
+       toolbar->setEnabled(false);
 
        //set up menu
        QAction *connect_action = new QAction(tr("Connect"), this);
@@ -131,7 +132,6 @@ MainWindow::MainWindow(QString url, int quality):
 
        if(url.isNull()) {
                disconnect_action->setEnabled(false);
-               toolbar->setEnabled(false);
                showConnectDialog();
        } else {
                vnc_view = new VncView(this, url, RemoteView::Quality(quality));
@@ -200,7 +200,6 @@ void MainWindow::connectToHost(QString url, int quality, int listen_port)
        vnc_view->start();
 
        disconnect_action->setEnabled(true);
-       toolbar->setEnabled(true);
 
        //reset key menu
        delete key_menu;
@@ -212,12 +211,12 @@ void MainWindow::disconnectFromHost()
        if(!vnc_view)
                return;
 
+       disconnect_action->setEnabled(false);
+       toolbar->setEnabled(false);
        scroll_area->setWidget(0);
 
        delete vnc_view;
        vnc_view = 0;
-       disconnect_action->setEnabled(false);
-       toolbar->setEnabled(false);
 }
 
 void MainWindow::statusChanged(RemoteView::RemoteStatus status)
@@ -234,13 +233,16 @@ void MainWindow::statusChanged(RemoteView::RemoteStatus status)
 #ifdef Q_WS_MAEMO_5
                setAttribute(Qt::WA_Maemo5ShowProgressIndicator, false);
 #endif
+               toolbar->setEnabled(true);
+
                vnc_view->setZoomLevel(zoom_slider->value());
                vnc_view->forceFullRepaint();
                break;
        case RemoteView::Disconnecting:
                if(old_status != RemoteView::Disconnected) { //Disconnecting also occurs while connecting, so check last state
 #ifdef Q_WS_MAEMO_5
-                       QMaemo5InformationBox::information(this, tr("Connection lost"));
+                       if(disconnect_action->isEnabled()) //don't show when manually disconnecting
+                               QMaemo5InformationBox::information(this, tr("Connection lost"));
 #endif
                        
                        //clean up