diff options
author | kali kaneko (leap communications) <kali@leap.se> | 2021-12-10 18:23:57 +0100 |
---|---|---|
committer | kali kaneko (leap communications) <kali@leap.se> | 2021-12-10 18:24:04 +0100 |
commit | 312fb7860b912d4ae648865b1f2f8d27ebed12cc (patch) | |
tree | 27b3d1da2ea8f93dfdf18982b6343c8db0413628 | |
parent | 5a8bee2c0caa2a17dec19a0889c9951d13ca3cc2 (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-x | gui/build.sh | 2 | ||||
-rw-r--r-- | gui/components/MaterialButton.qml | 4 | ||||
-rw-r--r-- | gui/main.cpp | 19 | ||||
-rw-r--r-- | providers/vendor.qrc | 4 |
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> |