diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts index 4f17a0126..44b09964e 100644 --- a/Linphone/data/languages/de.ts +++ b/Linphone/data/languages/de.ts @@ -5792,13 +5792,13 @@ Um sie in einem kommerziellen Projekt zu aktivieren, kontaktieren Sie uns bitte. SearchBar - + open_dialer_acccessibility_label "Open dialer" Wähltastatur öffnen - + clear_text_input_acccessibility_label "Clear text input" Texteingabe löschen diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts index f555dec11..cd9b06bc6 100644 --- a/Linphone/data/languages/en.ts +++ b/Linphone/data/languages/en.ts @@ -5669,13 +5669,13 @@ To enable them in a commercial project, please contact us. SearchBar - + open_dialer_acccessibility_label "Open dialer" Open dialer - + clear_text_input_acccessibility_label "Clear text input" Clear text input diff --git a/Linphone/data/languages/fr.ts b/Linphone/data/languages/fr.ts index 294304cd9..84a974bf5 100644 --- a/Linphone/data/languages/fr.ts +++ b/Linphone/data/languages/fr.ts @@ -5640,13 +5640,13 @@ Pour les activer dans un projet commercial, merci de nous contacter. SearchBar - + open_dialer_acccessibility_label "Open dialer" Ouvrir le numéroteur - + clear_text_input_acccessibility_label "Clear text input" Supprimer le texte saisi diff --git a/Linphone/view/Control/Input/NumericPad.qml b/Linphone/view/Control/Input/NumericPad.qml index bbf53dc37..074c7c3cb 100644 --- a/Linphone/view/Control/Input/NumericPad.qml +++ b/Linphone/view/Control/Input/NumericPad.qml @@ -41,61 +41,65 @@ FocusScope { } } + function handleKeyPadEvent(event) { + if (event.key === Qt.Key_0) { + keypadKeyPressedAtIndex(10) + event.accepted = true + } + if (event.key === Qt.Key_1) { + keypadKeyPressedAtIndex(0) + event.accepted = true + } + if (event.key === Qt.Key_2) { + keypadKeyPressedAtIndex(1) + event.accepted = true + } + if (event.key === Qt.Key_3) { + keypadKeyPressedAtIndex(2) + event.accepted = true + } + if (event.key === Qt.Key_4) { + keypadKeyPressedAtIndex(3) + event.accepted = true + } + if (event.key === Qt.Key_5) { + keypadKeyPressedAtIndex(4) + event.accepted = true + } + if (event.key === Qt.Key_6) { + keypadKeyPressedAtIndex(5) + event.accepted = true + } + if (event.key === Qt.Key_7) { + keypadKeyPressedAtIndex(6) + event.accepted = true + } + if (event.key === Qt.Key_8) { + keypadKeyPressedAtIndex(7) + event.accepted = true + } + if (event.key === Qt.Key_9) { + keypadKeyPressedAtIndex(8) + event.accepted = true + } + if (event.key === Qt.Key_Asterisk) { + keypadKeyPressedAtIndex(9) + event.accepted = true + } + if (event.key === Qt.Key_Plus) { + mainItem.buttonPressed("+") + event.accepted = true + } + if (event.key === Qt.Key_Enter) { + mainItem.launchCall() + event.accepted = true + } + } + Keys.onPressed: (event) => { event.accepted = false if (event.modifiers & Qt.KeypadModifier) { - if (event.key === Qt.Key_0) { - keypadKeyPressedAtIndex(10) - event.accepted = true - } - if (event.key === Qt.Key_1) { - keypadKeyPressedAtIndex(0) - event.accepted = true - } - if (event.key === Qt.Key_2) { - keypadKeyPressedAtIndex(1) - event.accepted = true - } - if (event.key === Qt.Key_3) { - keypadKeyPressedAtIndex(2) - event.accepted = true - } - if (event.key === Qt.Key_4) { - keypadKeyPressedAtIndex(3) - event.accepted = true - } - if (event.key === Qt.Key_5) { - keypadKeyPressedAtIndex(4) - event.accepted = true - } - if (event.key === Qt.Key_6) { - keypadKeyPressedAtIndex(5) - event.accepted = true - } - if (event.key === Qt.Key_7) { - keypadKeyPressedAtIndex(6) - event.accepted = true - } - if (event.key === Qt.Key_8) { - keypadKeyPressedAtIndex(7) - event.accepted = true - } - if (event.key === Qt.Key_9) { - keypadKeyPressedAtIndex(8) - event.accepted = true - } - if (event.key === Qt.Key_Asterisk) { - keypadKeyPressedAtIndex(9) - event.accepted = true - } - if (event.key === Qt.Key_Plus) { - mainItem.buttonPressed("+") - event.accepted = true - } - if (event.key === Qt.Key_Enter) { - mainItem.launchCall() - event.accepted = true - } + handleKeyPadEvent(event) } if (event.key === Qt.Key_Backspace) { mainItem.wipe() diff --git a/Linphone/view/Control/Input/SearchBar.qml b/Linphone/view/Control/Input/SearchBar.qml index 0d2378f19..f335db3d0 100644 --- a/Linphone/view/Control/Input/SearchBar.qml +++ b/Linphone/view/Control/Input/SearchBar.qml @@ -104,6 +104,13 @@ FocusScope { repeat: false onTriggered: textField.searchText = textField.text } + Keys.onPressed: (event) => { + event.accepted = false + if (mainItem.numericPadPopup && mainItem.numericPadPopup.opened && (event.modifiers & Qt.KeypadModifier)) { + mainItem.numericPadPopup.keyPadKeyPressed(event) + event.accepted = true + } + } } Button { id: dialerButton diff --git a/Linphone/view/Control/Popup/NumericPadPopup.qml b/Linphone/view/Control/Popup/NumericPadPopup.qml index 65fce495e..56c763ee3 100644 --- a/Linphone/view/Control/Popup/NumericPadPopup.qml +++ b/Linphone/view/Control/Popup/NumericPadPopup.qml @@ -20,6 +20,10 @@ Control.Popup { property var currentCall onOpened: numPad.forceActiveFocus() signal buttonPressed(string text) + signal keyPadKeyPressed(KeyEvent event) + onKeyPadKeyPressed: (event) => { + numPad.handleKeyPadEvent(event) + } signal launchCall() signal wipe() @@ -72,7 +76,6 @@ Control.Popup { lastRowVisible: mainItem.lastRowVisible currentCall: mainItem.currentCall onButtonPressed: (text) => { - console.log("BUTTON PRESSED NUMPAD") mainItem.buttonPressed(text) } onLaunchCall: mainItem.launchCall()