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 } |
|