Skip to content

Commit 639d20b

Browse files
committed
App: Enable keyboard action for Android platform
1 parent f1a7ceb commit 639d20b

6 files changed

Lines changed: 38 additions & 18 deletions

File tree

.github/workflows/android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
ANDROID_PLATFORM: android-34
4949
ANDROID_NATIVE_API_LEVEL: 34
5050
ANDROID_ABI: ${{matrix.ANDROID_ABI}}
51-
qt_modules: 'qtimageformats qtmultimedia qtscxml qtserialport qt5compat qtwebsockets qtpositioning qtwebchannel qtspeech qtvirtualkeyboard'
51+
qt_modules: 'qtimageformats qtmultimedia qtscxml qtserialport qt5compat qtwebsockets qtpositioning qtwebchannel qtspeech' # qtvirtualkeyboard'
5252

5353
# Map the job outputs to step outputs
5454
outputs:

App/Client/Resource/Translations/RabbitRemoteControlApp_zh_CN.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -833,8 +833,8 @@ File: %1</source>
833833
</message>
834834
<message>
835835
<location filename="../../mainwindow.ui" line="541"/>
836-
<source>Virtual Keyboard</source>
837-
<translation>虚拟键盘</translation>
836+
<source>Keyboard</source>
837+
<translation>键盘</translation>
838838
</message>
839839
<message>
840840
<location filename="../../mainwindow.ui" line="384"/>

App/Client/Resource/Translations/RabbitRemoteControlApp_zh_TW.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -833,8 +833,8 @@ File: %1</source>
833833
</message>
834834
<message>
835835
<location filename="../../mainwindow.ui" line="541"/>
836-
<source>Virtual Keyboard</source>
837-
<translation>虛擬鍵盤</translation>
836+
<source>Keyboard</source>
837+
<translation>鍵盤</translation>
838838
</message>
839839
<message>
840840
<location filename="../../mainwindow.ui" line="384"/>

App/Client/mainwindow.cpp

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <QLoggingCategory>
2020
#include <QThread>
2121
#include <QInputMethod>
22+
#include <QGuiApplication>
2223

2324
#include "mainwindow.h"
2425
#include "ui_mainwindow.h"
@@ -76,12 +77,11 @@ MainWindow::MainWindow(QWidget *parent)
7677
ui->setupUi(this);
7778
ui->menubar->show();
7879

79-
ui->actionVirtual_Keyboard->setVisible(false);
80-
#if HAVE_VirtualKeyboard
81-
QByteArray imModule = qgetenv("QT_IM_MODULE");
82-
bool bVisible = (imModule == "qtvirtualkeyboard" && nullptr != qApp->inputMethod());
83-
ui->actionVirtual_Keyboard->setEnabled(bVisible);
84-
ui->actionVirtual_Keyboard->setVisible(bVisible);
80+
ui->actionKeyboard->setVisible(false);
81+
#if ANDROID
82+
bool bVisible = (nullptr != QGuiApplication::inputMethod());
83+
ui->actionKeyboard->setVisible(bVisible);
84+
ui->actionKeyboard->setEnabled(bVisible);
8585
#endif
8686

8787
check = connect(&m_Manager, &CManager::sigNewOperate,
@@ -1573,11 +1573,25 @@ void MainWindow::on_actionStatus_bar_S_toggled(bool checked)
15731573
m_Parameter.SetStatusBar(checked);
15741574
}
15751575

1576-
void MainWindow::on_actionVirtual_Keyboard_triggered()
1576+
void MainWindow::on_actionKeyboard_triggered()
15771577
{
1578-
auto inputMethod = qApp->inputMethod();
1578+
auto inputMethod = QGuiApplication::inputMethod();
15791579
if(inputMethod) {
1580-
inputMethod->setVisible(ui->actionVirtual_Keyboard->isChecked());
1580+
bool bVisible = ui->actionKeyboard->isChecked();
1581+
ui->actionKeyboard->setChecked(bVisible);
1582+
if(bVisible) {
1583+
QObject *focusObject = QGuiApplication::focusObject();
1584+
if(m_pView && m_pView->GetCurrentView())
1585+
focusObject = m_pView->GetCurrentView();
1586+
if (focusObject) {
1587+
// 可选:强制焦点对象发送输入法请求
1588+
QInputMethodEvent event;
1589+
QCoreApplication::sendEvent(focusObject, &event);
1590+
}
1591+
inputMethod->show();
1592+
}
1593+
else
1594+
inputMethod->hide();
15811595
}
15821596
}
15831597

App/Client/mainwindow.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ private Q_SLOTS:
177177
void on_actionMain_menu_bar_M_toggled(bool checked);
178178
void on_actionToolBar_T_toggled(bool checked);
179179
void on_actionStatus_bar_S_toggled(bool checked);
180-
void on_actionVirtual_Keyboard_triggered();
180+
void on_actionKeyboard_triggered();
181181

182182
///////// Full screen /////////
183183
private:

App/Client/mainwindow.ui

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
<addaction name="menuType"/>
9393
<addaction name="menuLayout"/>
9494
<addaction name="actionTabBar_B"/>
95-
<addaction name="actionVirtual_Keyboard"/>
95+
<addaction name="actionKeyboard"/>
9696
<addaction name="actionToolBar_T"/>
9797
<addaction name="actionStatus_bar_S"/>
9898
<addaction name="actionMain_menu_bar_M"/>
@@ -530,15 +530,21 @@
530530
<string>Minimalism</string>
531531
</property>
532532
</action>
533-
<action name="actionVirtual_Keyboard">
533+
<action name="actionKeyboard">
534534
<property name="checkable">
535535
<bool>true</bool>
536536
</property>
537537
<property name="enabled">
538538
<bool>false</bool>
539539
</property>
540540
<property name="text">
541-
<string>Virtual Keyboard</string>
541+
<string>Keyboard</string>
542+
</property>
543+
<property name="statusTip">
544+
<string>Show keyboard</string>
545+
</property>
546+
<property name="whatsThis">
547+
<string>Show keyboard</string>
542548
</property>
543549
</action>
544550
</widget>

0 commit comments

Comments
 (0)