diff --git a/kirigami.qrc b/kirigami.qrc
index 168f580a..daac302a 100644
--- a/kirigami.qrc
+++ b/kirigami.qrc
@@ -1,81 +1,84 @@
src/controls/AbstractApplicationWindow.qml
src/controls/ContextDrawer.qml
src/controls/Action.qml
src/controls/Page.qml
src/controls/PageRow.qml
src/controls/AbstractListItem.qml
src/controls/Theme.qml
src/controls/AbstractCard.qml
src/controls/templates/AbstractCard.qml
src/controls/Card.qml
src/controls/CardsLayout.qml
src/controls/CardsListView.qml
src/controls/CardsGridView.qml
src/controls/ActionToolBar.qml
src/controls/templates/InlineMessage.qml
src/controls/InlineMessage.qml
src/controls/ToolBarApplicationHeader.qml
src/controls/private/PrivateActionToolButton.qml
src/controls/private/RefreshableScrollView.qml
src/controls/private/SwipeItemEventFilter.qml
src/controls/private/PageActionPropertyGroup.qml
src/controls/private/ActionIconGroup.qml
src/controls/private/CornerShadow.qml
src/controls/private/ActionButton.qml
src/controls/private/DefaultListItemBackground.qml
src/controls/private/BannerImage.qml
src/controls/private/BannerGroup.qml
src/controls/private/EdgeShadow.qml
src/controls/private/AbstractPageHeader.qml
src/controls/private/PageRowGlobalToolBarStyleGroup.qml
src/controls/private/PageRowGlobalToolBarUI.qml
src/controls/private/PrivateActionToolButton.qml
src/controls/private/TitlesPageHeader.qml
src/controls/private/ToolBarPageHeader.qml
+ src/controls/private/ActionsMenu.qml
+ src/controls/private/ActionMenuItemQt59.qml
+ src/controls/private/ActionMenuItemBase.qml
src/controls/Separator.qml
src/controls/OverlayDrawer.qml
src/controls/OverlaySheet.qml
src/controls/GlobalDrawer.qml
src/controls/templates/AbstractListItem.qml
src/controls/templates/private/MenuIcon.qml
src/controls/templates/private/GenericDrawerIcon.qml
src/controls/templates/private/PassiveNotification.qml
src/controls/templates/private/ContextIcon.qml
src/controls/templates/private/ScrollView.qml
src/controls/templates/private/BackButton.qml
src/controls/templates/private/IconPropertiesGroup.qml
src/controls/templates/private/ForwardButton.qml
src/controls/templates/OverlayDrawer.qml
src/controls/templates/OverlaySheet.qml
src/controls/templates/SwipeListItem.qml
src/controls/templates/ApplicationHeader.qml
src/controls/templates/AbstractApplicationHeader.qml
src/controls/Units.qml
src/controls/SwipeListItem.qml
src/controls/ApplicationWindow.qml
src/controls/AbstractApplicationItem.qml
src/controls/ApplicationItem.qml
src/controls/ApplicationHeader.qml
src/controls/Heading.qml
src/controls/ScrollablePage.qml
src/controls/Label.qml
src/controls/BasicListItem.qml
src/controls/AbstractApplicationHeader.qml
src/controls/FormLayout.qml
src/controls/ListItemDragHandle.qml
src/styles/Material/AbstractListItem.qml
src/styles/Material/Theme.qml
src/styles/Material/SwipeListItem.qml
src/styles/Material/Label.qml
src/styles/org.kde.desktop/AbstractListItem.qml
src/styles/org.kde.desktop/Theme.qml
src/styles/org.kde.desktop/OverlayDrawer.qml
src/styles/org.kde.desktop/Units.qml
src/styles/org.kde.desktop/SwipeListItem.qml
src/styles/org.kde.desktop/ApplicationWindow.qml
src/styles/org.kde.desktop/AbstractApplicationHeader.qml
src/controls/templates/FormLayout.qml
diff --git a/kirigami.qrc.in b/kirigami.qrc.in
new file mode 100644
index 00000000..138ee1db
--- /dev/null
+++ b/kirigami.qrc.in
@@ -0,0 +1,84 @@
+
+
+ @kirigami_QML_DIR@/src/controls/AbstractApplicationWindow.qml
+ @kirigami_QML_DIR@/src/controls/ContextDrawer.qml
+ @kirigami_QML_DIR@/src/controls/Action.qml
+ @kirigami_QML_DIR@/src/controls/Page.qml
+ @kirigami_QML_DIR@/src/controls/PageRow.qml
+ @kirigami_QML_DIR@/src/controls/AbstractListItem.qml
+ @kirigami_QML_DIR@/src/controls/Theme.qml
+ @kirigami_QML_DIR@/src/controls/AbstractCard.qml
+ @kirigami_QML_DIR@/src/controls/templates/AbstractCard.qml
+ @kirigami_QML_DIR@/src/controls/Card.qml
+ @kirigami_QML_DIR@/src/controls/CardsLayout.qml
+ @kirigami_QML_DIR@/src/controls/CardsListView.qml
+ @kirigami_QML_DIR@/src/controls/CardsGridView.qml
+ @kirigami_QML_DIR@/src/controls/ActionToolBar.qml
+ @kirigami_QML_DIR@/src/controls/templates/InlineMessage.qml
+ @kirigami_QML_DIR@/src/controls/InlineMessage.qml
+ @kirigami_QML_DIR@/src/controls/ToolBarApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/private/PrivateActionToolButton.qml
+ @kirigami_QML_DIR@/src/controls/private/RefreshableScrollView.qml
+ @kirigami_QML_DIR@/src/controls/private/SwipeItemEventFilter.qml
+ @kirigami_QML_DIR@/src/controls/private/PageActionPropertyGroup.qml
+ @kirigami_QML_DIR@/src/controls/private/ActionIconGroup.qml
+ @kirigami_QML_DIR@/src/controls/private/CornerShadow.qml
+ @kirigami_QML_DIR@/src/controls/private/ActionButton.qml
+ @kirigami_QML_DIR@/src/controls/private/DefaultListItemBackground.qml
+ @kirigami_QML_DIR@/src/controls/private/BannerImage.qml
+ @kirigami_QML_DIR@/src/controls/private/BannerGroup.qml
+ @kirigami_QML_DIR@/src/controls/private/EdgeShadow.qml
+ @kirigami_QML_DIR@/src/controls/private/AbstractPageHeader.qml
+ @kirigami_QML_DIR@/src/controls/private/PageRowGlobalToolBarStyleGroup.qml
+ @kirigami_QML_DIR@/src/controls/private/PageRowGlobalToolBarUI.qml
+ @kirigami_QML_DIR@/src/controls/private/PrivateActionToolButton.qml
+ @kirigami_QML_DIR@/src/controls/private/TitlesPageHeader.qml
+ @kirigami_QML_DIR@/src/controls/private/ToolBarPageHeader.qml
+ @kirigami_QML_DIR@/src/controls/private/ActionsMenu.qml
+ @kirigami_QML_DIR@/src/controls/private/@kirigami_ActionMenuItem@
+ @kirigami_QML_DIR@/src/controls/private/ActionMenuItemBase.qml
+ @kirigami_QML_DIR@/src/controls/Separator.qml
+ @kirigami_QML_DIR@/src/controls/OverlayDrawer.qml
+ @kirigami_QML_DIR@/src/controls/OverlaySheet.qml
+ @kirigami_QML_DIR@/src/controls/GlobalDrawer.qml
+ @kirigami_QML_DIR@/src/controls/templates/AbstractListItem.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/MenuIcon.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/GenericDrawerIcon.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/PassiveNotification.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/ContextIcon.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/ScrollView.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/BackButton.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/IconPropertiesGroup.qml
+ @kirigami_QML_DIR@/src/controls/templates/private/ForwardButton.qml
+ @kirigami_QML_DIR@/src/controls/templates/OverlayDrawer.qml
+ @kirigami_QML_DIR@/src/controls/templates/OverlaySheet.qml
+ @kirigami_QML_DIR@/src/controls/templates/SwipeListItem.qml
+ @kirigami_QML_DIR@/src/controls/templates/ApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/templates/AbstractApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/Units.qml
+ @kirigami_QML_DIR@/src/controls/SwipeListItem.qml
+ @kirigami_QML_DIR@/src/controls/ApplicationWindow.qml
+ @kirigami_QML_DIR@/src/controls/AbstractApplicationItem.qml
+ @kirigami_QML_DIR@/src/controls/ApplicationItem.qml
+ @kirigami_QML_DIR@/src/controls/ApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/Heading.qml
+ @kirigami_QML_DIR@/src/controls/ScrollablePage.qml
+ @kirigami_QML_DIR@/src/controls/Label.qml
+ @kirigami_QML_DIR@/src/controls/BasicListItem.qml
+ @kirigami_QML_DIR@/src/controls/AbstractApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/FormLayout.qml
+ @kirigami_QML_DIR@/src/controls/ListItemDragHandle.qml
+ @kirigami_QML_DIR@/src/styles/Material/AbstractListItem.qml
+ @kirigami_QML_DIR@/src/styles/Material/Theme.qml
+ @kirigami_QML_DIR@/src/styles/Material/SwipeListItem.qml
+ @kirigami_QML_DIR@/src/styles/Material/Label.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/AbstractListItem.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/Theme.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/OverlayDrawer.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/Units.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/SwipeListItem.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/ApplicationWindow.qml
+ @kirigami_QML_DIR@/src/styles/org.kde.desktop/AbstractApplicationHeader.qml
+ @kirigami_QML_DIR@/src/controls/templates/FormLayout.qml
+
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 30b9b4f0..3e1c35aa 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,102 +1,123 @@
project(kirigami)
if (NOT STATIC_LIBRARY)
ecm_create_qm_loader(kirigami_QM_LOADER libkirigami2plugin_qt)
else()
set(KIRIGAMI_STATIC_FILES
libkirigami/basictheme.cpp
libkirigami/platformtheme.cpp
libkirigami/tabletmodewatcher.cpp
libkirigami/kirigamipluginfactory.cpp)
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libkirigami ${CMAKE_CURRENT_BINARY_DIR}/libkirigami)
set(kirigami_SRCS
kirigamiplugin.cpp
enums.cpp
delegaterecycler.cpp
desktopicon.cpp
settings.cpp
formlayoutattached.cpp
scenepositionattached.cpp
mnemonicattached.cpp
${kirigami_QM_LOADER}
${KIRIGAMI_STATIC_FILES}
)
add_subdirectory(libkirigami)
if(STATIC_LIBRARY)
+ # Set some variables to insert the right files in the QRC
+ if(Qt5Qml_VERSION VERSION_LESS 5.10)
+ set(kirigami_ActionMenuItem ActionMenuItemQt59.qml)
+ else()
+ set(kirigami_ActionMenuItem ActionMenuItemQt510.qml)
+ endif()
+
+ # `rcc` is a bit dumb and isn't designed to use auto generated files, to
+ # avoid poluting the source directory, use absolute paths
+ set(kirigami_QML_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+ # First, pre-process the QRC to add the files associated with the right Qt
+ # version.
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/../kirigami.qrc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/../kirigami.qrc
+ @ONLY
+ )
+
# When using the static library, all QML files need to be shipped within the
# .a file.
- qt5_add_resources(RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../kirigami.qrc)
+ qt5_add_resources(
+ RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/../kirigami.qrc
+ )
endif(STATIC_LIBRARY)
add_library(kirigamiplugin ${kirigami_SRCS} ${RESOURCES})
if(STATIC_LIBRARY)
SET_TARGET_PROPERTIES(kirigamiplugin PROPERTIES
AUTOMOC_MOC_OPTIONS -Muri=org.kde.kirigami)
if (UNIX AND NOT CMAKE_SYSTEM_NAME STREQUAL "Android" AND NOT(APPLE) AND NOT(DISABLE_DBUS))
set(Kirigami_EXTRA_LIBS Qt5::DBus)
else()
set(Kirigami_EXTRA_LIBS "")
endif()
else(STATIC_LIBRARY)
set(Kirigami_EXTRA_LIBS KF5::Kirigami2)
endif(STATIC_LIBRARY)
target_link_libraries(kirigamiplugin
PUBLIC
Qt5::Core
PRIVATE
${Kirigami_EXTRA_LIBS} Qt5::Qml Qt5::Quick Qt5::QuickControls2
)
if (NOT STATIC_LIBRARY)
add_custom_target(copy)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/org/kde/kirigami.2)
add_custom_command(TARGET copy PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/controls ${CMAKE_BINARY_DIR}/bin/org/kde/kirigami.2/)
add_custom_command(TARGET copy PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/styles ${CMAKE_BINARY_DIR}/bin/org/kde/kirigami.2/styles)
add_dependencies(kirigamiplugin copy)
install(DIRECTORY controls/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2)
if(Qt5Qml_VERSION VERSION_LESS 5.10)
install(FILES controls/private/ActionMenuItemQt59.qml DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/private
RENAME ActionMenuItem.qml)
else()
install(FILES controls/private/ActionMenuItemQt510.qml DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/private
RENAME ActionMenuItem.qml)
endif()
if (PLASMA_ENABLED)
install(DIRECTORY styles/Plasma DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles)
endif()
if (DESKTOP_ENABLED)
install(DIRECTORY styles/org.kde.desktop DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles)
endif()
if (PLASMA_ENABLED AND DESKTOP_ENABLED)
install(DIRECTORY styles/org.kde.desktop.plasma DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles)
endif()
install(DIRECTORY styles/Material DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles)
install(FILES ${platformspecific} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2)
include(ECMGeneratePriFile)
ecm_generate_pri_file(BASE_NAME Kirigami2 LIB_NAME KF5Kirigami2 DEPS "core qml quick svg" FILENAME_VAR PRI_FILENAME )
install(FILES ${PRI_FILENAME}
DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
endif(NOT STATIC_LIBRARY)
install(TARGETS kirigamiplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2)