From cd7614f86ed96081f45df3953d24dd982071e687 Mon Sep 17 00:00:00 2001 From: Chenx Dust Date: Mon, 19 Aug 2024 23:39:08 +0800 Subject: [PATCH] refactor!: Unify all app name using QApplication::applicationDisplayName() or QApplication::applicationName() refactor!: Better check update on start setting name fix: Fix randomly error pop in turning off vpn feat: Easter egg --- main.cpp | 11 +++++++++-- mainwindow.cpp | 35 +++++++++++++++++++-------------- mainwindow.ui | 12 +++++------ settingwindow/settingwindow.cpp | 12 +++++------ settingwindow/settingwindow.ui | 7 ++----- utils/utils.h | 2 +- 6 files changed, 43 insertions(+), 36 deletions(-) diff --git a/main.cpp b/main.cpp index 413bd32..fbb230e 100644 --- a/main.cpp +++ b/main.cpp @@ -7,8 +7,15 @@ int main(int argc, char *argv[]) { SingleApplication app(argc, argv); - QApplication::setApplicationName("HITsz Connect for Windows"); - QApplication::setApplicationVersion("1.1.5"); + QApplication::setApplicationName("HITszConnectForWindows"); + QApplication::setApplicationDisplayName("HITsz Connect for Windows"); + QApplication::setApplicationVersion("1.1.6"); + + // Easter Egg + QDate currentDate = QDate::currentDate(); + if (currentDate.month() == 4 && currentDate.day() == 1) { + QApplication::setApplicationDisplayName("Connect Strike: HashenU"); + } MainWindow mainWindow; diff --git a/mainwindow.cpp b/mainwindow.cpp index 63c257b..41fdb20 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -41,6 +41,8 @@ MainWindow::MainWindow(QWidget *parent) : isZjuConnectLinked = false; isZjuConnectLoginError = false; isZjuConnectAccessDenied = false; + isZjuConnectListenFailed = false; + isZjuConnectSetupError = false; isSystemProxySet = false; ui->setupUi(this); @@ -49,8 +51,6 @@ MainWindow::MainWindow(QWidget *parent) : 512, 512, Qt::KeepAspectRatio, Qt::SmoothTransformation ))); - setWindowTitle(QApplication::applicationName() + " v" + QApplication::applicationVersion()); - ui->applicationNameLabel->setText(QApplication::applicationDisplayName()); ui->versionLabel->setText( "当前版本:v" + QApplication::applicationVersion() + "\n正在检查更新……\n" @@ -159,17 +159,19 @@ MainWindow::MainWindow(QWidget *parent) : } ); - connect(this, &MainWindow::SetModeFinished, this, [&]() - { - if (isFirstTimeSetMode) - { - isFirstTimeSetMode = false; - if (settings->value("Common/ConnectAfterStart", false).toBool()) - { - ui->pushButton1->click(); - } - } - }); + connect(this, &MainWindow::SetModeFinished, this, + [&]() + { + if (isFirstTimeSetMode) + { + isFirstTimeSetMode = false; + if (settings->value("Common/ConnectAfterStart", false).toBool()) + { + ui->pushButton1->click(); + } + } + } + ); // 自动检查更新 checkUpdateNAM = new QNetworkAccessManager(this); @@ -179,6 +181,9 @@ MainWindow::MainWindow(QWidget *parent) : if (reply->error() != QNetworkReply::NoError) { addLog("检查更新失败。原因是:" + reply->errorString()); + ui->versionLabel->setText( + "当前版本:v" + QApplication::applicationVersion() + "\n检查更新失败\n" + ); reply->deleteLater(); return; } @@ -222,7 +227,7 @@ MainWindow::MainWindow(QWidget *parent) : } }); - if (settings->value("Common/AutoCheckUpdate", true).toBool()) + if (settings->value("Common/checkUpdateAfterStart", true).toBool()) { checkUpdate(); } @@ -281,7 +286,7 @@ void MainWindow::upgradeSettings() QSettings::NativeFormat ); autoStartSettings.setValue( - "HITszConnectForWindows", + QApplication::applicationName(), QCoreApplication::applicationFilePath().replace('/', '\\') ); } diff --git a/mainwindow.ui b/mainwindow.ui index b84628c..049730a 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -10,9 +10,6 @@ 266 - - HITsz Connect for Windows - @@ -88,7 +85,7 @@ 关注 HITSZ OSA 谢谢喵!n(*≧▽≦*)n - HITsz Connect for Windows + Application Name @@ -117,8 +114,8 @@ - Version:1.0 -Windows Version:Arch Linux + Line 1 +Line 2 @@ -143,7 +140,8 @@ Windows Version:Arch Linux 可以使用 TUN 模式解决部分软件无法代理的问题。 建议关闭 Clash 等代理后开启系统代理。 -一般而言,设置系统代理↘后即可使用。 +一般而言,设置系统代理↘后即可使用。 +使用中遇到任何问题欢迎加入 HITSZ OSA 进行反馈。 diff --git a/settingwindow/settingwindow.cpp b/settingwindow/settingwindow.cpp index ad82717..2f30870 100644 --- a/settingwindow/settingwindow.cpp +++ b/settingwindow/settingwindow.cpp @@ -43,13 +43,13 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) : ui->connectAfterStartComboBox->setCurrentText("否"); } - if (settings->value("Common/AutoCheckUpdate", true).toBool()) + if (settings->value("Common/checkUpdateAfterStart", true).toBool()) { - ui->autoCheckUpdateComboBox->setCurrentText("是"); + ui->checkUpdateAfterStartComboBox->setCurrentText("是"); } else { - ui->autoCheckUpdateComboBox->setCurrentText("否"); + ui->checkUpdateAfterStartComboBox->setCurrentText("否"); } ui->serverAddressLineEdit->setText(settings->value("ZJUConnect/ServerAddress", "vpn.hitsz.edu.cn").toString()); @@ -91,7 +91,7 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) : settings->setValue("Common/Password", QString(ui->passwordLineEdit->text().toUtf8().toBase64())); settings->setValue("Common/AutoStart", ui->autoStartComboBox->currentText() == "是"); settings->setValue("Common/ConnectAfterStart", ui->connectAfterStartComboBox->currentText() == "是"); - settings->setValue("Common/AutoCheckUpdate", ui->autoCheckUpdateComboBox->currentText() == "是"); + settings->setValue("Common/checkUpdateAfterStart", ui->checkUpdateAfterStartComboBox->currentText() == "是"); settings->setValue("ZJUConnect/ServerAddress", ui->serverAddressLineEdit->text()); settings->setValue("ZJUConnect/ServerPort", ui->serverPortSpinBox->value()); @@ -117,7 +117,7 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) : QSettings::NativeFormat ); autoStartSettings.setValue( - "HITszConnectForWindows", + QApplication::applicationName(), QCoreApplication::applicationFilePath().replace('/', '\\') ); } @@ -127,7 +127,7 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) : R"(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)", QSettings::NativeFormat ); - autoStartSettings.remove("HITszConnectForWindows"); + autoStartSettings.remove(QApplication::applicationName()); } close(); diff --git a/settingwindow/settingwindow.ui b/settingwindow/settingwindow.ui index fd4221d..d279b0f 100644 --- a/settingwindow/settingwindow.ui +++ b/settingwindow/settingwindow.ui @@ -77,7 +77,7 @@ - 自动检查更新 + 启动后检查更新 @@ -104,9 +104,6 @@ - - 注意:网络密码和浙大通行证密码可能不同! - @@ -130,7 +127,7 @@ - + diff --git a/utils/utils.h b/utils/utils.h index 6066206..a2d7529 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -3,7 +3,7 @@ namespace Utils { - const QString REPO_NAME("hitszosa/HITsz-Connect-for-Windows"); + const inline QString REPO_NAME("chenx-dust/HITsz-Connect-for-Windows"); QString ConsoleOutputToQString(const QByteArray &byteArray);