From 45c13d49936009f095629ef6f6d82aae768b20f3 Mon Sep 17 00:00:00 2001 From: "kali kaneko (leap communications)" Date: Tue, 22 Jun 2021 17:10:26 +0200 Subject: [feat] only show donate dialog after first connect when due - Cloases: #470 --- gui/qml/VpnState.qml | 6 ++++++ gui/qml/logic.js | 20 ++++++++++++-------- gui/qml/main.qml | 8 ++++---- 3 files changed, 22 insertions(+), 12 deletions(-) (limited to 'gui/qml') diff --git a/gui/qml/VpnState.qml b/gui/qml/VpnState.qml index b18d6b5..86239e4 100644 --- a/gui/qml/VpnState.qml +++ b/gui/qml/VpnState.qml @@ -48,6 +48,12 @@ StateGroup { script: { Logic.setNeedsReconnect(false); brReconnect = false; + + if (needsDonate && !shownDonate) { + donate.visible = true; + shownDonate = true; + backend.donateSeen(); + } } } diff --git a/gui/qml/logic.js b/gui/qml/logic.js index 582b824..10ebfcd 100644 --- a/gui/qml/logic.js +++ b/gui/qml/logic.js @@ -1,5 +1,13 @@ -let status = 'off'; -let needsReconnect = false; +var status = 'off'; +var needsReconnect = false; + +function setNeedsReconnect(val) { + needsReconnect = val; +} + +function getNeedsReconnect() { + return needsReconnect; +} function setStatus(st) { status = st; @@ -9,12 +17,8 @@ function getStatus() { return status; } -function setNeedsReconnect(val) { - needsReconnect = val; -} - -function getNeedsReconnect() { - return needsReconnect; +function setNeedsDonate(val) { + needsDonate = val; } function toHuman(st) { diff --git a/gui/qml/main.qml b/gui/qml/main.qml index e0a9a81..e12c61d 100644 --- a/gui/qml/main.qml +++ b/gui/qml/main.qml @@ -21,7 +21,8 @@ ApplicationWindow { property var loginDone property var allowEmptyPass property var needsRestart - + property var needsDonate + property var shownDonate onSceneGraphError: function(error, msg) { console.debug("ERROR while initializing scene") @@ -189,9 +190,7 @@ ApplicationWindow { gwSelector.model = Object.keys(ctx.locations) if (ctx.donateDialog == 'true') { - console.debug(jsonModel.getJson()) - donate.visible = true - backend.donateSeen() + Logic.setNeedsDonate(true); } if (ctx.loginDialog == 'true') { console.debug(jsonModel.getJson()) @@ -276,6 +275,7 @@ ApplicationWindow { loginDone = false allowEmptyPass = Logic.shouldAllowEmptyPass(providers) needsRestart = false; + shownDonate = false; if (!systrayAvailable) { app.visible = true app.raise() -- cgit v1.2.3