diff options
Diffstat (limited to 'src/plugins/Ui/skinned')
| -rw-r--r-- | src/plugins/Ui/skinned/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/skinned.pro | 3 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/skinnedfactory.cpp | 19 |
3 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/Ui/skinned/CMakeLists.txt b/src/plugins/Ui/skinned/CMakeLists.txt index 49982da4d..6fde5934f 100644 --- a/src/plugins/Ui/skinned/CMakeLists.txt +++ b/src/plugins/Ui/skinned/CMakeLists.txt @@ -5,6 +5,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui) link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) +SET(libskinned_DEFINES APP_NAME_SUFFIX="${APP_NAME_SUFFIX}") + # X11 include_directories(${X11_INCLUDE_DIRS}) link_directories(${X11_LIBRARY_DIRS}) @@ -97,7 +99,10 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) IF(X11_FOUND) ADD_LIBRARY(skinned MODULE ${skinned_SRCS} ${skinned_UIS_H} ${skinned_RCC_SRCS} ${skinned_HDRS}) +SET_TARGET_PROPERTIES(skinned PROPERTIES COMPILE_DEFINITIONS "${libskinned_DEFINES}") add_dependencies(skinned libqmmpui libqmmp) target_link_libraries(skinned Qt5::Widgets Qt5::X11Extras libqmmpui libqmmp ${X11_LDFLAGS}) install(TARGETS skinned DESTINATION ${PLUGIN_DIR}/Ui) +install(FILES DESTINATION share/qmmp${APP_NAME_SUFFIX}/images) +install(FILES kwin.sh DESTINATION share/qmmp${APP_NAME_SUFFIX}/scripts) ENDIF(X11_FOUND) diff --git a/src/plugins/Ui/skinned/skinned.pro b/src/plugins/Ui/skinned/skinned.pro index 554b414e3..c6ebfb3a0 100644 --- a/src/plugins/Ui/skinned/skinned.pro +++ b/src/plugins/Ui/skinned/skinned.pro @@ -122,7 +122,10 @@ RESOURCES = resources/resources.qrc \ LIBS += $$QMMPUI_LIB unix { + DEFINES += APP_NAME_SUFFIX=\\\"$$APP_NAME_SUFFIX\\\" target.path = $$PLUGIN_DIR/Ui + scripts.files = kwin.sh + scripts.path = $$DATA_DIR/qmmp$${APP_NAME_SUFFIX}/scripts INSTALLS += target PKGCONFIG += x11 DEFINES += QMMP_WS_X11 diff --git a/src/plugins/Ui/skinned/skinnedfactory.cpp b/src/plugins/Ui/skinned/skinnedfactory.cpp index 3d9e91ed0..51acf87c1 100644 --- a/src/plugins/Ui/skinned/skinnedfactory.cpp +++ b/src/plugins/Ui/skinned/skinnedfactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2011-2015 by Ilya Kotov * + * Copyright (C) 2011-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -20,6 +20,10 @@ #include <QtPlugin> #include <QMessageBox> +#include <QProcess> +#include <QApplication> +#include <QFile> +#include <QFileInfo> #include <qmmp/qmmpsettings.h> #include "mainwindow.h" #include "skinnedfactory.h" @@ -35,6 +39,19 @@ UiProperties SkinnedFactory::properties() const QObject *SkinnedFactory::SkinnedFactory::create() { +#ifdef QMMP_WS_X11 + if(qgetenv("XDG_CURRENT_DESKTOP") == "KDE") + { + QString kwinScript = qApp->applicationFilePath () + "/../../share/qmmp" APP_NAME_SUFFIX "/scripts/kwin.sh"; + if(!QFile::exists(kwinScript)) + kwinScript = qApp->applicationDirPath() + "/../src/plugins/Ui/skinned/kwin.sh"; + if(QFile::exists(kwinScript)) + { + qDebug("SkinnedFactory: adding kwin rules..."); + QProcess::execute(QString("sh %1").arg(QFileInfo(kwinScript).canonicalFilePath())); + } + } +#endif QmmpSettings::instance()->readEqSettings(EqSettings::EQ_BANDS_10); return new MainWindow(); } |
