telutils/dialpad/src/dialpadvideomailboxeventfilter.cpp
changeset 45 61f927bc9441
parent 39 cee7e9e0906c
equal deleted inserted replaced
39:cee7e9e0906c 45:61f927bc9441
    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