plugin: refactor into modules

This commit is contained in:
2 * r + 2 * t 2025-09-13 14:38:44 +10:00
parent a57dd9343a
commit 306cfc06ed
28 changed files with 77 additions and 47 deletions

View file

@ -6,7 +6,7 @@ import "../images"
import qs.services
import qs.config
import qs.utils
import Caelestia
import Caelestia.Models
import Quickshell
import QtQuick
import QtQuick.Layouts

View file

@ -1,5 +1,5 @@
import qs.utils
import Caelestia
import Caelestia.Managers
import Quickshell
import QtQuick

View file

@ -3,7 +3,7 @@ pragma ComponentBehavior: Bound
import qs.components
import qs.services
import qs.config
import Caelestia
import Caelestia.Services
import Quickshell
import Quickshell.Widgets
import QtQuick

View file

@ -6,7 +6,7 @@ import qs.components.controls
import qs.services
import qs.utils
import qs.config
import Caelestia
import Caelestia.Services
import Quickshell
import Quickshell.Widgets
import Quickshell.Services.Mpris

View file

@ -2,7 +2,7 @@ import qs.components
import qs.services
import qs.config
import qs.utils
import Caelestia
import Caelestia.Services
import QtQuick
import QtQuick.Shapes

View file

@ -3,7 +3,7 @@ import qs.components.effects
import qs.components.images
import qs.services
import qs.config
import Caelestia
import Caelestia.Models
import Quickshell
import QtQuick

View file

@ -8,25 +8,16 @@ pkg_check_modules(Cava IMPORTED_TARGET cava REQUIRED)
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml")
qt_standard_project_setup(REQUIRES 6.9)
qt_add_qml_module(caelestia
URI Caelestia
function(qml_module arg_TARGET)
cmake_parse_arguments(PARSE_ARGV 1 arg "" "URI" "SOURCES;LIBRARIES")
qt_add_qml_module(${arg_TARGET}
URI ${arg_URI}
VERSION ${VERSION}
SOURCES
cutils.hpp cutils.cpp
cachingimagemanager.hpp cachingimagemanager.cpp
filesystemmodel.hpp filesystemmodel.cpp
qalculator.hpp qalculator.cpp
beattracker.hpp beattracker.cpp
service.hpp service.cpp
serviceref.hpp serviceref.cpp
audiocollector.hpp audiocollector.cpp
audioprovider.hpp audioprovider.cpp
cavaprovider.hpp cavaprovider.cpp
appdb.hpp appdb.cpp
requests.hpp requests.cpp
SOURCES ${arg_SOURCES}
)
qt_query_qml_module(caelestia
qt_query_qml_module(${arg_TARGET}
URI module_uri
VERSION module_version
PLUGIN_TARGET module_plugin_target
@ -38,20 +29,28 @@ qt_query_qml_module(caelestia
message(STATUS "Created QML module ${module_uri}, version ${module_version}")
set(module_dir "${INSTALL_QMLDIR}/${module_target_path}")
install(TARGETS caelestia LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
install(TARGETS ${arg_TARGET} LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
install(TARGETS "${module_plugin_target}" LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
install(FILES "${module_qmldir}" DESTINATION "${module_dir}")
install(FILES "${module_typeinfo}" DESTINATION "${module_dir}")
target_link_libraries(caelestia PRIVATE
Qt::Core
Qt::Qml
target_link_libraries(${arg_TARGET} PRIVATE Qt::Core Qt::Qml ${arg_LIBRARIES})
endfunction()
qml_module(caelestia
URI Caelestia
SOURCES
cutils.hpp cutils.cpp
qalculator.hpp qalculator.cpp
appdb.hpp appdb.cpp
requests.hpp requests.cpp
LIBRARIES
Qt::Gui
Qt::Quick
Qt::Concurrent
Qt::Sql
PkgConfig::Qalculate
PkgConfig::Pipewire
PkgConfig::Aubio
PkgConfig::Cava
)
add_subdirectory(Managers)
add_subdirectory(Models)
add_subdirectory(Services)

View file

@ -0,0 +1,9 @@
qml_module(caelestia-managers
URI Caelestia.Managers
SOURCES
cachingimagemanager.hpp cachingimagemanager.cpp
LIBRARIES
Qt::Gui
Qt::Quick
Qt::Concurrent
)

View file

@ -0,0 +1,8 @@
qml_module(caelestia-models
URI Caelestia.Models
SOURCES
filesystemmodel.hpp filesystemmodel.cpp
LIBRARIES
Qt::Gui
Qt::Concurrent
)

View file

@ -0,0 +1,14 @@
qml_module(caelestia-services
URI Caelestia.Services
SOURCES
service.hpp service.cpp
serviceref.hpp serviceref.cpp
beattracker.hpp beattracker.cpp
audiocollector.hpp audiocollector.cpp
audioprovider.hpp audioprovider.cpp
cavaprovider.hpp cavaprovider.cpp
LIBRARIES
PkgConfig::Pipewire
PkgConfig::Aubio
PkgConfig::Cava
)

View file

@ -1,7 +1,7 @@
pragma Singleton
import qs.config
import Caelestia
import Caelestia.Services
import Quickshell
import Quickshell.Services.Pipewire

View file

@ -2,7 +2,7 @@ pragma Singleton
import qs.config
import qs.utils
import Caelestia
import Caelestia.Models
import Quickshell
import Quickshell.Io
import QtQuick