telutils/dialpad/src/dialpadkeyhandler.cpp
changeset 23 427125ac6cb8
parent 19 e44a8c097b15
child 27 7eb70891911c
--- a/telutils/dialpad/src/dialpadkeyhandler.cpp	Fri May 14 16:24:46 2010 +0300
+++ b/telutils/dialpad/src/dialpadkeyhandler.cpp	Thu May 27 13:23:05 2010 +0300
@@ -16,8 +16,12 @@
 */
 
 #include <hbmainwindow.h>
+#ifdef Q_OS_SYMBIAN
+#include <featmgr.h>
+#endif // Q_OS_SYMBIAN
 #include "dialpadkeyhandler.h"
 #include "dialpadvoicemailboxeventfilter.h"
+#include "dialpadvideomailboxeventfilter.h"
 #include "dialpadbluetootheventfilter.h"
 #include "dialpadkeysequenceeventfilter.h"
 #include "qtphonesrvlog.h"
@@ -28,17 +32,30 @@
     QObject(parent),
 	mMainWindow(mainWindow),
 	mVmbxFilter(0),
+	mVideoVmbxFilter(0),
 	mBtFilter(0),
-	mKeySequenceFilter(0)
+	mKeySequenceFilter(0),
+	mIsVideoMailboxSupported(false)
 {
     PHONE_TRACE;
+
+    // Variations
+#ifdef Q_OS_SYMBIAN
+    mIsVideoMailboxSupported = FeatureManager::FeatureSupported(KFeatureIdCsVideoTelephony);
+#endif // Q_OS_SYMBIAN
     
     mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad));
+    if(mIsVideoMailboxSupported) {
+        mVideoVmbxFilter.reset(new DialpadVideoMailboxEventFilter(dialPad));
+    }
     mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad));
     mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad));
-    
+
     // Stack different event filters
     mMainWindow.installEventFilter(mVmbxFilter.data());
+    if(mIsVideoMailboxSupported) {
+        mMainWindow.installEventFilter(mVideoVmbxFilter.data());    
+    }
     mMainWindow.installEventFilter(mBtFilter.data());
     mMainWindow.installEventFilter(mKeySequenceFilter.data());
 }