phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp
changeset 45 6b911d05207e
parent 37 ba76fc04e6c2
child 46 bc5a64e5bc3c
equal deleted inserted replaced
37:ba76fc04e6c2 45:6b911d05207e
    20 #include <hbaction.h>
    20 #include <hbaction.h>
    21 #include <hbtoolbar.h>
    21 #include <hbtoolbar.h>
    22 #include <bubblemanager2.h>
    22 #include <bubblemanager2.h>
    23 #include <hbmenu.h>
    23 #include <hbmenu.h>
    24 #include <hbmainwindow.h>
    24 #include <hbmainwindow.h>
    25 
       
    26 #include "bubbletestview.h"
    25 #include "bubbletestview.h"
    27 #include "bubbletester.h"
    26 #include <hbeffect.h>
    28 
    27 
    29 BubbleTestView::BubbleTestView(HbMainWindow& window, QGraphicsItem *parent) :
    28 BubbleTestView::BubbleTestView(HbMainWindow& window, QGraphicsItem *parent) :
    30     HbView (parent), mMainWindow(window), mMuted(0), mConfBubbleId(-1),
    29     HbView (parent), mMainWindow(window), mMuted(0), mConfBubbleId(-1),
    31     mProvideJoin(false)
    30     mProvideJoin(false)
    32 {
    31 {
    48     createMenuActions();
    47     createMenuActions();
    49 
    48 
    50     // create actions for push buttons
    49     // create actions for push buttons
    51     createBubbleActions();
    50     createBubbleActions();
    52 
    51 
    53     // tester
    52     // disable toolbar effects
    54     mBubbleTester = new BubbleTester();
    53     HbEffect::disable(toolBar());
    55     connect(mBubbleTester,SIGNAL(dataChanged()),this,SLOT(handleTesterDataChanged()));
       
    56     mBubbleTester->connectToServer();
       
    57 
       
    58     // create state map
       
    59     mStateMap.insert("Idle", BubbleManagerIF::None );
       
    60     mStateMap.insert("Incoming", BubbleManagerIF::Incoming );
       
    61     mStateMap.insert("Active", BubbleManagerIF::Active );
       
    62     mStateMap.insert("Disconnected", BubbleManagerIF::Disconnected );
       
    63     mStateMap.insert("Outgoing", BubbleManagerIF::Outgoing );
       
    64     mStateMap.insert("Waiting", BubbleManagerIF::Waiting );
       
    65     mStateMap.insert("OnHold", BubbleManagerIF::OnHold );
       
    66     // create label map
       
    67     mLabelMap.insert("Idle", "" );
       
    68     mLabelMap.insert("Incoming", "calling" );
       
    69     mLabelMap.insert("Active", "" );
       
    70     mLabelMap.insert("Disconnected", "disconnected" );
       
    71     mLabelMap.insert("Outgoing", "Calling" );
       
    72     mLabelMap.insert("Waiting", "waiting" );
       
    73     mLabelMap.insert("OnHold", "on hold" );
       
    74 }
    54 }
    75 
    55 
    76 BubbleTestView::~BubbleTestView()
    56 BubbleTestView::~BubbleTestView()
    77 {
    57 {
    78     toolBar()->clearActions();
    58     toolBar()->clearActions();
    79     delete mBubbleTester;
       
    80 }
    59 }
    81 
    60 
    82 void BubbleTestView::keyPressEvent(QKeyEvent *event)
    61 void BubbleTestView::keyPressEvent(QKeyEvent *event)
    83 {
    62 {
    84     switch( event->key() )
    63     switch( event->key() )
  1066         }
  1045         }
  1067         j++;
  1046         j++;
  1068     }
  1047     }
  1069 }
  1048 }
  1070 
  1049 
  1071 void BubbleTestView::connectToTester()
       
  1072 {
       
  1073     mBubbleTester->connectToServer();
       
  1074 }
       
  1075 
       
  1076 void BubbleTestView::handleTesterDataChanged()
       
  1077 {
       
  1078     bubbleManager().startChanges();
       
  1079 
       
  1080     QString mute = mBubbleTester->dataField("mute");
       
  1081     bubbleManager().setPhoneMuted( mute == "On" );
       
  1082 
       
  1083     QList<QString> testBubbles = mBubbleTester->bubbles();
       
  1084 
       
  1085     foreach (QString bubbleId, testBubbles) {
       
  1086         QString state = mBubbleTester->dataField(bubbleId,"state");
       
  1087 
       
  1088         // create or remove bubble
       
  1089         if ( mTestBubbleIds.contains(bubbleId) && state=="Idle" ) {
       
  1090             bubbleManager().removeCallHeader(mTestBubbleIds.value(bubbleId));
       
  1091             mTestBubbleIds.remove(bubbleId);
       
  1092         } else if (!mTestBubbleIds.contains(bubbleId) && state!="Idle" ) {
       
  1093             int id = bubbleManager().createCallHeader();
       
  1094             mTestBubbleIds.insert(bubbleId,id);
       
  1095         }
       
  1096 
       
  1097         // set data
       
  1098         if (mTestBubbleIds.contains(bubbleId)) {
       
  1099             int id = mTestBubbleIds.value(bubbleId);
       
  1100 
       
  1101             QString name = mBubbleTester->dataField(bubbleId,"name");
       
  1102             QString number = mBubbleTester->dataField(bubbleId,"number");
       
  1103             QString divert = mBubbleTester->dataField(bubbleId,"divert");
       
  1104 
       
  1105             bubbleManager().setState(id, mStateMap.value(state));
       
  1106             bubbleManager().setCli(id, name, Qt::ElideRight);
       
  1107             bubbleManager().setSecondaryCli(id, number );
       
  1108             bubbleManager().setLabel(id, mLabelMap.value(state), Qt::ElideRight);
       
  1109 
       
  1110             bubbleManager().setCallFlag(id, BubbleManager::Diverted, (divert == "On") );
       
  1111 
       
  1112             setCallObject(id,":resources/contactpic.jpg");
       
  1113 
       
  1114             setBubbleActions(id, mStateMap.value(state) );
       
  1115         }
       
  1116     }
       
  1117 
       
  1118     bubbleManager().endChanges();
       
  1119 }