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)