1, fix UI text. 2, add hot-load of mapping script

This commit is contained in:
Tian Zhou 2019-11-12 16:35:54 -05:00
parent 293e7f8145
commit 2a4a5c5b59
14 changed files with 238 additions and 128 deletions

View file

@ -51,6 +51,18 @@ void Controller::test(QRect rc)
postControlMsg(controlMsg);
}
void Controller::updateScript(QString gameScript)
{
if (!gameScript.isEmpty()) {
InputConvertGame* convertgame = new InputConvertGame(this);
convertgame->loadKeyMap(gameScript);
m_inputConvert = convertgame;
} else {
m_inputConvert = new InputConvertNormal(this);
}
}
void Controller::postTurnOn()
{
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_BACK_OR_SCREEN_ON);
@ -161,6 +173,12 @@ void Controller::setScreenPowerMode(ControlMsg::ScreenPowerMode mode)
postControlMsg(controlMsg);
}
void Controller::screenShot()
{
// TODO:
qDebug() << "screen shot";
}
void Controller::mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize)
{
if (m_inputConvert) {

View file

@ -20,6 +20,8 @@ public:
void postControlMsg(ControlMsg* controlMsg);
void test(QRect rc);
void updateScript(QString gameScript = "");
// turn the screen on if it was off, press BACK otherwise
void postTurnOn();
void postGoHome();
@ -36,6 +38,7 @@ public:
void clipboardPaste();
void postTextInput(QString& text);
void setScreenPowerMode(ControlMsg::ScreenPowerMode mode);
void screenShot();
// for input convert
void mouseEvent(const QMouseEvent* from, const QSize& frameSize, const QSize& showSize);

View file

@ -90,6 +90,13 @@ Server *Device::getServer()
return m_server;
}
void Device::updateScript(QString script)
{
if(m_controller){
m_controller->updateScript(script);
}
}
void Device::initSignals()
{
if (m_controller && m_videoForm) {

View file

@ -34,6 +34,8 @@ public:
Controller *getController();
Server *getServer();
void updateScript(QString script);
signals:
void deviceDisconnect(QString serial);

View file

@ -40,6 +40,7 @@ void ToolForm::initStyle()
IconHelper::Instance()->SetIcon(ui->closeScreenBtn, QChar(0xf070), 15);
IconHelper::Instance()->SetIcon(ui->powerBtn, QChar(0xf011), 15);
IconHelper::Instance()->SetIcon(ui->expandNotifyBtn, QChar(0xf103), 15);
IconHelper::Instance()->SetIcon(ui->screenShotBtn, QChar(0xf05b), 15);
}
void ToolForm::mousePressEvent(QMouseEvent *event)
@ -115,6 +116,13 @@ void ToolForm::on_powerBtn_clicked()
}
}
void ToolForm::on_screenShotBtn_clicked()
{
if (m_videoForm && m_videoForm->getController()) {
m_videoForm->getController()->screenShot();
}
}
void ToolForm::on_volumeUpBtn_clicked()
{
if (m_videoForm && m_videoForm->getController()) {

View file

@ -40,6 +40,8 @@ private slots:
void on_powerBtn_clicked();
void on_screenShotBtn_clicked();
void on_volumeUpBtn_clicked();
void on_volumeDownBtn_clicked();

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>63</width>
<height>497</height>
<height>537</height>
</rect>
</property>
<property name="windowTitle">
@ -133,6 +133,16 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="screenShotBtn">
<property name="toolTip">
<string>screen shot</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>

View file

@ -47,6 +47,17 @@ bool DeviceManage::connectDevice(Device::DeviceParams params)
return true;
}
void DeviceManage::updateScript(QString script)
{
QMapIterator<QString, QPointer<Device>> i(m_devices);
while (i.hasNext()) {
i.next();
if (i.value()) {
i.value()->updateScript(script);
}
}
}
bool DeviceManage::disconnectDevice(const QString &serial)
{
bool ret = false;

View file

@ -14,6 +14,8 @@ public:
virtual ~DeviceManage();
bool connectDevice(Device::DeviceParams params);
void updateScript(QString script);
bool disconnectDevice(const QString &serial);
void disconnectAllDevice();

View file

@ -309,7 +309,7 @@ void Dialog::on_stopAllServerBtn_clicked()
m_deviceManage.disconnectAllDevice();
}
void Dialog::on_updateGameScriptBtn_clicked()
void Dialog::on_refreshGameScriptBtn_clicked()
{
ui->gameBox->clear();
QDir dir(KeyMap::getKeyMapPath());
@ -327,9 +327,14 @@ void Dialog::on_updateGameScriptBtn_clicked()
}
}
void Dialog::on_applyScriptBtn_clicked()
{
m_deviceManage.updateScript(getGameScript(ui->gameBox->currentText()));
}
void Dialog::on_gameCheck_clicked(bool checked)
{
if (checked) {
on_updateGameScriptBtn_clicked();
on_refreshGameScriptBtn_clicked();
}
}

