--- a/telutils/dialpad/src/dialpadkeyhandler.cpp Wed Jun 23 18:49:32 2010 +0300
+++ b/telutils/dialpad/src/dialpadkeyhandler.cpp Tue Jul 06 14:53:02 2010 +0300
@@ -26,6 +26,7 @@
#include "dialpadbluetootheventfilter.h"
#include "dialpadkeysequenceeventfilter.h"
#include "dialpademergencycalleventfilter.h"
+#include "dialpadhasheventfilter.h"
#include "qtphonesrvlog.h"
DialpadKeyHandler::DialpadKeyHandler(
@@ -37,7 +38,8 @@
mVideoVmbxFilter(0),
mBtFilter(0),
mKeySequenceFilter(0),
- mEmergencyCallFilter(0)
+ mEmergencyCallFilter(0),
+ mHashFilter(0)
{
PHONE_TRACE;
@@ -53,6 +55,7 @@
}
mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad));
mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad));
+ mHashFilter.reset(new DialpadHashEventFilter(dialPad));
// Stack different event filters
mMainWindow.installEventFilter(mVmbxFilter.data());
@@ -61,6 +64,7 @@
}
mMainWindow.installEventFilter(mBtFilter.data());
mMainWindow.installEventFilter(mKeySequenceFilter.data());
+ mMainWindow.installEventFilter(mHashFilter.data());
}
@@ -75,7 +79,8 @@
mVideoVmbxFilter(0),
mBtFilter(0),
mKeySequenceFilter(0),
- mEmergencyCallFilter(0)
+ mEmergencyCallFilter(0),
+ mHashFilter(0)
{
PHONE_TRACE;
@@ -106,9 +111,20 @@
new DialpadEmergencyCallEventFilter(dialPad));
mMainWindow.installEventFilter(mEmergencyCallFilter.data());
}
+
+ if (filters.testFlag(Hash)) {
+ mHashFilter.reset(new DialpadHashEventFilter(dialPad));
+ mMainWindow.installEventFilter(mHashFilter.data());
+ }
}
DialpadKeyHandler::~DialpadKeyHandler()
{
+ mMainWindow.removeEventFilter(mVmbxFilter.data());
+ mMainWindow.removeEventFilter(mVideoVmbxFilter.data());
+ mMainWindow.removeEventFilter(mBtFilter.data());
+ mMainWindow.removeEventFilter(mKeySequenceFilter.data());
+ mMainWindow.removeEventFilter(mEmergencyCallFilter.data());
+ mMainWindow.removeEventFilter(mHashFilter.data());
}