Modified the dialog signaling to prevent idle screen coming from visible while dialog...
authorMikko Siren <mikko.siren@ixonos.com>
Fri, 29 May 2009 09:47:16 +0000 (12:47 +0300)
committerMikko Siren <mikko.siren@ixonos.com>
Fri, 29 May 2009 09:47:16 +0000 (12:47 +0300)
src/BusinessLogic/Engine.cpp
src/BusinessLogic/UIManager.cpp
src/UserInterface/Views/RoomStatusIndicatorWidget.cpp
src/UserInterface/Views/RoomStatusIndicatorWidget.h

index 5499005..e745491 100644 (file)
@@ -252,7 +252,7 @@ void Engine::initUserInterface()
        
        connect( iWindowManager, SIGNAL( eventDetected() ), this, SLOT( handleViewEvent() ) );
        connect( iWindowManager, SIGNAL( previousViewRestored() ), iUIManager, SLOT( previousViewRestored() ) );
-//     connect( iWindowManager, SIGNAL( dialogActivated() ), this, SLOT( dialogActivated() ) );
+       connect( iWindowManager, SIGNAL( dialogActivated() ), this, SLOT( dialogActivated() ) );
        connect( iWindowManager, SIGNAL( dialogDeactivated() ), this, SLOT( dialogDeactivated() ) );
        
        // Show the UI
@@ -268,7 +268,7 @@ void Engine::initUserInterface()
 
 void Engine::handleViewEvent()
 {
-       if ( iIdleTimeCounter != 0 )
+       if ( iIdleTimeCounter != 0 && iIdleTimeCounter->isActive())
        {
                // Restart the idle time counter when view event is received
                iIdleTimeCounter->stop();
index 517a715..54ee865 100644 (file)
@@ -170,7 +170,6 @@ void UIManager::showMeetingProgressBar( Meeting *aMeeting )
                iProgressBar->update( tr( "Fetching meeting info..." ), tr( "Please wait" ) );
                iProgressBar->toggleCancellable( true );
                iWindowManager->showDialog( static_cast<QDialog *>( iProgressBar ), false, false );
-               iEngine->stopIdleTimeCounter();
        }
 }
 
@@ -212,7 +211,6 @@ void UIManager::progressBarCancelled()
        if ( iProgressBar != 0 )
        {
                iProgressBar->close();
-               iEngine->startIdleTimeCounter();
        }
 }
 
@@ -262,7 +260,7 @@ void UIManager::passwordEntered( PasswordDialog::PasswordStatus aStatus )
                        {
                                iProgressBar->update( tr( "" ), tr( "Changing operation mode" ) );
                                iProgressBar->toggleCancellable( false );
-                               iWindowManager->showDialog( static_cast<QDialog *>( iProgressBar ), false );
+                               iWindowManager->showDialog( static_cast<QDialog *>( iProgressBar ), false, false );
                        }
                        // ... and initiate the mode changing
                        iEngine->changeDeviceMode( true );
index 694663e..302c931 100644 (file)
@@ -6,6 +6,8 @@
 #include "DigitalTimeDisplayWidget.h"\r
 #include "ToolBox.h"\r
 \r
+#include <QEvent>\r
+\r
 #include <QtDebug>\r
 \r
 QTime RoomStatusIndicatorWidget::endOfTheDay = QTime( 23, 59, 0, 0 );\r
@@ -75,25 +77,28 @@ QString RoomStatusIndicatorWidget::statusToText( const Room::Status aStatus )
 \r
 QPalette RoomStatusIndicatorWidget::createPalette( Room::Status aStatus )\r
 {\r
-       QPixmap pixmap( aStatus == Room::BusyStatus ? ":roomstatus_busy" : ":roomstatus_free" );\r
+       // QPixmap pixmap( aStatus == Room::BusyStatus ? ":roomstatus_busy" : ":roomstatus_free" );\r
+       QString image = aStatus == Room::BusyStatus ? ":roomstatus_busy" : ":roomstatus_free";\r
 \r
        // The image needs to be moved in normal mode so the traffic light not partly outside the screen\r
        const int xoffset( 60 );\r
        const int yoffset( 19 );\r
-       int cropwidth( pixmap.width() - xoffset );\r
-       int cropheight( pixmap.height() - yoffset );\r
+//     int cropwidth( pixmap.width() - xoffset );\r
+//     int cropheight( pixmap.height() - yoffset );\r
        \r
        QBrush brush;\r
        if ( windowState() == Qt::WindowFullScreen )\r
        {\r
                // Use the full image in full screen mode\r
-               brush.setTexture( pixmap );\r
+//             brush.setTexture( pixmap );\r
+               brush.setTexture( QPixmap(image) );\r
        }\r
        else\r
        {\r
                // Take part of the image so the traffic lights are moved xoffset poxels to left \r
                // and yoffset pixels to up\r
-               brush.setTexture( pixmap.copy( xoffset, yoffset, cropwidth, cropheight ) );\r
+//             brush.setTexture( pixmap.copy( xoffset, yoffset, cropwidth, cropheight ) );\r
+               brush.setTexture( QPixmap(image) );\r
        }\r
 \r
        QPalette palette;\r
@@ -124,3 +129,20 @@ void RoomStatusIndicatorWidget::currentRoomChanged( Room *aRoom )
 {\r
        iDefaultRoomLabel->setText( aRoom->name() );\r
 }\r
+\r
+bool RoomStatusIndicatorWidget::event(QEvent *event)\r
+{\r
+       switch(event->type())\r
+       {\r
+               case QEvent::Paint:\r
+                       qDebug() << "[RoomStatusIndicatorWidget::event] <Paint event>";\r
+                       break;\r
+               case QEvent::PaletteChange:\r
+                       qDebug() << "[RoomStatusIndicatorWidget::event] <Palette change event>";\r
+                       break;\r
+               default:\r
+                       break;\r
+       }\r
+       \r
+       return ViewBase::event( event );\r
+}\r
index 47c73fa..b13ff65 100644 (file)
@@ -12,6 +12,8 @@ class QLabel;
 class QVBoxLayout;\r
 class TimeDisplayWidget;\r
 \r
+class QEvent;\r
+\r
 //! UserInterface class. Indicates if the default meeting room is busy or not.\r
 /*!\r
  * UserInterface class. Indicates if the default meeting room is busy or not. This widget\r
@@ -37,6 +39,8 @@ public:
        RoomStatusIndicatorWidget( Room *aDefaultRoom, Room::Status aStatus, QTime aUntil, QString aTimeFormat, QWidget *aParent = 0 );\r
        //! Destructor.\r
        virtual ~RoomStatusIndicatorWidget();\r
+       \r
+       bool event(QEvent *event);\r
 \r
 public slots:\r
        //! Slot. Sets current time.\r