diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 94f914e4..90a9e229 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,6 +101,12 @@ jobs: - name: Install tagparser if: matrix.opensuse_version == 'tumbleweed' run: zypper -n --gpg-auto-import-keys in tagparser-devel + - name: Install kdsingleapplication-devel + if: matrix.opensuse_version == 'tumbleweed' && matrix.qt_version == '5' + run: zypper -n --gpg-auto-import-keys in kdsingleapplication-devel + - name: Install kdsingleapplication-qt6-devel + if: matrix.opensuse_version == 'tumbleweed' && matrix.qt_version == '6' + run: zypper -n --gpg-auto-import-keys in kdsingleapplication-qt6-devel - name: Checkout uses: actions/checkout@v4 with: @@ -217,6 +223,7 @@ jobs: desktop-file-utils libappstream-glib hicolor-icon-theme + kdsingleapplication-qt6-devel - name: Checkout uses: actions/checkout@v4 with: diff --git a/3rdparty/kdsingleapplication/KDSingleApplication b/3rdparty/kdsingleapplication/KDSingleApplication index ffce501f..cb0c664b 160000 --- a/3rdparty/kdsingleapplication/KDSingleApplication +++ b/3rdparty/kdsingleapplication/KDSingleApplication @@ -1 +1 @@ -Subproject commit ffce501f4533bb8c19e9a89d712077acecd9c78d +Subproject commit cb0c664b40d3b31bad30aa3521eff603162ed0bd diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d13c6f1..98259455 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -305,18 +305,13 @@ if(QT_VERSION_MAJOR EQUAL 5) else() set(KDSINGLEAPPLICATION_NAME "KDSingleApplication-qt${QT_VERSION_MAJOR}") endif() -find_package(${KDSINGLEAPPLICATION_NAME}) +find_package(${KDSINGLEAPPLICATION_NAME} 1.1.0) if(TARGET KDAB::kdsingleapplication) if(QT_VERSION_MAJOR EQUAL 5) set(KDSINGLEAPPLICATION_VERSION "${KDSingleApplication_VERSION}") elseif(QT_VERSION_MAJOR EQUAL 6) set(KDSINGLEAPPLICATION_VERSION "${KDSingleApplication-qt6_VERSION}") endif() - if(KDSINGLEAPPLICATION_VERSION VERSION_GREATER_EQUAL 1.0.95) - set(HAVE_KDSINGLEAPPLICATION_OPTIONS ON) - else() - set(HAVE_KDSINGLEAPPLICATION_OPTIONS OFF) - endif() message(STATUS "Using system KDSingleApplication (Version ${KDSINGLEAPPLICATION_VERSION})") set(SINGLEAPPLICATION_LIBRARIES KDAB::kdsingleapplication) else() diff --git a/src/config.h.in b/src/config.h.in index ef8ac505..3be0c0f2 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -58,6 +58,4 @@ #cmakedefine HAVE_EBUR128 -#cmakedefine HAVE_KDSINGLEAPPLICATION_OPTIONS - #endif // CONFIG_H_IN diff --git a/src/main.cpp b/src/main.cpp index a0e78cca..58e849a4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -156,11 +156,7 @@ int main(int argc, char *argv[]) { // Only start a core application now, so we can check if there's another instance without requiring an X server. // This MUST be done before parsing the commandline options so QTextCodec gets the right system locale for filenames. QCoreApplication core_app(argc, argv); -#ifdef HAVE_KDSINGLEAPPLICATION_OPTIONS KDSingleApplication single_app(QCoreApplication::applicationName(), KDSingleApplication::Option::IncludeUsernameInSocketName); -#else - KDSingleApplication single_app(QCoreApplication::applicationName()); -#endif // Parse commandline options - need to do this before starting the full QApplication, so it works without an X server if (!options.Parse()) return 1; logging::SetLevels(options.log_levels()); @@ -197,11 +193,7 @@ int main(int argc, char *argv[]) { QGuiApplication::setQuitOnLastWindowClosed(false); QApplication a(argc, argv); -#ifdef HAVE_KDSINGLEAPPLICATION_OPTIONS KDSingleApplication single_app(QCoreApplication::applicationName(), KDSingleApplication::Option::IncludeUsernameInSocketName); -#else - KDSingleApplication single_app(QCoreApplication::applicationName()); -#endif if (!single_app.isPrimaryInstance()) { if (options.is_empty()) { qLog(Info) << "Strawberry is already running - activating existing window (2)";