From 3fdbb895b8372caa080044cade00f2de6b00ce91 Mon Sep 17 00:00:00 2001 From: "kali kaneko (leap communications)" Date: Mon, 31 May 2021 02:34:21 +0200 Subject: [feat] obfs4 selectable from gui --- gui/backend.go | 6 +++--- gui/handlers.cpp | 4 ++-- gui/handlers.h | 2 +- gui/qml/BridgesItem.qml | 9 +++++++-- gui/qml/main.qml | 8 ++++++++ 5 files changed, 21 insertions(+), 8 deletions(-) (limited to 'gui') diff --git a/gui/backend.go b/gui/backend.go index 38f40a8..04d1293 100644 --- a/gui/backend.go +++ b/gui/backend.go @@ -43,9 +43,9 @@ func UseAutomaticGateway() { backend.UseAutomaticGateway() } -//export UseTransport -func UseTransport(transport string) { - backend.UseTransport(transport) +//export SetTransport +func SetTransport(transport string) { + backend.SetTransport(string(transport)) } //export GetTransport diff --git a/gui/handlers.cpp b/gui/handlers.cpp index cec43ca..29fecf1 100644 --- a/gui/handlers.cpp +++ b/gui/handlers.cpp @@ -52,9 +52,9 @@ void Backend::useAutomaticGateway() UseAutomaticGateway(); } -void Backend::useTransport(QString transport) +void Backend::setTransport(QString transport) { - UseTransport(toGoStr(transport)); + SetTransport(toGoStr(transport)); } QString Backend::getTransport() diff --git a/gui/handlers.h b/gui/handlers.h index 9c11b60..a3812c5 100644 --- a/gui/handlers.h +++ b/gui/handlers.h @@ -38,7 +38,7 @@ public slots: void donateSeen(); void useLocation(QString username); void useAutomaticGateway(); - void useTransport(QString transport); + void setTransport(QString transport); QString getTransport(); void login(QString username, QString password); void resetError(QString errlabel); diff --git a/gui/qml/BridgesItem.qml b/gui/qml/BridgesItem.qml index 1cf152c..1343403 100644 --- a/gui/qml/BridgesItem.qml +++ b/gui/qml/BridgesItem.qml @@ -9,6 +9,8 @@ Item { anchors.centerIn: parent width: parent.width property alias displayReconnect: bridgeReconnect.visible + // TODO get obfs4Available from backend, in case provider doesn't have it + visible: true Column { @@ -26,11 +28,13 @@ Item { if (checked) { Logic.setNeedsReconnect(true); bridgeReconnect.visible = true; + app.useBridges(true); } else { // This would also need a "needs reconnect" for de-selecting bridges the next time. // better to wait and see the new connection widgets though Logic.setNeedsReconnect(false); bridgeReconnect.visible = false; + app.useBridges(false); } } } @@ -42,6 +46,7 @@ Item { text: qsTr("Select a bridge only if you know that you need it to evade censorship in your country or local network.") anchors.horizontalCenter: parent.horizontalCenter wrapMode: Text.WordWrap + visible: !bridgeReconnect.visible } Text { @@ -49,10 +54,10 @@ Item { width: 250 font.pixelSize: 12 color: "red" - text: qsTr("We will attempt to connect to a bridge the next time you connect to the VPN.") + text: qsTr("An obfs4 bridge will be used the next time you connect to the VPN.") anchors.horizontalCenter: parent.horizontalCenter wrapMode: Text.WordWrap - visible: false; + visible: false } } } diff --git a/gui/qml/main.qml b/gui/qml/main.qml index f75a121..cef3344 100644 --- a/gui/qml/main.qml +++ b/gui/qml/main.qml @@ -507,6 +507,14 @@ ApplicationWindow { return ctx.currentLocation + ", " + ctx.currentCountry } + function useBridges(value) { + if (value==true) { + backend.setTransport("obfs4") + } else { + backend.setTransport("openvpn") + } + } + property alias brReconnect:bridgesTab.displayReconnect } -- cgit v1.2.3