mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 19:44:59 +00:00
feat: show fps
This commit is contained in:
parent
5cde90db66
commit
74f7c27c99
15 changed files with 159 additions and 81 deletions
|
@ -40,6 +40,7 @@ void FpsCounter::timerEvent(QTimerEvent *event)
|
|||
m_curRendered = m_rendered;
|
||||
m_curSkipped = m_skipped;
|
||||
resetCounter();
|
||||
emit updateFPS(m_curRendered);
|
||||
//qInfo("FPS:%d Discard:%d", m_curRendered, m_skipped);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,9 @@ public:
|
|||
void addRenderedFrame();
|
||||
void addSkippedFrame();
|
||||
|
||||
signals:
|
||||
void updateFPS(quint32 fps);
|
||||
|
||||
protected:
|
||||
virtual void timerEvent(QTimerEvent *event);
|
||||
|
||||
|
|
|
@ -115,6 +115,11 @@ void VideoBuffer::interrupt()
|
|||
}
|
||||
}
|
||||
|
||||
FpsCounter *VideoBuffer::getFPSCounter()
|
||||
{
|
||||
return &m_fpsCounter;
|
||||
}
|
||||
|
||||
void VideoBuffer::swap()
|
||||
{
|
||||
AVFrame *tmp = m_decodingFrame;
|
||||
|
|
|
@ -37,6 +37,8 @@ public:
|
|||
// wake up and avoid any blocking call
|
||||
void interrupt();
|
||||
|
||||
FpsCounter *getFPSCounter();
|
||||
|
||||
private:
|
||||
void swap();
|
||||
|
||||
|
|
|
@ -277,6 +277,7 @@ void Device::initSignals()
|
|||
m_vb->unLock();
|
||||
},
|
||||
Qt::QueuedConnection);
|
||||
connect(m_vb->getFPSCounter(), &::FpsCounter::updateFPS, m_videoForm, &VideoForm::updateFPS);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include <QDesktopWidget>
|
||||
#include <QFileInfo>
|
||||
#include <QLabel>
|
||||
#include <QMessageBox>
|
||||
#include <QMimeData>
|
||||
#include <QMouseEvent>
|
||||
|
@ -68,6 +69,16 @@ void VideoForm::initUI()
|
|||
ui->keepRadioWidget->setWidget(m_videoWidget);
|
||||
ui->keepRadioWidget->setWidthHeightRadio(m_widthHeightRatio);
|
||||
|
||||
m_fpsLabel = new QLabel(m_videoWidget);
|
||||
QFont ft;
|
||||
ft.setPointSize(15);
|
||||
ft.setWeight(QFont::Light);
|
||||
ft.setBold(true);
|
||||
m_fpsLabel->setFont(ft);
|
||||
m_fpsLabel->move(5, 15);
|
||||
m_fpsLabel->setMinimumWidth(100);
|
||||
m_fpsLabel->setStyleSheet(R"(QLabel {color: #00FF00;})");
|
||||
|
||||
setMouseTracking(true);
|
||||
m_videoWidget->setMouseTracking(true);
|
||||
ui->keepRadioWidget->setMouseTracking(true);
|
||||
|
@ -115,6 +126,14 @@ void VideoForm::removeBlackRect()
|
|||
resize(ui->keepRadioWidget->goodSize());
|
||||
}
|
||||
|
||||
void VideoForm::showFPS(bool show)
|
||||
{
|
||||
if (!m_fpsLabel) {
|
||||
return;
|
||||
}
|
||||
m_fpsLabel->setVisible(show);
|
||||
}
|
||||
|
||||
void VideoForm::updateRender(const AVFrame *frame)
|
||||
{
|
||||
if (m_videoWidget->isHidden()) {
|
||||
|
@ -429,6 +448,15 @@ void VideoForm::onSwitchFullScreen()
|
|||
}
|
||||
}
|
||||
|
||||
void VideoForm::updateFPS(quint32 fps)
|
||||
{
|
||||
qDebug() << "FPS:" << fps;
|
||||
if (!m_fpsLabel) {
|
||||
return;
|
||||
}
|
||||
m_fpsLabel->setText(QString("FPS:%1").arg(fps));
|
||||
}
|
||||
|
||||
void VideoForm::staysOnTop(bool top)
|
||||
{
|
||||
bool needShow = false;
|
||||
|
|
|
@ -14,6 +14,7 @@ class ToolForm;
|
|||
class Device;
|
||||
class FileHandler;
|
||||
class QYUVOpenGLWidget;
|
||||
class QLabel;
|
||||
class VideoForm : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -29,9 +30,11 @@ public:
|
|||
const QSize &frameSize();
|
||||
void resizeSquare();
|
||||
void removeBlackRect();
|
||||
void showFPS(bool show);
|
||||
|
||||
public slots:
|
||||
void onSwitchFullScreen();
|
||||
void updateFPS(quint32 fps);
|
||||
|
||||
private:
|
||||
void updateStyleSheet(bool vertical);
|
||||
|
@ -68,6 +71,7 @@ private:
|
|||
QPointer<ToolForm> m_toolForm;
|
||||
QPointer<QWidget> m_loadingWidget;
|
||||
QPointer<QYUVOpenGLWidget> m_videoWidget;
|
||||
QPointer<QLabel> m_fpsLabel;
|
||||
|
||||
//inside member
|
||||
QSize m_frameSize;
|
||||
|
|
|
@ -76,6 +76,21 @@ bool DeviceManage::staysOnTop(const QString &serial)
|
|||
return true;
|
||||
}
|
||||
|
||||
void DeviceManage::showFPS(const QString &serial, bool show)
|
||||
{
|
||||
if (!serial.isEmpty() && m_devices.contains(serial)) {
|
||||
auto it = m_devices.find(serial);
|
||||
if (!it->data()) {
|
||||
return;
|
||||
}
|
||||
if (!it->data()->getVideoForm()) {
|
||||
return;
|
||||
}
|
||||
it->data()->getVideoForm()->showFPS(show);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
bool DeviceManage::disconnectDevice(const QString &serial)
|
||||
{
|
||||
bool ret = false;
|
||||
|
|
|
@ -16,6 +16,7 @@ public:
|
|||
bool connectDevice(Device::DeviceParams params);
|
||||
void updateScript(QString script);
|
||||
bool staysOnTop(const QString &serial);
|
||||
void showFPS(const QString &serial, bool show);
|
||||
|
||||
bool disconnectDevice(const QString &serial);
|
||||
void disconnectAllDevice();
|
||||
|
|
|
@ -188,6 +188,7 @@ void Dialog::on_startServerBtn_clicked()
|
|||
if (ui->alwaysTopCheck->isChecked()) {
|
||||
m_deviceManage.staysOnTop(params.serial);
|
||||
}
|
||||
m_deviceManage.showFPS(params.serial, ui->fpsCheck->isChecked());
|
||||
}
|
||||
|
||||
void Dialog::on_stopServerBtn_clicked()
|
||||
|
|
|
@ -208,10 +208,23 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="recordScreenCheck">
|
||||
<item row="1" column="1">
|
||||
<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>record screen</string>
|
||||
<string>screen-off</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QCheckBox" name="framelessCheck">
|
||||
<property name="text">
|
||||
<string>frameless</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -231,8 +244,8 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="closeScreenCheck">
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="notDisplayCheck">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
|
@ -240,7 +253,10 @@
|
|||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>screen-off</string>
|
||||
<string>background record</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -260,26 +276,17 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="notDisplayCheck">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="recordScreenCheck">
|
||||
<property name="text">
|
||||
<string>background record</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
<string>record screen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QCheckBox" name="framelessCheck">
|
||||
<item row="0" column="4">
|
||||
<widget class="QCheckBox" name="fpsCheck">
|
||||
<property name="text">
|
||||
<string>frameless</string>
|
||||
<string>show fps</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
Binary file not shown.
|
@ -16,22 +16,22 @@
|
|||
<translation type="vanished">file transfer failed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="183"/>
|
||||
<location filename="../../device/device.cpp" line="181"/>
|
||||
<source>install apk</source>
|
||||
<translation>install apk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="185"/>
|
||||
<location filename="../../device/device.cpp" line="183"/>
|
||||
<source>file transfer</source>
|
||||
<translation>file transfer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="189"/>
|
||||
<location filename="../../device/device.cpp" line="187"/>
|
||||
<source>wait current %1 to complete</source>
|
||||
<translation>wait current %1 to complete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="192"/>
|
||||
<location filename="../../device/device.cpp" line="190"/>
|
||||
<source>%1 complete, save in %2</source>
|
||||
<translation>%1 complete, save in %2</translation>
|
||||
</message>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<translation type="vanished">%1 complete\n save in %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="195"/>
|
||||
<location filename="../../device/device.cpp" line="193"/>
|
||||
<source>%1 failed</source>
|
||||
<translation>%1 failed</translation>
|
||||
</message>
|
||||
|
@ -49,17 +49,17 @@
|
|||
<context>
|
||||
<name>Dialog</name>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="422"/>
|
||||
<location filename="../../dialog.ui" line="429"/>
|
||||
<source>Wireless</source>
|
||||
<translation>Wireless</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="506"/>
|
||||
<location filename="../../dialog.ui" line="513"/>
|
||||
<source>wireless connect</source>
|
||||
<translation>wireless connect</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="522"/>
|
||||
<location filename="../../dialog.ui" line="529"/>
|
||||
<source>wireless disconnect</source>
|
||||
<translation>wireless disconnect</translation>
|
||||
</message>
|
||||
|
@ -75,7 +75,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="144"/>
|
||||
<location filename="../../dialog.cpp" line="328"/>
|
||||
<location filename="../../dialog.cpp" line="325"/>
|
||||
<source>select path</source>
|
||||
<translation>select path</translation>
|
||||
</message>
|
||||
|
@ -85,42 +85,47 @@
|
|||
<translation>record format:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="214"/>
|
||||
<location filename="../../dialog.ui" line="282"/>
|
||||
<source>record screen</source>
|
||||
<translation>record screen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="282"/>
|
||||
<location filename="../../dialog.ui" line="227"/>
|
||||
<source>frameless</source>
|
||||
<translation>frameless</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="379"/>
|
||||
<location filename="../../dialog.ui" line="289"/>
|
||||
<source>show fps</source>
|
||||
<translation>show fps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="386"/>
|
||||
<source>stop all server</source>
|
||||
<translation>stop all server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="556"/>
|
||||
<location filename="../../dialog.ui" line="563"/>
|
||||
<source>adb command:</source>
|
||||
<translation>adb command:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="592"/>
|
||||
<location filename="../../dialog.ui" line="599"/>
|
||||
<source>terminate</source>
|
||||
<translation>terminate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="579"/>
|
||||
<location filename="../../dialog.ui" line="586"/>
|
||||
<source>execute</source>
|
||||
<translation>execute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="605"/>
|
||||
<location filename="../../dialog.ui" line="612"/>
|
||||
<source>clear</source>
|
||||
<translation>clear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="256"/>
|
||||
<location filename="../../dialog.ui" line="272"/>
|
||||
<source>reverse connection</source>
|
||||
<translation>reverse connection</translation>
|
||||
</message>
|
||||
|
@ -129,12 +134,12 @@
|
|||
<translation type="vanished">auto enable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="272"/>
|
||||
<location filename="../../dialog.ui" line="256"/>
|
||||
<source>background record</source>
|
||||
<translation>background record</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="243"/>
|
||||
<location filename="../../dialog.ui" line="220"/>
|
||||
<source>screen-off</source>
|
||||
<translation>screen-off</translation>
|
||||
</message>
|
||||
|
@ -149,7 +154,7 @@
|
|||
<translation>max size:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="227"/>
|
||||
<location filename="../../dialog.ui" line="240"/>
|
||||
<source>always on top</source>
|
||||
<translation>always on top</translation>
|
||||
</message>
|
||||
|
@ -159,27 +164,27 @@
|
|||
<translation>refresh script</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="396"/>
|
||||
<location filename="../../dialog.ui" line="403"/>
|
||||
<source>get device IP</source>
|
||||
<translation>get device IP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="295"/>
|
||||
<location filename="../../dialog.ui" line="302"/>
|
||||
<source>USB line</source>
|
||||
<translation>USB line</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="351"/>
|
||||
<location filename="../../dialog.ui" line="358"/>
|
||||
<source>stop server</source>
|
||||
<translation>stop server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="341"/>
|
||||
<location filename="../../dialog.ui" line="348"/>
|
||||
<source>start server</source>
|
||||
<translation>start server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="331"/>
|
||||
<location filename="../../dialog.ui" line="338"/>
|
||||
<source>device serial:</source>
|
||||
<translation>device serial:</translation>
|
||||
</message>
|
||||
|
@ -193,17 +198,17 @@
|
|||
<translation>bit rate:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="406"/>
|
||||
<location filename="../../dialog.ui" line="413"/>
|
||||
<source>start adbd</source>
|
||||
<translation>start adbd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="386"/>
|
||||
<location filename="../../dialog.ui" line="393"/>
|
||||
<source>refresh devices</source>
|
||||
<translation>refresh devices</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.cpp" line="103"/>
|
||||
<location filename="../../dialog.cpp" line="101"/>
|
||||
<source>original</source>
|
||||
<translation>original</translation>
|
||||
</message>
|
||||
|
@ -221,7 +226,7 @@ You can download it at the following address:</source>
|
|||
<translation type="vanished">This software is completely open source and free.\nStrictly used for illegal purposes, or at your own risk.\nYou can download it at the following address:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../main.cpp" line="101"/>
|
||||
<location filename="../../main.cpp" line="103"/>
|
||||
<source>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</source>
|
||||
<translation>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</translation>
|
||||
</message>
|
||||
|
@ -317,7 +322,7 @@ You can download it at the following address:</source>
|
|||
<translation type="vanished">file transfer failed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/ui/videoform.cpp" line="657"/>
|
||||
<location filename="../../device/ui/videoform.cpp" line="671"/>
|
||||
<source>file does not exist</source>
|
||||
<translation>file does not exist</translation>
|
||||
</message>
|
||||
|
|
Binary file not shown.
|
@ -16,22 +16,22 @@
|
|||
<translation type="vanished">文件传输失败</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="183"/>
|
||||
<location filename="../../device/device.cpp" line="181"/>
|
||||
<source>install apk</source>
|
||||
<translation>安装apk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="185"/>
|
||||
<location filename="../../device/device.cpp" line="183"/>
|
||||
<source>file transfer</source>
|
||||
<translation>文件传输</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="189"/>
|
||||
<location filename="../../device/device.cpp" line="187"/>
|
||||
<source>wait current %1 to complete</source>
|
||||
<translation>等待当前%1完成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="192"/>
|
||||
<location filename="../../device/device.cpp" line="190"/>
|
||||
<source>%1 complete, save in %2</source>
|
||||
<translation>%1完成,保存在%2</translation>
|
||||
</message>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<translation type="vanished">%1完成\n 保存在 %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/device.cpp" line="195"/>
|
||||
<location filename="../../device/device.cpp" line="193"/>
|
||||
<source>%1 failed</source>
|
||||
<translation>%1 失败</translation>
|
||||
</message>
|
||||
|
@ -49,17 +49,17 @@
|
|||
<context>
|
||||
<name>Dialog</name>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="422"/>
|
||||
<location filename="../../dialog.ui" line="429"/>
|
||||
<source>Wireless</source>
|
||||
<translation>无线</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="506"/>
|
||||
<location filename="../../dialog.ui" line="513"/>
|
||||
<source>wireless connect</source>
|
||||
<translation>无线连接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="522"/>
|
||||
<location filename="../../dialog.ui" line="529"/>
|
||||
<source>wireless disconnect</source>
|
||||
<translation>无线断开</translation>
|
||||
</message>
|
||||
|
@ -75,7 +75,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="144"/>
|
||||
<location filename="../../dialog.cpp" line="328"/>
|
||||
<location filename="../../dialog.cpp" line="325"/>
|
||||
<source>select path</source>
|
||||
<translation>选择路径</translation>
|
||||
</message>
|
||||
|
@ -85,42 +85,47 @@
|
|||
<translation>录制格式:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="214"/>
|
||||
<location filename="../../dialog.ui" line="282"/>
|
||||
<source>record screen</source>
|
||||
<translation>录制屏幕</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="282"/>
|
||||
<location filename="../../dialog.ui" line="227"/>
|
||||
<source>frameless</source>
|
||||
<translation>无边框</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="379"/>
|
||||
<location filename="../../dialog.ui" line="289"/>
|
||||
<source>show fps</source>
|
||||
<translation>显示fps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="386"/>
|
||||
<source>stop all server</source>
|
||||
<translation>停止所有服务</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="556"/>
|
||||
<location filename="../../dialog.ui" line="563"/>
|
||||
<source>adb command:</source>
|
||||
<translation>adb命令:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="592"/>
|
||||
<location filename="../../dialog.ui" line="599"/>
|
||||
<source>terminate</source>
|
||||
<translation>终止</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="579"/>
|
||||
<location filename="../../dialog.ui" line="586"/>
|
||||
<source>execute</source>
|
||||
<translation>执行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="605"/>
|
||||
<location filename="../../dialog.ui" line="612"/>
|
||||
<source>clear</source>
|
||||
<translation>清理</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="256"/>
|
||||
<location filename="../../dialog.ui" line="272"/>
|
||||
<source>reverse connection</source>
|
||||
<translation>反向连接</translation>
|
||||
</message>
|
||||
|
@ -129,12 +134,12 @@
|
|||
<translation type="vanished">自动启用脚本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="272"/>
|
||||
<location filename="../../dialog.ui" line="256"/>
|
||||
<source>background record</source>
|
||||
<translation>后台录制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="243"/>
|
||||
<location filename="../../dialog.ui" line="220"/>
|
||||
<source>screen-off</source>
|
||||
<translation>自动息屏</translation>
|
||||
</message>
|
||||
|
@ -149,7 +154,7 @@
|
|||
<translation>最大尺寸:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="227"/>
|
||||
<location filename="../../dialog.ui" line="240"/>
|
||||
<source>always on top</source>
|
||||
<translation>窗口置顶</translation>
|
||||
</message>
|
||||
|
@ -159,27 +164,27 @@
|
|||
<translation>刷新脚本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="396"/>
|
||||
<location filename="../../dialog.ui" line="403"/>
|
||||
<source>get device IP</source>
|
||||
<translation>获取设备IP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="295"/>
|
||||
<location filename="../../dialog.ui" line="302"/>
|
||||
<source>USB line</source>
|
||||
<translation>USB线</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="351"/>
|
||||
<location filename="../../dialog.ui" line="358"/>
|
||||
<source>stop server</source>
|
||||
<translation>停止服务</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="341"/>
|
||||
<location filename="../../dialog.ui" line="348"/>
|
||||
<source>start server</source>
|
||||
<translation>启动服务</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="331"/>
|
||||
<location filename="../../dialog.ui" line="338"/>
|
||||
<source>device serial:</source>
|
||||
<translation>设备序列号:</translation>
|
||||
</message>
|
||||
|
@ -193,17 +198,17 @@
|
|||
<translation>比特率:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="406"/>
|
||||
<location filename="../../dialog.ui" line="413"/>
|
||||
<source>start adbd</source>
|
||||
<translation>启动adbd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.ui" line="386"/>
|
||||
<location filename="../../dialog.ui" line="393"/>
|
||||
<source>refresh devices</source>
|
||||
<translation>刷新设备列表</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../dialog.cpp" line="103"/>
|
||||
<location filename="../../dialog.cpp" line="101"/>
|
||||
<source>original</source>
|
||||
<translation>原始</translation>
|
||||
</message>
|
||||
|
@ -221,7 +226,7 @@ You can download it at the following address:</source>
|
|||
<translation type="vanished">本软件完全开源免费.\n严禁用于非法用途,否则后果自负.\n你可以在下面地址下载:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../main.cpp" line="101"/>
|
||||
<location filename="../../main.cpp" line="103"/>
|
||||
<source>This software is completely open source and free. Strictly used for illegal purposes, or at your own risk. You can download it at the following address:</source>
|
||||
<translation>本软件完全开源免费,严禁用于非法用途,否则后果自负,你可以在下面地址下载:</translation>
|
||||
</message>
|
||||
|
@ -317,7 +322,7 @@ You can download it at the following address:</source>
|
|||
<translation type="vanished">文件传输失败</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../device/ui/videoform.cpp" line="657"/>
|
||||
<location filename="../../device/ui/videoform.cpp" line="671"/>
|
||||
<source>file does not exist</source>
|
||||
<translation>文件不存在</translation>
|
||||
</message>
|
||||
|
|
Loading…
Add table
Reference in a new issue