From 80d5465ded0851a2e1b79af4cf7454fcc598f269 Mon Sep 17 00:00:00 2001 From: "Leroy.H.Y" Date: Sat, 28 Dec 2019 09:30:47 +0800 Subject: [PATCH] [add][fix] Added Windows start with boot support and fixed UI. --- Build.Counter | 2 +- Qv2ray.pro | 2 + src/components/QvAutoStartConfigurator.cpp | 39 + src/components/QvAutoStartConfigurator.hpp | 17 + src/main.cpp | 2 + src/ui/w_PreferencesWindow.cpp | 32 +- src/ui/w_PreferencesWindow.hpp | 4 + src/ui/w_PreferencesWindow.ui | 1110 ++++++++++---------- src/ui/w_RoutesEditor.cpp | 1 + 9 files changed, 666 insertions(+), 543 deletions(-) create mode 100644 src/components/QvAutoStartConfigurator.cpp create mode 100644 src/components/QvAutoStartConfigurator.hpp diff --git a/Build.Counter b/Build.Counter index fcf58bd5..38ac9c59 100644 --- a/Build.Counter +++ b/Build.Counter @@ -1 +1 @@ -2396 +2398 diff --git a/Qv2ray.pro b/Qv2ray.pro index d3a1e1c4..66777ed3 100644 --- a/Qv2ray.pro +++ b/Qv2ray.pro @@ -27,6 +27,7 @@ include(3rdparty/QNodeEditor/QNodeEditor.pri) CONFIG += lrelease embed_translations SOURCES += \ + src/components/QvAutoStartConfigurator.cpp \ src/components/QvComponentsHandler.cpp \ src/components/QvPACHandler.cpp \ src/components/QvSystemProxyConfigurator.cpp \ @@ -75,6 +76,7 @@ HEADERS += \ src/QvCoreConfigObjects.hpp \ src/QvCoreConfigOperations.hpp \ src/QvUtils.hpp \ + src/components/QvAutoStartConfigurator.hpp \ src/components/QvComponentsHandler.hpp \ src/components/QvCoreInteractions.hpp \ src/components/QvHTTPRequestHelper.hpp \ diff --git a/src/components/QvAutoStartConfigurator.cpp b/src/components/QvAutoStartConfigurator.cpp new file mode 100644 index 00000000..83bc79fb --- /dev/null +++ b/src/components/QvAutoStartConfigurator.cpp @@ -0,0 +1,39 @@ +#include "QvAutoStartConfigurator.hpp" +#include +#include + +namespace Qv2ray +{ + namespace Components + { + bool InstallAutoStart() + { +#ifdef Q_OS_WIN + QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); + auto path = qApp->applicationFilePath(); + + // Make it suitable for Windows. + if (path.contains(" ")) { + path = "\"" + path + "\""; + } + + path = path.replace('/', '\\'); + LOG(MODULE_CONFIG, "Qv2ray executable path: " + path.toStdString()) + settings.setValue("Qv2ray", path); + return true; +#else + return false; +#endif + } + bool RemoveAutoStart() + { +#ifdef Q_OS_WIN + QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); + settings.remove("Qv2ray"); + return true; +#else + return false; +#endif + } + } +} diff --git a/src/components/QvAutoStartConfigurator.hpp b/src/components/QvAutoStartConfigurator.hpp new file mode 100644 index 00000000..7c99b093 --- /dev/null +++ b/src/components/QvAutoStartConfigurator.hpp @@ -0,0 +1,17 @@ +#ifndef QVAUTOSTARTCONFIGURATOR_H +#define QVAUTOSTARTCONFIGURATOR_H + +#include "QvUtils.hpp" + +namespace Qv2ray +{ + namespace Components + { + bool InstallAutoStart(); + bool RemoveAutoStart(); + } +} + +using namespace Qv2ray::Components; + +#endif // QVAUTOSTARTCONFIGURATOR_H diff --git a/src/main.cpp b/src/main.cpp index 5f65b8ef..710b9f44 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -222,6 +222,8 @@ int main(int argc, char *argv[]) "Copyright (c) 2019 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)" NEWLINE "Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)" NEWLINE "Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)" NEWLINE + "Copyright (c) 2019 Itay Grudev (@itay-grudev): SingleApplication (MIT)" NEWLINE + "Copyright (c) 2019 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)" NEWLINE NEWLINE "Qv2ray " QV2RAY_VERSION_STRING " running on " + (QSysInfo::prettyProductName() + " " + QSysInfo::currentCpuArchitecture()).toStdString() + NEWLINE) diff --git a/src/ui/w_PreferencesWindow.cpp b/src/ui/w_PreferencesWindow.cpp index e4266e95..c048cf0f 100644 --- a/src/ui/w_PreferencesWindow.cpp +++ b/src/ui/w_PreferencesWindow.cpp @@ -1,4 +1,5 @@ -#include +#include "w_PreferencesWindow.hpp" +#include #include #include #include @@ -9,8 +10,8 @@ #include "QvNetSpeedPlugin.hpp" #include "QvCoreConfigOperations.hpp" -#include "w_PreferencesWindow.hpp" #include "QvHTTPRequestHelper.hpp" +#include "QvAutoStartConfigurator.hpp" #define LOADINGCHECK if(!finishedLoading) return; #define NEEDRESTART if(finishedLoading) IsConnectionPropertyChanged = true; @@ -771,10 +772,11 @@ void PreferencesWindow::on_pacGoBtn_clicked() QString gfwLocation; QString fileContent; auto request = new QvHttpRequestHelper(); + LOG(MODULE_PROXY, "Downloading GFWList file.") switch (gfwListCB->currentIndex()) { case 0: - gfwLocation = "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"; + gfwLocation = "https://gitlab.com/gfwlist/gfwlist/raw/master/gfwlist.txt"; fileContent = QString::fromUtf8(request->syncget(gfwLocation)); break; @@ -794,7 +796,7 @@ void PreferencesWindow::on_pacGoBtn_clicked() break; case 4: - gfwLocation = "https://gitlab.com/gfwlist/gfwlist/raw/master/gfwlist.txt"; + gfwLocation = "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"; fileContent = QString::fromUtf8(request->syncget(gfwLocation)); break; @@ -812,7 +814,9 @@ void PreferencesWindow::on_pacGoBtn_clicked() break; } - // + LOG(MODULE_NETWORK, "Fetched: " + gfwLocation.toStdString()) + + if (!QDir(QV2RAY_RULES_DIR).exists()) { QDir(QV2RAY_RULES_DIR).mkpath(QV2RAY_RULES_DIR); } @@ -878,3 +882,21 @@ void PreferencesWindow::on_autoStartConnCombo_currentIndexChanged(const QString LOADINGCHECK CurrentConfig.autoStartConfig.connectionName = arg1.toStdString(); } + +void PreferencesWindow::on_installBootStart_clicked() +{ + if (InstallAutoStart()) { + QvMessageBox(this, tr("Start with boot"), tr("Successfully installed starting with boot.")); + } else { + QvMessageBox(this, tr("Start with boot"), tr("Only Windows platform is supported currently.")); + } +} + +void PreferencesWindow::on_removeBootStart_clicked() +{ + if (RemoveAutoStart()) { + QvMessageBox(this, tr("Start with boot"), tr("Successfully removed starting with boot.")); + } else { + QvMessageBox(this, tr("Start with boot"), tr("Only Windows platform is supported currently.")); + } +} diff --git a/src/ui/w_PreferencesWindow.hpp b/src/ui/w_PreferencesWindow.hpp index e553c7eb..366cc82c 100644 --- a/src/ui/w_PreferencesWindow.hpp +++ b/src/ui/w_PreferencesWindow.hpp @@ -134,6 +134,10 @@ class PreferencesWindow : public QDialog, private Ui::PreferencesWindow void on_autoStartConnCombo_currentIndexChanged(const QString &arg1); + void on_installBootStart_clicked(); + + void on_removeBootStart_clicked(); + private: // Set ui parameters for a line; void ShowLineParameters(QvBarLine &line); diff --git a/src/ui/w_PreferencesWindow.ui b/src/ui/w_PreferencesWindow.ui index eaa74a59..c0d276c8 100644 --- a/src/ui/w_PreferencesWindow.ui +++ b/src/ui/w_PreferencesWindow.ui @@ -48,370 +48,408 @@ General - - - - - UI Theme - - - - - - - - 200 - 0 - - - - - - - - - - Qt::Vertical - - - - 0 - 0 - - - - - - + + + + + - Theme Settings - - - - - - - Qt::Vertical - - - - 0 - 0 - - - - - - - - - - - - Enabled - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Enabled + UI Theme - - - Darkmode UI Icons - - - - - - - Darkmode Tray Icon - - - - - - - QFrame::Plain - - - 2 - - - Qt::Vertical - - - - - - - - - Language - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - zh-CN - - - - - en-US - - - - - - - - Log Level - - - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - none - - - - - debug - - - - - info - - - - - warning - - - - - error - - - - - - - - - - Qt::Vertical - - - - 0 - 0 - - - - - - - - Auto Connect - - - - - - - Qt::Vertical - - - - 0 - 0 - - - - - - - - - - - - Config - - - - - - - Subscription - - - - - - - - + - 180 + 200 + 0 + + + + + + + + Start With Boot + + + + + + + + + Qt::Vertical + + + + 0 + 0 + + + + + + + + Theme Settings + + + + + + + Qt::Vertical + + + + 0 + 0 + + + + + + + + + + + + Enabled + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Enabled + + + + + + + Darkmode UI Icons + + + + + + + Darkmode Tray Icon + + + + + + + QFrame::Plain + + + 2 + + + Qt::Vertical + + + + + + + + + Language + + + + + + + + 0 + 0 + + + + + 100 0 - + zh-CN + + + + + en-US - - - - QFrame::Plain - - - 2 - - - Qt::Vertical - - - - - - - - - Transparent Proxy - - - - - - - Enabled - - - - - - - V2ray Core Path - - - - - - - - - - - - - - + + - Select + Log Level - - - - - - V2ray Assets Path - - - - - - - - - - - - Select + + + + + 0 + 0 + - - - - - - - - - - Qt::Vertical - - + - 20 - 40 + 150 + 0 - + + + none + + + + + debug + + + + + info + + + + + warning + + + + + error + + + + + + + + + + Config + + + + + + + Subscription + + + + + + + + + + + 180 + 0 + + + + + + + + + + + + + QFrame::Plain + + + 2 + + + Qt::Vertical + + + + + + + + + Transparent Proxy + + + + + + + Enabled + + + + + + + V2ray Core Path + + + + + + + + + + + + + + + + Select + + + + + + + + + V2ray Assets Path + + + + + + + + + + + + Select + + + + + + + + + + + Qt::Vertical + + + + 0 + 0 + + + + + + + + Auto Connect + + + + + + + Qt::Vertical + + + + 0 + 0 + + + + + + + + + + + + (Re)Install + + + + + + + Remove + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + Qt::Vertical + + + + 20 + 183 + + + + Inbound Settings - + @@ -487,20 +525,119 @@ + + + + SOCKS Settings + + + + + + Port + + + + + + + 1 + + + 65535 + + + 1081 + + + + + + + UDP Support + + + + + + + Enabled + + + + + + + Local IP (For UDP) + + + + + + + 127.0.0.1 + + + + + + + Authentication + + + + + + + Enabled + + + + + + + Username + + + + + + + user + + + + + + + Password + + + + + + + pass + + + + + + HTTP Settings - + Port - + 1 @@ -513,42 +650,42 @@ - + Authentication - + Enabled - + Username - + user - + Password - + pass @@ -630,6 +767,11 @@ + + + Mirror: Gitlab + + Github @@ -650,11 +792,6 @@ Mirror: Bitbucket - - - Mirror: Gitlab - - Mirror: TuxFamily @@ -693,107 +830,21 @@ - - - - SOCKS Settings - - - - - - Port - - - - - - - 1 - - - 65535 - - - 1081 - - - - - - - UDP Support - - - - - - - Enabled - - - - - - - Local IP (For UDP) - - - - - - - 127.0.0.1 - - - - - - - Authentication - - - - - - - Enabled - - - - - - - Username - - - - - - - user - - - - - - - Password - - - - - - - pass - - - - - - + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -1029,14 +1080,14 @@ Network Toolbar Settings - + Apply Network Speed Bar UI Settings - + Items @@ -1181,14 +1232,7 @@ - - - - You can config how the network speed toolbar looks like in this panel - - - - + @@ -1357,7 +1401,14 @@ - + + + + You can config how the network speed toolbar looks like in this panel + + + + @@ -1370,7 +1421,7 @@ color: red - This feature is not stable enough. + This feature is not stable enough and no documentation is provoded, please use it as your own risk! @@ -1471,62 +1522,8 @@ - - - - - - - - - - - - Built Time - - - - - - - Official Repo - - - - - - - - 0 - 0 - - - - <html><head/><body><p><a href="https://github.com/lhy0403/Qv2ray"><span style=" text-decoration: underline; color:#2980b9;">https://github.com/lhy0403/Qv2ray</span></a></p></body></html> - - - Qt::RichText - - - false - - - true - - - - - - - - - - - License: - - - - + + @@ -1553,18 +1550,55 @@ - - - - Qt::Horizontal + + + + Official Repo: - - - 40 - 20 - + + + + + + - + + + + + + + 0 + 0 + + + + <html><head/><body><p><a href="https://github.com/lhy0403/Qv2ray"><span style=" text-decoration: underline; color:#2980b9;">https://github.com/lhy0403/Qv2ray</span></a></p></body></html> + + + Qt::RichText + + + false + + + true + + + + + + + License: + + + + + + + Built Time: + + @@ -1580,22 +1614,24 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-weight:600; color:#d68952;">This program comes with ABSOLUTELY NO WARRANTY.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-weight:600; color:#d68952;">This is free software, and you are welcome to redistribute it under certain conditions.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (C) 2019 Leroy.H.Y (@lhy0403): Qv2ray Current Developer</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs &amp; gRPC implementation</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (C) 2019 SOneWinstone (@SoneWinstone): Hv2ray/Qv2ray HTTP Request Helper</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Qv2ray ArtWork Done By ArielAxionL (@axionl)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">TheBadGateway (@thebadgateway): Qv2ray Russian Translations</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Riko (@rikakomoe): Qv2ray patch 8a8c1a/PR115</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Noto Sans'; color:#d68952;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-weight:600; color:#d68952;">Libraries that have been used in Qv2ray are listed below (Sorted by date added):</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (c) 2019 dridk (@dridk): X2Struct (Apache)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (c) 2011 SCHUTZ Sacha (@dridk): QJsonModel (MIT)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (c) 2019 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; color:#d68952;">Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)</span></p></body></html> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; font-weight:600; color:#d68952;">This program comes with ABSOLUTELY NO WARRANTY.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; font-weight:600; color:#d68952;">This is free software, and you are welcome to redistribute it under certain conditions.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (C) 2019 Leroy.H.Y (@lhy0403): Qv2ray Current Developer</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs &amp; gRPC implementation</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (C) 2019 SOneWinstone (@SoneWinstone): Hv2ray/Qv2ray HTTP Request Helper</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Qv2ray ArtWork designs done by ArielAxionL (@axionl)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">TheBadGateway (@thebadgateway): Qv2ray Russian Translations</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Riko (@rikakomoe): Qv2ray patch 8a8c1a/PR115</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Noto Sans'; font-size:10pt; color:#d68952;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; font-weight:600; color:#d68952;">Libraries that have been used in Qv2ray are listed below (Sorted by date added):</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2019 dridk (@dridk): X2Struct (Apache)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2011 SCHUTZ Sacha (@dridk): QJsonModel (MIT)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2019 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2019 Itay Grudev (@itay-grudev): SingleApplication (MIT)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MonoSpace'; font-size:10pt; color:#d68952;">Copyright (c) 2019 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)</span></p></body></html> diff --git a/src/ui/w_RoutesEditor.cpp b/src/ui/w_RoutesEditor.cpp index e8ee6c5e..017a9f90 100644 --- a/src/ui/w_RoutesEditor.cpp +++ b/src/ui/w_RoutesEditor.cpp @@ -63,6 +63,7 @@ RouteEditor::RouteEditor(QJsonObject connection, QWidget *parent) : QDialog(pare { setupUi(this); isLoading = true; + setWindowFlags(windowFlags() | Qt::WindowMaximizeButtonHint); // SetupNodeWidget(); //