summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/components/Help.qml28
-rw-r--r--gui/components/Splash.qml35
-rw-r--r--pkg/config/version/checknewer.go3
3 files changed, 49 insertions, 17 deletions
diff --git a/gui/components/Help.qml b/gui/components/Help.qml
index 6148ece..ed6f543 100644
--- a/gui/components/Help.qml
+++ b/gui/components/Help.qml
@@ -1,9 +1,12 @@
-import QtQuick 2.9
+import QtQuick 2.15
import QtQuick.Controls 2.2
+import "../themes/themes.js" as Theme
+
ThemedPage {
title: qsTr("Help")
property var issueTracker: "https://0xacab.org/leap/bitmask-vpn/issues"
+ property var uninstall: "https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md"
Column {
anchors.centerIn: parent
@@ -11,15 +14,36 @@ ThemedPage {
Text {
font.pixelSize: 14
+ textFormat: Text.RichText
+ color: Theme.green
anchors.horizontalCenter: parent.horizontalCenter
text: getDummyLink(qsTr("Troubleshooting and support"))
onLinkActivated: Qt.openUrlExternally(ctx.helpURL)
+ HoverHandler {
+ cursorShape: Qt.PointingHandCursor
+ }
}
Text {
font.pixelSize: 14
+ textFormat: Text.RichText
+ color: Theme.green
anchors.horizontalCenter: parent.horizontalCenter
text: getDummyLink(qsTr("Report a bug"))
onLinkActivated: Qt.openUrlExternally(issueTracker)
+ HoverHandler {
+ cursorShape: Qt.PointingHandCursor
+ }
+ }
+ Text {
+ font.pixelSize: 14
+ textFormat: Text.RichText
+ color: Theme.green
+ anchors.horizontalCenter: parent.horizontalCenter
+ text: getDummyLink(qsTr("How to uninstall"))
+ onLinkActivated: Qt.openUrlExternally(uninstall)
+ HoverHandler {
+ cursorShape: Qt.PointingHandCursor
+ }
}
/* XXX needs implementation in the backend
Button {
@@ -30,6 +54,6 @@ ThemedPage {
}
function getDummyLink(text) {
- return "<a href='#'>" + text + "</a>"
+ return "<style>a:link {color: '" + Theme.green + "';}</style><a href=\"#\">" + text + "</a>"
}
}
diff --git a/gui/components/Splash.qml b/gui/components/Splash.qml
index 0d49474..8c3c310 100644
--- a/gui/components/Splash.qml
+++ b/gui/components/Splash.qml
@@ -5,7 +5,7 @@ import "../themes/themes.js" as Theme
Page {
id: splash
- property int timeoutInterval: qmlDebug ? 200 : 1600
+ property int timeoutInterval: qmlDebug ? 600 : 1600
property alias errors: splashErrorBox
ToolButton {
@@ -93,22 +93,11 @@ Page {
}
function hasMotd() {
- if (ctx) {
- if (isTrue(ctx.canUpgrade)) {
- return true
- }
- return !isEmpty(ctx.motd)
- }
- return false
+ return needsUpgrade() || (ctx && !isEmpty(ctx.motd))
}
function getUpgradeText() {
- let t = ""
- let platform = Qt.platform.os
- if (platform == "windows" || platform == "osx" || platform == "linux") {
- t = qsTr("There is a newer version available.")
- }
- return t
+ return qsTr("There is a newer version available. ") + qsTr("Make sure to uninstall the previous one before running the new installer.")
}
function getUpgradeLink() {
@@ -119,6 +108,21 @@ Page {
return "https://downloads.leap.se/RiseupVPN/" + Qt.platform.os + "/"
}
+ function needsUpgrade() {
+ if (ctx && isTrue(ctx.canUpgrade)) {
+ if (qmlDebug) {
+ return true
+ }
+ let platform = Qt.platform.os
+ //DEBUG --
+ //if (platform == "windows" || platform == "osx" || platform == "linux" ) {
+ if (platform == "windows" || platform == "osx") {
+ return true
+ }
+ }
+ return false
+ }
+
function showMotd() {
// XXX this is not picking locales configured by LANG or LC_ALL
let isUpgrade = false
@@ -129,7 +133,7 @@ Page {
let textLocale = ""
let link = ""
- if (ctx && isTrue(ctx.canUpgrade)) {
+ if (needsUpgrade()) {
isUpgrade = true;
textLocale = getUpgradeText();
link = getUpgradeLink();
@@ -186,6 +190,7 @@ Page {
if (ctx && isTrue(ctx.isReady) || qmlDebug) {
splashTimer.stop()
if (hasMotd()) {
+ console.debug("show motd");
showMotd();
} else {
loader.source = "MainView.qml"
diff --git a/pkg/config/version/checknewer.go b/pkg/config/version/checknewer.go
index 115696a..f253877 100644
--- a/pkg/config/version/checknewer.go
+++ b/pkg/config/version/checknewer.go
@@ -17,6 +17,9 @@ const verURI = "https://downloads.leap.se/RiseupVPN/"
// at the moment, we hardcode RiseupVPN in the path, assuming that all clients
// stay in sync.
func CanUpgrade() bool {
+ if os.Getenv("SKIP_VERSION_CHECK") == "1" {
+ return false
+ }
log.Println("Checking for updates...")
uri := verURI
switch runtime.GOOS {