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
commit 8e3b37e974
14 changed files with 238 additions and 128 deletions

View file

@ -51,6 +51,18 @@ void Controller::test(QRect rc)
postControlMsg(controlMsg); 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() void Controller::postTurnOn()
{ {
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_BACK_OR_SCREEN_ON); ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_BACK_OR_SCREEN_ON);
@ -161,6 +173,12 @@ void Controller::setScreenPowerMode(ControlMsg::ScreenPowerMode mode)
postControlMsg(controlMsg); postControlMsg(controlMsg);
} }
void Controller::screenShot()
{
// TODO:
qDebug() << "screen shot";
}
void Controller::mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize) void Controller::mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize)
{ {
if (m_inputConvert) { if (m_inputConvert) {

View file

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

View file

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

View file

@ -34,6 +34,8 @@ public:
Controller *getController(); Controller *getController();
Server *getServer(); Server *getServer();
void updateScript(QString script);
signals: signals:
void deviceDisconnect(QString serial); 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->closeScreenBtn, QChar(0xf070), 15);
IconHelper::Instance()->SetIcon(ui->powerBtn, QChar(0xf011), 15); IconHelper::Instance()->SetIcon(ui->powerBtn, QChar(0xf011), 15);
IconHelper::Instance()->SetIcon(ui->expandNotifyBtn, QChar(0xf103), 15); IconHelper::Instance()->SetIcon(ui->expandNotifyBtn, QChar(0xf103), 15);
IconHelper::Instance()->SetIcon(ui->screenShotBtn, QChar(0xf05b), 15);
} }
void ToolForm::mousePressEvent(QMouseEvent *event) 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() void ToolForm::on_volumeUpBtn_clicked()
{ {
if (m_videoForm && m_videoForm->getController()) { if (m_videoForm && m_videoForm->getController()) {

View file

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

View file

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

View file

@ -47,6 +47,17 @@ bool DeviceManage::connectDevice(Device::DeviceParams params)
return true; 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 DeviceManage::disconnectDevice(const QString &serial)
{ {
bool ret = false; bool ret = false;

View file

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

View file

@ -309,7 +309,7 @@ void Dialog::on_stopAllServerBtn_clicked()
m_deviceManage.disconnectAllDevice(); m_deviceManage.disconnectAllDevice();
} }
void Dialog::on_updateGameScriptBtn_clicked() void Dialog::on_refreshGameScriptBtn_clicked()
{ {
ui->gameBox->clear(); ui->gameBox->clear();
QDir dir(KeyMap::getKeyMapPath()); 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) void Dialog::on_gameCheck_clicked(bool checked)
{ {
if (checked) { if (checked) {
on_updateGameScriptBtn_clicked(); on_refreshGameScriptBtn_clicked();
} }
} }

View file

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

View file

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

View file

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

View file

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