X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/bb686052c7b353aa58151172cf215fd2349f8b94..676c7fee62a42605d8f896be1089158159a8003c:/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 97bc770d7..4e6e10f0d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,9 @@ include(ECMAddAppIcon) +set(ADMIN_WORKER_PACKAGE_NAME "kio-admin") +set(FILELIGHT_PACKAGE_NAME "filelight") +set(KFIND_PACKAGE_NAME "kfind") + configure_file(config-dolphin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-dolphin.h) add_definitions( @@ -23,7 +27,7 @@ generate_export_header(dolphinvcs BASE_NAME dolphinvcs) target_link_libraries( dolphinvcs PUBLIC - Qt${QT_MAJOR_VERSION}::Widgets + Qt6::Widgets ) set_target_properties(dolphinvcs PROPERTIES @@ -39,6 +43,7 @@ ecm_generate_headers(dolphinvcs_LIB_HEADERS RELATIVE "views/versioncontrol" REQUIRED_HEADERS dolphinvcs_LIB_HEADERS ) +target_include_directories(dolphinvcs INTERFACE "$") install(TARGETS dolphinvcs EXPORT DolphinVcsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) @@ -49,6 +54,18 @@ install(FILES ${dolphinvcs_LIB_HEADERS} DESTINATION "${KDE_INSTALL_INCLUDEDIR}/D add_library(dolphinprivate SHARED) +if(NOT QT_NO_ACCESSIBILITY) + target_sources(dolphinprivate PRIVATE + kitemviews/accessibility/kitemlistcontaineraccessible.cpp + kitemviews/accessibility/kitemlistdelegateaccessible.cpp + kitemviews/accessibility/kitemlistviewaccessible.cpp + + kitemviews/accessibility/kitemlistcontaineraccessible.h + kitemviews/accessibility/kitemlistdelegateaccessible.h + kitemviews/accessibility/kitemlistviewaccessible.h + ) +endif() + target_sources(dolphinprivate PRIVATE kitemviews/kfileitemlistview.cpp kitemviews/kfileitemlistwidget.cpp @@ -62,7 +79,6 @@ target_sources(dolphinprivate PRIVATE kitemviews/kitemlistselectionmanager.cpp kitemviews/kitemliststyleoption.cpp kitemviews/kitemlistview.cpp - kitemviews/kitemlistviewaccessible.cpp kitemviews/kitemlistwidget.cpp kitemviews/kitemmodelbase.cpp kitemviews/kitemset.cpp @@ -82,6 +98,7 @@ target_sources(dolphinprivate PRIVATE kitemviews/private/kitemlistsmoothscroller.cpp kitemviews/private/kitemlistviewanimation.cpp kitemviews/private/kitemlistviewlayouter.cpp + kitemviews/private/kitemviewsutils.cpp kitemviews/private/kpixmapmodifier.cpp settings/applyviewpropsjob.cpp settings/viewmodes/viewmodesettings.cpp @@ -116,7 +133,6 @@ target_sources(dolphinprivate PRIVATE kitemviews/kitemlistselectionmanager.h kitemviews/kitemliststyleoption.h kitemviews/kitemlistview.h - kitemviews/kitemlistviewaccessible.h kitemviews/kitemlistwidget.h kitemviews/kitemmodelbase.h kitemviews/kitemset.h @@ -183,9 +199,11 @@ kconfig_add_kcfg_files(dolphinprivate settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc settings/dolphin_iconsmodesettings.kcfgc + settings/dolphin_contentdisplaysettings.kcfgc settings/dolphin_generalsettings.kcfgc settings/dolphin_contextmenusettings.kcfgc settings/dolphin_versioncontrolsettings.kcfgc + GENERATE_MOC ) generate_export_header(dolphinprivate BASE_NAME dolphin) @@ -193,30 +211,34 @@ generate_export_header(dolphinprivate BASE_NAME dolphin) target_link_libraries( dolphinprivate PUBLIC dolphinvcs - Qt${QT_MAJOR_VERSION}::Concurrent - Qt${QT_MAJOR_VERSION}::Gui - KF5::I18n - KF5::IconThemes - KF5::KIOCore - KF5::KIOWidgets - KF5::KIOFileWidgets - KF5::Completion - KF5::TextWidgets - KF5::ConfigCore - KF5::NewStuff - KF5::NewStuffWidgets # KNSWidgets::Button - KF5::Parts - KF5::WindowSystem - KF5::WidgetsAddons - KF5::Codecs + Qt6::Concurrent + Qt6::DBus + Qt6::Gui + KF6::I18n + KF6::GuiAddons + KF6::IconThemes + KF6::KIOCore + KF6::KIOWidgets + KF6::KIOFileWidgets + KF6::Completion + KF6::TextWidgets + KF6::ConfigCore + KF6::NewStuffWidgets # KNSWidgets::Button + KF6::Parts + KF6::WindowSystem + KF6::WidgetsAddons + KF6::Codecs + KF6::KCMUtils + KF6::FileMetaData + + ${FTS_LIB} ) if(HAVE_BALOO) target_link_libraries( dolphinprivate PUBLIC - KF5::FileMetaData - KF5::Baloo - KF5::BalooWidgets + KF6::Baloo + KF6::BalooWidgets ) endif() @@ -248,7 +270,7 @@ target_link_libraries(dolphinpart dolphinprivate ) -install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf${QT_MAJOR_VERSION}/parts) +install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/parts) install(FILES dolphinpartactions.desktop DESTINATION "${KDE_INSTALL_DATADIR}/dolphin/") ########################################## @@ -256,6 +278,10 @@ install(FILES dolphinpartactions.desktop DESTINATION "${KDE_INSTALL_DATADIR}/dol add_library(dolphinstatic STATIC) target_sources(dolphinstatic PRIVATE + admin/bar.cpp + admin/workerintegration.cpp + animatedheightwidget.cpp + disabledactionnotifier.cpp dolphinbookmarkhandler.cpp dolphindockwidget.cpp dolphinmainwindow.cpp @@ -263,6 +289,7 @@ target_sources(dolphinstatic PRIVATE dolphincontextmenu.cpp dolphinnavigatorswidgetaction.cpp dolphintabbar.cpp + dolphinpackageinstaller.cpp dolphinplacesmodelsingleton.cpp dolphinrecenttabsmenu.cpp dolphintabpage.cpp @@ -278,33 +305,38 @@ target_sources(dolphinstatic PRIVATE panels/folders/treeviewcontextmenu.cpp panels/folders/folderspanel.cpp panels/terminal/terminalpanel.cpp - search/dolphinfacetswidget.cpp + search/bar.cpp + search/barsecondrowflowlayout.cpp + search/chip.cpp search/dolphinquery.cpp - search/dolphinsearchbox.cpp + search/popup.cpp + search/selectors/dateselector.cpp + search/selectors/filetypeselector.cpp + search/selectors/minimumratingselector.cpp + search/selectors/tagsselector.cpp + search/widgetmenu.cpp selectionmode/actiontexthelper.cpp selectionmode/actionwithwidget.cpp selectionmode/backgroundcolorhelper.cpp selectionmode/bottombar.cpp selectionmode/bottombarcontentscontainer.cpp selectionmode/topbar.cpp - settings/general/behaviorsettingspage.cpp - settings/general/configurepreviewplugindialog.cpp - settings/general/confirmationssettingspage.cpp - settings/general/generalsettingspage.cpp - settings/general/previewssettingspage.cpp - settings/general/statusbarsettingspage.cpp + settings/interface/folderstabssettingspage.cpp + settings/interface/statusandlocationbarssettingspage.cpp + settings/interface/confirmationssettingspage.cpp + settings/interface/interfacesettingspage.cpp + settings/interface/previewssettingspage.cpp settings/dolphinsettingsdialog.cpp - settings/navigation/navigationsettingspage.cpp settings/contextmenu/contextmenusettingspage.cpp settings/settingspagebase.cpp - settings/serviceitemdelegate.cpp settings/servicemodel.cpp - settings/startup/startupsettingspage.cpp settings/trash/trashsettingspage.cpp settings/viewmodes/dolphinfontrequester.cpp settings/viewmodes/viewsettingspage.cpp settings/viewmodes/viewmodesettings.cpp settings/viewmodes/viewsettingstab.cpp + settings/viewmodes/contentdisplaytab.cpp + settings/viewmodes/generalviewsettingspage.cpp statusbar/dolphinstatusbar.cpp statusbar/mountpointobserver.cpp statusbar/mountpointobservercache.cpp @@ -315,6 +347,9 @@ target_sources(dolphinstatic PRIVATE global.cpp dolphin.qrc + admin/bar.h + admin/workerintegration.h + animatedheightwidget.h dolphinbookmarkhandler.h dolphindockwidget.h dolphinmainwindow.h @@ -322,6 +357,7 @@ target_sources(dolphinstatic PRIVATE dolphincontextmenu.h dolphinnavigatorswidgetaction.h dolphintabbar.h + dolphinpackageinstaller.h dolphinplacesmodelsingleton.h dolphinrecenttabsmenu.h dolphintabpage.h @@ -337,33 +373,38 @@ target_sources(dolphinstatic PRIVATE panels/folders/treeviewcontextmenu.h panels/folders/folderspanel.h panels/terminal/terminalpanel.h - search/dolphinfacetswidget.h + search/bar.h + search/barsecondrowflowlayout.h + search/chip.h search/dolphinquery.h - search/dolphinsearchbox.h + search/popup.h + search/selectors/dateselector.h + search/selectors/filetypeselector.h + search/selectors/minimumratingselector.h + search/selectors/tagsselector.h + search/widgetmenu.h selectionmode/actiontexthelper.h selectionmode/actionwithwidget.h selectionmode/backgroundcolorhelper.h selectionmode/bottombar.h selectionmode/bottombarcontentscontainer.h selectionmode/topbar.h - settings/general/behaviorsettingspage.h - settings/general/configurepreviewplugindialog.h - settings/general/confirmationssettingspage.h - settings/general/generalsettingspage.h - settings/general/previewssettingspage.h - settings/general/statusbarsettingspage.h + settings/interface/folderstabssettingspage.h + settings/interface/statusandlocationbarssettingspage.h + settings/interface/confirmationssettingspage.h + settings/interface/interfacesettingspage.h + settings/interface/previewssettingspage.h settings/dolphinsettingsdialog.h - settings/navigation/navigationsettingspage.h settings/contextmenu/contextmenusettingspage.h settings/settingspagebase.h - settings/serviceitemdelegate.h settings/servicemodel.h - settings/startup/startupsettingspage.h settings/trash/trashsettingspage.h settings/viewmodes/dolphinfontrequester.h settings/viewmodes/viewsettingspage.h settings/viewmodes/viewmodesettings.h settings/viewmodes/viewsettingstab.h + settings/viewmodes/contentdisplaytab.h + settings/viewmodes/generalviewsettingspage.h statusbar/dolphinstatusbar.h statusbar/mountpointobserver.h statusbar/mountpointobservercache.h @@ -380,11 +421,18 @@ if(HAVE_BALOO) panels/information/informationpanelcontent.cpp panels/information/pixmapviewer.cpp panels/information/phononwidget.cpp + settings/interface/panelsettingspage.cpp panels/information/informationpanel.h panels/information/informationpanelcontent.h panels/information/pixmapviewer.h panels/information/phononwidget.h + settings/interface/panelsettingspage.h + ) + + kconfig_add_kcfg_files(dolphinstatic + panels/information/dolphin_informationpanelsettings.kcfgc ) + endif() if(HAVE_KUSERFEEDBACK) @@ -402,12 +450,12 @@ endif() kconfig_add_kcfg_files(dolphinstatic panels/folders/dolphin_folderspanelsettings.kcfgc - panels/information/dolphin_informationpanelsettings.kcfgc panels/places/dolphin_placespanelsettings.kcfgc settings/dolphin_compactmodesettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc settings/dolphin_contextmenusettings.kcfgc settings/dolphin_iconsmodesettings.kcfgc + settings/dolphin_contentdisplaysettings.kcfgc search/dolphin_searchsettings.kcfgc settings/dolphin_versioncontrolsettings.kcfgc ) @@ -427,25 +475,27 @@ target_sources(dolphinstatic PRIVATE target_include_directories(dolphinstatic SYSTEM PRIVATE ${PHONON_INCLUDES}) target_link_libraries(dolphinstatic dolphinprivate - KF5::CoreAddons - KF5::KCMUtils - KF5::DBusAddons - KF5::Notifications - Phonon::phonon4qt${QT_MAJOR_VERSION} + KF6::CoreAddons + KF6::GuiAddons + KF6::KCMUtils + KF6::DBusAddons + KF6::Notifications + KF6::BookmarksWidgets + Phonon::phonon4qt6 ) -if (HAVE_KACTIVITIES) +if(HAVE_PACKAGEKIT) target_link_libraries( dolphinstatic - KF5::Activities + PK::packagekitqt6 ) endif() if (HAVE_KUSERFEEDBACK) target_link_libraries( dolphinstatic - KUserFeedbackCore - KUserFeedbackWidgets + KF6::UserFeedbackCore + KF6::UserFeedbackWidgets ) endif() @@ -461,23 +511,28 @@ if(FLATPAK) target_compile_definitions(dolphin PRIVATE FLATPAK) endif() -# Sets the icon on Windows and OSX -file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*system-file-manager.png") -ecm_add_app_icon(dolphin ICONS ${ICONS_SRCS}) +# Install the icons on macOS and Windows +ecm_add_app_icon(dolphin + ICONS + icons/128-apps-org.kde.dolphin.png + icons/16-apps-org.kde.dolphin.png + icons/22-apps-org.kde.dolphin.png + icons/32-apps-org.kde.dolphin.png + icons/48-apps-org.kde.dolphin.png + icons/64-apps-org.kde.dolphin.png +) + +install(FILES icons/org.kde.dolphin.svg DESTINATION ${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps) target_link_libraries(dolphin PRIVATE dolphinprivate dolphinstatic - KF5::Crash + KF6::Crash ) if (HAVE_X11) - if (QT_MAJOR_VERSION STREQUAL "5") - target_link_libraries(dolphin PRIVATE Qt5::X11Extras) - else() - target_link_libraries(dolphin PRIVATE Qt::GuiPrivate) - endif() + target_link_libraries(dolphin PRIVATE Qt::GuiPrivate) endif() include(DbusInterfaceMacros) @@ -496,14 +551,15 @@ install(TARGETS dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) if(NOT WIN32) # The settings are still accessible from the hamburger menu add_library(kcm_dolphinviewmodes MODULE) - add_library(kcm_dolphinnavigation MODULE) add_library(kcm_dolphingeneral MODULE) + target_compile_definitions(kcm_dolphingeneral PUBLIC IS_KCM) target_sources(kcm_dolphinviewmodes PRIVATE settings/kcm/kcmdolphinviewmodes.cpp settings/viewmodes/dolphinfontrequester.cpp settings/viewmodes/viewmodesettings.cpp settings/viewmodes/viewsettingstab.cpp + settings/settingspagebase.cpp views/zoomlevelinfo.cpp settings/kcm/kcmdolphinviewmodes.h settings/viewmodes/dolphinfontrequester.h @@ -511,32 +567,33 @@ if(NOT WIN32) settings/viewmodes/viewsettingstab.h views/zoomlevelinfo.h) - target_sources(kcm_dolphinnavigation PRIVATE - settings/kcm/kcmdolphinnavigation.cpp - settings/navigation/navigationsettingspage.cpp - settings/settingspagebase.cpp - settings/kcm/kcmdolphinnavigation.h - settings/navigation/navigationsettingspage.h - settings/settingspagebase.h - ) - target_sources(kcm_dolphingeneral PRIVATE settings/kcm/kcmdolphingeneral.cpp - settings/general/behaviorsettingspage.cpp - settings/general/previewssettingspage.cpp - settings/general/configurepreviewplugindialog.cpp - settings/general/confirmationssettingspage.cpp + settings/interface/folderstabssettingspage.cpp + settings/interface/statusandlocationbarssettingspage.cpp + settings/interface/previewssettingspage.cpp + settings/interface/confirmationssettingspage.cpp settings/settingspagebase.cpp - settings/serviceitemdelegate.cpp settings/servicemodel.cpp + dolphin_generalsettings.cpp + dolphindebug.cpp + dolphinmainwindowinterface.cpp + views/viewproperties.cpp + dolphin_directoryviewpropertysettings.cpp + global.cpp settings/kcm/kcmdolphingeneral.h - settings/general/behaviorsettingspage.h - settings/general/previewssettingspage.h - settings/general/configurepreviewplugindialog.h - settings/general/confirmationssettingspage.h + settings/interface/folderstabssettingspage.h + settings/interface/statusandlocationbarssettingspage.h + settings/interface/previewssettingspage.h + settings/interface/confirmationssettingspage.h settings/settingspagebase.h - settings/serviceitemdelegate.h settings/servicemodel.h + dolphin_generalsettings.h + dolphindebug.h + dolphinmainwindowinterface.h + views/viewproperties.h + dolphin_directoryviewpropertysettings.h + global.h ) kconfig_add_kcfg_files(kcm_dolphinviewmodes @@ -544,24 +601,23 @@ if(NOT WIN32) settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc settings/dolphin_iconsmodesettings.kcfgc + settings/dolphin_contentdisplaysettings.kcfgc settings/dolphin_generalsettings.kcfgc settings/dolphin_versioncontrolsettings.kcfgc + GENERATE_MOC ) - kconfig_add_kcfg_files(kcm_dolphinnavigation - settings/dolphin_generalsettings.kcfgc) - kconfig_add_kcfg_files(kcm_dolphingeneral - settings/dolphin_generalsettings.kcfgc) + settings/dolphin_generalsettings.kcfgc + GENERATE_MOC + ) target_link_libraries(kcm_dolphinviewmodes dolphinprivate) - target_link_libraries(kcm_dolphinnavigation dolphinprivate) target_link_libraries(kcm_dolphingeneral dolphinprivate) install( FILES org.kde.dolphin.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) install(TARGETS kcm_dolphinviewmodes DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms ) - install(TARGETS kcm_dolphinnavigation DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms ) install(TARGETS kcm_dolphingeneral DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms ) endif() @@ -586,12 +642,41 @@ install( FILES settings/dolphin_directoryviewpropertysettings.kcfg settings/dolphin_compactmodesettings.kcfg settings/dolphin_iconsmodesettings.kcfg settings/dolphin_detailsmodesettings.kcfg + settings/dolphin_contentdisplaysettings.kcfg settings/dolphin_versioncontrolsettings.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} ) install( FILES settings/dolphin_detailsmodesettings.upd + settings/dolphin_directorysizemode.upd + settings/dolphin_directorysizemode.py + settings/dolphin_statusandlocationbarssettings.upd DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR} ) +# install KF6 kconfig updater C++ scripts to kconf_update_bin +add_executable(dolphin_25.04_update_statusandlocationbarssettings "settings/dolphin_25.04_update_statusandlocationbarssettings.cpp") +target_link_libraries(dolphin_25.04_update_statusandlocationbarssettings + KF6::ConfigCore + KF6::XmlGui +) + +install( + TARGETS + dolphin_25.04_update_statusandlocationbarssettings + DESTINATION ${KDE_INSTALL_LIBDIR}/kconf_update_bin +) + if(BUILD_TESTING) add_subdirectory(tests) endif() + +# movetonewfolderitemaction plugin + +kcoreaddons_add_plugin(movetonewfolderitemaction + SOURCES itemactions/movetonewfolderitemaction.cpp itemactions/movetonewfolderitemaction.h + INSTALL_NAMESPACE "kf6/kfileitemaction") + +target_link_libraries(movetonewfolderitemaction + KF6::I18n + KF6::KIOCore + KF6::KIOWidgets + KF6::KIOFileWidgets)