diff --git a/QtScrcpy/res/i18n/en_US.qm b/QtScrcpy/res/i18n/en_US.qm
index b73a8391d..a8f465e07 100644
Binary files a/QtScrcpy/res/i18n/en_US.qm and b/QtScrcpy/res/i18n/en_US.qm differ
diff --git a/QtScrcpy/res/i18n/en_US.ts b/QtScrcpy/res/i18n/en_US.ts
index 5a5dcdd98..793171bb7 100644
--- a/QtScrcpy/res/i18n/en_US.ts
+++ b/QtScrcpy/res/i18n/en_US.ts
@@ -135,10 +135,6 @@
Start Config
-
-
- record save path:
-
select path
@@ -297,5 +293,13 @@
auto update
+
+
+ show toolbar
+
+
+
+ record save path:
+
diff --git a/QtScrcpy/res/i18n/zh_CN.qm b/QtScrcpy/res/i18n/zh_CN.qm
index 3664aea87..4794f8080 100644
Binary files a/QtScrcpy/res/i18n/zh_CN.qm and b/QtScrcpy/res/i18n/zh_CN.qm differ
diff --git a/QtScrcpy/res/i18n/zh_CN.ts b/QtScrcpy/res/i18n/zh_CN.ts
index 6a71c1b6a..4cd66c464 100644
--- a/QtScrcpy/res/i18n/zh_CN.ts
+++ b/QtScrcpy/res/i18n/zh_CN.ts
@@ -135,10 +135,6 @@
启动配置
-
-
- 录像保存路径:
-
选择路径
@@ -297,5 +293,13 @@
自动刷新
+
+
+ 显示工具栏
+
+
+
+ 录像保存路径
+
diff --git a/QtScrcpy/ui/dialog.cpp b/QtScrcpy/ui/dialog.cpp
index 756837b93..dfedcfb60 100644
--- a/QtScrcpy/ui/dialog.cpp
+++ b/QtScrcpy/ui/dialog.cpp
@@ -195,6 +195,7 @@ void Dialog::updateBootConfig(bool toView)
ui->stayAwakeCheck->setChecked(config.keepAlive);
ui->useSingleModeCheck->setChecked(config.simpleMode);
ui->autoUpdatecheckBox->setChecked(config.autoUpdateDevice);
+ ui->showToolbar->setChecked(config.showToolbar);
} else {
UserBootConfig config;
@@ -213,6 +214,8 @@ void Dialog::updateBootConfig(bool toView)
config.keepAlive = ui->stayAwakeCheck->isChecked();
config.simpleMode = ui->useSingleModeCheck->isChecked();
config.autoUpdateDevice = ui->autoUpdatecheckBox->isChecked();
+ config.showToolbar = ui->showToolbar->isChecked();
+
Config::getInstance().setUserBootConfig(config);
}
}
@@ -447,14 +450,15 @@ void Dialog::onDeviceConnected(bool success, const QString &serial, const QStrin
if (!success) {
return;
}
-
- auto videoForm = new VideoForm(ui->framelessCheck->isChecked(), Config::getInstance().getSkin());
+ auto videoForm = new VideoForm(ui->framelessCheck->isChecked(), Config::getInstance().getSkin(), ui->showToolbar->isChecked());
videoForm->setSerial(serial);
qsc::IDeviceManage::getInstance().getDevice(serial)->setUserData(static_cast(videoForm));
qsc::IDeviceManage::getInstance().getDevice(serial)->registerDeviceObserver(videoForm);
+
videoForm->showFPS(ui->fpsCheck->isChecked());
+
if (ui->alwaysTopCheck->isChecked()) {
videoForm->staysOnTop();
}
diff --git a/QtScrcpy/ui/dialog.ui b/QtScrcpy/ui/dialog.ui
index 81860e632..630c0de35 100644
--- a/QtScrcpy/ui/dialog.ui
+++ b/QtScrcpy/ui/dialog.ui
@@ -7,7 +7,7 @@
0
0
1293
- 454
+ 502
@@ -255,7 +255,7 @@
- Qt::ClickFocus
+ Qt::FocusPolicy::ClickFocus
@@ -626,8 +626,8 @@
0
- -
-
+
-
+
0
@@ -635,12 +635,12 @@
- screen-off
+ show fps
- -
-
+
-
+
0
@@ -648,7 +648,10 @@
- frameless
+ background record
+
+
+ false
@@ -668,8 +671,8 @@
- -
-
+
-
+
0
@@ -677,10 +680,7 @@
- background record
-
-
- false
+ record screen
@@ -700,8 +700,8 @@
- -
-
+
-
+
0
@@ -709,12 +709,12 @@
- record screen
+ screen-off
- -
-
+
-
+
0
@@ -722,7 +722,7 @@
- show fps
+ frameless
@@ -739,6 +739,13 @@
+ -
+
+
+ show toolbar
+
+
+
@@ -1146,7 +1153,7 @@
- Qt::Vertical
+ Qt::Orientation::Vertical
diff --git a/QtScrcpy/ui/videoform.cpp b/QtScrcpy/ui/videoform.cpp
index bbed173aa..085c847ea 100644
--- a/QtScrcpy/ui/videoform.cpp
+++ b/QtScrcpy/ui/videoform.cpp
@@ -21,13 +21,14 @@
#include "ui_videoform.h"
#include "videoform.h"
-VideoForm::VideoForm(bool framelessWindow, bool skin, QWidget *parent) : QWidget(parent), ui(new Ui::videoForm), m_skin(skin)
+VideoForm::VideoForm(bool framelessWindow, bool skin, bool showToolbar, QWidget *parent) : QWidget(parent), ui(new Ui::videoForm), m_skin(skin)
{
ui->setupUi(this);
initUI();
installShortcut();
updateShowSize(size());
bool vertical = size().height() > size().width();
+ this->show_toolbar = showToolbar;
if (m_skin) {
updateStyleSheet(vertical);
}
@@ -479,7 +480,7 @@ void VideoForm::switchFullScreen()
if (m_skin) {
updateStyleSheet(m_frameSize.height() > m_frameSize.width());
}
- showToolForm(true);
+ showToolForm(this->show_toolbar);
#ifdef Q_OS_WIN32
::SetThreadExecutionState(ES_CONTINUOUS);
#endif
@@ -721,9 +722,9 @@ void VideoForm::paintEvent(QPaintEvent *paint)
void VideoForm::showEvent(QShowEvent *event)
{
Q_UNUSED(event)
- if (!isFullScreen()) {
+ if (!isFullScreen() && this->show_toolbar) {
QTimer::singleShot(500, this, [this](){
- showToolForm();
+ showToolForm(this->show_toolbar);
});
}
}
diff --git a/QtScrcpy/ui/videoform.h b/QtScrcpy/ui/videoform.h
index acda4e678..75b032af0 100644
--- a/QtScrcpy/ui/videoform.h
+++ b/QtScrcpy/ui/videoform.h
@@ -19,7 +19,7 @@ class VideoForm : public QWidget, public qsc::DeviceObserver
{
Q_OBJECT
public:
- explicit VideoForm(bool framelessWindow = false, bool skin = true, QWidget *parent = 0);
+ explicit VideoForm(bool framelessWindow = false, bool skin = true, bool showToolBar = true, QWidget *parent = 0);
~VideoForm();
void staysOnTop(bool top = true);
@@ -32,7 +32,6 @@ class VideoForm : public QWidget, public qsc::DeviceObserver
void removeBlackRect();
void showFPS(bool show);
void switchFullScreen();
-
bool isHost();
private:
@@ -85,6 +84,9 @@ class VideoForm : public QWidget, public qsc::DeviceObserver
bool m_skin = true;
QPoint m_fullScreenBeforePos;
QString m_serial;
+
+ //Whether to display the toolbar when connecting a device.
+ bool show_toolbar = true;
};
#endif // VIDEOFORM_H
diff --git a/QtScrcpy/util/config.cpp b/QtScrcpy/util/config.cpp
index b75f0f79c..5915cf29e 100644
--- a/QtScrcpy/util/config.cpp
+++ b/QtScrcpy/util/config.cpp
@@ -96,6 +96,9 @@
#define COMMON_TRAY_MESSAGE_SHOWN_KEY "TrayMessageShown"
#define COMMON_TRAY_MESSAGE_SHOWN_DEF false
+#define COMMON_SHOW_TOOLBAR_KEY "showToolbar"
+#define COMMON_SHOW_TOOLBAR_DEF true
+
// device config
#define SERIAL_WINDOW_RECT_KEY_X "WindowRectX"
#define SERIAL_WINDOW_RECT_KEY_Y "WindowRectY"
@@ -163,6 +166,7 @@ void Config::setUserBootConfig(const UserBootConfig &config)
m_userData->setValue(COMMON_KEEP_ALIVE_KEY, config.keepAlive);
m_userData->setValue(COMMON_SIMPLE_MODE_KEY, config.simpleMode);
m_userData->setValue(COMMON_AUTO_UPDATE_DEVICE_KEY, config.autoUpdateDevice);
+ m_userData->setValue(COMMON_SHOW_TOOLBAR_KEY, config.showToolbar);
m_userData->endGroup();
m_userData->sync();
}
@@ -186,6 +190,7 @@ UserBootConfig Config::getUserBootConfig()
config.keepAlive = m_userData->value(COMMON_KEEP_ALIVE_KEY, COMMON_KEEP_ALIVE_DEF).toBool();
config.simpleMode = m_userData->value(COMMON_SIMPLE_MODE_KEY, COMMON_SIMPLE_MODE_DEF).toBool();
config.autoUpdateDevice = m_userData->value(COMMON_AUTO_UPDATE_DEVICE_KEY, COMMON_AUTO_UPDATE_DEVICE_DEF).toBool();
+ config.showToolbar =m_userData->value(COMMON_SHOW_TOOLBAR_KEY,COMMON_SHOW_TOOLBAR_DEF).toBool();
m_userData->endGroup();
return config;
}
diff --git a/QtScrcpy/util/config.h b/QtScrcpy/util/config.h
index 1f551265f..6f3c1d91a 100644
--- a/QtScrcpy/util/config.h
+++ b/QtScrcpy/util/config.h
@@ -22,6 +22,7 @@ struct UserBootConfig
bool keepAlive = false;
bool simpleMode = false;
bool autoUpdateDevice = true;
+ bool showToolbar = true;
};
class QSettings;