Merged and got it partly working
[qtmeetings] / src / UserInterface / Views / WeeklyViewWidget.cpp
index 552196f..673d91e 100644 (file)
@@ -20,7 +20,7 @@
 #include <QtDebug>\r
 \r
 WeeklyViewWidget::WeeklyViewWidget( QDateTime aCurrentDateTime, Configuration *aConfiguration, QWidget *aParent ) :\r
-               ObservedWidget( aParent ), iConfiguration( aConfiguration )\r
+               ViewBase( ViewBase::NormalView, aParent ), iConfiguration( aConfiguration )\r
 {\r
 \r
        // *****************************************\r
@@ -36,23 +36,21 @@ WeeklyViewWidget::WeeklyViewWidget( QDateTime aCurrentDateTime, Configuration *a
        iSettingsButton = new QPushButton;\r
        iSettingsButton->setIcon( QPixmap( ":button_settings" ) );\r
        iSettingsButton->setFixedWidth( 36 );\r
-       connect( iSettingsButton, SIGNAL( clicked() ), this, SIGNAL( showSettingsView() ) );\r
+       connect( iSettingsButton, SIGNAL( clicked() ), this, SIGNAL( settingsButtonClicked() ) );\r
 \r
        iCurrentDayLabel = ToolBox::createLabel( aCurrentDateTime.toString( iConfiguration->displaySettings()->dateFormat() ), regularTextFont );\r
        iCurrentWeekLabel = ToolBox::createLabel( tr( "Wk %1" ).arg( aCurrentDateTime.date().weekNumber() ), regularTextFont );\r
 \r
        iRoomsCombo = new MeetingRoomCombo( iConfiguration->rooms(), this );\r
        iRoomsCombo->setCurrentRoom( iConfiguration->defaultRoom() );\r
-       connect( iRoomsCombo, SIGNAL( observedEventDetected() ), this, SIGNAL( observedEventDetected() ) );\r
+       connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), this, SIGNAL( currentRoomChanged( Room * ) ) );\r
 \r
        iTimeDisplay = new DigitalTimeDisplayWidget( aCurrentDateTime.time(), iConfiguration->displaySettings()->timeFormat(), this );\r
        iTimeDisplay->setFrameVisible( false );\r
        iTimeDisplay->setFont( regularTextFont );\r
-       connect( iTimeDisplay, SIGNAL( observedEventDetected() ), this, SIGNAL( observedEventDetected() ) );\r
 \r
        iSchedule = new ScheduleWidget( aCurrentDateTime, iConfiguration->displaySettings(), this );\r
        connect( iSchedule, SIGNAL( shownWeekChanged( QDate ) ), this, SIGNAL( shownWeekChanged( QDate ) ) );\r
-       connect( iSchedule, SIGNAL( observedEventDetected() ), this, SIGNAL( observedEventDetected() ) );\r
        connect( iSchedule, SIGNAL( meetingActivated( Meeting* ) ), this, SIGNAL( meetingActivated( Meeting* ) ) );\r
 \r
        iPreviousWeekButton = new QPushButton( this );\r
@@ -91,6 +89,16 @@ WeeklyViewWidget::WeeklyViewWidget( QDateTime aCurrentDateTime, Configuration *a
        mainLayout->addLayout( tableLayout );\r
        mainLayout->addLayout( bottomLayout );\r
        setLayout( mainLayout );\r
+       \r
+       // Set child observing\r
+       observeChild( iRoomsCombo );\r
+       observeChild( iTimeDisplay );\r
+       observeChild( iCurrentDayLabel );\r
+       observeChild( iCurrentWeekLabel );\r
+       observeChild( iPreviousWeekButton );\r
+       observeChild( iCurrentWeekButton );\r
+       observeChild( iNextWeekButton );\r
+       observeChild( iSettingsButton );\r
 \r
        QPalette palette;\r
        palette.setColor( QPalette::Window, Qt::white );\r
@@ -100,13 +108,12 @@ WeeklyViewWidget::WeeklyViewWidget( QDateTime aCurrentDateTime, Configuration *a
        // ******************************************\r
        //              Handle all the signal connections\r
        // TODO : this solution if interaction monitoring is not elegant enough\r
-       connect( iPreviousWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
-       connect( iCurrentWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
-       connect( iNextWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
-       connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), this, SIGNAL( observedEventDetected() ) );\r
-       connect( iRoomsCombo, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( observedEventDetected() ) );\r
+//     connect( iPreviousWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
+//     connect( iCurrentWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
+//     connect( iNextWeekButton, SIGNAL( clicked() ), this, SIGNAL( observedEventDetected() ) );\r
+//     connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), this, SIGNAL( observedEventDetected() ) );\r
+//     connect( iRoomsCombo, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( observedEventDetected() ) );\r
        // TODO: connect RoomCombo signals to change meetings data.\r
-       connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), iSchedule, SLOT( clear() ) );\r
        connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), this, SIGNAL( currentRoomChanged( Room * ) ) );\r
        connect( iRoomsCombo, SIGNAL( currentRoomChanged( Room * ) ), iSchedule, SLOT( refresh() ) );\r
 }\r
@@ -160,11 +167,6 @@ WeeklyViewWidget::~WeeklyViewWidget()
        }\r
 }\r
 \r
-Meeting* WeeklyViewWidget::currentMeeting()\r
-{\r
-       return iSchedule->currentMeeting();\r
-}\r
-\r
 Room* WeeklyViewWidget::currentRoom()\r
 {\r
        return iRoomsCombo->currentRoom();\r
@@ -181,24 +183,15 @@ void WeeklyViewWidget::setCurrentDateTime( QDateTime aCurrentDateTime )
        iSchedule->setCurrentDateTime( aCurrentDateTime );\r
 }\r
 \r
-void WeeklyViewWidget::insertMeeting( Meeting *aMeeting )\r
-{\r
-       iSchedule->insertMeeting( aMeeting );\r
-}\r
-\r
-void WeeklyViewWidget::deleteMeeting( Meeting *aMeeting )\r
-{\r
-       iSchedule->removeMeeting( aMeeting );\r
-}\r
-\r
-void WeeklyViewWidget::updateMeeting( Meeting *aMeeting )\r
+QDate WeeklyViewWidget::beginnigOfShownWeek()\r
 {\r
-       iSchedule->updateMeeting( aMeeting );\r
+       return iSchedule->beginningOfShownWeek();\r
 }\r
 \r
-QDate WeeklyViewWidget::beginnigOfShownWeek()\r
+void WeeklyViewWidget::refreshMeetings( const QList<Meeting*> &aMeetings )\r
 {\r
-       return iSchedule->beginningOfShownWeek();\r
+       qDebug() << "WeeklyViewWidget::refreshMeetings()";\r
+       iSchedule->refreshMeetings( aMeetings );\r
 }\r
 \r
 void WeeklyViewWidget::showCurrentWeek()\r