Require KDSingleApplication 1.1.0

This commit is contained in:
Jonas Kvinge 2023-12-26 20:47:11 +01:00
parent 22169bda0d
commit a35fa5b158
5 changed files with 9 additions and 17 deletions

View File

@ -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:

@ -1 +1 @@
Subproject commit ffce501f4533bb8c19e9a89d712077acecd9c78d
Subproject commit cb0c664b40d3b31bad30aa3521eff603162ed0bd

View File

@ -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()

View File

@ -58,6 +58,4 @@
#cmakedefine HAVE_EBUR128
#cmakedefine HAVE_KDSINGLEAPPLICATION_OPTIONS
#endif // CONFIG_H_IN

View File

@ -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)";