[CHANGE] Changed cpp/hpp naming style and added Qr Code library

Signed-off-by: Leroy.H.Y <me@lhy0403.top>

Former-commit-id: 867d107464
This commit is contained in:
Leroy.H.Y 2019-11-10 00:24:14 +08:00
parent 408479f8c7
commit cd24390272
50 changed files with 712 additions and 562 deletions

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "3rdparty/x2struct"] [submodule "3rdparty/x2struct"]
path = 3rdparty/x2struct path = 3rdparty/x2struct
url = https://github.com/xyz347/x2struct url = https://github.com/xyz347/x2struct
[submodule "3rdparty/qzxing_noTests"]
path = 3rdparty/qzxing_noTests
url = https://github.com/lhy0403/qzxing_noTests

1
3rdparty/qzxing_noTests vendored Submodule

@ -0,0 +1 @@
Subproject commit 812fd390ef9d6167555b364120773c9a9fe91023

View File

@ -1 +1 @@
255 385

View File

@ -6,6 +6,8 @@
QT += core gui widgets network charts QT += core gui widgets network charts
include(3rdparty/qzxing_noTests/QZXing.pri)
TARGET = qv2ray TARGET = qv2ray
TEMPLATE = app TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS DEFINES += QT_DEPRECATED_WARNINGS
@ -52,29 +54,29 @@ INCLUDEPATH += \
libs/gen/ libs/gen/
HEADERS += \ HEADERS += \
src/Qv2rayBase.h \ src/Qv2rayBase.hpp \
src/QvCoreConfigObjects.h \ src/QvCoreConfigObjects.hpp \
src/QvCoreConfigOperations.h \ src/QvCoreConfigOperations.hpp \
src/QvCoreInteractions.h \ src/QvCoreInteractions.hpp \
src/QvUtils.h \ src/QvUtils.hpp \
src/ui/w_InboundEditor.h \ src/ui/w_ImportConfig.hpp \
src/ui/w_OutboundEditor.h \ src/ui/w_InboundEditor.hpp \
src/ui/w_RoutesEditor.h \ src/ui/w_JsonEditor.hpp \
src/ui/w_SubscriptionEditor.h \ src/ui/w_MainWindow.hpp \
src/ui/w_OutboundEditor.hpp \
src/ui/w_PrefrencesWindow.hpp \
src/ui/w_RoutesEditor.hpp \
src/ui/w_SubscriptionEditor.hpp \
src/utils/QJsonModel.hpp \
src/utils/QJsonObjectInsertMacros.h \ src/utils/QJsonObjectInsertMacros.h \
src/utils/QObjectMessageProxy.h \ src/utils/QObjectMessageProxy.hpp \
src/utils/QPingModel.h \ src/utils/QPingModel.hpp \
src/utils/QvHTTPRequestHelper.h \ src/utils/QvHTTPRequestHelper.hpp \
src/utils/QvNetSpeedPlugin.h \ src/utils/QvNetSpeedPlugin.hpp \
src/utils/QvRunguard.h \ src/utils/QvRunguard.hpp \
src/utils/QvTinyLog.h \
src/utils/QJsonModel.h \
src/ui/w_JsonEditor.h \
src/ui/w_ImportConfig.h \
src/ui/w_MainWindow.h \
src/ui/w_PrefrencesWindow.h \
libs/gen/v2ray_api_commands.pb.h \ libs/gen/v2ray_api_commands.pb.h \
libs/gen/v2ray_api_commands.grpc.pb.h libs/gen/v2ray_api_commands.grpc.pb.h \
src/utils/QvTinyLog.hpp
FORMS += \ FORMS += \
src/ui/w_ImportConfig.ui \ src/ui/w_ImportConfig.ui \
@ -137,6 +139,7 @@ TRANSLATIONS += translations/en-US.ts
message(" ") message(" ")
QMAKE_CXXFLAGS += "-Wno-missing-field-initializers" "-Wno-unused-parameter" "-Wno-unused-variable" QMAKE_CXXFLAGS += "-Wno-missing-field-initializers" "-Wno-unused-parameter" "-Wno-unused-variable"
win32 { win32 {
message("Configuring for win32 environment") message("Configuring for win32 environment")
message(" --> Setting up target descriptions") message(" --> Setting up target descriptions")

View File

@ -1,10 +1,10 @@
#ifndef QV2RAYBASE_H #ifndef QV2RAYBASE_H
#define QV2RAYBASE_H #define QV2RAYBASE_H
#include <QtCore> #include <QtCore>
#include "QvTinyLog.h" #include "QvTinyLog.hpp"
#include "QvCoreConfigObjects.h" #include "QvCoreConfigObjects.hpp"
#include "QvNetSpeedPlugin.h" #include "QvNetSpeedPlugin.hpp"
#include "QObjectMessageProxy.h" #include "QObjectMessageProxy.hpp"
#define QV2RAY_CONFIG_VERSION 9 #define QV2RAY_CONFIG_VERSION 9

View File

@ -3,7 +3,7 @@
// from old to newer versions of Qv2ray. // from old to newer versions of Qv2ray.
// //
#include "QvUtils.h" #include "QvUtils.hpp"
#define UPDATELOG(msg) LOG(MODULE_CONFIG, " [" + to_string(fromVersion) + "-" + to_string(fromVersion + 1) + "] --> " msg) #define UPDATELOG(msg) LOG(MODULE_CONFIG, " [" + to_string(fromVersion) + "-" + to_string(fromVersion + 1) + "] --> " msg)

View File

@ -1,7 +1,7 @@
#ifndef CONFIGGENERATION_H #ifndef CONFIGGENERATION_H
#define CONFIGGENERATION_H #define CONFIGGENERATION_H
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QJsonObjectInsertMacros.h" #include "QJsonObjectInsertMacros.h"
#define OUTBOUND_TAG_DIRECT "outBound_DIRECT" #define OUTBOUND_TAG_DIRECT "outBound_DIRECT"

View File

@ -1,4 +1,4 @@
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
namespace Qv2ray namespace Qv2ray
{ {
namespace ConfigOperations namespace ConfigOperations

View File

@ -1,4 +1,4 @@
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
namespace Qv2ray namespace Qv2ray
{ {

View File

@ -1,5 +1,5 @@
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
#include "QvUtils.h" #include "QvUtils.hpp"
namespace Qv2ray namespace Qv2ray
{ {

View File

@ -1,11 +1,11 @@
#include <QObject> #include <QObject>
#include <QWidget> #include <QWidget>
#include <QDesktopServices> #include <QDesktopServices>
#include "QvCoreInteractions.h" #include "QvCoreInteractions.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
#include "QvTinyLog.h" #include "QvTinyLog.hpp"
#include "w_MainWindow.h" #include "w_MainWindow.hpp"
namespace Qv2ray namespace Qv2ray
{ {

View File

@ -1,10 +1,10 @@
#ifndef VINTERACT_H #ifndef VINTERACT_H
#define VINTERACT_H #define VINTERACT_H
#include <QProcess> #include <QProcess>
#include <QString> #include <QString>
#include "Qv2rayBase.h" #include "Qv2rayBase.hpp"
#include <grpc++/grpc++.h> #include <grpc++/grpc++.h>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "v2ray_api_commands.pb.h" #include "v2ray_api_commands.pb.h"
#include "v2ray_api_commands.grpc.pb.h" #include "v2ray_api_commands.grpc.pb.h"

View File

@ -1,4 +1,4 @@
#include "QvUtils.h" #include "QvUtils.hpp"
#include <QTextStream> #include <QTextStream>
namespace Qv2ray namespace Qv2ray

View File

@ -1,7 +1,7 @@
#ifndef UTILS_H #ifndef UTILS_H
#define UTILS_H #define UTILS_H
#include "Qv2rayBase.h" #include "Qv2rayBase.hpp"
#include <QMessageBox> #include <QMessageBox>
#include <QUuid> #include <QUuid>

View File

@ -4,10 +4,10 @@
#include <QStyle> #include <QStyle>
#include <QStyleFactory> #include <QStyleFactory>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "Qv2rayBase.h" #include "Qv2rayBase.hpp"
#include "QvRunguard.h" #include "QvRunguard.hpp"
#include "w_MainWindow.h" #include "w_MainWindow.hpp"
bool verifyConfigAvaliability(QString path, bool checkExistingConfig) bool verifyConfigAvaliability(QString path, bool checkExistingConfig)
{ {
@ -139,7 +139,9 @@ int main(int argc, char *argv[])
LOG("LICENCE", NEWLINE "This program comes with ABSOLUTELY NO WARRANTY." NEWLINE LOG("LICENCE", NEWLINE "This program comes with ABSOLUTELY NO WARRANTY." NEWLINE
"This is free software, and you are welcome to redistribute it" NEWLINE "This is free software, and you are welcome to redistribute it" NEWLINE
"under certain conditions." NEWLINE "under certain conditions." NEWLINE
NEWLINE NEWLINE NEWLINE
"Libraries that are used in Qv2ray and their authors are listed below:" NEWLINE
"QJsonModel: Copyright (c) 2011 SCHUTZ Sacha" NEWLINE
"Qv2ray Current Developer Copyright (C) 2019 Leroy.H.Y (@lhy0403)" NEWLINE "Qv2ray Current Developer Copyright (C) 2019 Leroy.H.Y (@lhy0403)" NEWLINE
"Hv2ray Initial Designs & gRPC implementation Copyright (C) 2019 Hork (@aliyuchang33)" NEWLINE "Hv2ray Initial Designs & gRPC implementation Copyright (C) 2019 Hork (@aliyuchang33)" NEWLINE
"Hv2ray/Qv2ray HTTP Request Helper (partial) Copyright 2019 (C) SOneWinstone (@SoneWinstone)" NEWLINE "Hv2ray/Qv2ray HTTP Request Helper (partial) Copyright 2019 (C) SOneWinstone (@SoneWinstone)" NEWLINE

View File

@ -1,8 +1,8 @@
#include <QThread> #include <QThread>
#include "QvNetSpeedPlugin.h" #include "QvNetSpeedPlugin.hpp"
#include "QvUtils.h" #include "QvUtils.hpp"
#include "w_MainWindow.h" #include "w_MainWindow.hpp"
namespace Qv2ray namespace Qv2ray
{ {
namespace Utils namespace Utils

View File

@ -1,6 +1,6 @@
#ifdef __linux__ #ifdef __linux__
#include "QvNetSpeedPlugin.h" #include "QvNetSpeedPlugin.hpp"
#include "QvUtils.h" #include "QvUtils.hpp"
#include <QLocalSocket> #include <QLocalSocket>
#include <QLocalServer> #include <QLocalServer>
namespace Qv2ray namespace Qv2ray

View File

@ -5,13 +5,13 @@
#include <QJsonDocument> #include <QJsonDocument>
#include <QJsonObject> #include <QJsonObject>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvCoreInteractions.h" #include "QvCoreInteractions.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
#include "w_OutboundEditor.h" #include "w_OutboundEditor.hpp"
#include "w_ImportConfig.h" #include "w_ImportConfig.hpp"
#include "QZXing"
ImportConfigWindow::ImportConfigWindow(QWidget *parent) ImportConfigWindow::ImportConfigWindow(QWidget *parent)
: QDialog(parent) : QDialog(parent)

View File

@ -16,6 +16,7 @@ class ImportConfigWindow : public QDialog
public: public:
explicit ImportConfigWindow(QWidget *parent = nullptr); explicit ImportConfigWindow(QWidget *parent = nullptr);
~ImportConfigWindow(); ~ImportConfigWindow();
void OpenImporter();
signals: signals:
void s_reload_config(bool need_restart); void s_reload_config(bool need_restart);
private slots: private slots:

View File

@ -1,7 +1,7 @@
#include "w_InboundEditor.h" #include "w_InboundEditor.hpp"
#include "ui_w_InboundEditor.h" #include "ui_w_InboundEditor.h"
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
static bool isLoading = false; static bool isLoading = false;
#define PREPARE_RETURN if(isLoading) return; #define PREPARE_RETURN if(isLoading) return;

View File

@ -1,7 +1,7 @@
#include "w_JsonEditor.h" #include "w_JsonEditor.hpp"
#include "ui_w_JsonEditor.h" #include "ui_w_JsonEditor.h"
#include "QvUtils.h" #include "QvUtils.hpp"
JsonEditor::JsonEditor(QJsonObject rootObject, QWidget *parent) : JsonEditor::JsonEditor(QJsonObject rootObject, QWidget *parent) :
QDialog(parent), QDialog(parent),

View File

@ -1,9 +1,9 @@
#ifndef W_JSONEDITOR_H #ifndef W_JSONEDITOR_H
#define W_JSONEDITOR_H #define W_JSONEDITOR_H
#include <QDialog> #include <QDialog>
#include <QtCore> #include <QtCore>
#include "QJsonModel.h" #include "QJsonModel.hpp"
namespace Ui namespace Ui
{ {

View File

@ -12,15 +12,15 @@
#include <QVersionNumber> #include <QVersionNumber>
#include <QKeyEvent> #include <QKeyEvent>
#include "w_OutboundEditor.h" #include "w_OutboundEditor.hpp"
#include "w_ImportConfig.h" #include "w_ImportConfig.hpp"
#include "w_MainWindow.h" #include "w_MainWindow.hpp"
#include "w_RoutesEditor.h" #include "w_RoutesEditor.hpp"
#include "w_PrefrencesWindow.h" #include "w_PrefrencesWindow.hpp"
#include "w_SubscriptionEditor.h" #include "w_SubscriptionEditor.hpp"
#include "w_JsonEditor.h" #include "w_JsonEditor.hpp"
#include "QvNetSpeedPlugin.h" #include "QvNetSpeedPlugin.hpp"
#define TRAY_TOOLTIP_PREFIX "Qv2ray " QV2RAY_VERSION_STRING #define TRAY_TOOLTIP_PREFIX "Qv2ray " QV2RAY_VERSION_STRING
@ -222,6 +222,8 @@ void MainWindow::LoadConnections()
if (items.count() > 0) { if (items.count() > 0) {
ui->connectionListWidget->setCurrentItem(items.first()); ui->connectionListWidget->setCurrentItem(items.first());
} }
ShowAndSetConnection(CurrentConnectionName, false, false);
} }
} }
void MainWindow::OnConfigListChanged(bool need_restart) void MainWindow::OnConfigListChanged(bool need_restart)
@ -412,6 +414,8 @@ void MainWindow::ShowAndSetConnection(QString guiConnectionName, bool SetConnect
ui->_portLabel->setText(QSTRING(to_string(Server.port))); ui->_portLabel->setText(QSTRING(to_string(Server.port)));
} }
ui->routeCountLabel->setText(QString::number((connections[guiConnectionName])["routing"].toArray().count()));
// --------- END Show Connection // --------- END Show Connection
// //
// Set Connection // Set Connection
@ -545,10 +549,10 @@ void MainWindow::on_removeConfigButton_clicked()
} }
void MainWindow::on_importConfigButton_clicked() void MainWindow::on_importConfigButton_clicked()
{ {
// TODO
ImportConfigWindow *w = new ImportConfigWindow(this); ImportConfigWindow *w = new ImportConfigWindow(this);
connect(w, &ImportConfigWindow::s_reload_config, this, &MainWindow::OnConfigListChanged); //w->OpenImporter();
w->exec(); OnConfigListChanged(false);
ShowAndSetConnection(CurrentConnectionName, false, false);
} }
void MainWindow::on_addConfigButton_clicked() void MainWindow::on_addConfigButton_clicked()
{ {

View File

@ -6,10 +6,10 @@
#include <QtCharts> #include <QtCharts>
#include <QSystemTrayIcon> #include <QSystemTrayIcon>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvCoreInteractions.h" #include "QvCoreInteractions.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
#include "QvHTTPRequestHelper.h" #include "QvHTTPRequestHelper.hpp"
#include "ui_w_MainWindow.h" #include "ui_w_MainWindow.h"

View File

@ -294,58 +294,58 @@
<item> <item>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Type</string> <string>Config Type</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLabel" name="_OutBoundTypeLabel"> <widget class="QLabel" name="routeCountLabel">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>Address</string> <string>Protocol</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLabel" name="_hostLabel"> <widget class="QLabel" name="_OutBoundTypeLabel">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Port Number</string> <string>Address</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLabel" name="_portLabel"> <widget class="QLabel" name="_hostLabel">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string>Routes Count</string> <string>Port Number</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="QLabel" name="label_7"> <widget class="QLabel" name="_portLabel">
<property name="text"> <property name="text">
<string>TextLabel</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>
@ -357,9 +357,9 @@
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="QLabel" name="label_9"> <widget class="QLabel" name="muxLabel">
<property name="text"> <property name="text">
<string>TextLabel</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -3,9 +3,9 @@
#include <QIntValidator> #include <QIntValidator>
#include <iostream> #include <iostream>
#include "w_OutboundEditor.h" #include "w_OutboundEditor.hpp"
#include "w_MainWindow.h" #include "w_MainWindow.hpp"
#include "w_JsonEditor.h" #include "w_JsonEditor.hpp"
OutboundEditor::OutboundEditor(QWidget *parent) OutboundEditor::OutboundEditor(QWidget *parent)
: QDialog(parent), : QDialog(parent),

View File

@ -1,9 +1,9 @@
#ifndef CONFEDIT_H #ifndef CONFEDIT_H
#define CONFEDIT_H #define CONFEDIT_H
#include <QtCore> #include <QtCore>
#include <QDialog> #include <QDialog>
#include "QvCoreConfigObjects.h" #include "QvCoreConfigObjects.hpp"
#include "ui_w_OutboundEditor.h" #include "ui_w_OutboundEditor.h"
namespace Ui namespace Ui

View File

@ -3,9 +3,9 @@
#include <QStyleFactory> #include <QStyleFactory>
#include <QStyle> #include <QStyle>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvCoreInteractions.h" #include "QvCoreInteractions.hpp"
#include "w_PrefrencesWindow.h" #include "w_PrefrencesWindow.hpp"
#define LOADINGCHECK if(!finishedLoading) return; #define LOADINGCHECK if(!finishedLoading) return;

View File

@ -3,7 +3,7 @@
#include <QDialog> #include <QDialog>
#include <ui_w_PrefrencesWindow.h> #include <ui_w_PrefrencesWindow.h>
#include "Qv2rayBase.h" #include "Qv2rayBase.hpp"
namespace Ui namespace Ui
{ {

View File

@ -45,7 +45,7 @@
<enum>QTabWidget::Rounded</enum> <enum>QTabWidget::Rounded</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>2</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
@ -314,61 +314,61 @@
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Username</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="socksAuthUsernameTxt">
<property name="placeholderText">
<string notr="true">user</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="socksAuthPasswordTxt">
<property name="placeholderText">
<string notr="true">pass</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_14"> <widget class="QLabel" name="label_14">
<property name="text"> <property name="text">
<string>SOCKS UDP</string> <string>SOCKS UDP</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="3" column="1">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Local IP</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="socksUDPCB"> <widget class="QCheckBox" name="socksUDPCB">
<property name="text"> <property name="text">
<string>Enabled</string> <string>Enabled</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="4" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Local IP</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="socksUDPIP"> <widget class="QLineEdit" name="socksUDPIP">
<property name="placeholderText"> <property name="placeholderText">
<string notr="true">127.0.0.1</string> <string notr="true">127.0.0.1</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Username</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="socksAuthUsernameTxt">
<property name="placeholderText">
<string notr="true">user</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="socksAuthPasswordTxt">
<property name="placeholderText">
<string notr="true">pass</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -658,7 +658,7 @@
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="label_52"> <widget class="QLabel" name="label_52">
<property name="text"> <property name="text">
<string>User Name</string> <string>Username</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -1,9 +1,9 @@
#include "w_RoutesEditor.h" #include "w_RoutesEditor.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
#include "ui_w_RoutesEditor.h" #include "ui_w_RoutesEditor.h"
#include "w_OutboundEditor.h" #include "w_OutboundEditor.hpp"
#include "w_JsonEditor.h" #include "w_JsonEditor.hpp"
#include "w_InboundEditor.h" #include "w_InboundEditor.hpp"
#define CurrentRule this->rules[this->currentRuleIndex] #define CurrentRule this->rules[this->currentRuleIndex]
#define STATUS(msg) ui->statusLabel->setText(tr(msg)); #define STATUS(msg) ui->statusLabel->setText(tr(msg));

View File

@ -1,4 +1,4 @@
#ifndef W_QVOUTBOUNDEDITOR_H #ifndef W_QVOUTBOUNDEDITOR_H
#define W_QVOUTBOUNDEDITOR_H #define W_QVOUTBOUNDEDITOR_H
#include <list> #include <list>
@ -6,7 +6,7 @@
#include <QJsonArray> #include <QJsonArray>
#include <QJsonObject> #include <QJsonObject>
#include <QListWidgetItem> #include <QListWidgetItem>
#include "QvUtils.h" #include "QvUtils.hpp"
namespace Ui namespace Ui
{ {

View File

@ -1,8 +1,8 @@
#include "w_SubscriptionEditor.h" #include "w_SubscriptionEditor.hpp"
#include "ui_w_SubscriptionEditor.h" #include "ui_w_SubscriptionEditor.h"
#include "QvHTTPRequestHelper.h" #include "QvHTTPRequestHelper.hpp"
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvCoreConfigOperations.h" #include "QvCoreConfigOperations.hpp"
SubscribeEditor::SubscribeEditor(QWidget *parent) : SubscribeEditor::SubscribeEditor(QWidget *parent) :

View File

@ -1,9 +1,9 @@
#ifndef W_SUBSCRIBEEDITOR_H #ifndef W_SUBSCRIBEEDITOR_H
#define W_SUBSCRIBEEDITOR_H #define W_SUBSCRIBEEDITOR_H
#include <QDialog> #include <QDialog>
#include "QvUtils.h" #include "QvUtils.hpp"
#include "QvHTTPRequestHelper.h" #include "QvHTTPRequestHelper.hpp"
namespace Ui namespace Ui
{ {

View File

@ -37,7 +37,7 @@
<string>A</string> <string>A</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../resources.qrc"> <iconset resource="../../resources.qrc">
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset> <normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
@ -57,7 +57,7 @@
<string>R</string> <string>R</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../resources.qrc"> <iconset resource="../../resources.qrc">
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset> <normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
@ -211,7 +211,7 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../resources.qrc"/> <include location="../../resources.qrc"/>
</resources> </resources>
<connections> <connections>
<connection> <connection>

View File

@ -22,7 +22,7 @@
* SOFTWARE. * SOFTWARE.
*/ */
#include "QJsonModel.h" #include "QJsonModel.hpp"
#include <QFile> #include <QFile>
#include <QDebug> #include <QDebug>
#include <QFont> #include <QFont>

View File

@ -1,4 +1,4 @@
#include "QObjectMessageProxy.h" #include "QObjectMessageProxy.hpp"
namespace Qv2ray namespace Qv2ray
{ {
namespace Utils namespace Utils

View File

@ -1,6 +1,6 @@
#include <QString> #include <QString>
#include <QDebug> #include <QDebug>
#include "QPingModel.h" #include "QPingModel.hpp"
namespace Qv2ray namespace Qv2ray
{ {

View File

@ -1,8 +1,8 @@
#include "QvHTTPRequestHelper.h" #include "QvHTTPRequestHelper.hpp"
#include <QByteArray> #include <QByteArray>
namespace Qv2ray namespace Qv2ray
{ {
QvHttpRequestHelper::QvHttpRequestHelper() QvHttpRequestHelper::QvHttpRequestHelper() : reply()
{ {
} }
@ -16,7 +16,7 @@ namespace Qv2ray
QUrl qUrl = QUrl(url); QUrl qUrl = QUrl(url);
if (!qUrl.isValid()) { if (!qUrl.isValid()) {
qDebug() << "URL is invalid!\n"; LOG(MODULE_NETWORK, "Provided URL is invalid")
return false; return false;
} }
@ -33,12 +33,8 @@ namespace Qv2ray
{ {
this->setUrl(url); this->setUrl(url);
reply = accessManager.get(request); reply = accessManager.get(request);
reply->waitForReadyRead(5000); bool isReadyRead = reply->waitForReadyRead(10000);
return isReadyRead ? reply->readAll() : QByteArray();
if (!reply->isReadable())
return QByteArray();
else
return reply->readAll();
} }
void QvHttpRequestHelper::get(const QString &url) void QvHttpRequestHelper::get(const QString &url)
@ -50,41 +46,41 @@ namespace Qv2ray
connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead); connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead);
} }
void QvHttpRequestHelper::post(const QString &url, const QByteArray &data) //void QvHttpRequestHelper::post(const QString &url, const QByteArray &data)
{ //{
this->setUrl(url); // this->setUrl(url);
request.setRawHeader("Content-Type", "application/json"); // request.setRawHeader("Content-Type", "application/json");
reply = accessManager.post(request, data); // reply = accessManager.post(request, data);
connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished); // connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished);
connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead); // connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead);
} //}
void QvHttpRequestHelper::put(const QString &url, const QByteArray &data) // void QvHttpRequestHelper::put(const QString &url, const QByteArray &data)
{ // {
this->setUrl(url); // this->setUrl(url);
request.setRawHeader("Content-Type", "application/json"); // request.setRawHeader("Content-Type", "application/json");
reply = accessManager.put(request, data); // reply = accessManager.put(request, data);
connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished); // connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished);
connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead); // connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead);
} // }
void QvHttpRequestHelper::del(const QString &url) // void QvHttpRequestHelper::del(const QString &url)
{ // {
this->setUrl(url); // this->setUrl(url);
request.setRawHeader("Content-Type", "application/json"); // request.setRawHeader("Content-Type", "application/json");
reply = accessManager.deleteResource(request); // reply = accessManager.deleteResource(request);
connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished); // connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished);
connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead); // connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead);
} // }
void QvHttpRequestHelper::login(const QString &url, const QByteArray &data) // void QvHttpRequestHelper::login(const QString &url, const QByteArray &data)
{ // {
this->setUrl(url); // this->setUrl(url);
request.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); // request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
reply = accessManager.post(request, data); // reply = accessManager.post(request, data);
connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished); // connect(reply, &QNetworkReply::finished, this, &QvHttpRequestHelper::onRequestFinished);
connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead); // connect(reply, &QNetworkReply::readyRead, this, &QvHttpRequestHelper::onReadyRead);
} // }
void QvHttpRequestHelper::onRequestFinished() void QvHttpRequestHelper::onRequestFinished()
{ {

View File

@ -1,5 +1,4 @@
/* /*
* Qv2ray
Copyright (C) 2019 SoneWinstone (jianwenzhen@qq.com) Copyright (C) 2019 SoneWinstone (jianwenzhen@qq.com)
Copyright (C) 2019 Leroy.H.Y Copyright (C) 2019 Leroy.H.Y
@ -24,7 +23,7 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include <QNetworkReply> #include <QNetworkReply>
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include "QvUtils.h" #include "QvUtils.hpp"
namespace Qv2ray namespace Qv2ray
{ {
@ -39,13 +38,13 @@ namespace Qv2ray
// get // get
QByteArray syncget(const QString &url); QByteArray syncget(const QString &url);
void get(const QString &url); void get(const QString &url);
// insert //// insert
void post(const QString &url, const QByteArray &data); //void post(const QString &url, const QByteArray &data);
// update //// update
void put(const QString &url, const QByteArray &data); //void put(const QString &url, const QByteArray &data);
// delete //// delete
void del(const QString &url); //void del(const QString &url);
void login(const QString &url, const QByteArray &data); //void login(const QString &url, const QByteArray &data);
signals: signals:
void httpRequestFinished(QByteArray &data); void httpRequestFinished(QByteArray &data);

View File

@ -1,6 +1,6 @@
#include <QCryptographicHash> #include <QCryptographicHash>
#include "QvRunguard.h" #include "QvRunguard.hpp"
namespace Qv2ray namespace Qv2ray
{ {

File diff suppressed because it is too large Load Diff