View file

@ -49,7 +49,8 @@ private slots:
void on_stopAllServerBtn_clicked();
void on_updateGameScriptBtn_clicked();
void on_refreshGameScriptBtn_clicked();
void on_applyScriptBtn_clicked();
void on_gameCheck_clicked(bool checked);
private:

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>600</width>
<height>637</height>
<height>723</height>
</rect>
</property>
<property name="maximumSize">
@ -101,8 +101,37 @@
<property name="title">
<string>Wireless</string>
</property>
<layout class="QGridLayout" name="gridLayout_4" columnstretch="2,0,0,1,2">
<item row="3" column="2">
<layout class="QGridLayout" name="gridLayout_4" columnstretch="2,0,0,1,2,0">
<item row="4" column="4">
<widget class="QPushButton" name="wirelessConnectBtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>connect</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLineEdit" name="deviceIpEdt">
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>128</number>
</property>
<property name="placeholderText">
<string notr="true">192.168.0.1</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
@ -121,40 +150,29 @@
</property>
</widget>
</item>
<item row="3" column="3">
<item row="4" column="3">
<widget class="QLineEdit" name="devicePortEdt">
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>6</number>
</property>
<property name="placeholderText">
<string notr="true">5555</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLineEdit" name="deviceIpEdt">
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string notr="true">192.168.0.1</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QPushButton" name="wirelessConnectBtn">
<property name="text">
<string>wireless connect</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="4" column="4">
<item row="4" column="5">
<widget class="QPushButton" name="wirelessDisConnectBtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>wireless disconnect</string>
<string>disconnect</string>
</property>
<property name="autoDefault">
<bool>false</bool>
@ -236,23 +254,6 @@
<string>Start Config</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="label_3">
<property name="text">
<string>bit rate:</string>
</property>
</widget>
</item>
<item row="2" column="3" colspan="2">
<widget class="QCheckBox" name="notDisplayCheck">
<property name="text">
<string>not display</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="3" colspan="2">
<widget class="QComboBox" name="bitRateBox">
<property name="toolTip">
@ -263,28 +264,36 @@
</property>
</widget>
</item>
<item row="2" column="6" colspan="2">
<widget class="QCheckBox" name="alwaysTopCheck">
<item row="1" column="10" colspan="2">
<widget class="QPushButton" name="selectRecordPathBtn">
<property name="text">
<string>always top</string>
<string>select path</string>
</property>
<property name="checked">
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="11" colspan="2">
<widget class="QCheckBox" name="useReverseCheck">
<item row="0" column="9" colspan="2">
<widget class="QLabel" name="label_6">
<property name="text">
<string>use reverse</string>
</property>
<property name="checked">
<bool>true</bool>
<string>record format</string>
</property>
</widget>
</item>
<item row="0" column="12">
<widget class="QComboBox" name="formatBox"/>
<item row="3" column="10" colspan="2">
<widget class="QCheckBox" name="gameCheck">
<property name="text">
<string>custom map</string>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="QComboBox" name="videoSizeBox">
<property name="toolTip">
<string/>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QLabel" name="label_5">
@ -296,78 +305,105 @@
</property>
</widget>
</item>
<item row="0" column="6">
<widget class="QLabel" name="label_4">
<item row="0" column="11">
<widget class="QComboBox" name="formatBox"/>
</item>
<item row="3" column="8" colspan="2">
<widget class="QPushButton" name="applyScriptBtn">
<property name="text">
<string>video size:</string>
<string>apply</string>
</property>
</widget>
</item>
<item row="2" column="9" colspan="2">
<widget class="QCheckBox" name="closeScreenCheck">
<item row="3" column="6" colspan="2">
<widget class="QPushButton" name="refreshGameScriptBtn">
<property name="text">
<string>close screen</string>
<string>refresh script</string>
</property>
</widget>
</item>
<item row="1" column="3" colspan="8">
<item row="2" column="9" colspan="3">
<widget class="QCheckBox" name="useReverseCheck">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>reverse connection</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="label_3">
<property name="text">
<string>bit rate:</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="notDisplayCheck">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>background</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="3" colspan="7">
<widget class="QLineEdit" name="recordPathEdt">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="7">
<widget class="QComboBox" name="videoSizeBox">
<property name="toolTip">
<string/>
</property>
</widget>
</item>
<item row="1" column="11" colspan="2">
<widget class="QPushButton" name="selectRecordPathBtn">
<property name="text">
<string>select path</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="10">
<widget class="QLabel" name="label_6">
<property name="text">
<string>record format</string>
</property>
</widget>
</item>
<item row="0" column="8" colspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0" colspan="5">
<item row="3" column="0" colspan="6">
<widget class="QComboBox" name="gameBox"/>
</item>
<item row="3" column="6" colspan="2">
<widget class="QPushButton" name="updateGameScriptBtn">
<item row="0" column="6" colspan="2">
<widget class="QLabel" name="label_4">
<property name="text">
<string>update script</string>
<string>video size:</string>
</property>
</widget>
</item>
<item row="3" column="9" colspan="4">
<widget class="QCheckBox" name="gameCheck">
<item row="2" column="6" colspan="3">
<widget class="QCheckBox" name="closeScreenCheck">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>custom map</string>
<string>auto screen-off</string>
</property>
</widget>
</item>
<item row="2" column="3" colspan="2">
<widget class="QCheckBox" name="alwaysTopCheck">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>always on top</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
@ -378,6 +414,16 @@
</widget>
<layoutdefault spacing="6" margin="11"/>
<tabstops>
<tabstop>bitRateBox</tabstop>
<tabstop>formatBox</tabstop>
<tabstop>recordPathEdt</tabstop>
<tabstop>selectRecordPathBtn</tabstop>
<tabstop>gameBox</tabstop>
<tabstop>refreshGameScriptBtn</tabstop>
<tabstop>serialBox</tabstop>
<tabstop>startServerBtn</tabstop>
<tabstop>stopServerBtn</tabstop>
<tabstop>stopAllServerBtn</tabstop>
<tabstop>updateDevice</tabstop>
<tabstop>getIPBtn</tabstop>
<tabstop>startAdbdBtn</tabstop>
@ -387,13 +433,8 @@
<tabstop>wirelessDisConnectBtn</tabstop>
<tabstop>adbCommandEdt</tabstop>
<tabstop>adbCommandBtn</tabstop>
<tabstop>formatBox</tabstop>
<tabstop>recordPathEdt</tabstop>
<tabstop>selectRecordPathBtn</tabstop>
<tabstop>serialBox</tabstop>
<tabstop>startServerBtn</tabstop>
<tabstop>stopServerBtn</tabstop>
<tabstop>outEdit</tabstop>
<tabstop>stopAdbBtn</tabstop>
<tabstop>clearOut</tabstop>
</tabstops>
<resources/>
<connections/>

