22 #include "dialpadsymbianwrapper.h" |
22 #include "dialpadsymbianwrapper.h" |
23 #include "dialpad.h" |
23 #include "dialpad.h" |
24 #include "qtphonesrvlog.h" |
24 #include "qtphonesrvlog.h" |
25 |
25 |
26 #ifdef Q_OS_SYMBIAN |
26 #ifdef Q_OS_SYMBIAN |
27 #include <xqservicerequest.h> |
|
28 #include <xqserviceutil.h> |
27 #include <xqserviceutil.h> |
29 #endif //Q_OS_SYMBIAN |
28 #endif //Q_OS_SYMBIAN |
|
29 |
|
30 #include <xqsettingsmanager.h> |
|
31 #include <xqsettingskey.h> |
|
32 #include <voicemailboxdomaincrkeys.h> |
|
33 |
30 |
34 |
31 const QString VideoVmbxCharacter("2"); |
35 const QString VideoVmbxCharacter("2"); |
32 |
36 |
33 DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent) : |
37 DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent) : |
34 DialpadMailboxEventFilterBase(dialpad, parent) |
38 DialpadMailboxEventFilterBase(dialpad, parent) |
104 } |
108 } |
105 |
109 |
106 void DialpadVideoMailboxEventFilter::handleMailboxOperation() |
110 void DialpadVideoMailboxEventFilter::handleMailboxOperation() |
107 { |
111 { |
108 PHONE_TRACE; |
112 PHONE_TRACE; |
109 QString mailboxNumber; |
113 |
110 int error = mSymbianWrapper->getVideoMailboxNumber(mailboxNumber); |
114 if (isVideoMbxSupported()) { |
111 // If here is no vmbx number and dialpad must start vmbx number definition procedures. |
115 QString mailboxNumber; |
112 if (DialpadErrorNone != error || mailboxNumber.length() == 0) { |
116 int error = mSymbianWrapper->getVideoMailboxNumber(mailboxNumber); |
113 mDialpad->closeDialpad(); |
117 // If here is no vmbx number and dialpad must start vmbx number definition procedures. |
114 // If define mailbox query was interupted than reopen dialpad. |
118 if (DialpadErrorNone != error || mailboxNumber.length() == 0) { |
115 error = mSymbianWrapper->defineVideoMailboxNumber(mailboxNumber); |
119 mDialpad->closeDialpad(); |
116 if (DialpadErrorCancel == error) { |
120 // If define mailbox query was interupted than reopen dialpad. |
|
121 error = mSymbianWrapper->defineVideoMailboxNumber(mailboxNumber); |
|
122 if (DialpadErrorCancel == error) { |
|
123 mDialpad->openDialpad(); |
|
124 } |
|
125 } |
|
126 |
|
127 // Valid vmbx number found or defined and there vmbx didnt |
|
128 // return error values then create a call. |
|
129 if ((DialpadErrorNone == error) && |
|
130 (mailboxNumber.length() != 0)) { |
|
131 createCall(mailboxNumber, true); |
|
132 clearEditor(); |
117 mDialpad->openDialpad(); |
133 mDialpad->openDialpad(); |
118 } |
134 } |
119 } |
135 } |
|
136 } |
120 |
137 |
121 // Valid vmbx number found or defined and there vmbx didnt |
138 bool DialpadVideoMailboxEventFilter::isVideoMbxSupported() |
122 // return error values then create a call. |
139 { |
123 if ((DialpadErrorNone == error) && |
140 XQSettingsKey key(XQSettingsKey::TargetCentralRepository, |
124 (mailboxNumber.length() != 0)) { |
141 KCRUidVideoMailbox.iUid, |
125 createCall(mailboxNumber, true); |
142 KVideoMbxSupport); |
126 clearEditor(); |
143 XQSettingsManager settingsMgr; |
127 mDialpad->openDialpad(); |
144 |
128 } |
145 int ret = settingsMgr.readItemValue(key, XQSettingsManager::TypeInt).toInt(); |
|
146 PHONE_TRACE2("Video mbx support:", ret); |
|
147 return ret; |
129 } |
148 } |
|
149 |