Got something working
[qtmeetings] / src / UserInterface / WindowManager.cpp
index 7be6080..af006f1 100644 (file)
@@ -43,7 +43,7 @@ void WindowManager::showView( ViewBase *view )
        // Make the new view visible and handle connections
        iCurrentView = view;
        connect( iCurrentView, SIGNAL( eventDetected() ), this, SLOT( viewEventDetected() ) );
-       connect( this, SIGNAL( viewResized(const QSize &) ), iCurrentView, SLOT( viewResized( const QSize & ) ) );
+       connect( this, SIGNAL( viewResized(const QSize &, const QSize &) ), iCurrentView, SLOT( viewResized( const QSize &, const QSize & ) ) );
        view->resize( this->size() );
        
        view->show();
@@ -52,18 +52,25 @@ void WindowManager::showView( ViewBase *view )
        if ( oldView != 0 )
        {
                disconnect( oldView, SIGNAL( eventDetected() ), this, SLOT( viewEventDetected() ) );
-               disconnect( this, SIGNAL( viewResized(const QSize &) ), oldView, SLOT( viewResized(const QSize &) ) );
+               disconnect( this, SIGNAL( viewResized(const QSize &, const QSize &) ), oldView, SLOT( viewResized(const QSize &, const QSize &) ) );
                oldView->hide();
        }
        
 }
 
-void WindowManager::showDialog(QDialog *dialog)
+void WindowManager::showDialog(QDialog *aDialog, bool blocking, bool aSendSignal)
 {
        // Handle dialog displaying
-       emit dialogActivated();
-       dialog->exec();
-       emit dialogDeactivated();
+       if ( aSendSignal ) emit dialogActivated();
+       if ( blocking )
+       {
+               aDialog->exec();
+       }
+       else
+       {
+               aDialog->show();
+       }
+       if ( aSendSignal ) emit dialogDeactivated();
 }
 
 void WindowManager::viewEventDetected()
@@ -94,8 +101,9 @@ bool WindowManager::event(QEvent *event)
        {
                if ( iCurrentView != 0 )
                {
+                       QSize currentSize = iCurrentView->size();
                        iCurrentView->setFixedSize( this->size() );
-                       emit viewResized( this->size() );
+                       emit viewResized( this->size(), currentSize );
                }
        }
        
@@ -104,9 +112,13 @@ bool WindowManager::event(QEvent *event)
 
 void WindowManager::error( const QString &aErrorMessage )
 {
-       qDebug() << "WindowManager::showErrorPopup";
+       qDebug() << "WindowManager::error       ";
 
-       showDialog( static_cast<QDialog *>( PopUpMessageBox::error( 0, aErrorMessage ) ) );
+       PopUpMessageBox *popup = PopUpMessageBox::error( 0, aErrorMessage );
+       if ( popup != 0 )
+       {
+               showDialog( static_cast<QDialog *>( popup ), false );
+       }
 }
 
 void WindowManager::setFullscreen()