phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp
changeset 22 6bb1b21d2484
parent 21 92ab7f8d0eab
child 30 ebdbd102c78a
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Fri Apr 16 14:58:25 2010 +0300
@@ -21,6 +21,7 @@
 #include <hbtextitem.h>
 #include <hblabel.h>
 #include <hblistview.h>
+#include <hbcolorscheme.h>
 
 #include "bubblemanager2.h"
 #include "bubbleconferencehandler.h"
@@ -87,23 +88,18 @@
 {  
     mHeader = 0;
 
-    mModel->reset();
-    mList->reset();
     mSelectionTimer->stop();
     mPrototype->clearActions();
     mTimerLabel->hide();
     mButtonCenter->hide();
     mButtonCenter->setDown(false);
     mButtonCenter->disconnect();
-    mButtonCenter->setText("");
     mButtonLeft->hide();
     mButtonLeft->setDown(false);
     mButtonLeft->disconnect();
-    mButtonLeft->setText("");
     mButtonRight->hide();
     mButtonRight->setDown(false);
     mButtonRight->disconnect();
-    mButtonRight->setText("");
 }
 
 void BubbleConferenceHandler::readBubbleHeader( const BubbleHeader& header )
@@ -114,9 +110,11 @@
     // populate participant list model
     QList<BubbleHeader*> participants = mHeader->headers();
     foreach(BubbleHeader* participant, participants) {
-         mModel->addParticipant(participant->bubbleId(),
-                                participant->cli(),
-                                (int)participant->callState());
+         mModel->addParticipant(
+            participant->bubbleId(),
+            participant->cli(),
+            (int)participant->callState(),
+            !(mHeader->callFlags()&BubbleManagerIF::NoCiphering));
     }
 
     // set actions to item prototype
@@ -126,14 +124,19 @@
         mPrototype->addAction(action);
     }
 
-    mList->reset();
-
     if (header.timerCost().length()) {
+        QColor color;
+        color = HbColorScheme::color("list_item_title_normal");
+        if (color.isValid()) {
+            mTimerLabel->setTextColor(color);
+        }
         mTimerLabel->setPlainText(header.timerCost());
         mTimerLabel->show();
     }
 
     setButtons(mHeader->actions());
+
+    clearSelection();
 }
 
 void BubbleConferenceHandler::setButtons(const QList<HbAction*>& actions)
@@ -200,3 +203,14 @@
 {
     mList->selectionModel()->clear();
 }
+
+void BubbleConferenceHandler::conferenceMemberRemoved(int bubbleId)
+{
+    mModel->removeParticipant(bubbleId);
+}
+
+void BubbleConferenceHandler::conferenceRemoved()
+{
+    mModel->reset();
+    mList->reset();
+}