View file

@ -90,8 +90,8 @@
</message>
<message>
<location filename="../../dialog.ui" line="249"/>
<source>not display</source>
<translation>not display</translation>
<source>background</source>
<translation>background</translation>
</message>
<message>
<location filename="../../dialog.ui" line="92"/>
@ -120,8 +120,8 @@
</message>
<message>
<location filename="../../dialog.ui" line="269"/>
<source>always top</source>
<translation>always top</translation>
<source>always on top</source>
<translation>always on top</translation>
</message>
<message>
<location filename="../../dialog.ui" line="279"/>
@ -135,8 +135,8 @@
</message>
<message>
<location filename="../../dialog.ui" line="363"/>
<source>update script</source>
<translation>update script</translation>
<source>refresh script</source>
<translation>refresh script</translation>
</message>
<message>
<location filename="../../dialog.ui" line="370"/>

View file

@ -90,7 +90,7 @@
</message>
<message>
<location filename="../../dialog.ui" line="249"/>
<source>not display</source>
<source>background</source>
<translation></translation>
</message>
<message>
@ -120,7 +120,7 @@
</message>
<message>
<location filename="../../dialog.ui" line="269"/>
<source>always top</source>
<source>always on top</source>
<translation></translation>
</message>
<message>
@ -130,13 +130,13 @@
</message>
<message>
<location filename="../../dialog.ui" line="309"/>
<source>close screen</source>
<source>auto screen-off</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="363"/>
<source>update script</source>
<translation></translation>
<source>refresh script</source>
<translation></translation>
</message>
<message>
<location filename="../../dialog.ui" line="370"/>