mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 03:25:02 +00:00
完善主界面的log显示(成功失败,标准输出,防止多次点击等)
This commit is contained in:
parent
889c4f29d6
commit
129c0da0a2
5 changed files with 134 additions and 99 deletions
|
@ -60,13 +60,14 @@ void AdbProcess::initSignals()
|
|||
|
||||
connect(this, &QProcess::readyReadStandardError, this,
|
||||
[this](){
|
||||
qDebug() << QString::fromLocal8Bit(readAllStandardError());
|
||||
m_errorOutput = QString::fromLocal8Bit(readAllStandardError()).trimmed();
|
||||
qDebug() << "AdbProcess::error:" << m_errorOutput;
|
||||
});
|
||||
|
||||
connect(this, &QProcess::readyReadStandardOutput, this,
|
||||
[this](){
|
||||
m_standardOutput = QString::fromLocal8Bit(readAllStandardOutput());
|
||||
qDebug() << m_standardOutput;
|
||||
m_standardOutput = QString::fromLocal8Bit(readAllStandardOutput()).trimmed();
|
||||
qDebug() << "AdbProcess::std out:" << m_standardOutput;
|
||||
});
|
||||
|
||||
connect(this, &QProcess::started, this,
|
||||
|
@ -78,6 +79,7 @@ void AdbProcess::initSignals()
|
|||
void AdbProcess::execute(const QString& serial, const QStringList& args)
|
||||
{
|
||||
m_standardOutput = "";
|
||||
m_errorOutput = "";
|
||||
QStringList adbArgs;
|
||||
if (!serial.isEmpty()) {
|
||||
adbArgs << "-s" << serial;
|
||||
|
@ -123,6 +125,11 @@ QString AdbProcess::getStdOut()
|
|||
return m_standardOutput;
|
||||
}
|
||||
|
||||
QString AdbProcess::getErrorOut()
|
||||
{
|
||||
return m_errorOutput;
|
||||
}
|
||||
|
||||
void AdbProcess::forward(const QString& serial, quint16 localPort, const QString& deviceSocketName)
|
||||
{
|
||||
QStringList adbArgs;
|
||||
|
|
|
@ -31,6 +31,7 @@ public:
|
|||
void setShowTouchesEnabled(const QString& serial, bool enabled);
|
||||
QStringList getDevicesSerialFromStdOut();
|
||||
QString getStdOut();
|
||||
QString getErrorOut();
|
||||
|
||||
static const QString& getAdbPath();
|
||||
|
||||
|
@ -42,6 +43,7 @@ private:
|
|||
|
||||
private:
|
||||
QString m_standardOutput = "";
|
||||
QString m_errorOutput = "";
|
||||
static QString s_adbPath;
|
||||
};
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#include "dialog.h"
|
||||
#include "ui_dialog.h"
|
||||
#include "adbprocess.h"
|
||||
|
||||
Dialog::Dialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
|
@ -13,6 +12,27 @@ Dialog::Dialog(QWidget *parent) :
|
|||
ui->setupUi(this);
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
//setWindowFlags(windowFlags() | Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint);
|
||||
|
||||
connect(&m_adb, &AdbProcess::adbProcessResult, this, [this](AdbProcess::ADB_EXEC_RESULT processResult){
|
||||
QString log = "";
|
||||
switch (processResult) {
|
||||
case AdbProcess::AER_SUCCESS_START:
|
||||
log = "adb run";
|
||||
break;
|
||||
case AdbProcess::AER_ERROR_EXEC:
|
||||
log = m_adb.getErrorOut();
|
||||
break;
|
||||
case AdbProcess::AER_ERROR_MISSING_BINARY:
|
||||
log = "adb not find";
|
||||
break;
|
||||
case AdbProcess::AER_SUCCESS_EXEC:
|
||||
log = m_adb.getStdOut();
|
||||
break;
|
||||
}
|
||||
if (!log.isEmpty()) {
|
||||
outLog(log);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Dialog::~Dialog()
|
||||
|
@ -23,17 +43,11 @@ Dialog::~Dialog()
|
|||
|
||||
void Dialog::on_updateDevice_clicked()
|
||||
{
|
||||
AdbProcess* adb = new AdbProcess();
|
||||
connect(adb, &AdbProcess::adbProcessResult, this, [this, adb](AdbProcess::ADB_EXEC_RESULT processResult){
|
||||
if (AdbProcess::AER_SUCCESS_EXEC == processResult) {
|
||||
ui->outEdit->append(adb->getDevicesSerialFromStdOut().join("*"));
|
||||
}
|
||||
if (AdbProcess::AER_SUCCESS_START != processResult) {
|
||||
sender()->deleteLater();
|
||||
}
|
||||
});
|
||||
adb->execute("", QStringList() << "devices");
|
||||
//adb->setShowTouchesEnabled("P7C0218510000537", true);
|
||||
if (checkAdbRun()) {
|
||||
return;
|
||||
}
|
||||
outLog("update devices...");
|
||||
m_adb.execute("", QStringList() << "devices");
|
||||
}
|
||||
|
||||
void Dialog::on_startServerBtn_clicked()
|
||||
|
@ -53,19 +67,38 @@ void Dialog::on_stopServerBtn_clicked()
|
|||
|
||||
void Dialog::on_wirelessConnectBtn_clicked()
|
||||
{
|
||||
AdbProcess* adb = new AdbProcess();
|
||||
connect(adb, &AdbProcess::adbProcessResult, this, [this, adb](AdbProcess::ADB_EXEC_RESULT processResult){
|
||||
if (AdbProcess::AER_SUCCESS_EXEC == processResult) {
|
||||
ui->outEdit->append(adb->getStdOut());
|
||||
}
|
||||
if (AdbProcess::AER_SUCCESS_START != processResult) {
|
||||
sender()->deleteLater();
|
||||
}
|
||||
});
|
||||
|
||||
//adb connect 172.16.8.197:5555
|
||||
if (checkAdbRun()) {
|
||||
return;
|
||||
}
|
||||
outLog("wireless connect...");
|
||||
QStringList adbArgs;
|
||||
adbArgs << "connect";
|
||||
adbArgs << ui->deviceIpEdt->text().trimmed();
|
||||
adb->execute("", adbArgs);
|
||||
m_adb.execute("", adbArgs);
|
||||
}
|
||||
|
||||
void Dialog::on_startAdbdBtn_clicked()
|
||||
{
|
||||
if (checkAdbRun()) {
|
||||
return;
|
||||
}
|
||||
outLog("start devices adbd...");
|
||||
// adb tcpip 5555
|
||||
QStringList adbArgs;
|
||||
adbArgs << "tcpip";
|
||||
adbArgs << "5555";
|
||||
m_adb.execute("", adbArgs);
|
||||
}
|
||||
|
||||
void Dialog::outLog(const QString &log)
|
||||
{
|
||||
ui->outEdit->append(log);
|
||||
}
|
||||
|
||||
bool Dialog::checkAdbRun()
|
||||
{
|
||||
if (m_adb.isRuning()) {
|
||||
outLog("wait for the end of the current command to run");
|
||||
}
|
||||
return m_adb.isRuning();
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <QPointer>
|
||||
|
||||
#include "videoform.h"
|
||||
#include "adbprocess.h"
|
||||
|
||||
namespace Ui {
|
||||
class Dialog;
|
||||
|
@ -28,9 +29,15 @@ private slots:
|
|||
|
||||
void on_wirelessConnectBtn_clicked();
|
||||
|
||||
void on_startAdbdBtn_clicked();
|
||||
|
||||
private:
|
||||
void outLog(const QString& log);
|
||||
bool checkAdbRun();
|
||||
|
||||
private:
|
||||
Ui::Dialog *ui;
|
||||
|
||||
AdbProcess m_adb;
|
||||
QPointer<VideoForm> m_videoForm;
|
||||
};
|
||||
|
||||
|
|
|
@ -6,15 +6,68 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>373</width>
|
||||
<height>329</height>
|
||||
<width>442</width>
|
||||
<height>412</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>QtScrcpy</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="2" column="0">
|
||||
<widget class="QTextEdit" name="outEdit">
|
||||
<property name="documentTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Wireless</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLineEdit" name="deviceIpEdt">
|
||||
<property name="text">
|
||||
<string>192.168.0.1:5555</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="wirelessConnectBtn">
|
||||
<property name="text">
|
||||
<string>wireless connect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="startAdbdBtn">
|
||||
<property name="text">
|
||||
<string>start device adbd</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string notr="true">run through USB line:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QWidget" name="topWidget" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="1">
|
||||
|
@ -51,73 +104,6 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="wirelessWidget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>45</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>45</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">ip:port</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="deviceIpEdt">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>145</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>145</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>192.168.0.1:5555</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="wirelessConnectBtn">
|
||||
<property name="text">
|
||||
<string>wireless connect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="outEdit">
|
||||
<property name="documentTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
|
|
Loading…
Add table
Reference in a new issue