summaryrefslogtreecommitdiff
path: root/gui/components
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2021-11-29 17:12:06 +0100
committerkali kaneko (leap communications) <kali@leap.se>2021-11-29 18:14:18 +0100
commitdcf660f343a7ba85feb693ee5db40894829e7804 (patch)
tree7fe2edbe01e82827fba2c25de6965808557c8f67 /gui/components
parent74970372b6586b336364ac1affac9dd7d22baef1 (diff)
[ui] ui fixes after field test recommendations
Diffstat (limited to 'gui/components')
-rw-r--r--gui/components/About.qml16
-rw-r--r--gui/components/Locations.qml57
-rw-r--r--gui/components/MainView.qml2
-rw-r--r--gui/components/MaterialButton.qml3
-rw-r--r--gui/components/Preferences.qml4
-rw-r--r--gui/components/StatusBox.qml2
6 files changed, 64 insertions, 20 deletions
diff --git a/gui/components/About.qml b/gui/components/About.qml
index cceaad4..291c491 100644
--- a/gui/components/About.qml
+++ b/gui/components/About.qml
@@ -26,6 +26,7 @@ ThemedPage {
width: parent.width
Text {
+ textFormat: Text.RichText
width: parent.width - 40
color: Theme.fontColor
font.pixelSize: 12
@@ -58,8 +59,6 @@ ThemedPage {
readOnly: true
selectByMouse: true
text: getVersion()
- //horizontalAlignment: Text.AlignCenter
- //anchors.horizontalCenter: parent.horizontalCenter
}
}
@@ -79,16 +78,19 @@ ThemedPage {
if (_donateURL) {
//: donation text of the about dialog
_donateTXT = qsTr(
- "<p>This service is paid for entirely by donations from users like you. <a href=\"%1\">Please donate</a>.</p>").arg(
- _donateURL)
+ "<p>This service is paid for entirely by donations from users like you. <a href=\"%1\">Please donate</a>.</p>").arg(_donateURL)
+ }
+ if (_provider == "Riseup") {
+ // XXX this is a quick workaround. About-us should be parametrized too.
+ _provider = "<a href=\"https://riseup.net/about-us\">" + ctx.provider + "</a>"
}
//: about dialog
//: %1 -> application name
//: %2 -> provider name
//: %3 -> donation text if activated
- var _txt = qsTr(
- "<p>%1 is an easy, fast, and secure VPN service from %2. %1 does not require a user account, keep logs, or track you in any way.</p> %3 <p>By using this application, you agree to the <a href=\"%4\">Terms of Service</a>. This service is provided as-is, without any warranty, and is intended for people who work to make the world a better place.</p>").arg(
- _name).arg(_provider).arg(_donateTXT).arg(_tosURL)
+ //: %4 -> terms of service
+ let _txt = qsTr(
+ "<style>a:link {color: '" + Theme.green + "';}</style><p>%1 is an easy, fast, and secure VPN service from %2. %1 does not require a user account, keep logs, or track you in any way.</p> %3 <p>By using this application, you agree to the <a href=\"%4\">Terms of Service</a>. This service is provided as-is, without any warranty, and is intended for people who work to make the world a better place.</p>").arg(_name).arg(_provider).arg(_donateTXT).arg(_tosURL)
return _txt
}
diff --git a/gui/components/Locations.qml b/gui/components/Locations.qml
index 624d5a0..30a34e5 100644
--- a/gui/components/Locations.qml
+++ b/gui/components/Locations.qml
@@ -56,12 +56,37 @@ ThemedPage {
fill: parent
margins: 10
}
- Label {
- id: recommendedLabel
- //: Location Selection: label for radio button that selects automatically
- text: qsTr("Recommended")
- font.weight: Font.Bold
- font.bold: true
+ Rectangle {
+ id: recommendedHeader
+ height: 20
+ Label {
+ id: recommendedLabel
+ //: Location Selection: label for radio button that selects automatically
+ text: qsTr("Recommended")
+ font.weight: Font.Bold
+ font.bold: true
+ }
+ Image {
+ id: lightning
+ smooth: true
+ width: 16
+ source: "../resources/lightning.svg"
+ fillMode: Image.PreserveAspectFit
+ verticalAlignment: Image.AlignVCenter
+ anchors {
+ left: recommendedLabel.right
+ top: parent.top
+ leftMargin: 5
+ topMargin: 2
+ //verticalCenterOffset: 3
+ }
+ ColorOverlay{
+ anchors.fill: lightning
+ source: lightning
+ color: "black"
+ antialiasing: true
+ }
+ }
}
WrappedRadioButton {
id: autoRadioButton
@@ -69,7 +94,7 @@ ThemedPage {
ButtonGroup.group: locsel
checked: false
anchors {
- top: recommendedLabel.bottom
+ top: recommendedHeader.bottom
leftMargin: -5
}
HoverHandler {
@@ -226,11 +251,20 @@ ThemedPage {
function getAutoLabel() {
let l = autoSelectionLabel
+ /* There's been some discussion about whether to include this.
+ An argument is that it is not 100% sure that we're going to connect
+ to this "recommended" gateway. However, it's fair to tell the user what's likely
+ to be the recomended location, to make a better choice. ALso, we can
+ implement a warning if finally connecting to a different location.
+ That said, all is made worse by the fact that menshen will not return
+ the "right" location if we're connecting from the vpn, a proxy etc... For that we need to modify menshen to accept a location parameter.
+ Disabling the hint for now, but some agreement needs to be done on android + desktop about this behavior.
if (ctx && ctx.locations && ctx.bestLocation) {
let best = ctx.locationLabels[ctx.bestLocation]
let label = best[0] + ", " + best[1]
l += " (" + label + ")"
}
+ */
return l
}
@@ -267,6 +301,15 @@ ThemedPage {
}
}
+ function getLocationColor() {
+ if (ctx && ctx.status == "on") {
+ return "black"
+ } else {
+ // TODO darker gray
+ return "gray"
+ }
+ }
+
function isBridgeSelected() {
if (ctx && ctx.transport == "obfs4") {
return true
diff --git a/gui/components/MainView.qml b/gui/components/MainView.qml
index c103565..0893a2a 100644
--- a/gui/components/MainView.qml
+++ b/gui/components/MainView.qml
@@ -53,7 +53,7 @@ Page {
text: qsTr("Donate")
icon: "../resources/donate.svg"
triggered: function () {
- donateDialog.open()
+ Qt.openUrlExternally(ctx.donateURL)
}
}
ListElement {
diff --git a/gui/components/MaterialButton.qml b/gui/components/MaterialButton.qml
index 7d4ff47..8e90e94 100644
--- a/gui/components/MaterialButton.qml
+++ b/gui/components/MaterialButton.qml
@@ -40,8 +40,7 @@ T.Button {
text: control.text
font: control.font
- color: !control.enabled ? control.Material.hintTextColor : control.flat
- && control.highlighted ? control.Material.accentColor : control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.foreground
+ color: !control.enabled ? control.Material.hintTextColor : control.flat && control.highlighted ? control.Material.accentColor : control.highlighted ? control.Material.primaryHighlightedTextColor : "black"
}
background: Rectangle {
diff --git a/gui/components/Preferences.qml b/gui/components/Preferences.qml
index 3de8acb..23aae05 100644
--- a/gui/components/Preferences.qml
+++ b/gui/components/Preferences.qml
@@ -53,7 +53,7 @@ ThemedPage {
}
Label {
- text: qsTr("These techniques can bypass censorship, but are slower. Use them only when needed")
+ text: qsTr("These techniques can bypass censorship, but are slower. Use them only when needed.")
color: "gray"
visible: true
wrapMode: Text.Wrap
@@ -154,7 +154,7 @@ ThemedPage {
MaterialCheckBox {
id: useUDP
- text: qsTr("UDP")
+ text: qsTr("Use UDP if available")
enabled: false
checked: false
Layout.leftMargin: 10
diff --git a/gui/components/StatusBox.qml b/gui/components/StatusBox.qml
index 6036264..1d3d720 100644
--- a/gui/components/StatusBox.qml
+++ b/gui/components/StatusBox.qml
@@ -36,7 +36,7 @@ Item {
}
border {
color: Theme.accentOff
- width: 2
+ width: 4
}
}