summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2021-12-10 18:23:57 +0100
committerkali kaneko (leap communications) <kali@leap.se>2021-12-10 18:24:04 +0100
commit312fb7860b912d4ae648865b1f2f8d27ebed12cc (patch)
tree27b3d1da2ea8f93dfdf18982b6343c8db0413628
parent5a8bee2c0caa2a17dec19a0889c9951d13ca3cc2 (diff)
[bug] minor, recurrent gotchas
-QApplication, no QGuiApplication: the later avoids the systray to display - Workaround for invisible app icons when vendoring - Make border visible for snaps
-rwxr-xr-xgui/build.sh2
-rw-r--r--gui/components/MaterialButton.qml4
-rw-r--r--gui/main.cpp19
-rw-r--r--providers/vendor.qrc4
4 files changed, 21 insertions, 8 deletions
diff --git a/gui/build.sh b/gui/build.sh
index 791a700..18d97e1 100755
--- a/gui/build.sh
+++ b/gui/build.sh
@@ -87,7 +87,7 @@ function buildQmake {
echo "[+] Now building Qml app with Qt qmake"
echo "[+] Using qmake in:" $QMAKE
mkdir -p $QTBUILD
- $QMAKE -early QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX -o "$QTBUILD/Makefile" CONFIG+=release VENDOR_PATH=${VENDOR_PATH} $PROJECT
+ $QMAKE -early QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX -o "$QTBUILD/Makefile" CONFIG+=release VENDOR_PATH="${VENDOR_PATH}" $PROJECT
#CONFIG=+force_debug_info CONFIG+=debug CONFIG+=debug_and_release
}
diff --git a/gui/components/MaterialButton.qml b/gui/components/MaterialButton.qml
index ad1ca59..4b6d78b 100644
--- a/gui/components/MaterialButton.qml
+++ b/gui/components/MaterialButton.qml
@@ -49,7 +49,7 @@ T.Button {
radius: 4
border.color: "black"
- border.width: 2
+ border.width: 1
color: !control.enabled ? control.Material.buttonDisabledColor : control.highlighted ? control.Material.highlightedButtonColor : Theme.buttonColor
PaddedRectangle {
@@ -69,7 +69,7 @@ T.Button {
// to set Material.elevation as well
layer.enabled: true // control.enabled && control.Material.buttonColor.a > 0
- /*
+ /* this is trouble in the canned Qt version for snaps, so let's pass for now
layer.effect: ElevationEffect {
elevation: control.Material.elevation
}
diff --git a/gui/main.cpp b/gui/main.cpp
index c35f14d..976f2cd 100644
--- a/gui/main.cpp
+++ b/gui/main.cpp
@@ -50,7 +50,7 @@ void catchUnixSignals(std::initializer_list<int> quitSignals) {
auto handler = [](int sig) -> void {
printf("\nCatched signal(%d): quitting\n", sig);
Quit();
- QGuiApplication::quit();
+ QApplication::quit();
};
sigset_t blocking_mask;
@@ -72,7 +72,11 @@ int main(int argc, char **argv) {
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setApplicationVersion(backend.getVersion());
- QGuiApplication app(argc, argv);
+ // There's a legend about brave coders than, from time to time, have the urge to change
+ // the app object to a QGuiApplication. Resist the temptation, oh coder
+ // from the future, or otherwise ye shall be punished for long hours wondering
+ // why yer little systray resists to be displayed.
+ QApplication app(argc, argv);
app.setQuitOnLastWindowClosed(false);
app.setAttribute(Qt::AA_UseHighDpiPixmaps);
@@ -179,7 +183,14 @@ int main(int argc, char **argv) {
}
/* set window icon */
- app.setWindowIcon(QIcon(":/vendor/icon.svg"));
+ /* this one is set in the vendor.qrc resources, that needs to be passed to the project */
+ /* there's something weird with icons being cached, need to investigate */
+ if (appName == "CalyxVPN") {
+ qDebug() << "setting calyx logo";
+ app.setWindowIcon(QIcon(":/vendor/calyx.svg"));
+ } else if (appName == "RiseupVPN") {
+ app.setWindowIcon(QIcon(":/vendor/riseup.svg"));
+ }
/* load translations */
QTranslator translator;
@@ -227,7 +238,7 @@ int main(int argc, char **argv) {
/* connect quitDone signal, exit app */
QObject::connect(&backend, &Backend::quitDone, []() {
- QGuiApplication::quit();
+ QApplication::quit();
});
/* register statusChanged callback with CGO */
diff --git a/providers/vendor.qrc b/providers/vendor.qrc
index 2cfa32b..16a5b85 100644
--- a/providers/vendor.qrc
+++ b/providers/vendor.qrc
@@ -1,5 +1,7 @@
<RCC>
<qresource prefix="/vendor/">
- <file alias="icon.svg">assets/icon.svg</file>
+ <file alias="provider.svg">assets/icon.svg</file>
+ <file alias="riseup.svg">riseup/assets/icon.svg</file>
+ <file alias="calyx.svg">calyx/assets/icon.svg</file>
</qresource>
</RCC>