Skip to content

Commit

Permalink
[bug] minor, recurrent gotchas
Browse files Browse the repository at this point in the history
-QApplication, no QGuiApplication: the later avoids the systray to
display
- Workaround for invisible app icons when vendoring
- Make border visible for snaps
  • Loading branch information
kalikaneko committed Dec 10, 2021
1 parent 5a8bee2 commit 312fb78
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 8 deletions.
2 changes: 1 addition & 1 deletion gui/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
4 changes: 2 additions & 2 deletions gui/components/MaterialButton.qml
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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
}
Expand Down
19 changes: 15 additions & 4 deletions gui/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);

Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 */
Expand Down
4 changes: 3 additions & 1 deletion providers/vendor.qrc
Original file line number Diff line number Diff line change
@@ -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>

0 comments on commit 312fb78

Please sign in to comment.