diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,7 @@ include_directories(${PULSEAUDIO_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${GCONF_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS}) -set(SRC_LIST +set(cpp_SRCS card.cpp client.cpp context.cpp @@ -24,18 +24,36 @@ server.cpp streamrestore.cpp module.cpp + qml/globalactioncollection.cpp + qml/plugin.cpp + qml/volumeosd.cpp + qml/volumefeedback.cpp ) -add_library(QPulseAudioPrivate SHARED ${SRC_LIST}) -target_link_libraries(QPulseAudioPrivate +set(qml_SRCS + qml/qmldir + qml/PulseObjectFilterModel.qml +) + +set_property(SOURCE qml/dbus/osdService.xml APPEND PROPERTY CLASSNAME OsdServiceInterface) +qt5_add_dbus_interface(dbus_SRCS qml/dbus/osdService.xml osdservice) + +add_library(plasma-volume-declarative SHARED ${dbus_SRCS} ${cpp_SRCS} ${qml_SRCS}) +target_link_libraries(plasma-volume-declarative Qt5::Core Qt5::Gui + Qt5::DBus + Qt5::Quick + KF5::GlobalAccel ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY} ${GCONF_LDFLAGS} ${GOBJECT_LDFLAGS} + ${CANBERRA_LIBRARIES} ) -install(TARGETS QPulseAudioPrivate ${INSTALL_TARGETS_DEFAULT_ARGS}) + +set(PRIVATE_QML_INSTALL_DIR ${QML_INSTALL_DIR}/org/kde/plasma/private/volume) +install(TARGETS plasma-volume-declarative DESTINATION ${PRIVATE_QML_INSTALL_DIR}) +install(FILES ${qml_SRCS} DESTINATION ${PRIVATE_QML_INSTALL_DIR}) add_subdirectory(kcm) -add_subdirectory(qml) diff --git a/src/card.h b/src/card.h --- a/src/card.h +++ b/src/card.h @@ -75,7 +75,7 @@ QVariantMap m_properties; }; -class Q_DECL_EXPORT Card : public PulseObject +class Card : public PulseObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/client.h b/src/client.h --- a/src/client.h +++ b/src/client.h @@ -30,7 +30,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Client : public PulseObject +class Client : public PulseObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/context.h b/src/context.h --- a/src/context.h +++ b/src/context.h @@ -38,7 +38,7 @@ class Server; -class Q_DECL_EXPORT Context : public QObject +class Context : public QObject { Q_OBJECT public: diff --git a/src/device.h b/src/device.h --- a/src/device.h +++ b/src/device.h @@ -32,7 +32,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Device : public VolumeObject +class Device : public VolumeObject { Q_OBJECT Q_PROPERTY(State state READ state NOTIFY stateChanged) diff --git a/src/maps.h b/src/maps.h --- a/src/maps.h +++ b/src/maps.h @@ -46,7 +46,7 @@ * This class is nothing more than the QObject base since moc cannot handle * templates. */ -class Q_DECL_EXPORT MapBaseQObject : public QObject +class MapBaseQObject : public QObject { Q_OBJECT @@ -67,7 +67,7 @@ * index to a pulse index to an object, and any permutation thereof. */ template -class Q_DECL_EXPORT MapBase : public MapBaseQObject +class MapBase : public MapBaseQObject { public: virtual ~MapBase() {} diff --git a/src/module.h b/src/module.h --- a/src/module.h +++ b/src/module.h @@ -31,7 +31,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Module : public PulseObject +class Module : public PulseObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/modulemanager.h b/src/modulemanager.h --- a/src/modulemanager.h +++ b/src/modulemanager.h @@ -35,7 +35,7 @@ { class GConfModule; -class Q_DECL_EXPORT ModuleManager : public QObject +class ModuleManager : public QObject { Q_OBJECT Q_PROPERTY(bool combineSinks READ combineSinks WRITE setCombineSinks NOTIFY combineSinksChanged) diff --git a/src/port.h b/src/port.h --- a/src/port.h +++ b/src/port.h @@ -28,7 +28,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Port : public Profile +class Port : public Profile { Q_OBJECT Q_PROPERTY(Availability availability READ availability NOTIFY availabilityChanged) diff --git a/src/profile.h b/src/profile.h --- a/src/profile.h +++ b/src/profile.h @@ -27,7 +27,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Profile : public QObject +class Profile : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/pulseaudio.h b/src/pulseaudio.h --- a/src/pulseaudio.h +++ b/src/pulseaudio.h @@ -30,7 +30,7 @@ { class Context; -class Q_DECL_EXPORT AbstractModel : public QAbstractListModel +class AbstractModel : public QAbstractListModel { Q_OBJECT public: @@ -69,14 +69,14 @@ AbstractModel() {} }; -class Q_DECL_EXPORT CardModel : public AbstractModel +class CardModel : public AbstractModel { Q_OBJECT public: CardModel(QObject *parent = nullptr); }; -class Q_DECL_EXPORT SinkModel : public AbstractModel +class SinkModel : public AbstractModel { Q_OBJECT Q_PROPERTY(QPulseAudio::Sink *defaultSink READ defaultSink NOTIFY defaultSinkChanged) @@ -105,14 +105,14 @@ Sink *m_preferredSink; }; -class Q_DECL_EXPORT SinkInputModel : public AbstractModel +class SinkInputModel : public AbstractModel { Q_OBJECT public: SinkInputModel(QObject *parent = nullptr); }; -class Q_DECL_EXPORT SourceModel : public AbstractModel +class SourceModel : public AbstractModel { Q_OBJECT Q_PROPERTY(QPulseAudio::Source *defaultSource READ defaultSource NOTIFY defaultSourceChanged) @@ -130,21 +130,21 @@ void defaultSourceChanged(); }; -class Q_DECL_EXPORT SourceOutputModel : public AbstractModel +class SourceOutputModel : public AbstractModel { Q_OBJECT public: SourceOutputModel(QObject *parent = nullptr); }; -class Q_DECL_EXPORT StreamRestoreModel : public AbstractModel +class StreamRestoreModel : public AbstractModel { Q_OBJECT public: StreamRestoreModel(QObject *parent = nullptr); }; -class Q_DECL_EXPORT ModuleModel : public AbstractModel +class ModuleModel : public AbstractModel { Q_OBJECT public: diff --git a/src/pulseobject.h b/src/pulseobject.h --- a/src/pulseobject.h +++ b/src/pulseobject.h @@ -31,7 +31,7 @@ class Context; -class Q_DECL_EXPORT PulseObject : public QObject +class PulseObject : public QObject { Q_OBJECT Q_PROPERTY(quint32 index READ index CONSTANT) diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt deleted file mode 100644 --- a/src/qml/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -set(qml_SRCS - qmldir - PulseObjectFilterModel.qml -) - -set(cpp_SRCS - globalactioncollection.cpp - plugin.cpp - volumeosd.cpp - volumefeedback.cpp -) - -set_property(SOURCE dbus/osdService.xml APPEND PROPERTY CLASSNAME OsdServiceInterface) -qt5_add_dbus_interface(dbus_SRCS dbus/osdService.xml osdservice) - -add_library(plasma-volume-declarative SHARED ${dbus_SRCS} ${cpp_SRCS} ${qml_SRCS}) -target_link_libraries(plasma-volume-declarative - Qt5::DBus - Qt5::Quick - KF5::GlobalAccel - QPulseAudioPrivate - ${CANBERRA_LIBRARIES} -) - -set(PRIVATE_QML_INSTALL_DIR ${QML_INSTALL_DIR}/org/kde/plasma/private/volume) -install(TARGETS plasma-volume-declarative DESTINATION ${PRIVATE_QML_INSTALL_DIR}) -install(FILES ${qml_SRCS} DESTINATION ${PRIVATE_QML_INSTALL_DIR}) diff --git a/src/server.h b/src/server.h --- a/src/server.h +++ b/src/server.h @@ -31,7 +31,7 @@ class Source; class Context; -class Q_DECL_EXPORT Server : public QObject +class Server : public QObject { Q_OBJECT diff --git a/src/sink.h b/src/sink.h --- a/src/sink.h +++ b/src/sink.h @@ -26,7 +26,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Sink : public Device +class Sink : public Device { Q_OBJECT public: diff --git a/src/sinkinput.h b/src/sinkinput.h --- a/src/sinkinput.h +++ b/src/sinkinput.h @@ -26,7 +26,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT SinkInput : public Stream +class SinkInput : public Stream { Q_OBJECT public: diff --git a/src/source.h b/src/source.h --- a/src/source.h +++ b/src/source.h @@ -26,7 +26,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Source : public Device +class Source : public Device { Q_OBJECT public: diff --git a/src/sourceoutput.h b/src/sourceoutput.h --- a/src/sourceoutput.h +++ b/src/sourceoutput.h @@ -26,7 +26,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT SourceOutput : public Stream +class SourceOutput : public Stream { Q_OBJECT public: diff --git a/src/stream.h b/src/stream.h --- a/src/stream.h +++ b/src/stream.h @@ -35,7 +35,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT Stream : public VolumeObject +class Stream : public VolumeObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/streamrestore.h b/src/streamrestore.h --- a/src/streamrestore.h +++ b/src/streamrestore.h @@ -28,7 +28,7 @@ namespace QPulseAudio { -class Q_DECL_EXPORT StreamRestore : public PulseObject +class StreamRestore : public PulseObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged)