# HG changeset patch
# User Rene Kolarik
# Date 1240266250 -7200
# Node ID 515d8d69fd31c46789600dbc53f57f075d190514
# Parent  75d94a9fcf98c3597c60ced00934889413c5faa5
Dialing with keyboard

diff -r 75d94a9fcf98 -r 515d8d69fd31 
wengophone/src/presentation/qt/QtDialpad.cpp
--- a/wengophone/src/presentation/qt/QtDialpad.cpp      Wed Apr 15 12:39:55 
2009 +0200
+++ b/wengophone/src/presentation/qt/QtDialpad.cpp      Tue Apr 21 00:24:10 
2009 +0200
@@ -91,6 +91,7 @@
        SAFE_CONNECT(_ui->qtSVGDialpad, SIGNAL(keyPoundSelected()), 
SLOT(poundButtonClicked()));
 
        setThemeMode(ThemeModeAll);
+       setFocusPolicy(Qt::StrongFocus);
 }
 
 QtDialpad::~QtDialpad() {
@@ -252,3 +253,54 @@
        }
        setCurrentTheme(_ui->audioSmileysComboBox->itemText(0));
 }
+
+void QtDialpad::keyPressEvent(QKeyEvent * event)
+{
+  switch( event->key() ) 
+  {
+    case Qt::Key_0:
+      playTone("0");
+      break;
+    case Qt::Key_1:
+      playTone("1");
+      break;
+    case Qt::Key_2:
+      playTone("2");
+      break;
+    case Qt::Key_3:
+      playTone("3");
+      break;
+    case Qt::Key_4:
+      playTone("4");
+      break;
+    case Qt::Key_5:
+      playTone("5");
+      break;
+    case Qt::Key_6:
+      playTone("6");
+      break;
+    case Qt::Key_7:
+      playTone("7");
+      break;
+    case Qt::Key_8:
+      playTone("8");
+      break;
+    case Qt::Key_9:
+      playTone("9");
+      break;
+    case Qt::Key_Asterisk:
+      playTone("*");
+      break;
+    case Qt::Key_Plus:
+      playTone("#");
+      break;
+    case Qt::Key_Backspace:
+      _qtWengoPhone->dialpadBackspace();
+      break;
+    case Qt::Key_Enter:
+    case Qt::Key_Return:
+      _qtWengoPhone->dialpadEnter();
+    default:
+      QWidget::keyPressEvent(event);
+  }
+}
diff -r 75d94a9fcf98 -r 515d8d69fd31 wengophone/src/presentation/qt/QtDialpad.h
--- a/wengophone/src/presentation/qt/QtDialpad.h        Wed Apr 15 12:39:55 
2009 +0200
+++ b/wengophone/src/presentation/qt/QtDialpad.h        Tue Apr 21 00:24:10 
2009 +0200
@@ -97,6 +97,9 @@
        UpQComboBox * _audioSmileysComboBox;
 
        ThemeMode _themeMode;
+       
+protected:
+  void keyPressEvent(QKeyEvent * event); 
 };
 
 #endif //OWQTDIALPAD_H
diff -r 75d94a9fcf98 -r 515d8d69fd31 
wengophone/src/presentation/qt/QtWengoPhone.cpp
--- a/wengophone/src/presentation/qt/QtWengoPhone.cpp   Wed Apr 15 12:39:55 
2009 +0200
+++ b/wengophone/src/presentation/qt/QtWengoPhone.cpp   Tue Apr 21 00:24:10 
2009 +0200
@@ -626,6 +626,23 @@
        }
 }
 
+void QtWengoPhone::dialpadBackspace() {
+  int s;
+       if (_cWengoPhone.getCUserProfileHandler().getCUserProfile()) {
+         s = _ui->callBar->getPhoneComboBoxCurrentText().size();
+         if(s>0)
+         {
+           std::string str = _ui->callBar->getPhoneComboBoxCurrentText();
+           str.resize(s-1);
+                 _ui->callBar->setPhoneComboBoxEditText(str);
+               }
+       }
+}
+
+void QtWengoPhone::dialpadEnter() {
+  callButtonClicked();
+}
+
 void QtWengoPhone::prepareToExitApplication() {
        Config & config = ConfigManager::getInstance().getCurrentConfig();
 
@@ -885,4 +902,4 @@
 void QtWengoPhone::setCurrentUserProfileEventHandlerSlot()
 {
        _qtToolBar->tryingToConnect();
-}
\ No newline at end of file
+}
diff -r 75d94a9fcf98 -r 515d8d69fd31 
wengophone/src/presentation/qt/QtWengoPhone.h
--- a/wengophone/src/presentation/qt/QtWengoPhone.h     Wed Apr 15 12:39:55 
2009 +0200
+++ b/wengophone/src/presentation/qt/QtWengoPhone.h     Tue Apr 21 00:24:10 
2009 +0200
@@ -95,6 +95,10 @@
 
        void dialpad(const std::string & tone);
 
+  void dialpadBackspace();
+  
+  void dialpadEnter();
+
        void connectionStatusEventHandler(int totalSteps, int currentStep, 
const std::string & infoMsg);
 
        QWidget * getWidget() const;
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to