make KF5Notifications optional
This commit is contained in:
parent
ef221d4574
commit
d68797cebb
2 changed files with 16 additions and 3 deletions
|
@ -18,7 +18,11 @@ find_package(Qt5 CONFIG REQUIRED COMPONENTS
|
||||||
WebEngineWidgets
|
WebEngineWidgets
|
||||||
)
|
)
|
||||||
|
|
||||||
|
option(KF5NOTIFICATIONS "Use KF5Notifications for enhanced system notifications" ON)
|
||||||
|
if(KF5NOTIFICATIONS)
|
||||||
|
add_definitions( -DKF5NOTIFICATIONS )
|
||||||
find_package(KF5Notifications)
|
find_package(KF5Notifications)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(discord-screenaudio_SRC
|
set(discord-screenaudio_SRC
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
|
@ -52,11 +56,15 @@ add_subdirectory(submodules/rohrkabel)
|
||||||
|
|
||||||
add_executable(discord-screenaudio ${discord-screenaudio_SRC})
|
add_executable(discord-screenaudio ${discord-screenaudio_SRC})
|
||||||
|
|
||||||
target_link_libraries(discord-screenaudio Qt5::Widgets Qt5::WebEngineWidgets KF5::Notifications rohrkabel)
|
target_link_libraries(discord-screenaudio Qt5::Widgets Qt5::WebEngineWidgets rohrkabel)
|
||||||
|
|
||||||
|
if(KF5NOTIFICATIONS)
|
||||||
|
target_link_libraries(discord-screenaudio KF5::Notifications)
|
||||||
|
install(FILES assets/discord-screenaudio.notifyrc DESTINATION ${CMAKE_INSTALL_PREFIX}/share/knotifications5)
|
||||||
|
endif()
|
||||||
|
|
||||||
install(TARGETS discord-screenaudio DESTINATION bin)
|
install(TARGETS discord-screenaudio DESTINATION bin)
|
||||||
install(FILES assets/de.shorsh.discord-screenaudio.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps)
|
install(FILES assets/de.shorsh.discord-screenaudio.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps)
|
||||||
install(PROGRAMS assets/de.shorsh.discord-screenaudio.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
|
install(PROGRAMS assets/de.shorsh.discord-screenaudio.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
|
||||||
configure_file(assets/de.shorsh.discord-screenaudio.metainfo.xml.in de.shorsh.discord-screenaudio.metainfo.xml)
|
configure_file(assets/de.shorsh.discord-screenaudio.metainfo.xml.in de.shorsh.discord-screenaudio.metainfo.xml)
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/de.shorsh.discord-screenaudio.metainfo.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo)
|
install(FILES ${CMAKE_BINARY_DIR}/de.shorsh.discord-screenaudio.metainfo.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo)
|
||||||
install(FILES assets/discord-screenaudio.notifyrc DESTINATION ${CMAKE_INSTALL_PREFIX}/share/knotifications5)
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "virtmic.h"
|
#include "virtmic.h"
|
||||||
|
|
||||||
|
#ifdef KF5NOTIFICATIONS
|
||||||
#include <KNotification>
|
#include <KNotification>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
@ -33,6 +36,7 @@ void MainWindow::setupWebView() {
|
||||||
m_webView = new QWebEngineView(this);
|
m_webView = new QWebEngineView(this);
|
||||||
m_webView->setPage(page);
|
m_webView->setPage(page);
|
||||||
|
|
||||||
|
#ifdef KF5NOTIFICATIONS
|
||||||
QWebEngineProfile::defaultProfile()->setNotificationPresenter(
|
QWebEngineProfile::defaultProfile()->setNotificationPresenter(
|
||||||
[&](std::unique_ptr<QWebEngineNotification> notificationInfo) {
|
[&](std::unique_ptr<QWebEngineNotification> notificationInfo) {
|
||||||
KNotification *notification = new KNotification("discordNotification");
|
KNotification *notification = new KNotification("discordNotification");
|
||||||
|
@ -47,6 +51,7 @@ void MainWindow::setupWebView() {
|
||||||
});
|
});
|
||||||
notification->sendEvent();
|
notification->sendEvent();
|
||||||
});
|
});
|
||||||
|
#endif
|
||||||
|
|
||||||
setCentralWidget(m_webView);
|
setCentralWidget(m_webView);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue