This commit is contained in:
Leroy.H.Y 2020-01-14 12:49:39 +08:00
parent 8b0ecf00cf
commit 1d2f6f91c1
62 changed files with 185 additions and 212 deletions

View File

@ -1 +1 @@
2760 2766

View File

@ -145,8 +145,8 @@ message("|-------------------------------------------------|")
message(" ") message(" ")
RC_ICONS += ./icons/qv2ray.ico RC_ICONS += ./assets/icons/qv2ray.ico
ICON = ./icons/qv2ray.icns ICON = ./assets/icons/qv2ray.icns
# ------------------------------------------ Begin checking gRPC and protobuf headers. # ------------------------------------------ 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) { !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 SOURCES += src/ui/NetSpeedBar/QvNetSpeedBar_linux.cpp
message(" --> Generating desktop dependency.") message(" --> Generating desktop dependency.")
desktop.files += ./icons/qv2ray.desktop desktop.files += ./assets/icons/qv2ray.desktop
desktop.path = /usr/share/applications/ desktop.path = /usr/share/applications/
message(" --> Generating icons dependency.") message(" --> Generating icons dependency.")
icon.files += ./icons/qv2ray.png icon.files += ./assets/icons/qv2ray.png
icon.path = /usr/share/icons/hicolor/256x256/apps/ icon.path = /usr/share/icons/hicolor/256x256/apps/
target.path = /usr/local/bin/ target.path = /usr/local/bin/
@ -269,7 +269,7 @@ build_flatpak {
# For Packaging # For Packaging
message("Configuring for packaging platform") message("Configuring for packaging platform")
message(" --> Generating metainfo dependency.") message(" --> Generating metainfo dependency.")
appdataXml.files += ./icons/qv2ray.metainfo.xml appdataXml.files += ./assets/qv2ray.metainfo.xml
appdataXml.path = /app/share/metainfo/ appdataXml.path = /app/share/metainfo/
LIBS += -L/app/lib LIBS += -L/app/lib
INCLUDEPATH += /app/include/ INCLUDEPATH += /app/include/

22
assets/credit.html Normal file
View File

@ -0,0 +1,22 @@
<!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 &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'; 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>

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 804 B

After

Width:  |  Height:  |  Size: 804 B

View File

Before

Width:  |  Height:  |  Size: 507 B

After

Width:  |  Height:  |  Size: 507 B

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 790 B

After

Width:  |  Height:  |  Size: 790 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 820 B

After

Width:  |  Height:  |  Size: 820 B

View File

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 512 B

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 927 B

After

Width:  |  Height:  |  Size: 927 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 818 B

After

Width:  |  Height:  |  Size: 818 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,27 +1,28 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>icons/qv2ray.icns</file> <file>assets/icons/ui_dark/add.png</file>
<file>icons/qv2ray.png</file> <file>assets/icons/ui_dark/delete.png</file>
<file>icons/qv2ray.ico</file> <file>assets/icons/ui_dark/duplicate.png</file>
<file>icons/ui_dark/add.png</file> <file>assets/icons/ui_dark/edit.png</file>
<file>icons/ui_dark/delete.png</file> <file>assets/icons/ui_dark/import.png</file>
<file>icons/ui_dark/duplicate.png</file> <file>assets/icons/ui_dark/json.png</file>
<file>icons/ui_dark/edit.png</file> <file>assets/icons/ui_dark/netspeed_arrow.png</file>
<file>icons/ui_dark/import.png</file> <file>assets/icons/ui_dark/ping_gauge.png</file>
<file>icons/ui_dark/json.png</file> <file>assets/icons/ui_dark/share.png</file>
<file>icons/ui_dark/netspeed_arrow.png</file> <file>assets/icons/ui_dark/tray.png</file>
<file>icons/ui_dark/ping_gauge.png</file> <file>assets/icons/ui_light/add.png</file>
<file>icons/ui_dark/share.png</file> <file>assets/icons/ui_light/delete.png</file>
<file>icons/ui_light/add.png</file> <file>assets/icons/ui_light/duplicate.png</file>
<file>icons/ui_light/delete.png</file> <file>assets/icons/ui_light/edit.png</file>
<file>icons/ui_light/duplicate.png</file> <file>assets/icons/ui_light/import.png</file>
<file>icons/ui_light/edit.png</file> <file>assets/icons/ui_light/json.png</file>
<file>icons/ui_light/import.png</file> <file>assets/icons/ui_light/netspeed_arrow.png</file>
<file>icons/ui_light/json.png</file> <file>assets/icons/ui_light/ping_gauge.png</file>
<file>icons/ui_light/netspeed_arrow.png</file> <file>assets/icons/ui_light/share.png</file>
<file>icons/ui_light/ping_gauge.png</file> <file>assets/icons/ui_light/tray.png</file>
<file>icons/ui_light/share.png</file> <file>assets/icons/qv2ray.icns</file>
<file>icons/ui_light/tray.png</file> <file>assets/icons/qv2ray.ico</file>
<file>icons/ui_dark/tray.png</file> <file>assets/icons/qv2ray.png</file>
<file>assets/credit.html</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -66,7 +66,7 @@ const int QV2RAY_CONFIG_VERSION = 6;
#define BLACK(obj) \ #define BLACK(obj) \
obj->setPalette(this->palette()); 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 QICON_R(file) QIcon(QV2RAY_UI_RESOURCES_ROOT + file)
#define QSTRN(num) QString::number(num) #define QSTRN(num) QString::number(num)

View File

@ -26,7 +26,7 @@
<string/> <string/>
</property> </property>
<property name="pixmap"> <property name="pixmap">
<pixmap resource="../../resources.qrc">:/icons/qv2ray.png</pixmap> <pixmap resource="../../resources.qrc">:/assets/icons/qv2ray.ico</pixmap>
</property> </property>
<property name="scaledContents"> <property name="scaledContents">
<bool>false</bool> <bool>false</bool>

View File

@ -356,11 +356,7 @@
<item row="1" column="3"> <item row="1" column="3">
<widget class="QToolButton" name="httpRemoveUserBtn"> <widget class="QToolButton" name="httpRemoveUserBtn">
<property name="text"> <property name="text">
<string>...</string> <string>-</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -377,11 +373,7 @@
<item row="3" column="3"> <item row="3" column="3">
<widget class="QToolButton" name="httpAddUserBtn"> <widget class="QToolButton" name="httpAddUserBtn">
<property name="text"> <property name="text">
<string>...</string> <string>+</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -504,11 +496,7 @@
<item row="1" column="3"> <item row="1" column="3">
<widget class="QToolButton" name="socksRemoveUserBtn"> <widget class="QToolButton" name="socksRemoveUserBtn">
<property name="text"> <property name="text">
<string>...</string> <string>-</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -525,11 +513,7 @@
<item row="3" column="3"> <item row="3" column="3">
<widget class="QToolButton" name="socksAddUserBtn"> <widget class="QToolButton" name="socksAddUserBtn">
<property name="text"> <property name="text">
<string>...</string> <string>+</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -94,8 +94,8 @@ MainWindow::MainWindow(QWidget *parent):
requestHelper = new QvHttpRequestHelper(); requestHelper = new QvHttpRequestHelper();
connect(tcpingModel, &QvTCPingModel::PingFinished, this, &MainWindow::onPingFinished); connect(tcpingModel, &QvTCPingModel::PingFinished, this, &MainWindow::onPingFinished);
// //
this->setWindowIcon(QIcon(":/icons/qv2ray.png")); this->setWindowIcon(QIcon(":/assets/icons/qv2ray.png"));
hTray->setIcon(QIcon(currentConfig.uiConfig.useDarkTrayIcon ? ":/icons/ui_dark/tray.png" : ":/icons/ui_light/tray.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")); importConfigButton->setIcon(QICON_R("import.png"));
duplicateBtn->setIcon(QICON_R("duplicate.png")); duplicateBtn->setIcon(QICON_R("duplicate.png"));
removeConfigButton->setIcon(QICON_R("delete.png")); removeConfigButton->setIcon(QICON_R("delete.png"));

View File

@ -20,6 +20,7 @@ PreferencesWindow::PreferencesWindow(QWidget *parent) : QDialog(parent),
CurrentConfig() CurrentConfig()
{ {
setupUi(this); setupUi(this);
textBrowser->setHtml(StringFromFile(new QFile(":/assets/credit.html")));
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
// We add locales // We add locales
languageComboBox->clear(); languageComboBox->clear();

View File

@ -42,7 +42,7 @@
<enum>QTabWidget::Rounded</enum> <enum>QTabWidget::Rounded</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
@ -1470,7 +1470,7 @@
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">image: url(:/icons/qv2ray.ico);</string> <string notr="true">image: url(:/assets/icons/qv2ray.ico);</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -1633,7 +1633,7 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QTextEdit" name="textEdit"> <widget class="QTextBrowser" name="textBrowser">
<property name="lineWrapMode"> <property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum> <enum>QTextEdit::NoWrap</enum>
</property> </property>
@ -1645,24 +1645,7 @@
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'WenQuanYi Micro Hei'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'WenQuanYi Micro Hei'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; font-weight:600; color:#d68952;&quot;&gt;This program comes with ABSOLUTELY NO WARRANTY.&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;-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';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; font-weight:600; color:#d68952;&quot;&gt;This is free software, and you are welcome to redistribute it under certain conditions.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (C) 2020 Leroy.H.Y (@lhy0403): Qv2ray Current Developer&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs &amp;amp; gRPC implementation&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (C) 2019 SOneWinstone (@SoneWinstone): Hv2ray/Qv2ray HTTP Request Helper&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Qv2ray ArtWork designs done by ArielAxionL (@axionl)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;TheBadGateway (@thebadgateway): Qv2ray Russian Translations&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Riko (@rikakomoe): Qv2ray patch 8a8c1a/PR115&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-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;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; font-weight:600; color:#d68952;&quot;&gt;Libraries that have been used in Qv2ray are listed below (Sorted by date added):&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2020 dridk (@dridk): X2Struct (Apache)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2011 SCHUTZ Sacha (@dridk): QJsonModel (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2020 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2020 Itay Grudev (@itay-grudev): SingleApplication (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2020 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MonoSpace'; color:#d68952;&quot;&gt;Copyright (c) 2019 TheWanderingCoel (@TheWanderingCoel): ShadowClash (launchatlogin) (GPLv3)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -261,13 +261,16 @@
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QToolBox" name="toolBox"> <widget class="QToolBox" name="toolBox">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_2"> <widget class="QWidget" name="page_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>359</width> <width>359</width>
<height>529</height> <height>535</height>
</rect> </rect>
</property> </property>
<attribute name="label"> <attribute name="label">
@ -362,7 +365,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>345</width> <width>345</width>
<height>618</height> <height>607</height>
</rect> </rect>
</property> </property>
<attribute name="label"> <attribute name="label">
@ -525,10 +528,6 @@
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
<property name="icon">
<iconset>
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
@ -549,10 +548,6 @@
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
<property name="icon">
<iconset>
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>

View File

@ -380,8 +380,8 @@
<location filename="../src/ui/w_InboundEditor.ui" line="267"/> <location filename="../src/ui/w_InboundEditor.ui" line="267"/>
<location filename="../src/ui/w_InboundEditor.ui" line="274"/> <location filename="../src/ui/w_InboundEditor.ui" line="274"/>
<location filename="../src/ui/w_InboundEditor.ui" line="335"/> <location filename="../src/ui/w_InboundEditor.ui" line="335"/>
<location filename="../src/ui/w_InboundEditor.ui" line="486"/> <location filename="../src/ui/w_InboundEditor.ui" line="478"/>
<location filename="../src/ui/w_InboundEditor.ui" line="695"/> <location filename="../src/ui/w_InboundEditor.ui" line="679"/>
<source>Enabled</source> <source>Enabled</source>
<translation></translation> <translation></translation>
</message> </message>
@ -392,7 +392,7 @@
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="312"/> <location filename="../src/ui/w_InboundEditor.ui" line="312"/>
<location filename="../src/ui/w_InboundEditor.ui" line="652"/> <location filename="../src/ui/w_InboundEditor.ui" line="636"/>
<source>Timeout</source> <source>Timeout</source>
<translation></translation> <translation></translation>
</message> </message>
@ -403,131 +403,135 @@
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="342"/> <location filename="../src/ui/w_InboundEditor.ui" line="342"/>
<location filename="../src/ui/w_InboundEditor.ui" line="476"/> <location filename="../src/ui/w_InboundEditor.ui" line="468"/>
<location filename="../src/ui/w_InboundEditor.ui" line="672"/> <location filename="../src/ui/w_InboundEditor.ui" line="656"/>
<location filename="../src/ui/w_InboundEditor.ui" line="759"/> <location filename="../src/ui/w_InboundEditor.ui" line="743"/>
<source>User Level</source> <source>User Level</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="359"/> <location filename="../src/ui/w_InboundEditor.ui" line="359"/>
<location filename="../src/ui/w_InboundEditor.ui" line="380"/> <location filename="../src/ui/w_InboundEditor.ui" line="499"/>
<location filename="../src/ui/w_InboundEditor.ui" line="507"/> <source>-</source>
<location filename="../src/ui/w_InboundEditor.ui" line="528"/> <translation type="unfinished"></translation>
<source>...</source>
<translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="373"/> <location filename="../src/ui/w_InboundEditor.ui" line="369"/>
<location filename="../src/ui/w_InboundEditor.ui" line="521"/> <location filename="../src/ui/w_InboundEditor.ui" line="509"/>
<source>Password</source> <source>Password</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="391"/> <location filename="../src/ui/w_InboundEditor.ui" line="376"/>
<location filename="../src/ui/w_InboundEditor.ui" line="539"/> <location filename="../src/ui/w_InboundEditor.ui" line="516"/>
<source>+</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/w_InboundEditor.ui" line="383"/>
<location filename="../src/ui/w_InboundEditor.ui" line="523"/>
<source>Add</source> <source>Add</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="401"/> <location filename="../src/ui/w_InboundEditor.ui" line="393"/>
<location filename="../src/ui/w_InboundEditor.ui" line="549"/> <location filename="../src/ui/w_InboundEditor.ui" line="533"/>
<source>Username</source> <source>Username</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="408"/> <location filename="../src/ui/w_InboundEditor.ui" line="400"/>
<location filename="../src/ui/w_InboundEditor.ui" line="556"/> <location filename="../src/ui/w_InboundEditor.ui" line="540"/>
<source>Accounts</source> <source>Accounts</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="424"/> <location filename="../src/ui/w_InboundEditor.ui" line="416"/>
<source>SOCKS Inbound Settings</source> <source>SOCKS Inbound Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="432"/> <location filename="../src/ui/w_InboundEditor.ui" line="424"/>
<source>Auth</source> <source>Auth</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="456"/> <location filename="../src/ui/w_InboundEditor.ui" line="448"/>
<source>Enable UDP</source> <source>Enable UDP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="466"/> <location filename="../src/ui/w_InboundEditor.ui" line="458"/>
<source>Local UDP IP</source> <source>Local UDP IP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="493"/> <location filename="../src/ui/w_InboundEditor.ui" line="485"/>
<source>127.0.0.1</source> <source>127.0.0.1</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="572"/> <location filename="../src/ui/w_InboundEditor.ui" line="556"/>
<source>Dokodemo-Door Inbound Settings</source> <source>Dokodemo-Door Inbound Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="578"/> <location filename="../src/ui/w_InboundEditor.ui" line="562"/>
<source>IP Address</source> <source>IP Address</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="588"/> <location filename="../src/ui/w_InboundEditor.ui" line="572"/>
<source>Not necessary when setting &quot;Follow Redirect&quot;</source> <source>Not necessary when setting &quot;Follow Redirect&quot;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="595"/> <location filename="../src/ui/w_InboundEditor.ui" line="579"/>
<source>Port</source> <source>Port</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="618"/> <location filename="../src/ui/w_InboundEditor.ui" line="602"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="630"/> <location filename="../src/ui/w_InboundEditor.ui" line="614"/>
<source>TCP</source> <source>TCP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="643"/> <location filename="../src/ui/w_InboundEditor.ui" line="627"/>
<source>UDP</source> <source>UDP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="662"/> <location filename="../src/ui/w_InboundEditor.ui" line="646"/>
<source>Follow Redirect</source> <source>Follow Redirect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="705"/> <location filename="../src/ui/w_InboundEditor.ui" line="689"/>
<source>If you want to use tProxy, please go to Preference Window to enable this feature.</source> <source>If you want to use tProxy, please go to Preference Window to enable this feature.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="719"/> <location filename="../src/ui/w_InboundEditor.ui" line="703"/>
<source>MTProto Inbound Settings</source> <source>MTProto Inbound Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="725"/> <location filename="../src/ui/w_InboundEditor.ui" line="709"/>
<source>EMail Address</source> <source>EMail Address</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="742"/> <location filename="../src/ui/w_InboundEditor.ui" line="726"/>
<source>Secret</source> <source>Secret</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_InboundEditor.ui" line="752"/> <location filename="../src/ui/w_InboundEditor.ui" line="736"/>
<source>SECRET</source> <source>SECRET</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1431,10 +1435,10 @@
<name>PreferencesWindow</name> <name>PreferencesWindow</name>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="23"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="23"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="181"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="182"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="431"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="432"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="442"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="443"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="453"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="454"/>
<source>Preferences</source> <source>Preferences</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1855,13 +1859,13 @@
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1286"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1286"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="678"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="679"/>
<source>Bold</source> <source>Bold</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1293"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1293"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="679"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="680"/>
<source>Italic</source> <source>Italic</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1930,32 +1934,6 @@
<source>This feature is not stable enough and no documentation is provided, please use it as your own risk!</source> <source>This feature is not stable enough and no documentation is provided, please use it as your own risk!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1644"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;WenQuanYi Micro Hei&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; font-weight:600; color:#d68952;&quot;&gt;This program comes with ABSOLUTELY NO WARRANTY.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; font-weight:600; color:#d68952;&quot;&gt;This is free software, and you are welcome to redistribute it under certain conditions.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (C) 2020 Leroy.H.Y (@lhy0403): Qv2ray Current Developer&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (C) 2019 Hork (@aliyuchang33): Hv2ray Initial Designs &amp;amp; gRPC implementation&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (C) 2019 SOneWinstone (@SoneWinstone): Hv2ray/Qv2ray HTTP Request Helper&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Qv2ray ArtWork designs done by ArielAxionL (@axionl)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;TheBadGateway (@thebadgateway): Qv2ray Russian Translations&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Riko (@rikakomoe): Qv2ray patch 8a8c1a/PR115&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-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:&apos;Noto Sans&apos;; color:#d68952;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; font-weight:600; color:#d68952;&quot;&gt;Libraries that have been used in Qv2ray are listed below (Sorted by date added):&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2020 dridk (@dridk): X2Struct (Apache)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2011 SCHUTZ Sacha (@dridk): QJsonModel (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2020 Nikolaos Ftylitakis (@ftylitak): QZXing (Apache2)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2016 Singein (@Singein): ScreenShot (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2016 Nikhil Marathe (@nikhilm): QHttpServer (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2020 Itay Grudev (@itay-grudev): SingleApplication (MIT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2020 paceholder (@paceholder): nodeeditor (QNodeEditor modified by lhy0403) (BSD-3-Clause)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MonoSpace&apos;; color:#d68952;&quot;&gt;Copyright (c) 2019 TheWanderingCoel (@TheWanderingCoel): ShadowClash (launchatlogin) (GPLv3)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1453"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1453"/>
<source>About</source> <source>About</source>
@ -1997,126 +1975,135 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1674"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1644"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;WenQuanYi Micro Hei&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-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:&apos;WenQuanYi Micro Hei&apos;;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1657"/>
<source>Ignore Next Version</source> <source>Ignore Next Version</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1681"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1664"/>
<source>Cancel</source> <source>Cancel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.ui" line="1722"/> <location filename="../src/ui/w_PreferencesWindow.ui" line="1705"/>
<source>About Qt</source> <source>About Qt</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="48"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="49"/>
<source>Use Darkmode Theme</source> <source>Use Darkmode Theme</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="120"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="121"/>
<source>Page</source> <source>Page</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="120"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="121"/>
<source>Item(s)</source> <source>Item(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="181"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="182"/>
<source>Port numbers cannot be the same</source> <source>Port numbers cannot be the same</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="301"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="302"/>
<source>Open v2ray assets folder</source> <source>Open v2ray assets folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="311"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="312"/>
<source>Open v2ray core file</source> <source>Open v2ray core file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="370"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="371"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="415"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="416"/>
<source>Enable tProxy Support</source> <source>Enable tProxy Support</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="371"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="372"/>
<source>This will append capabilities to the v2ray executable.</source> <source>This will append capabilities to the v2ray executable.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="372"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="373"/>
<source>Qv2ray will copy your v2ray core to this path: </source> <source>Qv2ray will copy your v2ray core to this path: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="373"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="374"/>
<source>If anything goes wrong after enabling this, please refer to issue #57 or the link below:</source> <source>If anything goes wrong after enabling this, please refer to issue #57 or the link below:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="416"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="417"/>
<source>Qv2ray cannot copy one or both v2ray files from: </source> <source>Qv2ray cannot copy one or both v2ray files from: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="418"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="419"/>
<source>to this path: </source> <source>to this path: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="431"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="432"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="442"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="443"/>
<source>Failed to setcap onto v2ray executable. You may need to run `setcap` manually.</source> <source>Failed to setcap onto v2ray executable. You may need to run `setcap` manually.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="453"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="454"/>
<source>tProxy is not supported on macOS and Windows</source> <source>tProxy is not supported on macOS and Windows</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="756"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="757"/>
<source>Dark Mode</source> <source>Dark Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="756"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="757"/>
<source>Please restart Qv2ray to fully apply this feature.</source> <source>Please restart Qv2ray to fully apply this feature.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="827"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="828"/>
<source>Select GFWList in base64</source> <source>Select GFWList in base64</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="833"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="834"/>
<source>Download GFWList</source> <source>Download GFWList</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="833"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="834"/>
<source>Successfully downloaded GFWList.</source> <source>Successfully downloaded GFWList.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="909"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="910"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="921"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="922"/>
<source>Start with boot</source> <source>Start with boot</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="909"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="910"/>
<location filename="../src/ui/w_PreferencesWindow.cpp" line="921"/> <location filename="../src/ui/w_PreferencesWindow.cpp" line="922"/>
<source>Failed to set auto start option.</source> <source>Failed to set auto start option.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2499,23 +2486,23 @@ p, li { white-space: pre-wrap; }
<name>RouteEditor</name> <name>RouteEditor</name>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="20"/> <location filename="../src/ui/w_RoutesEditor.ui" line="20"/>
<location filename="../src/ui/w_RoutesEditor.ui" line="412"/> <location filename="../src/ui/w_RoutesEditor.ui" line="415"/>
<location filename="../src/ui/w_RoutesEditor.cpp" line="554"/> <location filename="../src/ui/w_RoutesEditor.cpp" line="554"/>
<source>Route Editor</source> <source>Route Editor</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="570"/> <location filename="../src/ui/w_RoutesEditor.ui" line="565"/>
<source>Route Detail Settings</source> <source>Route Detail Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="583"/> <location filename="../src/ui/w_RoutesEditor.ui" line="578"/>
<source>Source IP Matches</source> <source>Source IP Matches</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="631"/> <location filename="../src/ui/w_RoutesEditor.ui" line="626"/>
<source>Status</source> <source>Status</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2526,7 +2513,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="160"/> <location filename="../src/ui/w_RoutesEditor.ui" line="160"/>
<location filename="../src/ui/w_RoutesEditor.ui" line="485"/> <location filename="../src/ui/w_RoutesEditor.ui" line="488"/>
<source>Port</source> <source>Port</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2567,7 +2554,7 @@ p, li { white-space: pre-wrap; }
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="390"/> <location filename="../src/ui/w_RoutesEditor.ui" line="393"/>
<source>Enabled</source> <source>Enabled</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2582,49 +2569,49 @@ p, li { white-space: pre-wrap; }
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="506"/> <location filename="../src/ui/w_RoutesEditor.ui" line="509"/>
<source>Use Balancers</source> <source>Use Balancers</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="526"/> <location filename="../src/ui/w_RoutesEditor.ui" line="529"/>
<location filename="../src/ui/w_RoutesEditor.ui" line="550"/> <location filename="../src/ui/w_RoutesEditor.ui" line="549"/>
<source>...</source> <source>...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="603"/> <location filename="../src/ui/w_RoutesEditor.ui" line="598"/>
<source>Target IP List</source> <source>Target IP List</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="596"/> <location filename="../src/ui/w_RoutesEditor.ui" line="591"/>
<source>Target Domain List</source> <source>Target Domain List</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="421"/> <location filename="../src/ui/w_RoutesEditor.ui" line="424"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="430"/> <location filename="../src/ui/w_RoutesEditor.ui" line="433"/>
<source>TCP</source> <source>TCP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="437"/> <location filename="../src/ui/w_RoutesEditor.ui" line="440"/>
<source>UDP</source> <source>UDP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="444"/> <location filename="../src/ui/w_RoutesEditor.ui" line="447"/>
<source>Both</source> <source>Both</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="118"/> <location filename="../src/ui/w_RoutesEditor.ui" line="118"/>
<location filename="../src/ui/w_RoutesEditor.ui" line="453"/> <location filename="../src/ui/w_RoutesEditor.ui" line="456"/>
<source>Protocol</source> <source>Protocol</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2689,77 +2676,77 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="274"/> <location filename="../src/ui/w_RoutesEditor.ui" line="277"/>
<source>General Settings</source> <source>General Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="280"/> <location filename="../src/ui/w_RoutesEditor.ui" line="283"/>
<source>GroupBox</source> <source>GroupBox</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="286"/> <location filename="../src/ui/w_RoutesEditor.ui" line="289"/>
<source>Domain Strategy</source> <source>Domain Strategy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="312"/> <location filename="../src/ui/w_RoutesEditor.ui" line="315"/>
<source>Default Outbound</source> <source>Default Outbound</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="325"/> <location filename="../src/ui/w_RoutesEditor.ui" line="328"/>
<source>Rule Order Settings</source> <source>Rule Order Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="331"/> <location filename="../src/ui/w_RoutesEditor.ui" line="334"/>
<source>Drag and drop to re-order the rules.</source> <source>Drag and drop to re-order the rules.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="369"/> <location filename="../src/ui/w_RoutesEditor.ui" line="372"/>
<source>Rule Settings</source> <source>Rule Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="380"/> <location filename="../src/ui/w_RoutesEditor.ui" line="383"/>
<source>Rule Status</source> <source>Rule Status</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="397"/> <location filename="../src/ui/w_RoutesEditor.ui" line="400"/>
<source>Rule Tag</source> <source>Rule Tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="462"/> <location filename="../src/ui/w_RoutesEditor.ui" line="465"/>
<source>HTTP</source> <source>HTTP</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="469"/> <location filename="../src/ui/w_RoutesEditor.ui" line="472"/>
<source>TLS</source> <source>TLS</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="476"/> <location filename="../src/ui/w_RoutesEditor.ui" line="479"/>
<source>BitTorrent</source> <source>BitTorrent</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="492"/> <location filename="../src/ui/w_RoutesEditor.ui" line="495"/>
<source>e.g. 80, 443, 8000-8080</source> <source>e.g. 80, 443, 8000-8080</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="499"/> <location filename="../src/ui/w_RoutesEditor.ui" line="502"/>
<source>Balancers</source> <source>Balancers</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/ui/w_RoutesEditor.ui" line="576"/> <location filename="../src/ui/w_RoutesEditor.ui" line="571"/>
<source>Users List</source> <source>Users List</source>
<translation></translation> <translation></translation>
</message> </message>