diff --git a/Build.Counter b/Build.Counter
index 6aff9199..e197f57b 100644
--- a/Build.Counter
+++ b/Build.Counter
@@ -1 +1 @@
-2760
+2766
diff --git a/Qv2ray.pro b/Qv2ray.pro
index c7a51c8c..2b301189 100644
--- a/Qv2ray.pro
+++ b/Qv2ray.pro
@@ -145,8 +145,8 @@ message("|-------------------------------------------------|")
message(" ")
-RC_ICONS += ./icons/qv2ray.ico
-ICON = ./icons/qv2ray.icns
+RC_ICONS += ./assets/icons/qv2ray.ico
+ICON = ./assets/icons/qv2ray.icns
# ------------------------------------------ Begin checking gRPC and protobuf headers.
!exists(libs/gen/v2ray_api_commands.grpc.pb.h) || !exists(libs/gen/v2ray_api_commands.grpc.pb.cc) || !exists(libs/gen/v2ray_api_commands.pb.h) || !exists(libs/gen/v2ray_api_commands.pb.cc) {
@@ -254,11 +254,11 @@ unix {
SOURCES += src/ui/NetSpeedBar/QvNetSpeedBar_linux.cpp
message(" --> Generating desktop dependency.")
- desktop.files += ./icons/qv2ray.desktop
+ desktop.files += ./assets/icons/qv2ray.desktop
desktop.path = /usr/share/applications/
message(" --> Generating icons dependency.")
- icon.files += ./icons/qv2ray.png
+ icon.files += ./assets/icons/qv2ray.png
icon.path = /usr/share/icons/hicolor/256x256/apps/
target.path = /usr/local/bin/
@@ -269,7 +269,7 @@ build_flatpak {
# For Packaging
message("Configuring for packaging platform")
message(" --> Generating metainfo dependency.")
- appdataXml.files += ./icons/qv2ray.metainfo.xml
+ appdataXml.files += ./assets/qv2ray.metainfo.xml
appdataXml.path = /app/share/metainfo/
LIBS += -L/app/lib
INCLUDEPATH += /app/include/
diff --git a/assets/credit.html b/assets/credit.html
new file mode 100644
index 00000000..08906206
--- /dev/null
+++ b/assets/credit.html
@@ -0,0 +1,22 @@
+
+
+This program comes with ABSOLUTELY NO WARRANTY.
+This is free software, and you are welcome to redistribute it under certain conditions.
+Copyright (C) 2020 Leroy.H.Y (@lhy0403): Qv2ray Current Developer
+Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs & gRPC implementation
+Copyright (C) 2019 SOneWinstone (@SoneWinstone): Hv2ray/Qv2ray HTTP Request Helper
+Qv2ray ArtWork designs done by ArielAxionL (@axionl)
+TheBadGateway (@thebadgateway): Qv2ray Russian Translations
+Riko (@rikakomoe): Qv2ray patch 8a8c1a/PR115
+
+Libraries that have been used in Qv2ray are listed below (Sorted by date added):
+Copyright (c) 2020 dridk (@dridk): X2Struct (Apache)
+Copyright (c) 2011 SCHUTZ Sacha (@dridk): QJsonModel (MIT)
+Copyright (c) 2020 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)
+Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)
+Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)
+Copyright (c) 2020 Itay Grudev (@itay-grudev): SingleApplication (MIT)
+Copyright (c) 2020 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)
+Copyright (c) 2019 TheWanderingCoel (@TheWanderingCoel): ShadowClash (launchatlogin) (GPLv3)
diff --git a/icons/designs/Applogo_Circle.svg b/assets/icons/designs/Applogo_Circle.svg
similarity index 100%
rename from icons/designs/Applogo_Circle.svg
rename to assets/icons/designs/Applogo_Circle.svg
diff --git a/icons/designs/Applogo_Frameless.svg b/assets/icons/designs/Applogo_Frameless.svg
similarity index 100%
rename from icons/designs/Applogo_Frameless.svg
rename to assets/icons/designs/Applogo_Frameless.svg
diff --git a/icons/designs/Applogo_Square.svg b/assets/icons/designs/Applogo_Square.svg
similarity index 100%
rename from icons/designs/Applogo_Square.svg
rename to assets/icons/designs/Applogo_Square.svg
diff --git a/icons/designs/banner.svg b/assets/icons/designs/banner.svg
similarity index 100%
rename from icons/designs/banner.svg
rename to assets/icons/designs/banner.svg
diff --git a/icons/designs/banner.svg.png b/assets/icons/designs/banner.svg.png
similarity index 100%
rename from icons/designs/banner.svg.png
rename to assets/icons/designs/banner.svg.png
diff --git a/icons/qv2ray.icns b/assets/icons/qv2ray.icns
similarity index 100%
rename from icons/qv2ray.icns
rename to assets/icons/qv2ray.icns
diff --git a/icons/qv2ray.ico b/assets/icons/qv2ray.ico
similarity index 100%
rename from icons/qv2ray.ico
rename to assets/icons/qv2ray.ico
diff --git a/icons/qv2ray.png b/assets/icons/qv2ray.png
similarity index 100%
rename from icons/qv2ray.png
rename to assets/icons/qv2ray.png
diff --git a/icons/ui_dark/add.png b/assets/icons/ui_dark/add.png
similarity index 100%
rename from icons/ui_dark/add.png
rename to assets/icons/ui_dark/add.png
diff --git a/icons/ui_dark/delete.png b/assets/icons/ui_dark/delete.png
similarity index 100%
rename from icons/ui_dark/delete.png
rename to assets/icons/ui_dark/delete.png
diff --git a/icons/ui_dark/design/add.svg b/assets/icons/ui_dark/design/add.svg
similarity index 100%
rename from icons/ui_dark/design/add.svg
rename to assets/icons/ui_dark/design/add.svg
diff --git a/icons/ui_dark/design/delete.svg b/assets/icons/ui_dark/design/delete.svg
similarity index 100%
rename from icons/ui_dark/design/delete.svg
rename to assets/icons/ui_dark/design/delete.svg
diff --git a/icons/ui_dark/design/duplicate.svg b/assets/icons/ui_dark/design/duplicate.svg
similarity index 100%
rename from icons/ui_dark/design/duplicate.svg
rename to assets/icons/ui_dark/design/duplicate.svg
diff --git a/icons/ui_dark/design/edit.svg b/assets/icons/ui_dark/design/edit.svg
similarity index 100%
rename from icons/ui_dark/design/edit.svg
rename to assets/icons/ui_dark/design/edit.svg
diff --git a/icons/ui_dark/design/import.svg b/assets/icons/ui_dark/design/import.svg
similarity index 100%
rename from icons/ui_dark/design/import.svg
rename to assets/icons/ui_dark/design/import.svg
diff --git a/icons/ui_dark/design/json.svg b/assets/icons/ui_dark/design/json.svg
similarity index 100%
rename from icons/ui_dark/design/json.svg
rename to assets/icons/ui_dark/design/json.svg
diff --git a/icons/ui_dark/design/netspeed_arrow.svg b/assets/icons/ui_dark/design/netspeed_arrow.svg
similarity index 100%
rename from icons/ui_dark/design/netspeed_arrow.svg
rename to assets/icons/ui_dark/design/netspeed_arrow.svg
diff --git a/icons/ui_dark/design/ping_gauge.svg b/assets/icons/ui_dark/design/ping_gauge.svg
similarity index 100%
rename from icons/ui_dark/design/ping_gauge.svg
rename to assets/icons/ui_dark/design/ping_gauge.svg
diff --git a/icons/ui_dark/design/share.svg b/assets/icons/ui_dark/design/share.svg
similarity index 100%
rename from icons/ui_dark/design/share.svg
rename to assets/icons/ui_dark/design/share.svg
diff --git a/icons/ui_dark/design/tray.svg b/assets/icons/ui_dark/design/tray.svg
similarity index 100%
rename from icons/ui_dark/design/tray.svg
rename to assets/icons/ui_dark/design/tray.svg
diff --git a/icons/ui_dark/duplicate.png b/assets/icons/ui_dark/duplicate.png
similarity index 100%
rename from icons/ui_dark/duplicate.png
rename to assets/icons/ui_dark/duplicate.png
diff --git a/icons/ui_dark/edit.png b/assets/icons/ui_dark/edit.png
similarity index 100%
rename from icons/ui_dark/edit.png
rename to assets/icons/ui_dark/edit.png
diff --git a/icons/ui_dark/import.png b/assets/icons/ui_dark/import.png
similarity index 100%
rename from icons/ui_dark/import.png
rename to assets/icons/ui_dark/import.png
diff --git a/icons/ui_dark/json.png b/assets/icons/ui_dark/json.png
similarity index 100%
rename from icons/ui_dark/json.png
rename to assets/icons/ui_dark/json.png
diff --git a/icons/ui_dark/netspeed_arrow.png b/assets/icons/ui_dark/netspeed_arrow.png
similarity index 100%
rename from icons/ui_dark/netspeed_arrow.png
rename to assets/icons/ui_dark/netspeed_arrow.png
diff --git a/icons/ui_dark/ping_gauge.png b/assets/icons/ui_dark/ping_gauge.png
similarity index 100%
rename from icons/ui_dark/ping_gauge.png
rename to assets/icons/ui_dark/ping_gauge.png
diff --git a/icons/ui_dark/share.png b/assets/icons/ui_dark/share.png
similarity index 100%
rename from icons/ui_dark/share.png
rename to assets/icons/ui_dark/share.png
diff --git a/icons/ui_dark/tray.png b/assets/icons/ui_dark/tray.png
similarity index 100%
rename from icons/ui_dark/tray.png
rename to assets/icons/ui_dark/tray.png
diff --git a/icons/ui_light/add.png b/assets/icons/ui_light/add.png
similarity index 100%
rename from icons/ui_light/add.png
rename to assets/icons/ui_light/add.png
diff --git a/icons/ui_light/delete.png b/assets/icons/ui_light/delete.png
similarity index 100%
rename from icons/ui_light/delete.png
rename to assets/icons/ui_light/delete.png
diff --git a/icons/ui_light/design/add.svg b/assets/icons/ui_light/design/add.svg
similarity index 100%
rename from icons/ui_light/design/add.svg
rename to assets/icons/ui_light/design/add.svg
diff --git a/icons/ui_light/design/delete.svg b/assets/icons/ui_light/design/delete.svg
similarity index 100%
rename from icons/ui_light/design/delete.svg
rename to assets/icons/ui_light/design/delete.svg
diff --git a/icons/ui_light/design/duplicate.svg b/assets/icons/ui_light/design/duplicate.svg
similarity index 100%
rename from icons/ui_light/design/duplicate.svg
rename to assets/icons/ui_light/design/duplicate.svg
diff --git a/icons/ui_light/design/edit.svg b/assets/icons/ui_light/design/edit.svg
similarity index 100%
rename from icons/ui_light/design/edit.svg
rename to assets/icons/ui_light/design/edit.svg
diff --git a/icons/ui_light/design/import.svg b/assets/icons/ui_light/design/import.svg
similarity index 100%
rename from icons/ui_light/design/import.svg
rename to assets/icons/ui_light/design/import.svg
diff --git a/icons/ui_light/design/json.svg b/assets/icons/ui_light/design/json.svg
similarity index 100%
rename from icons/ui_light/design/json.svg
rename to assets/icons/ui_light/design/json.svg
diff --git a/icons/ui_light/design/netspeed_arrow.svg b/assets/icons/ui_light/design/netspeed_arrow.svg
similarity index 100%
rename from icons/ui_light/design/netspeed_arrow.svg
rename to assets/icons/ui_light/design/netspeed_arrow.svg
diff --git a/icons/ui_light/design/ping_gauge.svg b/assets/icons/ui_light/design/ping_gauge.svg
similarity index 100%
rename from icons/ui_light/design/ping_gauge.svg
rename to assets/icons/ui_light/design/ping_gauge.svg
diff --git a/icons/ui_light/design/share.svg b/assets/icons/ui_light/design/share.svg
similarity index 100%
rename from icons/ui_light/design/share.svg
rename to assets/icons/ui_light/design/share.svg
diff --git a/icons/ui_light/design/tray.svg b/assets/icons/ui_light/design/tray.svg
similarity index 100%
rename from icons/ui_light/design/tray.svg
rename to assets/icons/ui_light/design/tray.svg
diff --git a/icons/ui_light/duplicate.png b/assets/icons/ui_light/duplicate.png
similarity index 100%
rename from icons/ui_light/duplicate.png
rename to assets/icons/ui_light/duplicate.png
diff --git a/icons/ui_light/edit.png b/assets/icons/ui_light/edit.png
similarity index 100%
rename from icons/ui_light/edit.png
rename to assets/icons/ui_light/edit.png
diff --git a/icons/ui_light/import.png b/assets/icons/ui_light/import.png
similarity index 100%
rename from icons/ui_light/import.png
rename to assets/icons/ui_light/import.png
diff --git a/icons/ui_light/json.png b/assets/icons/ui_light/json.png
similarity index 100%
rename from icons/ui_light/json.png
rename to assets/icons/ui_light/json.png
diff --git a/icons/ui_light/netspeed_arrow.png b/assets/icons/ui_light/netspeed_arrow.png
similarity index 100%
rename from icons/ui_light/netspeed_arrow.png
rename to assets/icons/ui_light/netspeed_arrow.png
diff --git a/icons/ui_light/ping_gauge.png b/assets/icons/ui_light/ping_gauge.png
similarity index 100%
rename from icons/ui_light/ping_gauge.png
rename to assets/icons/ui_light/ping_gauge.png
diff --git a/icons/ui_light/share.png b/assets/icons/ui_light/share.png
similarity index 100%
rename from icons/ui_light/share.png
rename to assets/icons/ui_light/share.png
diff --git a/icons/ui_light/tray.png b/assets/icons/ui_light/tray.png
similarity index 100%
rename from icons/ui_light/tray.png
rename to assets/icons/ui_light/tray.png
diff --git a/icons/qv2ray.desktop b/assets/qv2ray.desktop
similarity index 100%
rename from icons/qv2ray.desktop
rename to assets/qv2ray.desktop
diff --git a/icons/qv2ray.metainfo.xml b/assets/qv2ray.metainfo.xml
similarity index 100%
rename from icons/qv2ray.metainfo.xml
rename to assets/qv2ray.metainfo.xml
diff --git a/resources.qrc b/resources.qrc
index 4b17395d..14a025bb 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -1,27 +1,28 @@
- icons/qv2ray.icns
- icons/qv2ray.png
- icons/qv2ray.ico
- icons/ui_dark/add.png
- icons/ui_dark/delete.png
- icons/ui_dark/duplicate.png
- icons/ui_dark/edit.png
- icons/ui_dark/import.png
- icons/ui_dark/json.png
- icons/ui_dark/netspeed_arrow.png
- icons/ui_dark/ping_gauge.png
- icons/ui_dark/share.png
- icons/ui_light/add.png
- icons/ui_light/delete.png
- icons/ui_light/duplicate.png
- icons/ui_light/edit.png
- icons/ui_light/import.png
- icons/ui_light/json.png
- icons/ui_light/netspeed_arrow.png
- icons/ui_light/ping_gauge.png
- icons/ui_light/share.png
- icons/ui_light/tray.png
- icons/ui_dark/tray.png
+ assets/icons/ui_dark/add.png
+ assets/icons/ui_dark/delete.png
+ assets/icons/ui_dark/duplicate.png
+ assets/icons/ui_dark/edit.png
+ assets/icons/ui_dark/import.png
+ assets/icons/ui_dark/json.png
+ assets/icons/ui_dark/netspeed_arrow.png
+ assets/icons/ui_dark/ping_gauge.png
+ assets/icons/ui_dark/share.png
+ assets/icons/ui_dark/tray.png
+ assets/icons/ui_light/add.png
+ assets/icons/ui_light/delete.png
+ assets/icons/ui_light/duplicate.png
+ assets/icons/ui_light/edit.png
+ assets/icons/ui_light/import.png
+ assets/icons/ui_light/json.png
+ assets/icons/ui_light/netspeed_arrow.png
+ assets/icons/ui_light/ping_gauge.png
+ assets/icons/ui_light/share.png
+ assets/icons/ui_light/tray.png
+ assets/icons/qv2ray.icns
+ assets/icons/qv2ray.ico
+ assets/icons/qv2ray.png
+ assets/credit.html
diff --git a/src/Qv2rayBase.hpp b/src/Qv2rayBase.hpp
index 53d13aaf..7f11f1f8 100644
--- a/src/Qv2rayBase.hpp
+++ b/src/Qv2rayBase.hpp
@@ -66,7 +66,7 @@ const int QV2RAY_CONFIG_VERSION = 6;
#define BLACK(obj) \
obj->setPalette(this->palette());
-#define QV2RAY_UI_RESOURCES_ROOT (QV2RAY_IS_DARKTHEME ? QStringLiteral(":/icons/ui_dark/") : QStringLiteral(":/icons/ui_light/"))
+#define QV2RAY_UI_RESOURCES_ROOT (QV2RAY_IS_DARKTHEME ? QStringLiteral(":/assets/icons/ui_dark/") : QStringLiteral(":/assets/icons/ui_light/"))
#define QICON_R(file) QIcon(QV2RAY_UI_RESOURCES_ROOT + file)
#define QSTRN(num) QString::number(num)
diff --git a/src/ui/w_ExportConfig.ui b/src/ui/w_ExportConfig.ui
index d403acce..62092272 100644
--- a/src/ui/w_ExportConfig.ui
+++ b/src/ui/w_ExportConfig.ui
@@ -26,7 +26,7 @@
- :/icons/qv2ray.png
+ :/assets/icons/qv2ray.ico
false
diff --git a/src/ui/w_InboundEditor.ui b/src/ui/w_InboundEditor.ui
index 7593f2f6..94cdb94d 100644
--- a/src/ui/w_InboundEditor.ui
+++ b/src/ui/w_InboundEditor.ui
@@ -356,11 +356,7 @@
-
- ...
-
-
-
- :/icons/remove_connection_btn.png:/icons/remove_connection_btn.png
+ -
@@ -377,11 +373,7 @@
-
- ...
-
-
-
- :/icons/add_connection_btn.png:/icons/add_connection_btn.png
+ +
@@ -504,11 +496,7 @@
-
- ...
-
-
-
- :/icons/remove_connection_btn.png:/icons/remove_connection_btn.png
+ -
@@ -525,11 +513,7 @@
-
- ...
-
-
-
- :/icons/add_connection_btn.png:/icons/add_connection_btn.png
+ +
diff --git a/src/ui/w_MainWindow.cpp b/src/ui/w_MainWindow.cpp
index a75fa76b..fb6fa4eb 100644
--- a/src/ui/w_MainWindow.cpp
+++ b/src/ui/w_MainWindow.cpp
@@ -94,8 +94,8 @@ MainWindow::MainWindow(QWidget *parent):
requestHelper = new QvHttpRequestHelper();
connect(tcpingModel, &QvTCPingModel::PingFinished, this, &MainWindow::onPingFinished);
//
- this->setWindowIcon(QIcon(":/icons/qv2ray.png"));
- hTray->setIcon(QIcon(currentConfig.uiConfig.useDarkTrayIcon ? ":/icons/ui_dark/tray.png" : ":/icons/ui_light/tray.png"));
+ this->setWindowIcon(QIcon(":/assets/icons/qv2ray.png"));
+ hTray->setIcon(QIcon(currentConfig.uiConfig.useDarkTrayIcon ? ":/assets/icons/ui_dark/tray.png" : ":/assets/icons/ui_light/tray.png"));
importConfigButton->setIcon(QICON_R("import.png"));
duplicateBtn->setIcon(QICON_R("duplicate.png"));
removeConfigButton->setIcon(QICON_R("delete.png"));
diff --git a/src/ui/w_PreferencesWindow.cpp b/src/ui/w_PreferencesWindow.cpp
index 9cef29d4..541dac1e 100644
--- a/src/ui/w_PreferencesWindow.cpp
+++ b/src/ui/w_PreferencesWindow.cpp
@@ -20,6 +20,7 @@ PreferencesWindow::PreferencesWindow(QWidget *parent) : QDialog(parent),
CurrentConfig()
{
setupUi(this);
+ textBrowser->setHtml(StringFromFile(new QFile(":/assets/credit.html")));
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
// We add locales
languageComboBox->clear();
diff --git a/src/ui/w_PreferencesWindow.ui b/src/ui/w_PreferencesWindow.ui
index 257f8368..aa3a22a0 100644
--- a/src/ui/w_PreferencesWindow.ui
+++ b/src/ui/w_PreferencesWindow.ui
@@ -42,7 +42,7 @@
QTabWidget::Rounded
- 2
+ 0
@@ -1470,7 +1470,7 @@
- image: url(:/icons/qv2ray.ico);
+ image: url(:/assets/icons/qv2ray.ico);
@@ -1633,7 +1633,7 @@
-
-
+
QTextEdit::NoWrap
@@ -1645,24 +1645,7 @@
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'WenQuanYi Micro Hei'; 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:'MonoSpace'; 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-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'; color:#d68952;">Copyright (C) 2020 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'; color:#d68952;">Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs & 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'; 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'; 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'; 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'; 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:'MonoSpace'; 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'; color:#d68952;">Copyright (c) 2020 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'; 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'; color:#d68952;">Copyright (c) 2020 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'; 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'; 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'; color:#d68952;">Copyright (c) 2020 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'; color:#d68952;">Copyright (c) 2020 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)</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'; color:#d68952;">Copyright (c) 2019 TheWanderingCoel (@TheWanderingCoel): ShadowClash (launchatlogin) (GPLv3)</span></p></body></html>
+<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:'WenQuanYi Micro Hei';"><br /></p></body></html>
diff --git a/src/ui/w_RoutesEditor.ui b/src/ui/w_RoutesEditor.ui
index ea1904c4..ab2cb023 100644
--- a/src/ui/w_RoutesEditor.ui
+++ b/src/ui/w_RoutesEditor.ui
@@ -261,13 +261,16 @@
-
+
+ 0
+
0
0
359
- 529
+ 535
@@ -362,7 +365,7 @@
0
0
345
- 618
+ 607
@@ -525,10 +528,6 @@
...
-
-
- :/icons/remove_connection_btn.png:/icons/remove_connection_btn.png
-
-
@@ -549,10 +548,6 @@
...
-
-
- :/icons/add_connection_btn.png:/icons/add_connection_btn.png
-
diff --git a/translations/en-US.ts b/translations/en-US.ts
index 377407a8..ce974a73 100644
--- a/translations/en-US.ts
+++ b/translations/en-US.ts
@@ -380,8 +380,8 @@
-
-
+
+
Enabled
@@ -392,7 +392,7 @@
-
+
Timeout
@@ -403,131 +403,135 @@
-
-
-
+
+
+
User Level
-
-
-
- ...
-
+
+ -
+
-
-
+
+
Password
-
-
+
+
+ +
+
+
+
+
+
Add
-
-
+
+
Username
-
-
+
+
Accounts
-
+
SOCKS Inbound Settings
-
+
Auth
-
+
Enable UDP
-
+
Local UDP IP
-
+
127.0.0.1
-
+
Dokodemo-Door Inbound Settings
-
+
IP Address
-
+
Not necessary when setting "Follow Redirect"
-
+
Port
-
+
Network
-
+
TCP
-
+
UDP
-
+
Follow Redirect
-
+
If you want to use tProxy, please go to Preference Window to enable this feature.
-
+
MTProto Inbound Settings
-
+
EMail Address
-
+
Secret
-
+
SECRET
@@ -1431,10 +1435,10 @@
PreferencesWindow
-
-
-
-
+
+
+
+
Preferences
@@ -1855,13 +1859,13 @@
-
+
Bold
-
+
Italic
@@ -1930,32 +1934,6 @@
This feature is not stable enough and no documentation is provided, please use it as your own risk!
-
-
- <!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:'WenQuanYi Micro Hei'; 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:'MonoSpace'; 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-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'; color:#d68952;">Copyright (C) 2020 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'; color:#d68952;">Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs & 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'; 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'; 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'; 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'; 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:'MonoSpace'; 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'; color:#d68952;">Copyright (c) 2020 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'; 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'; color:#d68952;">Copyright (c) 2020 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'; 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'; 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'; color:#d68952;">Copyright (c) 2020 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'; color:#d68952;">Copyright (c) 2020 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)</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'; color:#d68952;">Copyright (c) 2019 TheWanderingCoel (@TheWanderingCoel): ShadowClash (launchatlogin) (GPLv3)</span></p></body></html>
-
-
About
@@ -1997,126 +1975,135 @@ p, li { white-space: pre-wrap; }
-
+
+ <!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:'WenQuanYi Micro Hei'; font-size:10pt; font-weight:400; font-style:normal;">
+<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:'WenQuanYi Micro Hei';"><br /></p></body></html>
+
+
+
+
Ignore Next Version
-
+
Cancel
-
+
About Qt
-
+
Use Darkmode Theme
-
+
Page
-
+
Item(s)
-
+
Port numbers cannot be the same
-
+
Open v2ray assets folder
-
+
Open v2ray core file
-
-
+
+
Enable tProxy Support
-
+
This will append capabilities to the v2ray executable.
-
+
Qv2ray will copy your v2ray core to this path:
-
+
If anything goes wrong after enabling this, please refer to issue #57 or the link below:
-
+
Qv2ray cannot copy one or both v2ray files from:
-
+
to this path:
-
-
+
+
Failed to setcap onto v2ray executable. You may need to run `setcap` manually.
-
+
tProxy is not supported on macOS and Windows
-
+
Dark Mode
-
+
Please restart Qv2ray to fully apply this feature.
-
+
Select GFWList in base64
-
+
Download GFWList
-
+
Successfully downloaded GFWList.
-
-
+
+
Start with boot
-
-
+
+
Failed to set auto start option.
@@ -2499,23 +2486,23 @@ p, li { white-space: pre-wrap; }
RouteEditor
-
+
Route Editor
-
+
Route Detail Settings
-
+
Source IP Matches
-
+
Status
@@ -2526,7 +2513,7 @@ p, li { white-space: pre-wrap; }
-
+
Port
@@ -2567,7 +2554,7 @@ p, li { white-space: pre-wrap; }
-
+
Enabled
@@ -2582,49 +2569,49 @@ p, li { white-space: pre-wrap; }
-
+
Use Balancers
-
-
+
+
...
-
+
Target IP List
-
+
Target Domain List
-
+
Network
-
+
TCP
-
+
UDP
-
+
Both
-
+
Protocol
@@ -2689,77 +2676,77 @@ p, li { white-space: pre-wrap; }
-
+
General Settings
-
+
GroupBox
-
+
Domain Strategy
-
+
Default Outbound
-
+
Rule Order Settings
-
+
Drag and drop to re-order the rules.
-
+
Rule Settings
-
+
Rule Status
-
+
Rule Tag
-
+
HTTP
-
+
TLS
-
+
BitTorrent
-
+
e.g. 80, 443, 8000-8080
-
+
Balancers
-
+
Users List