From e3da759ab9cf88f74e6f2d62e3e433e3cac89efb Mon Sep 17 00:00:00 2001 From: Qv2ray Bot <59914293+Qv2ray@users.noreply.github.com> Date: Mon, 20 Jan 2020 21:42:06 +0800 Subject: [PATCH] fix: fixed several issues --- Build.Counter | 2 +- src/QvCoreConfigOperations.cpp | 1 + src/QvCoreConfigOperations_Generation.cpp | 22 +++++++++++++++++++--- src/ui/w_RoutesEditor.cpp | 5 ++++- src/ui/w_RoutesEditor.hpp | 5 +---- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Build.Counter b/Build.Counter index 96fd0f9d..ce89b3e4 100644 --- a/Build.Counter +++ b/Build.Counter @@ -1 +1 @@ -2987 +2992 diff --git a/src/QvCoreConfigOperations.cpp b/src/QvCoreConfigOperations.cpp index 3e96b950..3dcad01d 100644 --- a/src/QvCoreConfigOperations.cpp +++ b/src/QvCoreConfigOperations.cpp @@ -15,6 +15,7 @@ namespace Qv2ray return conf; } + QMap GetRegularConnections(QStringList connectionNames) { QMap list; diff --git a/src/QvCoreConfigOperations_Generation.cpp b/src/QvCoreConfigOperations_Generation.cpp index 1cb6c1af..5fa187f2 100644 --- a/src/QvCoreConfigOperations_Generation.cpp +++ b/src/QvCoreConfigOperations_Generation.cpp @@ -108,10 +108,18 @@ namespace Qv2ray QJsonArray accounts; foreach (auto account, _accounts) { + if (account.user.isEmpty() && account.pass.isEmpty()) { + continue; + } + accounts.append(GetRootObject(account)); } - JADD(timeout, accounts, allowTransparent, userLevel) + if (!accounts.isEmpty()) { + JADD(accounts) + } + + JADD(timeout, allowTransparent, userLevel) RROOT } @@ -145,13 +153,21 @@ namespace Qv2ray QJsonArray accounts; foreach (auto acc, _accounts) { + if (acc.user.isEmpty() && acc.pass.isEmpty()) { + continue; + } + accounts.append(GetRootObject(acc)); } + if (!accounts.isEmpty()) { + JADD(accounts) + } + if (udp) { - JADD(auth, accounts, udp, ip, userLevel) + JADD(auth, udp, ip, userLevel) } else { - JADD(auth, accounts, userLevel) + JADD(auth, userLevel) } RROOT diff --git a/src/ui/w_RoutesEditor.cpp b/src/ui/w_RoutesEditor.cpp index c8304d1f..97e21ef9 100644 --- a/src/ui/w_RoutesEditor.cpp +++ b/src/ui/w_RoutesEditor.cpp @@ -496,7 +496,7 @@ void RouteEditor::on_addRouteBtn_clicked() rule.QV2RAY_RULE_USE_BALANCER = false; // Default balancer tag, it's a random string. auto bTag = GenerateRandomString(); - rule.QV2RAY_RULE_TAG = GenerateRandomString(5); + rule.QV2RAY_RULE_TAG = rules.isEmpty() ? tr("Default rule") : (tr("rule") + "-" + GenerateRandomString(5)); rule.balancerTag = bTag; balancers[bTag] = QStringList(); AddNewRule(rule); @@ -629,6 +629,7 @@ void RouteEditor::on_delBtn_clicked() { if (nodeScene->selectedNodes().empty()) { QvMessageBoxWarn(this, tr("Remove Items"), tr("Please select a node from the graph to continue.")); + return; } auto firstNode = nodeScene->selectedNodes()[0]; @@ -668,10 +669,12 @@ void RouteEditor::on_delBtn_clicked() // // Remove item from the rule order list widget. ruleListWidget->takeItem(ruleListWidget->row(ruleListWidget->findItems(currentRuleTag, Qt::MatchExactly).first())); + CHECKEMPTYRULES currentRuleTag = rules.firstKey(); ShowCurrentRuleDetail(); } else { LOG(MODULE_UI, "Unknown node selected.") + QvMessageBoxWarn(this, tr("Error"), tr("Qv2ray entered an unknown state.")); } } void RouteEditor::on_editBtn_clicked() diff --git a/src/ui/w_RoutesEditor.hpp b/src/ui/w_RoutesEditor.hpp index 3155070f..1b76d2fa 100644 --- a/src/ui/w_RoutesEditor.hpp +++ b/src/ui/w_RoutesEditor.hpp @@ -1,5 +1,4 @@ -#ifndef W_QVOUTBOUNDEDITOR_H -#define W_QVOUTBOUNDEDITOR_H +#pragma once #include #include @@ -141,5 +140,3 @@ class RouteEditor : public QDialog, private Ui::RouteEditor void AddNewOutbound(OUTBOUND out); void AddNewRule(RuleObject rule); }; - -#endif // W_QVOUTBOUNDEDITOR_H