telutils/dialpad/src/dialpadmultitaphandler.cpp
changeset 13 e32024264ebb
parent 12 ae8abd0db65c
--- a/telutils/dialpad/src/dialpadmultitaphandler.cpp	Fri Mar 19 09:40:14 2010 +0200
+++ b/telutils/dialpad/src/dialpadmultitaphandler.cpp	Fri Apr 16 15:31:58 2010 +0300
@@ -80,6 +80,15 @@
                     ++mAsteriskMultitapIndex % DialpadAsteriskMultitapCount;
 
                 int key = DialpadAsteriskMultitapChars[mAsteriskMultitapIndex];
+
+                // Allow + character only as a first char in editor
+                int cursorPosition = mEditor.cursorPosition();
+                if(cursorPosition != 0 && key == Qt::Key_Plus) {
+                    mAsteriskMultitapIndex = ++mAsteriskMultitapIndex;
+                    Q_ASSERT(mAsteriskMultitapIndex < DialpadAsteriskMultitapCount);
+                    key = DialpadAsteriskMultitapChars[mAsteriskMultitapIndex];
+                }
+                
                 QKeyEvent generatedEvent(QEvent::KeyPress, key,
                                          Qt::KeypadModifier,
                                          mExtraChar.value(key));