2016-11-22 17:15:42 +00:00
|
|
|
include(ECMAddAppIcon)
|
2014-04-06 01:32:55 +00:00
|
|
|
|
2022-06-11 17:09:45 +00:00
|
|
|
configure_file(config-dolphin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-dolphin.h)
|
2020-08-18 21:47:53 +00:00
|
|
|
|
2015-02-26 16:40:06 +00:00
|
|
|
add_definitions(
|
|
|
|
-DTRANSLATION_DOMAIN=\"dolphin\"
|
|
|
|
)
|
|
|
|
remove_definitions(
|
|
|
|
-DQT_NO_CAST_FROM_BYTEARRAY
|
|
|
|
-DQT_NO_CAST_FROM_ASCII
|
|
|
|
-DQT_NO_CAST_TO_ASCII
|
|
|
|
)
|
2008-03-21 21:05:05 +00:00
|
|
|
|
2015-02-25 11:12:55 +00:00
|
|
|
##########################################
|
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
add_library(dolphinvcs SHARED)
|
|
|
|
|
|
|
|
target_sources(dolphinvcs PRIVATE
|
2015-02-25 11:12:55 +00:00
|
|
|
views/versioncontrol/kversioncontrolplugin.cpp
|
|
|
|
)
|
|
|
|
|
2016-04-22 17:20:56 +00:00
|
|
|
generate_export_header(dolphinvcs BASE_NAME dolphinvcs)
|
2015-02-25 11:12:55 +00:00
|
|
|
|
|
|
|
target_link_libraries(
|
|
|
|
dolphinvcs PUBLIC
|
2022-01-14 07:04:01 +00:00
|
|
|
Qt${QT_MAJOR_VERSION}::Widgets
|
2015-02-25 11:12:55 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
set_target_properties(dolphinvcs PROPERTIES
|
2021-05-03 00:03:19 +00:00
|
|
|
VERSION ${DOLPHINVCS_VERSION}
|
2015-02-25 11:12:55 +00:00
|
|
|
SOVERSION ${DOLPHINVCS_SOVERSION}
|
|
|
|
EXPORT_NAME DolphinVcs
|
|
|
|
)
|
|
|
|
|
|
|
|
ecm_generate_headers(dolphinvcs_LIB_HEADERS
|
|
|
|
HEADER_NAMES
|
|
|
|
KVersionControlPlugin
|
|
|
|
|
|
|
|
RELATIVE "views/versioncontrol"
|
|
|
|
REQUIRED_HEADERS dolphinvcs_LIB_HEADERS
|
|
|
|
)
|
2023-05-09 07:24:19 +00:00
|
|
|
target_include_directories(dolphinvcs INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}>")
|
2015-02-25 11:12:55 +00:00
|
|
|
|
|
|
|
install(TARGETS dolphinvcs EXPORT DolphinVcsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
|
2023-05-09 07:24:19 +00:00
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/Dolphin COMPONENT Devel)
|
2015-02-25 11:12:55 +00:00
|
|
|
install(FILES ${dolphinvcs_LIB_HEADERS} DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" COMPONENT Devel)
|
|
|
|
|
2006-11-21 06:02:05 +00:00
|
|
|
########### next target ###############
|
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
add_library(dolphinprivate SHARED)
|
|
|
|
|
|
|
|
target_sources(dolphinprivate PRIVATE
|
2011-07-30 18:13:09 +00:00
|
|
|
kitemviews/kfileitemlistview.cpp
|
|
|
|
kitemviews/kfileitemlistwidget.cpp
|
2022-03-23 15:03:32 +00:00
|
|
|
kitemviews/kfileitemlisttostring.cpp
|
2011-07-30 18:13:09 +00:00
|
|
|
kitemviews/kfileitemmodel.cpp
|
|
|
|
kitemviews/kfileitemmodelrolesupdater.cpp
|
|
|
|
kitemviews/kitemlistcontainer.cpp
|
|
|
|
kitemviews/kitemlistcontroller.cpp
|
|
|
|
kitemviews/kitemlistgroupheader.cpp
|
2011-09-19 14:38:07 +00:00
|
|
|
kitemviews/kitemlistheader.cpp
|
2011-07-30 18:13:09 +00:00
|
|
|
kitemviews/kitemlistselectionmanager.cpp
|
|
|
|
kitemviews/kitemliststyleoption.cpp
|
|
|
|
kitemviews/kitemlistview.cpp
|
2014-07-23 10:08:33 +00:00
|
|
|
kitemviews/kitemlistviewaccessible.cpp
|
2011-07-30 18:13:09 +00:00
|
|
|
kitemviews/kitemlistwidget.cpp
|
|
|
|
kitemviews/kitemmodelbase.cpp
|
Store the selected items in a more efficient way
Since Dolphin 2.0, we have stored the selected items in a QSet<int>,
which is neither space-efficient nor particularly fast when inserting
many items which are in a consecutive range.
This commit replaces the QSet<int> by a new class "KItemSet", which
stores the items in a sorted list of ranges. For each range, we only
store the first index and the length of the range, so we need a lot
less memory for most common selection patterns, and we also save quite
a few CPU cycles in many situations, because adding an item to the
KItemSet will in many cases not need a memory allocation at all, and
it's particularly easy when inserting sorted items into the KItemSet in
a row.
KItemSet contains a minimal subset of QSet's API which makes it
suitable as a drop-in replacement for our needs. It also has iterators,
such that the items can be iterated through easily, also with foreach.
One advantage of KItemSet compared to QSet<int> is that the items are
always iterated through in ascending order.
REVIEW: 113488
2013-10-30 22:21:09 +00:00
|
|
|
kitemviews/kitemset.cpp
|
2012-04-24 21:16:35 +00:00
|
|
|
kitemviews/kstandarditemlistgroupheader.cpp
|
2012-04-21 19:28:16 +00:00
|
|
|
kitemviews/kstandarditemlistwidget.cpp
|
2012-08-14 17:22:21 +00:00
|
|
|
kitemviews/kstandarditemlistview.cpp
|
2013-09-04 19:49:01 +00:00
|
|
|
kitemviews/private/kdirectorycontentscounter.cpp
|
|
|
|
kitemviews/private/kdirectorycontentscounterworker.cpp
|
2012-04-11 14:06:18 +00:00
|
|
|
kitemviews/private/kfileitemclipboard.cpp
|
|
|
|
kitemviews/private/kfileitemmodelfilter.cpp
|
|
|
|
kitemviews/private/kitemlistheaderwidget.cpp
|
|
|
|
kitemviews/private/kitemlistkeyboardsearchmanager.cpp
|
2012-04-17 16:13:31 +00:00
|
|
|
kitemviews/private/kitemlistroleeditor.cpp
|
2012-04-11 14:06:18 +00:00
|
|
|
kitemviews/private/kitemlistrubberband.cpp
|
|
|
|
kitemviews/private/kitemlistselectiontoggle.cpp
|
|
|
|
kitemviews/private/kitemlistsizehintresolver.cpp
|
|
|
|
kitemviews/private/kitemlistsmoothscroller.cpp
|
|
|
|
kitemviews/private/kitemlistviewanimation.cpp
|
|
|
|
kitemviews/private/kitemlistviewlayouter.cpp
|
|
|
|
kitemviews/private/kpixmapmodifier.cpp
|
2009-01-14 20:22:17 +00:00
|
|
|
settings/applyviewpropsjob.cpp
|
2011-12-08 22:08:01 +00:00
|
|
|
settings/viewmodes/viewmodesettings.cpp
|
2009-01-14 19:26:23 +00:00
|
|
|
settings/viewpropertiesdialog.cpp
|
|
|
|
settings/viewpropsprogressinfo.cpp
|
2022-04-24 11:18:30 +00:00
|
|
|
selectionmode/actiontexthelper.cpp
|
2011-09-06 21:42:42 +00:00
|
|
|
views/dolphinfileitemlistwidget.cpp
|
2012-04-21 19:28:16 +00:00
|
|
|
views/dolphinitemlistview.cpp
|
2010-08-27 05:26:27 +00:00
|
|
|
views/dolphinnewfilemenuobserver.cpp
|
2010-07-24 22:08:30 +00:00
|
|
|
views/dolphinremoteencoding.cpp
|
2011-11-06 10:58:48 +00:00
|
|
|
views/dolphinview.cpp
|
2010-07-24 22:08:30 +00:00
|
|
|
views/dolphinviewactionhandler.cpp
|
2011-09-04 15:40:44 +00:00
|
|
|
views/draganddrophelper.cpp
|
2010-07-24 22:17:01 +00:00
|
|
|
views/versioncontrol/updateitemstatesthread.cpp
|
|
|
|
views/versioncontrol/versioncontrolobserver.cpp
|
2010-07-24 21:45:49 +00:00
|
|
|
views/viewmodecontroller.cpp
|
2010-07-24 22:08:30 +00:00
|
|
|
views/viewproperties.cpp
|
2010-07-24 21:45:49 +00:00
|
|
|
views/zoomlevelinfo.cpp
|
2013-02-09 20:56:51 +00:00
|
|
|
dolphinremoveaction.cpp
|
2017-08-24 13:45:28 +00:00
|
|
|
middleclickactioneventfilter.cpp
|
2013-08-28 16:46:45 +00:00
|
|
|
dolphinnewfilemenu.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
|
|
|
|
kitemviews/kfileitemlistview.h
|
|
|
|
kitemviews/kfileitemlistwidget.h
|
|
|
|
kitemviews/kfileitemlisttostring.h
|
|
|
|
kitemviews/kfileitemmodel.h
|
|
|
|
kitemviews/kfileitemmodelrolesupdater.h
|
|
|
|
kitemviews/kitemlistcontainer.h
|
|
|
|
kitemviews/kitemlistcontroller.h
|
|
|
|
kitemviews/kitemlistgroupheader.h
|
|
|
|
kitemviews/kitemlistheader.h
|
|
|
|
kitemviews/kitemlistselectionmanager.h
|
|
|
|
kitemviews/kitemliststyleoption.h
|
|
|
|
kitemviews/kitemlistview.h
|
|
|
|
kitemviews/kitemlistviewaccessible.h
|
|
|
|
kitemviews/kitemlistwidget.h
|
|
|
|
kitemviews/kitemmodelbase.h
|
|
|
|
kitemviews/kitemset.h
|
|
|
|
kitemviews/kstandarditemlistgroupheader.h
|
|
|
|
kitemviews/kstandarditemlistwidget.h
|
|
|
|
kitemviews/kstandarditemlistview.h
|
|
|
|
kitemviews/private/kdirectorycontentscounter.h
|
|
|
|
kitemviews/private/kdirectorycontentscounterworker.h
|
|
|
|
kitemviews/private/kfileitemclipboard.h
|
|
|
|
kitemviews/private/kfileitemmodelfilter.h
|
|
|
|
kitemviews/private/kitemlistheaderwidget.h
|
|
|
|
kitemviews/private/kitemlistkeyboardsearchmanager.h
|
|
|
|
kitemviews/private/kitemlistroleeditor.h
|
|
|
|
kitemviews/private/kitemlistrubberband.h
|
|
|
|
kitemviews/private/kitemlistselectiontoggle.h
|
|
|
|
kitemviews/private/kitemlistsizehintresolver.h
|
|
|
|
kitemviews/private/kitemlistsmoothscroller.h
|
|
|
|
kitemviews/private/kitemlistviewanimation.h
|
|
|
|
kitemviews/private/kitemlistviewlayouter.h
|
|
|
|
kitemviews/private/kpixmapmodifier.h
|
|
|
|
settings/applyviewpropsjob.h
|
|
|
|
settings/viewmodes/viewmodesettings.h
|
|
|
|
settings/viewpropertiesdialog.h
|
|
|
|
settings/viewpropsprogressinfo.h
|
|
|
|
selectionmode/actiontexthelper.h
|
|
|
|
views/dolphinfileitemlistwidget.h
|
|
|
|
views/dolphinitemlistview.h
|
|
|
|
views/dolphinnewfilemenuobserver.h
|
|
|
|
views/dolphinremoteencoding.h
|
|
|
|
views/dolphinview.h
|
|
|
|
views/dolphinviewactionhandler.h
|
|
|
|
views/draganddrophelper.h
|
|
|
|
views/versioncontrol/updateitemstatesthread.h
|
|
|
|
views/versioncontrol/versioncontrolobserver.h
|
|
|
|
views/viewmodecontroller.h
|
|
|
|
views/viewproperties.h
|
|
|
|
views/zoomlevelinfo.h
|
|
|
|
dolphinremoveaction.h
|
|
|
|
middleclickactioneventfilter.h
|
|
|
|
dolphinnewfilemenu.h
|
2009-11-10 21:41:14 +00:00
|
|
|
)
|
2009-12-20 04:28:22 +00:00
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
ecm_qt_declare_logging_category(dolphinprivate
|
|
|
|
HEADER dolphindebug.h
|
|
|
|
IDENTIFIER DolphinDebug
|
|
|
|
CATEGORY_NAME org.kde.dolphin
|
|
|
|
DESCRIPTION "dolphin"
|
|
|
|
EXPORT DOLPHIN
|
|
|
|
)
|
2018-11-02 12:23:10 +00:00
|
|
|
|
2014-02-06 19:29:09 +00:00
|
|
|
if(HAVE_BALOO)
|
2021-05-17 07:05:34 +00:00
|
|
|
target_sources(dolphinprivate PRIVATE
|
2018-08-13 21:36:35 +00:00
|
|
|
views/tooltips/dolphinfilemetadatawidget.cpp
|
|
|
|
views/tooltips/tooltipmanager.cpp
|
2014-02-06 19:29:09 +00:00
|
|
|
kitemviews/private/kbaloorolesprovider.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
views/tooltips/dolphinfilemetadatawidget.h
|
|
|
|
views/tooltips/tooltipmanager.h
|
|
|
|
kitemviews/private/kbaloorolesprovider.h
|
2012-04-01 14:42:46 +00:00
|
|
|
)
|
2013-01-07 17:11:07 +00:00
|
|
|
endif()
|
2012-04-01 14:42:46 +00:00
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
kconfig_add_kcfg_files(dolphinprivate
|
2011-07-30 18:13:09 +00:00
|
|
|
settings/dolphin_compactmodesettings.kcfgc
|
2009-01-14 19:26:23 +00:00
|
|
|
settings/dolphin_directoryviewpropertysettings.kcfgc
|
|
|
|
settings/dolphin_detailsmodesettings.kcfgc
|
|
|
|
settings/dolphin_iconsmodesettings.kcfgc
|
2009-12-12 22:44:05 +00:00
|
|
|
settings/dolphin_generalsettings.kcfgc
|
2020-11-12 09:38:44 +00:00
|
|
|
settings/dolphin_contextmenusettings.kcfgc
|
2009-12-12 22:44:05 +00:00
|
|
|
settings/dolphin_versioncontrolsettings.kcfgc
|
|
|
|
)
|
2007-03-23 15:32:28 +00:00
|
|
|
|
2016-04-22 17:20:56 +00:00
|
|
|
generate_export_header(dolphinprivate BASE_NAME dolphin)
|
2007-03-23 15:32:28 +00:00
|
|
|
|
2012-05-05 19:38:01 +00:00
|
|
|
target_link_libraries(
|
2014-04-30 18:35:23 +00:00
|
|
|
dolphinprivate PUBLIC
|
2015-02-25 11:12:55 +00:00
|
|
|
dolphinvcs
|
2022-01-14 07:04:01 +00:00
|
|
|
Qt${QT_MAJOR_VERSION}::Concurrent
|
|
|
|
Qt${QT_MAJOR_VERSION}::Gui
|
2023-02-06 21:42:39 +00:00
|
|
|
KF6::I18n
|
|
|
|
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
|
2023-05-07 16:27:41 +00:00
|
|
|
KF6::KCMUtils
|
2023-02-09 07:44:49 +00:00
|
|
|
|
|
|
|
KF6::MoreTools
|
2012-05-05 19:38:01 +00:00
|
|
|
)
|
|
|
|
|
2014-02-06 19:29:09 +00:00
|
|
|
if(HAVE_BALOO)
|
2012-04-06 16:03:24 +00:00
|
|
|
target_link_libraries(
|
2014-04-30 18:35:23 +00:00
|
|
|
dolphinprivate PUBLIC
|
2023-02-06 21:42:39 +00:00
|
|
|
KF6::FileMetaData
|
|
|
|
KF6::Baloo
|
|
|
|
KF6::BalooWidgets
|
2012-04-06 16:03:24 +00:00
|
|
|
)
|
2013-01-07 17:11:07 +00:00
|
|
|
endif()
|
2012-04-01 14:42:46 +00:00
|
|
|
|
2014-06-28 22:49:11 +00:00
|
|
|
set_target_properties(dolphinprivate PROPERTIES
|
2021-05-03 00:03:19 +00:00
|
|
|
VERSION ${DOLPHINPRIVATE_VERSION}
|
2014-06-28 22:49:11 +00:00
|
|
|
SOVERSION ${DOLPHINPRIVATE_SOVERSION}
|
|
|
|
)
|
|
|
|
|
2015-08-19 08:59:46 +00:00
|
|
|
install(TARGETS dolphinprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
|
2016-04-22 17:20:56 +00:00
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)
|
2007-03-23 15:32:28 +00:00
|
|
|
|
2007-07-01 14:25:21 +00:00
|
|
|
##########################################
|
2022-04-16 11:03:38 +00:00
|
|
|
configure_file(dolphinpart.json.in ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.json @ONLY)
|
2007-07-01 14:25:21 +00:00
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
add_library(dolphinpart MODULE)
|
|
|
|
|
|
|
|
target_sources(dolphinpart PRIVATE
|
|
|
|
dolphinpart.cpp
|
|
|
|
dolphinpart_ext.cpp
|
|
|
|
dolphindebug.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
dolphinpart.h
|
|
|
|
dolphinpart_ext.h
|
|
|
|
dolphindebug.h
|
2021-05-17 07:05:34 +00:00
|
|
|
|
|
|
|
dolphinpart.qrc
|
2007-07-01 14:25:21 +00:00
|
|
|
)
|
|
|
|
|
2014-06-28 22:49:11 +00:00
|
|
|
target_link_libraries(dolphinpart
|
|
|
|
dolphinprivate
|
|
|
|
)
|
2007-07-01 14:25:21 +00:00
|
|
|
|
2022-06-11 11:34:22 +00:00
|
|
|
install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf${QT_MAJOR_VERSION}/parts)
|
2022-08-01 16:35:35 +00:00
|
|
|
install(FILES dolphinpartactions.desktop DESTINATION "${KDE_INSTALL_DATADIR}/dolphin/")
|
2007-07-01 14:25:21 +00:00
|
|
|
|
2007-03-23 15:32:28 +00:00
|
|
|
##########################################
|
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
add_library(dolphinstatic STATIC)
|
|
|
|
|
|
|
|
target_sources(dolphinstatic PRIVATE
|
Add Bookmark Handling
Summary:
Add Bookmark Handling. Adds complete bookmark support as provided by
other KDE applications like Konsole and Konqueror. This allows you to
bookmark individual folders, create bookmark folders and open them.
Test Plan:
Go -> Bookmark -> Add Bookmark
Go -> Bookmark -> [Open the bookmark you selected]
FEATURE: 171366
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: ognarb, meven, loh.tar, cfeck, hein, kfm-devel
Tags: #dolphin
Maniphest Tasks: T5408
Differential Revision: https://phabricator.kde.org/D19926
2019-03-20 19:29:20 +00:00
|
|
|
dolphinbookmarkhandler.cpp
|
2010-12-31 10:59:46 +00:00
|
|
|
dolphindockwidget.cpp
|
2008-03-23 15:54:07 +00:00
|
|
|
dolphinmainwindow.cpp
|
|
|
|
dolphinviewcontainer.cpp
|
|
|
|
dolphincontextmenu.cpp
|
2020-09-20 16:53:59 +00:00
|
|
|
dolphinnavigatorswidgetaction.cpp
|
2014-07-08 17:38:18 +00:00
|
|
|
dolphintabbar.cpp
|
2018-03-19 08:57:24 +00:00
|
|
|
dolphinplacesmodelsingleton.cpp
|
2014-06-19 20:04:36 +00:00
|
|
|
dolphinrecenttabsmenu.cpp
|
2014-07-02 13:30:37 +00:00
|
|
|
dolphintabpage.cpp
|
2014-08-10 16:52:06 +00:00
|
|
|
dolphintabwidget.cpp
|
2020-06-14 14:20:02 +00:00
|
|
|
dolphinurlnavigator.cpp
|
2020-11-05 22:30:07 +00:00
|
|
|
dolphinurlnavigatorscontroller.cpp
|
Add Trash (empty, isEmpty, emptinessChanged)
Summary: Add `Trash` class to handle all trash operations.
Reviewers: elvisangelaccio, markg, ngraham
Reviewed By: elvisangelaccio, markg, ngraham
Subscribers: ngraham, markg, rkflx, elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D11012
2018-03-03 16:44:56 +00:00
|
|
|
trash/dolphintrash.cpp
|
2010-07-24 21:45:49 +00:00
|
|
|
filterbar/filterbar.cpp
|
2021-09-12 13:33:39 +00:00
|
|
|
kitemviews/kfileitemlisttostring.cpp
|
2009-01-14 20:22:17 +00:00
|
|
|
panels/places/placespanel.cpp
|
2009-01-14 20:14:36 +00:00
|
|
|
panels/panel.cpp
|
2012-08-13 16:40:43 +00:00
|
|
|
panels/folders/foldersitemlistwidget.cpp
|
2009-01-14 19:26:23 +00:00
|
|
|
panels/folders/treeviewcontextmenu.cpp
|
2009-01-14 20:14:36 +00:00
|
|
|
panels/folders/folderspanel.cpp
|
2018-01-21 11:18:21 +00:00
|
|
|
panels/terminal/terminalpanel.cpp
|
2012-04-25 00:16:35 +00:00
|
|
|
search/dolphinfacetswidget.cpp
|
2019-11-13 21:16:35 +00:00
|
|
|
search/dolphinquery.cpp
|
2009-10-17 15:05:50 +00:00
|
|
|
search/dolphinsearchbox.cpp
|
2022-04-24 11:18:30 +00:00
|
|
|
selectionmode/actiontexthelper.cpp
|
2021-09-12 13:33:39 +00:00
|
|
|
selectionmode/actionwithwidget.cpp
|
|
|
|
selectionmode/backgroundcolorhelper.cpp
|
2022-04-24 11:18:30 +00:00
|
|
|
selectionmode/bottombar.cpp
|
|
|
|
selectionmode/bottombarcontentscontainer.cpp
|
|
|
|
selectionmode/topbar.cpp
|
2010-07-24 20:39:19 +00:00
|
|
|
settings/general/behaviorsettingspage.cpp
|
2012-04-08 21:15:32 +00:00
|
|
|
settings/general/confirmationssettingspage.cpp
|
2010-07-24 20:39:19 +00:00
|
|
|
settings/general/generalsettingspage.cpp
|
|
|
|
settings/general/previewssettingspage.cpp
|
|
|
|
settings/general/statusbarsettingspage.cpp
|
2009-01-14 20:22:17 +00:00
|
|
|
settings/dolphinsettingsdialog.cpp
|
2010-07-24 20:39:19 +00:00
|
|
|
settings/navigation/navigationsettingspage.cpp
|
2020-11-12 09:38:44 +00:00
|
|
|
settings/contextmenu/contextmenusettingspage.cpp
|
2009-01-17 18:42:06 +00:00
|
|
|
settings/settingspagebase.cpp
|
2011-02-25 19:39:18 +00:00
|
|
|
settings/serviceitemdelegate.cpp
|
|
|
|
settings/servicemodel.cpp
|
2010-07-24 20:39:19 +00:00
|
|
|
settings/startup/startupsettingspage.cpp
|
|
|
|
settings/trash/trashsettingspage.cpp
|
|
|
|
settings/viewmodes/dolphinfontrequester.cpp
|
|
|
|
settings/viewmodes/viewsettingspage.cpp
|
2011-12-08 22:08:01 +00:00
|
|
|
settings/viewmodes/viewmodesettings.cpp
|
2011-09-02 17:48:57 +00:00
|
|
|
settings/viewmodes/viewsettingstab.cpp
|
2009-08-01 20:01:51 +00:00
|
|
|
statusbar/dolphinstatusbar.cpp
|
Keep the "free space" information updated in all visible views
The old code would watch the free space on a mount point, i.e.,
determine the free space again, in 10-second intervals, only until the
view became invisible once (even if it was invisible only for a very
short moment, i.e., while splitting the view).
This commit ensures that the mount point is watched again as soon as
the corresponding view becomes visible again.
Moreover, the object that watches the free space for a mount point is
shared among all views that show URLs that belong to this mount point.
To achieve this, there is a central cache which can be used to obtain
an existing MountPointObserver for a certain path. If necessary, a new
MountPointObserver is created and added to the cache.
The MountPointObserver is removed from the cache and destroyed only if
no views use it any more, and no new users appear until the next update
(which happens every 10 seconds). This prevents that the free space is
measured repeatedly when changing the current directory on the same
mount point.
Many thanks to Emmanuel Pescosta for the initial ideas to factor out
the "free space" code and to establish a central storage for the
"observer" objects, and for providing many good suggestions how to
improve the code!
BUG: 327708
REVIEW: 118208
FIXED-IN: 4.14.0
2014-05-22 16:42:17 +00:00
|
|
|
statusbar/mountpointobserver.cpp
|
|
|
|
statusbar/mountpointobservercache.cpp
|
|
|
|
statusbar/spaceinfoobserver.cpp
|
2009-08-01 20:01:51 +00:00
|
|
|
statusbar/statusbarspaceinfo.cpp
|
2010-07-24 21:45:49 +00:00
|
|
|
views/zoomlevelinfo.cpp
|
2015-02-24 16:07:55 +00:00
|
|
|
dolphindebug.cpp
|
2015-04-22 13:29:39 +00:00
|
|
|
global.cpp
|
2021-05-19 20:10:14 +00:00
|
|
|
dolphin.qrc
|
2022-10-11 06:51:03 +00:00
|
|
|
|
|
|
|
dolphinbookmarkhandler.h
|
|
|
|
dolphindockwidget.h
|
|
|
|
dolphinmainwindow.h
|
|
|
|
dolphinviewcontainer.h
|
|
|
|
dolphincontextmenu.h
|
|
|
|
dolphinnavigatorswidgetaction.h
|
|
|
|
dolphintabbar.h
|
|
|
|
dolphinplacesmodelsingleton.h
|
|
|
|
dolphinrecenttabsmenu.h
|
|
|
|
dolphintabpage.h
|
|
|
|
dolphintabwidget.h
|
|
|
|
dolphinurlnavigator.h
|
|
|
|
dolphinurlnavigatorscontroller.h
|
|
|
|
trash/dolphintrash.h
|
|
|
|
filterbar/filterbar.h
|
|
|
|
kitemviews/kfileitemlisttostring.h
|
|
|
|
panels/places/placespanel.h
|
|
|
|
panels/panel.h
|
|
|
|
panels/folders/foldersitemlistwidget.h
|
|
|
|
panels/folders/treeviewcontextmenu.h
|
|
|
|
panels/folders/folderspanel.h
|
|
|
|
panels/terminal/terminalpanel.h
|
|
|
|
search/dolphinfacetswidget.h
|
|
|
|
search/dolphinquery.h
|
|
|
|
search/dolphinsearchbox.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/confirmationssettingspage.h
|
|
|
|
settings/general/generalsettingspage.h
|
|
|
|
settings/general/previewssettingspage.h
|
|
|
|
settings/general/statusbarsettingspage.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
|
|
|
|
statusbar/dolphinstatusbar.h
|
|
|
|
statusbar/mountpointobserver.h
|
|
|
|
statusbar/mountpointobservercache.h
|
|
|
|
statusbar/spaceinfoobserver.h
|
|
|
|
statusbar/statusbarspaceinfo.h
|
|
|
|
views/zoomlevelinfo.h
|
|
|
|
dolphindebug.h
|
|
|
|
global.h
|
2009-11-21 22:08:59 +00:00
|
|
|
)
|
2008-03-23 15:54:07 +00:00
|
|
|
|
2018-08-13 21:36:35 +00:00
|
|
|
if(HAVE_BALOO)
|
2021-05-17 07:05:34 +00:00
|
|
|
target_sources(dolphinstatic PRIVATE
|
2018-08-13 21:36:35 +00:00
|
|
|
panels/information/informationpanel.cpp
|
|
|
|
panels/information/informationpanelcontent.cpp
|
|
|
|
panels/information/pixmapviewer.cpp
|
|
|
|
panels/information/phononwidget.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
panels/information/informationpanel.h
|
|
|
|
panels/information/informationpanelcontent.h
|
|
|
|
panels/information/pixmapviewer.h
|
|
|
|
panels/information/phononwidget.h
|
2018-08-13 21:36:35 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2020-08-18 21:47:53 +00:00
|
|
|
if(HAVE_KUSERFEEDBACK)
|
2021-05-17 07:05:34 +00:00
|
|
|
target_sources(dolphinstatic PRIVATE
|
2020-08-18 21:47:53 +00:00
|
|
|
userfeedback/dolphinfeedbackprovider.cpp
|
|
|
|
userfeedback/settingsdatasource.cpp
|
|
|
|
userfeedback/placesdatasource.cpp
|
|
|
|
settings/userfeedback/userfeedbacksettingspage.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
userfeedback/dolphinfeedbackprovider.h
|
|
|
|
userfeedback/settingsdatasource.h
|
|
|
|
userfeedback/placesdatasource.h
|
|
|
|
settings/userfeedback/userfeedbacksettingspage.h
|
2020-08-18 21:47:53 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
kconfig_add_kcfg_files(dolphinstatic
|
2009-03-10 19:21:21 +00:00
|
|
|
panels/folders/dolphin_folderspanelsettings.kcfgc
|
2009-11-21 22:08:59 +00:00
|
|
|
panels/information/dolphin_informationpanelsettings.kcfgc
|
2012-09-27 06:11:53 +00:00
|
|
|
panels/places/dolphin_placespanelsettings.kcfgc
|
2011-07-30 18:13:09 +00:00
|
|
|
settings/dolphin_compactmodesettings.kcfgc
|
|
|
|
settings/dolphin_detailsmodesettings.kcfgc
|
2020-11-12 09:38:44 +00:00
|
|
|
settings/dolphin_contextmenusettings.kcfgc
|
2011-07-30 18:13:09 +00:00
|
|
|
settings/dolphin_iconsmodesettings.kcfgc
|
2009-11-21 22:08:59 +00:00
|
|
|
search/dolphin_searchsettings.kcfgc
|
2010-04-04 20:45:09 +00:00
|
|
|
settings/dolphin_versioncontrolsettings.kcfgc
|
2009-11-21 22:08:59 +00:00
|
|
|
)
|
2021-05-17 07:05:34 +00:00
|
|
|
kconfig_add_kcfg_files(dolphinstatic GENERATE_MOC
|
2021-04-24 06:58:43 +00:00
|
|
|
settings/dolphin_generalsettings.kcfgc
|
|
|
|
)
|
2006-11-21 06:02:05 +00:00
|
|
|
|
2022-01-14 07:04:01 +00:00
|
|
|
qt_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dolphinmainwindow.h org.kde.DolphinMainWindow.xml)
|
|
|
|
qt_add_dbus_adaptor(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindow.h DolphinMainWindow)
|
|
|
|
qt_add_dbus_interface(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindowinterface)
|
|
|
|
qt_add_dbus_interface(dolphin_dbus_SRCS panels/terminal/org.kde.KIOFuse.VFS.xml kiofuse_interface)
|
2019-12-23 10:06:54 +00:00
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
target_sources(dolphinstatic PRIVATE
|
|
|
|
${dolphin_dbus_SRCS}
|
|
|
|
)
|
2007-05-01 15:18:07 +00:00
|
|
|
|
2018-07-08 12:13:52 +00:00
|
|
|
target_include_directories(dolphinstatic SYSTEM PRIVATE ${PHONON_INCLUDES})
|
2017-05-21 19:41:13 +00:00
|
|
|
target_link_libraries(dolphinstatic
|
2009-11-24 07:15:24 +00:00
|
|
|
dolphinprivate
|
2023-02-06 21:42:39 +00:00
|
|
|
KF6::CoreAddons
|
|
|
|
KF6::KCMUtils
|
|
|
|
KF6::DBusAddons
|
|
|
|
KF6::Notifications
|
2022-03-15 12:30:13 +00:00
|
|
|
Phonon::phonon4qt${QT_MAJOR_VERSION}
|
2009-11-24 07:15:24 +00:00
|
|
|
)
|
2007-05-02 10:02:19 +00:00
|
|
|
|
2019-01-15 17:47:27 +00:00
|
|
|
if (HAVE_KACTIVITIES)
|
2012-08-10 15:49:39 +00:00
|
|
|
target_link_libraries(
|
2017-05-21 19:41:13 +00:00
|
|
|
dolphinstatic
|
2023-02-06 21:42:39 +00:00
|
|
|
KF6::Activities
|
2012-08-10 15:49:39 +00:00
|
|
|
)
|
2014-04-30 18:35:23 +00:00
|
|
|
endif()
|
2012-08-10 15:49:39 +00:00
|
|
|
|
2020-08-18 21:47:53 +00:00
|
|
|
if (HAVE_KUSERFEEDBACK)
|
|
|
|
target_link_libraries(
|
|
|
|
dolphinstatic
|
2023-05-08 15:43:48 +00:00
|
|
|
KUserFeedbackCoreQt6
|
|
|
|
KUserFeedbackWidgetsQt6
|
2020-08-18 21:47:53 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2021-05-17 07:05:34 +00:00
|
|
|
add_executable(dolphin)
|
|
|
|
|
|
|
|
target_sources(dolphin PRIVATE
|
2017-05-21 19:41:13 +00:00
|
|
|
dbusinterface.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
dbusinterface.h
|
2017-05-21 19:41:13 +00:00
|
|
|
main.cpp
|
|
|
|
)
|
|
|
|
|
2022-01-04 21:53:44 +00:00
|
|
|
if(FLATPAK)
|
|
|
|
target_compile_definitions(dolphin PRIVATE FLATPAK)
|
|
|
|
endif()
|
|
|
|
|
2017-05-21 19:41:13 +00:00
|
|
|
# Sets the icon on Windows and OSX
|
|
|
|
file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*system-file-manager.png")
|
2022-03-20 19:16:04 +00:00
|
|
|
ecm_add_app_icon(dolphin ICONS ${ICONS_SRCS})
|
2017-05-21 19:41:13 +00:00
|
|
|
|
2021-03-28 15:11:36 +00:00
|
|
|
target_link_libraries(dolphin
|
2019-11-12 16:47:35 +00:00
|
|
|
PRIVATE
|
2021-03-28 15:11:36 +00:00
|
|
|
dolphinprivate
|
2019-11-12 16:47:35 +00:00
|
|
|
dolphinstatic
|
2023-02-06 21:42:39 +00:00
|
|
|
KF6::Crash
|
2017-05-21 19:41:13 +00:00
|
|
|
)
|
|
|
|
|
2022-12-14 23:56:11 +00:00
|
|
|
if (HAVE_X11)
|
|
|
|
if (QT_MAJOR_VERSION STREQUAL "5")
|
2023-05-07 16:27:41 +00:00
|
|
|
target_link_libraries(dolphin PRIVATE Qt{QT_MAJOR_VERSION}::X11Extras)
|
2022-12-14 23:56:11 +00:00
|
|
|
else()
|
|
|
|
target_link_libraries(dolphin PRIVATE Qt::GuiPrivate)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2015-04-22 13:29:39 +00:00
|
|
|
include(DbusInterfaceMacros)
|
|
|
|
|
|
|
|
generate_and_install_dbus_interface(
|
2021-03-28 15:11:36 +00:00
|
|
|
dolphin
|
2015-04-22 13:29:39 +00:00
|
|
|
dbusinterface.h
|
|
|
|
org.freedesktop.FileManager1.xml
|
|
|
|
OPTIONS -a
|
|
|
|
)
|
|
|
|
|
2015-02-25 11:12:55 +00:00
|
|
|
install(TARGETS dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
2006-11-21 06:02:05 +00:00
|
|
|
|
2008-03-23 15:54:07 +00:00
|
|
|
##########################################
|
|
|
|
|
2020-09-09 08:39:52 +00:00
|
|
|
if(NOT WIN32)
|
|
|
|
# The settings are still accessible from the hamburger menu
|
2022-04-16 11:05:02 +00:00
|
|
|
add_library(kcm_dolphinviewmodes MODULE)
|
|
|
|
add_library(kcm_dolphinnavigation MODULE)
|
|
|
|
add_library(kcm_dolphingeneral MODULE)
|
2021-05-17 07:05:34 +00:00
|
|
|
|
|
|
|
target_sources(kcm_dolphinviewmodes PRIVATE
|
|
|
|
settings/kcm/kcmdolphinviewmodes.cpp
|
|
|
|
settings/viewmodes/dolphinfontrequester.cpp
|
|
|
|
settings/viewmodes/viewmodesettings.cpp
|
|
|
|
settings/viewmodes/viewsettingstab.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
views/zoomlevelinfo.cpp
|
|
|
|
settings/kcm/kcmdolphinviewmodes.h
|
|
|
|
settings/viewmodes/dolphinfontrequester.h
|
|
|
|
settings/viewmodes/viewmodesettings.h
|
|
|
|
settings/viewmodes/viewsettingstab.h
|
|
|
|
views/zoomlevelinfo.h)
|
2021-05-17 07:05:34 +00:00
|
|
|
|
|
|
|
target_sources(kcm_dolphinnavigation PRIVATE
|
|
|
|
settings/kcm/kcmdolphinnavigation.cpp
|
|
|
|
settings/navigation/navigationsettingspage.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
settings/settingspagebase.cpp
|
|
|
|
settings/kcm/kcmdolphinnavigation.h
|
|
|
|
settings/navigation/navigationsettingspage.h
|
|
|
|
settings/settingspagebase.h
|
|
|
|
)
|
2021-05-17 07:05:34 +00:00
|
|
|
|
|
|
|
target_sources(kcm_dolphingeneral PRIVATE
|
|
|
|
settings/kcm/kcmdolphingeneral.cpp
|
|
|
|
settings/general/behaviorsettingspage.cpp
|
|
|
|
settings/general/previewssettingspage.cpp
|
|
|
|
settings/general/confirmationssettingspage.cpp
|
|
|
|
settings/settingspagebase.cpp
|
|
|
|
settings/serviceitemdelegate.cpp
|
2022-10-11 06:51:03 +00:00
|
|
|
settings/servicemodel.cpp
|
|
|
|
settings/kcm/kcmdolphingeneral.h
|
|
|
|
settings/general/behaviorsettingspage.h
|
|
|
|
settings/general/previewssettingspage.h
|
|
|
|
settings/general/confirmationssettingspage.h
|
|
|
|
settings/settingspagebase.h
|
|
|
|
settings/serviceitemdelegate.h
|
|
|
|
settings/servicemodel.h
|
|
|
|
)
|
2021-05-17 07:05:34 +00:00
|
|
|
|
|
|
|
kconfig_add_kcfg_files(kcm_dolphinviewmodes
|
|
|
|
settings/dolphin_compactmodesettings.kcfgc
|
|
|
|
settings/dolphin_directoryviewpropertysettings.kcfgc
|
|
|
|
settings/dolphin_detailsmodesettings.kcfgc
|
|
|
|
settings/dolphin_iconsmodesettings.kcfgc
|
|
|
|
settings/dolphin_generalsettings.kcfgc
|
|
|
|
settings/dolphin_versioncontrolsettings.kcfgc
|
|
|
|
)
|
|
|
|
|
|
|
|
kconfig_add_kcfg_files(kcm_dolphinnavigation
|
|
|
|
settings/dolphin_generalsettings.kcfgc)
|
|
|
|
|
|
|
|
kconfig_add_kcfg_files(kcm_dolphingeneral
|
|
|
|
settings/dolphin_generalsettings.kcfgc)
|
2020-09-09 08:39:52 +00:00
|
|
|
|
|
|
|
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} )
|
|
|
|
|
2021-09-02 18:11:11 +00:00
|
|
|
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 )
|
2020-09-09 08:39:52 +00:00
|
|
|
endif()
|
2006-11-21 06:02:05 +00:00
|
|
|
|
2020-08-26 07:59:26 +00:00
|
|
|
if(NOT WIN32)
|
2020-11-12 09:38:44 +00:00
|
|
|
add_subdirectory(settings/contextmenu/servicemenuinstaller)
|
|
|
|
install( FILES settings/contextmenu/servicemenu.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
|
2020-08-26 07:59:26 +00:00
|
|
|
endif()
|
2019-07-14 21:14:51 +00:00
|
|
|
|
2006-11-21 06:02:05 +00:00
|
|
|
########### install files ###############
|
|
|
|
|
2015-03-08 17:57:23 +00:00
|
|
|
install( PROGRAMS org.kde.dolphin.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
|
2019-04-03 14:56:08 +00:00
|
|
|
|
|
|
|
install( DIRECTORY DESTINATION "${KDE_INSTALL_FULL_DATAROOTDIR}/kglobalaccel" )
|
|
|
|
|
|
|
|
install(
|
2019-05-04 11:26:00 +00:00
|
|
|
CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink \"${KDE_INSTALL_FULL_APPDIR}/org.kde.dolphin.desktop\" \"\$ENV{DESTDIR}${KDE_INSTALL_FULL_DATAROOTDIR}/kglobalaccel/org.kde.dolphin.desktop\")"
|
2019-04-03 14:56:08 +00:00
|
|
|
)
|
|
|
|
|
2009-12-12 22:44:05 +00:00
|
|
|
install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
|
|
|
|
settings/dolphin_generalsettings.kcfg
|
2020-11-12 09:38:44 +00:00
|
|
|
settings/dolphin_contextmenusettings.kcfg
|
2011-07-30 18:13:09 +00:00
|
|
|
settings/dolphin_compactmodesettings.kcfg
|
2009-12-12 22:44:05 +00:00
|
|
|
settings/dolphin_iconsmodesettings.kcfg
|
|
|
|
settings/dolphin_detailsmodesettings.kcfg
|
|
|
|
settings/dolphin_versioncontrolsettings.kcfg
|
2015-03-08 17:57:23 +00:00
|
|
|
DESTINATION ${KDE_INSTALL_KCFGDIR} )
|
2014-06-29 00:07:41 +00:00
|
|
|
|
2022-05-26 08:31:12 +00:00
|
|
|
install( FILES settings/dolphin_detailsmodesettings.upd
|
|
|
|
DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR} )
|
|
|
|
|
2015-01-22 21:16:07 +00:00
|
|
|
if(BUILD_TESTING)
|
|
|
|
add_subdirectory(tests)
|
|
|
|
endif()
|