1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-04 17:30:55 +00:00

Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib

REVIEW: 122687
This commit is contained in:
Emmanuel Pescosta 2015-02-25 12:12:55 +01:00
parent f6b4f56216
commit 25751088c3
58 changed files with 469 additions and 194 deletions

View File

@ -3,18 +3,25 @@ cmake_minimum_required(VERSION 2.8.12)
project(Dolphin) project(Dolphin)
# ECM setup # ECM setup
find_package(ECM 1.2.0 CONFIG REQUIRED) find_package(ECM 1.6.0 CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
set(DOLPHIN_VERSION "4.97.0") set(DOLPHIN_VERSION "4.97.0")
include(ECMSetupVersion) include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(GenerateExportHeader) include(GenerateExportHeader)
include(FeatureSummary) include(FeatureSummary)
include(KDEInstallDirs) include(KDEInstallDirs)
include(KDECMakeSettings) include(KDECMakeSettings)
include(KDEFrameworkCompilerSettings) include(KDEFrameworkCompilerSettings)
ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINVCS
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
SOVERSION 5
)
ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINPRIVATE ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINPRIVATE
SOVERSION 5 SOVERSION 5
) )
@ -24,12 +31,6 @@ find_package(KF5 COMPONENTS Activities)
find_package(Phonon4Qt5 CONFIG REQUIRED) find_package(Phonon4Qt5 CONFIG REQUIRED)
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}")
find_package(KF5Konq CONFIG REQUIRED)
else()
include_directories(${LibKonq_SOURCE_DIR}/src)
endif()
find_package(KF5Baloo 4.97) find_package(KF5Baloo 4.97)
set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries" set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
URL "http://www.kde.org" URL "http://www.kde.org"
@ -58,6 +59,33 @@ endif()
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(docs) add_subdirectory(docs)
# CMake files
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Dolphin")
ecm_configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
install(EXPORT DolphinVcsTargets
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
FILE DolphinVcsTargets.cmake
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
COMPONENT Devel
)
# TODO Remove the if/endif lines if Dolphin is split. # TODO Remove the if/endif lines if Dolphin is split.
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}") if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}")
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)

View File

@ -0,0 +1,6 @@
@PACKAGE_INIT@
find_dependency(Qt5Widgets)
find_dependency(KF5KIO)
include("${CMAKE_CURRENT_LIST_DIR}/DolphinVcsTargets.cmake")

View File

@ -12,6 +12,42 @@ endif()
configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h) configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h)
##########################################
set(dolphinvcs_LIB_SRCS
views/versioncontrol/kversioncontrolplugin.cpp
)
add_library(dolphinvcs ${dolphinvcs_LIB_SRCS})
generate_export_header(dolphinvcs BASE_NAME dolphin)
target_link_libraries(
dolphinvcs PUBLIC
Qt5::Widgets
KF5::KIOCore
)
set_target_properties(dolphinvcs PROPERTIES
VERSION ${DOLPHINVCS_VERSION_STRING}
SOVERSION ${DOLPHINVCS_SOVERSION}
EXPORT_NAME DolphinVcs
)
ecm_generate_headers(dolphinvcs_LIB_HEADERS
HEADER_NAMES
KVersionControlPlugin
RELATIVE "views/versioncontrol"
REQUIRED_HEADERS dolphinvcs_LIB_HEADERS
)
install(TARGETS dolphinvcs EXPORT DolphinVcsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)
install(FILES ${dolphinvcs_LIB_HEADERS} DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" COMPONENT Devel)
########### next target ############### ########### next target ###############
set(dolphinprivate_LIB_SRCS set(dolphinprivate_LIB_SRCS
@ -93,13 +129,10 @@ kconfig_add_kcfg_files(dolphinprivate_LIB_SRCS GENERATE_MOC
add_library(dolphinprivate ${dolphinprivate_LIB_SRCS}) add_library(dolphinprivate ${dolphinprivate_LIB_SRCS})
generate_export_header(dolphinprivate BASE_NAME libdolphinprivate
EXPORT_FILE_NAME libdolphin_export.h)
target_link_libraries( target_link_libraries(
dolphinprivate PUBLIC dolphinprivate PUBLIC
dolphinvcs
KF5::KDELibs4Support KF5::KDELibs4Support
KF5::Konq
KF5::NewStuff KF5::NewStuff
) )
@ -122,7 +155,7 @@ set_target_properties(dolphinprivate PROPERTIES
SOVERSION ${DOLPHINPRIVATE_SOVERSION} SOVERSION ${DOLPHINPRIVATE_SOVERSION}
) )
install(TARGETS dolphinprivate ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS dolphinprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
########################################## ##########################################
@ -136,7 +169,6 @@ add_library(dolphinpart MODULE ${dolphinpart_SRCS})
target_link_libraries(dolphinpart target_link_libraries(dolphinpart
dolphinprivate dolphinprivate
KF5::Konq
KF5::KDELibs4Support KF5::KDELibs4Support
) )
@ -144,7 +176,6 @@ install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES dolphinpart.rc DESTINATION ${CMAKE_INSTALL_KXMLGUI5DIR}/dolphinpart) install(FILES dolphinpart.rc DESTINATION ${CMAKE_INSTALL_KXMLGUI5DIR}/dolphinpart)
install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR}) install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR})
install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
########################################## ##########################################
@ -230,7 +261,6 @@ kf5_add_kdeinit_executable(dolphin ${dolphin_SRCS})
target_include_directories(kdeinit_dolphin PRIVATE ${PHONON_INCLUDES}) target_include_directories(kdeinit_dolphin PRIVATE ${PHONON_INCLUDES})
target_link_libraries(kdeinit_dolphin target_link_libraries(kdeinit_dolphin
KF5::Konq
dolphinprivate dolphinprivate
KF5::NewStuff KF5::NewStuff
KF5::Parts KF5::Parts
@ -251,8 +281,8 @@ if (KF5Activities_FOUND)
) )
endif() endif()
install(TARGETS kdeinit_dolphin ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS kdeinit_dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(TARGETS dolphin ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
########################################## ##########################################

View File

@ -23,7 +23,7 @@
#include <KNewFileMenu> #include <KNewFileMenu>
#include "libdolphin_export.h" #include "dolphin_export.h"
class KJob; class KJob;
@ -35,7 +35,7 @@ class KJob;
* All errors are shown in the status bar of Dolphin * All errors are shown in the status bar of Dolphin
* instead as modal error dialog with an OK button. * instead as modal error dialog with an OK button.
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinNewFileMenu : public KNewFileMenu class DOLPHIN_EXPORT DolphinNewFileMenu : public KNewFileMenu
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef DOLPHINREMOVEACTION_H #ifndef DOLPHINREMOVEACTION_H
#define DOLPHINREMOVEACTION_H #define DOLPHINREMOVEACTION_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QAction> #include <QAction>
#include <QPointer> #include <QPointer>
@ -34,7 +34,7 @@
* This class expects the presence of both the "move_to_trash" and "delete" * This class expects the presence of both the "move_to_trash" and "delete"
* actions in @ref collection. * actions in @ref collection.
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinRemoveAction : public QAction class DOLPHIN_EXPORT DolphinRemoveAction : public QAction
{ {
Q_OBJECT Q_OBJECT
public: public:

View File

@ -20,7 +20,7 @@
#ifndef KFILEITEMLISTVIEW_H #ifndef KFILEITEMLISTVIEW_H
#define KFILEITEMLISTVIEW_H #define KFILEITEMLISTVIEW_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kstandarditemlistview.h> #include <kitemviews/kstandarditemlistview.h>
@ -36,7 +36,7 @@ class QTimer;
* KItemListView::setWidgetCreator() and KItemListView::setGroupHeaderCreator() * KItemListView::setWidgetCreator() and KItemListView::setGroupHeaderCreator()
* to apply customized generators. * to apply customized generators.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemListView : public KStandardItemListView class DOLPHIN_EXPORT KFileItemListView : public KStandardItemListView
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,11 +20,11 @@
#ifndef KFILEITEMLISTWIDGET_H #ifndef KFILEITEMLISTWIDGET_H
#define KFILEITEMLISTWIDGET_H #define KFILEITEMLISTWIDGET_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kstandarditemlistwidget.h> #include <kitemviews/kstandarditemlistwidget.h>
class LIBDOLPHINPRIVATE_EXPORT KFileItemListWidgetInformant : public KStandardItemListWidgetInformant class DOLPHIN_EXPORT KFileItemListWidgetInformant : public KStandardItemListWidgetInformant
{ {
public: public:
KFileItemListWidgetInformant(); KFileItemListWidgetInformant();
@ -37,7 +37,7 @@ protected:
virtual QFont customizedFontForLinks(const QFont& baseFont) const Q_DECL_OVERRIDE; virtual QFont customizedFontForLinks(const QFont& baseFont) const Q_DECL_OVERRIDE;
}; };
class LIBDOLPHINPRIVATE_EXPORT KFileItemListWidget : public KStandardItemListWidget class DOLPHIN_EXPORT KFileItemListWidget : public KStandardItemListWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KFILEITEMMODEL_H #ifndef KFILEITEMMODEL_H
#define KFILEITEMMODEL_H #define KFILEITEMMODEL_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <KFileItem> #include <KFileItem>
#include <QUrl> #include <QUrl>
#include <kitemviews/kitemmodelbase.h> #include <kitemviews/kitemmodelbase.h>
@ -43,7 +43,7 @@ class QTimer;
* Recursive expansion of sub-directories is supported by * Recursive expansion of sub-directories is supported by
* KFileItemModel::setExpanded(). * KFileItemModel::setExpanded().
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemModel : public KItemModelBase class DOLPHIN_EXPORT KFileItemModel : public KItemModelBase
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,6 +23,7 @@
#include <KConfig> #include <KConfig>
#include <KConfigGroup> #include <KConfigGroup>
#include <KSharedConfig>
#include <KFileItem> #include <KFileItem>
#include <KIconLoader> #include <KIconLoader>
#include <KJobWidgets> #include <KJobWidgets>

View File

@ -25,7 +25,7 @@
#include <KFileItem> #include <KFileItem>
#include <kitemviews/kitemmodelbase.h> #include <kitemviews/kitemmodelbase.h>
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QObject> #include <QObject>
#include <QSet> #include <QSet>
@ -87,7 +87,7 @@ namespace KIO {
* 3. Finally, the entire process is repeated for any items that might have * 3. Finally, the entire process is repeated for any items that might have
* changed in the mean time. * changed in the mean time.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemModelRolesUpdater : public QObject class DOLPHIN_EXPORT KFileItemModelRolesUpdater : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTCONTAINER_H #ifndef KITEMLISTCONTAINER_H
#define KITEMLISTCONTAINER_H #define KITEMLISTCONTAINER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QAbstractScrollArea> #include <QAbstractScrollArea>
@ -39,7 +39,7 @@ class KItemModelBase;
* *
* @see KItemListController * @see KItemListController
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListContainer : public QAbstractScrollArea class DOLPHIN_EXPORT KItemListContainer : public QAbstractScrollArea
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTCONTROLLER_H #ifndef KITEMLISTCONTROLLER_H
#define KITEMLISTCONTROLLER_H #define KITEMLISTCONTROLLER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include "kitemset.h" #include "kitemset.h"
@ -56,7 +56,7 @@ class QTransform;
* @see KItemModelBase * @see KItemModelBase
* @see KItemListSelectionManager * @see KItemListSelectionManager
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListController : public QObject class DOLPHIN_EXPORT KItemListController : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_ENUMS(SelectionBehavior) Q_ENUMS(SelectionBehavior)

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTGROUPHEADER_H #ifndef KITEMLISTGROUPHEADER_H
#define KITEMLISTGROUPHEADER_H #define KITEMLISTGROUPHEADER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemliststyleoption.h> #include <kitemviews/kitemliststyleoption.h>
@ -37,7 +37,7 @@ class KItemListView;
* the method paint() and draw the role within the given roleBounds() with * the method paint() and draw the role within the given roleBounds() with
* the color roleColor(). * the color roleColor().
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListGroupHeader : public QGraphicsWidget class DOLPHIN_EXPORT KItemListGroupHeader : public QGraphicsWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTHEADER_H #ifndef KITEMLISTHEADER_H
#define KITEMLISTHEADER_H #define KITEMLISTHEADER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QHash> #include <QHash>
#include <QObject> #include <QObject>
@ -33,7 +33,7 @@ class KItemListView;
* Each column of the header represents a visible role * Each column of the header represents a visible role
* accessible by KItemListView::visibleRoles(). * accessible by KItemListView::visibleRoles().
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListHeader : public QObject class DOLPHIN_EXPORT KItemListHeader : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTSELECTIONMANAGER_H #ifndef KITEMLISTSELECTIONMANAGER_H
#define KITEMLISTSELECTIONMANAGER_H #define KITEMLISTSELECTIONMANAGER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemmodelbase.h> #include <kitemviews/kitemmodelbase.h>
#include <kitemviews/kitemset.h> #include <kitemviews/kitemset.h>
@ -35,7 +35,7 @@ class KItemModelBase;
/** /**
* @brief Allows to select and deselect items of a KItemListView. * @brief Allows to select and deselect items of a KItemListView.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListSelectionManager : public QObject class DOLPHIN_EXPORT KItemListSelectionManager : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,14 +20,14 @@
#ifndef KITEMLISTSTYLEOPTION_H #ifndef KITEMLISTSTYLEOPTION_H
#define KITEMLISTSTYLEOPTION_H #define KITEMLISTSTYLEOPTION_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QFont> #include <QFont>
#include <QFontMetrics> #include <QFontMetrics>
#include <QPalette> #include <QPalette>
#include <QRect> #include <QRect>
class LIBDOLPHINPRIVATE_EXPORT KItemListStyleOption class DOLPHIN_EXPORT KItemListStyleOption
{ {
public: public:
KItemListStyleOption(); KItemListStyleOption();

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTVIEW_H #ifndef KITEMLISTVIEW_H
#define KITEMLISTVIEW_H #define KITEMLISTVIEW_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kstandarditemlistgroupheader.h> #include <kitemviews/kstandarditemlistgroupheader.h>
#include <kitemviews/kitemliststyleoption.h> #include <kitemviews/kitemliststyleoption.h>
@ -59,7 +59,7 @@ class QTimer;
* @see KItemListWidget * @see KItemListWidget
* @see KItemModelBase * @see KItemModelBase
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListView : public QGraphicsWidget class DOLPHIN_EXPORT KItemListView : public QGraphicsWidget
{ {
Q_OBJECT Q_OBJECT
@ -769,7 +769,7 @@ private:
* KItemListWidgetCreatorBase and KItemListGroupHeaderCreatorBase. * KItemListWidgetCreatorBase and KItemListGroupHeaderCreatorBase.
* @internal * @internal
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListCreatorBase class DOLPHIN_EXPORT KItemListCreatorBase
{ {
public: public:
virtual ~KItemListCreatorBase(); virtual ~KItemListCreatorBase();
@ -793,7 +793,7 @@ private:
* expensive instantiations and deletions of KItemListWidgets by recycling existing widget * expensive instantiations and deletions of KItemListWidgets by recycling existing widget
* instances. * instances.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase class DOLPHIN_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase
{ {
public: public:
virtual ~KItemListWidgetCreatorBase(); virtual ~KItemListWidgetCreatorBase();
@ -875,7 +875,7 @@ qreal KItemListWidgetCreator<T>::preferredRoleColumnWidth(const QByteArray& role
* The intention of the group-header creator is to prevent repetitive and expensive instantiations and * The intention of the group-header creator is to prevent repetitive and expensive instantiations and
* deletions of KItemListGroupHeaders by recycling existing header instances. * deletions of KItemListGroupHeaders by recycling existing header instances.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase class DOLPHIN_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase
{ {
public: public:
virtual ~KItemListGroupHeaderCreatorBase(); virtual ~KItemListGroupHeaderCreatorBase();

View File

@ -22,7 +22,7 @@
#ifndef QT_NO_ACCESSIBILITY #ifndef QT_NO_ACCESSIBILITY
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QtCore/qpointer.h> #include <QtCore/qpointer.h>
#include <qaccessible.h> #include <qaccessible.h>
@ -32,7 +32,7 @@
class KItemListView; class KItemListView;
class KItemListContainer; class KItemListContainer;
class LIBDOLPHINPRIVATE_EXPORT KItemListViewAccessible: public QAccessibleObject, public QAccessibleTableInterface class DOLPHIN_EXPORT KItemListViewAccessible: public QAccessibleObject, public QAccessibleTableInterface
{ {
public: public:
explicit KItemListViewAccessible(KItemListView* view); explicit KItemListViewAccessible(KItemListView* view);
@ -89,7 +89,7 @@ private:
mutable QVector<QAccessibleInterface*> m_cells; mutable QVector<QAccessibleInterface*> m_cells;
}; };
class LIBDOLPHINPRIVATE_EXPORT KItemListAccessibleCell: public QAccessibleInterface, public QAccessibleTableCellInterface class DOLPHIN_EXPORT KItemListAccessibleCell: public QAccessibleInterface, public QAccessibleTableCellInterface
{ {
public: public:
KItemListAccessibleCell(KItemListView* view, int m_index); KItemListAccessibleCell(KItemListView* view, int m_index);
@ -128,7 +128,7 @@ private:
int m_index; int m_index;
}; };
class LIBDOLPHINPRIVATE_EXPORT KItemListContainerAccessible : public QAccessibleWidget class DOLPHIN_EXPORT KItemListContainerAccessible : public QAccessibleWidget
{ {
public: public:
explicit KItemListContainerAccessible(KItemListContainer* container); explicit KItemListContainerAccessible(KItemListContainer* container);

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTWIDGET_H #ifndef KITEMLISTWIDGET_H
#define KITEMLISTWIDGET_H #define KITEMLISTWIDGET_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemliststyleoption.h> #include <kitemviews/kitemliststyleoption.h>
@ -43,7 +43,7 @@ class QPropertyAnimation;
* size for the invisible items must be accessible. KItemListWidgetInformant * size for the invisible items must be accessible. KItemListWidgetInformant
* provides this information. * provides this information.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListWidgetInformant class DOLPHIN_EXPORT KItemListWidgetInformant
{ {
public: public:
KItemListWidgetInformant(); KItemListWidgetInformant();
@ -63,7 +63,7 @@ public:
* All properties are set by KItemListView, for each property there is a corresponding * All properties are set by KItemListView, for each property there is a corresponding
* virtual protected method that allows to react on property changes. * virtual protected method that allows to react on property changes.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListWidget : public QGraphicsWidget class DOLPHIN_EXPORT KItemListWidget : public QGraphicsWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#ifndef KITEMMODELBASE_H #ifndef KITEMMODELBASE_H
#define KITEMMODELBASE_H #define KITEMMODELBASE_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemrange.h> #include <kitemviews/kitemrange.h>
#include <kitemviews/kitemset.h> #include <kitemviews/kitemset.h>
@ -49,7 +49,7 @@ class QMimeData;
* Also optionally it is possible to provide a tree of items by implementing the methods * Also optionally it is possible to provide a tree of items by implementing the methods
* setExpanded(), isExpanded(), isExpandable() and expandedParentsCount(). * setExpanded(), isExpanded(), isExpandable() and expandedParentsCount().
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemModelBase : public QObject class DOLPHIN_EXPORT KItemModelBase : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KSTANDARDITEM_H #ifndef KSTANDARDITEM_H
#define KSTANDARDITEM_H #define KSTANDARDITEM_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QByteArray> #include <QByteArray>
#include <QHash> #include <QHash>
@ -36,7 +36,7 @@ class KStandardItemModel;
* used roles. It is possible to assign values for custom * used roles. It is possible to assign values for custom
* roles by using setDataValue(). * roles by using setDataValue().
*/ */
class LIBDOLPHINPRIVATE_EXPORT KStandardItem class DOLPHIN_EXPORT KStandardItem
{ {
public: public:

View File

@ -20,14 +20,14 @@
#ifndef KSTANDARDITEMLISTGROUPHEADER_H #ifndef KSTANDARDITEMLISTGROUPHEADER_H
#define KSTANDARDITEMLISTGROUPHEADER_H #define KSTANDARDITEMLISTGROUPHEADER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemlistgroupheader.h> #include <kitemviews/kitemlistgroupheader.h>
#include <QPixmap> #include <QPixmap>
#include <QStaticText> #include <QStaticText>
class LIBDOLPHINPRIVATE_EXPORT KStandardItemListGroupHeader : public KItemListGroupHeader class DOLPHIN_EXPORT KStandardItemListGroupHeader : public KItemListGroupHeader
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KSTANDARDITEMLISTVIEW_H #ifndef KSTANDARDITEMLISTVIEW_H
#define KSTANDARDITEMLISTVIEW_H #define KSTANDARDITEMLISTVIEW_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemlistview.h> #include <kitemviews/kitemlistview.h>
@ -40,7 +40,7 @@
* KItemListContainer* container = new KItemListContainer(controller, parentWidget); * KItemListContainer* container = new KItemListContainer(controller, parentWidget);
* </code> * </code>
*/ */
class LIBDOLPHINPRIVATE_EXPORT KStandardItemListView : public KItemListView class DOLPHIN_EXPORT KStandardItemListView : public KItemListView
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KSTANDARDITEMLISTWIDGET_H #ifndef KSTANDARDITEMLISTWIDGET_H
#define KSTANDARDITEMLISTWIDGET_H #define KSTANDARDITEMLISTWIDGET_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemlistwidget.h> #include <kitemviews/kitemlistwidget.h>
@ -32,7 +32,7 @@ class KItemListRoleEditor;
class KItemListStyleOption; class KItemListStyleOption;
class KItemListView; class KItemListView;
class LIBDOLPHINPRIVATE_EXPORT KStandardItemListWidgetInformant : public KItemListWidgetInformant class DOLPHIN_EXPORT KStandardItemListWidgetInformant : public KItemListWidgetInformant
{ {
public: public:
KStandardItemListWidgetInformant(); KStandardItemListWidgetInformant();
@ -83,7 +83,7 @@ protected:
/** /**
* @brief Itemlist widget implementation for KStandardItemView and KStandardItemModel. * @brief Itemlist widget implementation for KStandardItemView and KStandardItemModel.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KStandardItemListWidget : public KItemListWidget class DOLPHIN_EXPORT KStandardItemListWidget : public KItemListWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KSTANDARDITEMMODEL_H #ifndef KSTANDARDITEMMODEL_H
#define KSTANDARDITEMMODEL_H #define KSTANDARDITEMMODEL_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemmodelbase.h> #include <kitemviews/kitemmodelbase.h>
#include <QHash> #include <QHash>
#include <QList> #include <QList>
@ -35,7 +35,7 @@ class KStandardItem;
* *
* @see KStandardItem * @see KStandardItem
*/ */
class LIBDOLPHINPRIVATE_EXPORT KStandardItemModel : public KItemModelBase class DOLPHIN_EXPORT KStandardItemModel : public KItemModelBase
{ {
Q_OBJECT Q_OBJECT

View File

@ -21,7 +21,7 @@
#ifndef KBALOO_ROLESPROVIDER_H #ifndef KBALOO_ROLESPROVIDER_H
#define KBALOO_ROLESPROVIDER_H #define KBALOO_ROLESPROVIDER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QHash> #include <QHash>
#include <QSet> #include <QSet>
@ -36,7 +36,7 @@ namespace Baloo {
* Is a helper class for KFileItemModelRolesUpdater to retrieve roles that * Is a helper class for KFileItemModelRolesUpdater to retrieve roles that
* are only accessible with Baloo. * are only accessible with Baloo.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KBalooRolesProvider class DOLPHIN_EXPORT KBalooRolesProvider
{ {
public: public:
static KBalooRolesProvider& instance(); static KBalooRolesProvider& instance();

View File

@ -25,13 +25,13 @@
#include <QSet> #include <QSet>
#include <QObject> #include <QObject>
#include "libdolphin_export.h" #include "dolphin_export.h"
/** /**
* @brief Wrapper for QClipboard to provide fast access for checking * @brief Wrapper for QClipboard to provide fast access for checking
* whether a KFileItem has been clipped. * whether a KFileItem has been clipped.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemClipboard : public QObject class DOLPHIN_EXPORT KFileItemClipboard : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KFILEITEMMODELDIRLISTER_H #ifndef KFILEITEMMODELDIRLISTER_H
#define KFILEITEMMODELDIRLISTER_H #define KFILEITEMMODELDIRLISTER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <KDirLister> #include <KDirLister>
#include <QUrl> #include <QUrl>
@ -29,7 +29,7 @@
* error occurred instead of showing an error dialog. * error occurred instead of showing an error dialog.
* KDirLister::autoErrorHandlingEnabled() is set to false. * KDirLister::autoErrorHandlingEnabled() is set to false.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemModelDirLister : public KDirLister class DOLPHIN_EXPORT KFileItemModelDirLister : public KDirLister
{ {
Q_OBJECT Q_OBJECT

View File

@ -21,7 +21,7 @@
#ifndef KFILEITEMMODELFILTER_H #ifndef KFILEITEMMODELFILTER_H
#define KFILEITEMMODELFILTER_H #define KFILEITEMMODELFILTER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QStringList> #include <QStringList>
class KFileItem; class KFileItem;
@ -35,7 +35,7 @@ class QRegExp;
* property of the KFileItem, but this might get extended in * property of the KFileItem, but this might get extended in
* future. * future.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KFileItemModelFilter class DOLPHIN_EXPORT KFileItemModelFilter
{ {
public: public:

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTHEADERWIDGET_H #ifndef KITEMLISTHEADERWIDGET_H
#define KITEMLISTHEADERWIDGET_H #define KITEMLISTHEADERWIDGET_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QGraphicsWidget> #include <QGraphicsWidget>
#include <QHash> #include <QHash>
#include <QList> #include <QList>
@ -33,7 +33,7 @@ class KItemModelBase;
* The widget is an internal API, the user of KItemListView may only access the * The widget is an internal API, the user of KItemListView may only access the
* class KItemListHeader. * class KItemListHeader.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListHeaderWidget : public QGraphicsWidget class DOLPHIN_EXPORT KItemListHeaderWidget : public QGraphicsWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#ifndef KITEMLISTKEYBOARDSEARCHMANAGER_H #ifndef KITEMLISTKEYBOARDSEARCHMANAGER_H
#define KITEMLISTKEYBOARDSEARCHMANAGER_H #define KITEMLISTKEYBOARDSEARCHMANAGER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QObject> #include <QObject>
#include <QString> #include <QString>
@ -35,7 +35,7 @@
* @see KItemListController * @see KItemListController
* @see KItemModelBase * @see KItemModelBase
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListKeyboardSearchManager : public QObject class DOLPHIN_EXPORT KItemListKeyboardSearchManager : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTROLEEDITOR_H #ifndef KITEMLISTROLEEDITOR_H
#define KITEMLISTROLEEDITOR_H #define KITEMLISTROLEEDITOR_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <KTextEdit> #include <KTextEdit>
@ -33,7 +33,7 @@
* *
* The size automatically gets increased if the text does not fit. * The size automatically gets increased if the text does not fit.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListRoleEditor : public KTextEdit class DOLPHIN_EXPORT KItemListRoleEditor : public KTextEdit
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,14 +20,14 @@
#ifndef KITEMLISTRUBBERBAND_H #ifndef KITEMLISTRUBBERBAND_H
#define KITEMLISTRUBBERBAND_H #define KITEMLISTRUBBERBAND_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QObject> #include <QObject>
#include <QPointF> #include <QPointF>
/** /**
* @brief Manages the rubberband when selecting items. * @brief Manages the rubberband when selecting items.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListRubberBand : public QObject class DOLPHIN_EXPORT KItemListRubberBand : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTSELECTIONTOGGLE_H #ifndef KITEMLISTSELECTIONTOGGLE_H
#define KITEMLISTSELECTIONTOGGLE_H #define KITEMLISTSELECTIONTOGGLE_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QGraphicsWidget> #include <QGraphicsWidget>
#include <QPixmap> #include <QPixmap>
@ -29,7 +29,7 @@
/** /**
* @brief Allows to toggle between the selected and unselected state of an item. * @brief Allows to toggle between the selected and unselected state of an item.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListSelectionToggle : public QGraphicsWidget class DOLPHIN_EXPORT KItemListSelectionToggle : public QGraphicsWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTSIZEHINTRESOLVER_H #ifndef KITEMLISTSIZEHINTRESOLVER_H
#define KITEMLISTSIZEHINTRESOLVER_H #define KITEMLISTSIZEHINTRESOLVER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kitemmodelbase.h> #include <kitemviews/kitemmodelbase.h>
#include <QSizeF> #include <QSizeF>
@ -31,7 +31,7 @@ class KItemListView;
/** /**
* @brief Calculates and caches the sizehints of items in KItemListView. * @brief Calculates and caches the sizehints of items in KItemListView.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListSizeHintResolver class DOLPHIN_EXPORT KItemListSizeHintResolver
{ {
public: public:
KItemListSizeHintResolver(const KItemListView* itemListView); KItemListSizeHintResolver(const KItemListView* itemListView);

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTSMOOTHSCROLLER_H #ifndef KITEMLISTSMOOTHSCROLLER_H
#define KITEMLISTSMOOTHSCROLLER_H #define KITEMLISTSMOOTHSCROLLER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QAbstractAnimation> #include <QAbstractAnimation>
#include <QObject> #include <QObject>
@ -33,7 +33,7 @@ class QWheelEvent;
* @brief Helper class for KItemListContainer to have a smooth * @brief Helper class for KItemListContainer to have a smooth
* scrolling when adjusting the scrollbars. * scrolling when adjusting the scrollbars.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListSmoothScroller : public QObject class DOLPHIN_EXPORT KItemListSmoothScroller : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTVIEWANIMATION_H #ifndef KITEMLISTVIEWANIMATION_H
#define KITEMLISTVIEWANIMATION_H #define KITEMLISTVIEWANIMATION_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QHash> #include <QHash>
#include <QObject> #include <QObject>
@ -36,7 +36,7 @@ class QPropertyAnimation;
* Supports item animations for moving, creating, deleting and resizing * Supports item animations for moving, creating, deleting and resizing
* an item. Several applications can be applied to one item in parallel. * an item. Several applications can be applied to one item in parallel.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListViewAnimation : public QObject class DOLPHIN_EXPORT KItemListViewAnimation : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
#ifndef KITEMLISTVIEWLAYOUTER_H #ifndef KITEMLISTVIEWLAYOUTER_H
#define KITEMLISTVIEWLAYOUTER_H #define KITEMLISTVIEWLAYOUTER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QObject> #include <QObject>
#include <QRectF> #include <QRectF>
@ -45,7 +45,7 @@ class KItemListSizeHintResolver;
* changing properties of the layouter is not expensive, only the * changing properties of the layouter is not expensive, only the
* first read of a property can get expensive. * first read of a property can get expensive.
*/ */
class LIBDOLPHINPRIVATE_EXPORT KItemListViewLayouter : public QObject class DOLPHIN_EXPORT KItemListViewLayouter : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,12 +20,12 @@
#ifndef KPIXMAPMODIFIER_H #ifndef KPIXMAPMODIFIER_H
#define KPIXMAPMODIFIER_H #define KPIXMAPMODIFIER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
class QPixmap; class QPixmap;
class QSize; class QSize;
class LIBDOLPHINPRIVATE_EXPORT KPixmapModifier class DOLPHIN_EXPORT KPixmapModifier
{ {
public: public:
static void scale(QPixmap& pixmap, const QSize& scaledSize); static void scale(QPixmap& pixmap, const QSize& scaledSize);

View File

@ -21,7 +21,7 @@
#ifndef VIEWPROPERTIESDIALOG_H #ifndef VIEWPROPERTIESDIALOG_H
#define VIEWPROPERTIESDIALOG_H #define VIEWPROPERTIESDIALOG_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QDialog> #include <QDialog>
@ -39,7 +39,7 @@ class DolphinView;
* and previews should be shown. The properties can be assigned to the current folder, * and previews should be shown. The properties can be assigned to the current folder,
* or recursively to all sub folders. * or recursively to all sub folders.
*/ */
class LIBDOLPHINPRIVATE_EXPORT ViewPropertiesDialog : public QDialog class DOLPHIN_EXPORT ViewPropertiesDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT

View File

@ -4,7 +4,7 @@ find_package(Qt5Test CONFIG REQUIRED)
include(ECMMarkAsTest) include(ECMMarkAsTest)
# needed on windows to correctly use the files from dolphinprivate # needed on windows to correctly use the files from dolphinprivate
add_definitions(-DLIBDOLPHINPRIVATE_EXPORT=) add_definitions(-DDOLPHIN_EXPORT=)
# KItemSetTest # KItemSetTest
set(kitemsettest_SRCS set(kitemsettest_SRCS

View File

@ -21,7 +21,6 @@
#include <QIcon> #include <QIcon>
#include <KIconLoader> #include <KIconLoader>
#include <kversioncontrolplugin2.h>
#include <QColor> #include <QColor>
#include "dolphindebug.h" #include "dolphindebug.h"
@ -43,7 +42,7 @@ void DolphinFileItemListWidget::refreshCache()
if (values.contains("version")) { if (values.contains("version")) {
// The item is under version control. Apply the text color corresponding // The item is under version control. Apply the text color corresponding
// to its version state. // to its version state.
const KVersionControlPlugin2::ItemVersion version = static_cast<KVersionControlPlugin2::ItemVersion>(values.value("version").toInt()); const KVersionControlPlugin::ItemVersion version = static_cast<KVersionControlPlugin::ItemVersion>(values.value("version").toInt());
const QColor textColor = styleOption().palette.text().color(); const QColor textColor = styleOption().palette.text().color();
QColor tintColor = textColor; QColor tintColor = textColor;
@ -51,16 +50,16 @@ void DolphinFileItemListWidget::refreshCache()
// as tint colors and are mixed with the current set text color. The tint colors // as tint colors and are mixed with the current set text color. The tint colors
// have been optimized for the base colors of the corresponding Oxygen emblems. // have been optimized for the base colors of the corresponding Oxygen emblems.
switch (version) { switch (version) {
case KVersionControlPlugin2::UpdateRequiredVersion: tintColor = Qt::yellow; break; case KVersionControlPlugin::UpdateRequiredVersion: tintColor = Qt::yellow; break;
case KVersionControlPlugin2::LocallyModifiedUnstagedVersion: tintColor = Qt::green; break; case KVersionControlPlugin::LocallyModifiedUnstagedVersion: tintColor = Qt::green; break;
case KVersionControlPlugin2::LocallyModifiedVersion: tintColor = Qt::green; break; case KVersionControlPlugin::LocallyModifiedVersion: tintColor = Qt::green; break;
case KVersionControlPlugin2::AddedVersion: tintColor = Qt::green; break; case KVersionControlPlugin::AddedVersion: tintColor = Qt::green; break;
case KVersionControlPlugin2::RemovedVersion: tintColor = Qt::darkRed; break; case KVersionControlPlugin::RemovedVersion: tintColor = Qt::darkRed; break;
case KVersionControlPlugin2::ConflictingVersion: tintColor = Qt::red; break; case KVersionControlPlugin::ConflictingVersion: tintColor = Qt::red; break;
case KVersionControlPlugin2::IgnoredVersion: tintColor = Qt::white; break; case KVersionControlPlugin::IgnoredVersion: tintColor = Qt::white; break;
case KVersionControlPlugin2::MissingVersion: tintColor = Qt::red; break; case KVersionControlPlugin::MissingVersion: tintColor = Qt::red; break;
case KVersionControlPlugin2::NormalVersion: case KVersionControlPlugin::NormalVersion:
case KVersionControlPlugin2::UnversionedVersion: case KVersionControlPlugin::UnversionedVersion:
default: default:
break; break;
} }
@ -78,7 +77,7 @@ void DolphinFileItemListWidget::refreshCache()
setTextColor(color); setTextColor(color);
} }
QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin2::ItemVersion version, int size) QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVersion version, int size)
{ {
int overlayHeight = KIconLoader::SizeSmall; int overlayHeight = KIconLoader::SizeSmall;
if (size >= KIconLoader::SizeEnormous) { if (size >= KIconLoader::SizeEnormous) {
@ -115,8 +114,8 @@ QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin2::ItemV
iconName = "vcs-conflicting"; iconName = "vcs-conflicting";
break; break;
case KVersionControlPlugin::UnversionedVersion: case KVersionControlPlugin::UnversionedVersion:
case KVersionControlPlugin2::IgnoredVersion: case KVersionControlPlugin::IgnoredVersion:
case KVersionControlPlugin2::MissingVersion: case KVersionControlPlugin::MissingVersion:
break; break;
default: default:
Q_ASSERT(false); Q_ASSERT(false);

View File

@ -20,10 +20,10 @@
#ifndef DOLPHINFILEITEMLISTWIDGET_H #ifndef DOLPHINFILEITEMLISTWIDGET_H
#define DOLPHINFILEITEMLISTWIDGET_H #define DOLPHINFILEITEMLISTWIDGET_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kitemviews/kfileitemlistwidget.h> #include <kitemviews/kfileitemlistwidget.h>
#include <kversioncontrolplugin2.h> #include "versioncontrol/kversioncontrolplugin.h"
/** /**
* @brief Extends KFileItemListWidget to handle the "version" role. * @brief Extends KFileItemListWidget to handle the "version" role.
@ -31,7 +31,7 @@
* The "version" role is set if version-control-plugins have been enabled. * The "version" role is set if version-control-plugins have been enabled.
* @see KVersionControlPlugin * @see KVersionControlPlugin
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinFileItemListWidget : public KFileItemListWidget class DOLPHIN_EXPORT DolphinFileItemListWidget : public KFileItemListWidget
{ {
Q_OBJECT Q_OBJECT
@ -43,7 +43,7 @@ protected:
virtual void refreshCache() Q_DECL_OVERRIDE; virtual void refreshCache() Q_DECL_OVERRIDE;
private: private:
static QPixmap overlayForState(KVersionControlPlugin2::ItemVersion version, int size); static QPixmap overlayForState(KVersionControlPlugin::ItemVersion version, int size);
}; };

View File

@ -23,7 +23,7 @@
#include <kitemviews/kfileitemlistview.h> #include <kitemviews/kfileitemlistview.h>
#include <settings/viewmodes/viewmodesettings.h> #include <settings/viewmodes/viewmodesettings.h>
#include "libdolphin_export.h" #include "dolphin_export.h"
class KFileItemListView; class KFileItemListView;
@ -34,7 +34,7 @@ class KFileItemListView;
* the view-properties into the corresponding KItemListView * the view-properties into the corresponding KItemListView
* properties. * properties.
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinItemListView : public KFileItemListView class DOLPHIN_EXPORT DolphinItemListView : public KFileItemListView
{ {
Q_OBJECT Q_OBJECT

View File

@ -22,7 +22,7 @@
#include <QObject> #include <QObject>
#include "libdolphin_export.h" #include "dolphin_export.h"
class DolphinNewFileMenu; class DolphinNewFileMenu;
@ -33,7 +33,7 @@ class DolphinNewFileMenu;
* As soon as a DolphinNewFileMenu instance created a new item, * As soon as a DolphinNewFileMenu instance created a new item,
* the observer will emit the signal itemCreated(). * the observer will emit the signal itemCreated().
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinNewFileMenuObserver : public QObject class DOLPHIN_EXPORT DolphinNewFileMenuObserver : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#include <QStringList> #include <QStringList>
#include <QAction> #include <QAction>
#include <QUrl> #include <QUrl>
#include "libdolphin_export.h" #include "dolphin_export.h"
class KActionMenu; class KActionMenu;
@ -35,7 +35,7 @@ class DolphinViewActionHandler;
* When browsing remote url, its possible to change encoding from Tools Menu. * When browsing remote url, its possible to change encoding from Tools Menu.
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinRemoteEncoding: public QObject class DOLPHIN_EXPORT DolphinRemoteEncoding: public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:

View File

@ -23,7 +23,7 @@
#include <config-baloo.h> #include <config-baloo.h>
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <kparts/part.h> #include <kparts/part.h>
#include <KFileItem> #include <KFileItem>
@ -57,7 +57,7 @@ class QRegExp;
* - show previews * - show previews
* - enable grouping * - enable grouping
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinView : public QWidget class DOLPHIN_EXPORT DolphinView : public QWidget
{ {
Q_OBJECT Q_OBJECT

View File

@ -22,7 +22,7 @@
#ifndef DOLPHINVIEWACTIONHANDLER_H #ifndef DOLPHINVIEWACTIONHANDLER_H
#define DOLPHINVIEWACTIONHANDLER_H #define DOLPHINVIEWACTIONHANDLER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include "views/dolphinview.h" #include "views/dolphinview.h"
#include <QObject> #include <QObject>
@ -46,7 +46,7 @@ class KActionCollection;
* @see DolphinMainWindow * @see DolphinMainWindow
* @see DolphinPart * @see DolphinPart
*/ */
class LIBDOLPHINPRIVATE_EXPORT DolphinViewActionHandler : public QObject class DOLPHIN_EXPORT DolphinViewActionHandler : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -21,7 +21,7 @@
#ifndef DRAGANDDROPHELPER_H #ifndef DRAGANDDROPHELPER_H
#define DRAGANDDROPHELPER_H #define DRAGANDDROPHELPER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
class QUrl; class QUrl;
@ -29,7 +29,7 @@ class QDropEvent;
class QWidget; class QWidget;
namespace KIO { class DropJob; } namespace KIO { class DropJob; }
class LIBDOLPHINPRIVATE_EXPORT DragAndDropHelper class DOLPHIN_EXPORT DragAndDropHelper
{ {
public: public:
/** /**

View File

@ -20,7 +20,7 @@
#ifndef RENAMEDIALOG_H #ifndef RENAMEDIALOG_H
#define RENAMEDIALOG_H #define RENAMEDIALOG_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <QDialog> #include <QDialog>
#include <KFileItem> #include <KFileItem>
@ -33,7 +33,7 @@ class QPushButton;
/** /**
* @brief Dialog for renaming a variable number of files. * @brief Dialog for renaming a variable number of files.
*/ */
class LIBDOLPHINPRIVATE_EXPORT RenameDialog : public QDialog class DOLPHIN_EXPORT RenameDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT

View File

@ -0,0 +1,29 @@
/*****************************************************************************
* Copyright (C) 2011 by Vishesh Yadav <vishesh3y@gmail.com> *
* Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License version 2 as published by the Free Software Foundation. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public License *
* along with this library; see the file COPYING.LIB. If not, write to *
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
*****************************************************************************/
#include "kversioncontrolplugin.h"
KVersionControlPlugin::KVersionControlPlugin(QObject* parent) :
QObject(parent)
{
}
KVersionControlPlugin::~KVersionControlPlugin()
{
}

View File

@ -0,0 +1,223 @@
/*****************************************************************************
* Copyright (C) 2011 by Vishesh Yadav <vishesh3y@gmail.com> *
* Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License version 2 as published by the Free Software Foundation. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public License *
* along with this library; see the file COPYING.LIB. If not, write to *
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
*****************************************************************************/
#ifndef KVERSIONCONTROLPLUGIN_H
#define KVERSIONCONTROLPLUGIN_H
#include <dolphin_export.h>
#include <QObject>
#include <KFileItem>
#include <QAction>
/**
* @brief Base class for version control plugins.
*
* Enables the file manager to show the version state
* of a versioned file. To write a custom plugin, the following
* steps are required (in the example below it is assumed that a plugin for
* Subversion will be written):
*
* - Create a fileviewsvnplugin.desktop file with the following content:
* <code>
* [Desktop Entry]
* Type=Service
* Name=Subversion
* X-KDE-ServiceTypes=FileViewVersionControlPlugin
* MimeType=text/plain;
* X-KDE-Library=fileviewsvnplugin
* </code>
*
* - Create a class FileViewSvnPlugin derived from KVersionControlPlugin and
* implement all abstract interfaces (fileviewsvnplugin.h, fileviewsvnplugin.cpp).
*
* - Take care that the constructor has the following signature:
* <code>
* FileViewSvnPlugin(QObject* parent, const QList<QVariant>& args);
* </code>
*
* - Add the following lines at the top of fileviewsvnplugin.cpp:
* <code>
* #include <KPluginFactory>
* #include <KPluginLoader>
* K_PLUGIN_FACTORY(FileViewSvnPluginFactory, registerPlugin<FileViewSvnPlugin>();)
* K_EXPORT_PLUGIN(FileViewSvnPluginFactory("fileviewsvnplugin"))
* </code>
*
* - Add the following lines to your CMakeLists.txt file:
* <code>
* kde4_add_plugin(fileviewsvnplugin fileviewsvnplugin.cpp)
* target_link_libraries(fileviewsvnplugin konq)
* install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
* </code>
*
* General implementation notes:
*
* - The implementations of beginRetrieval(), endRetrieval() and versionState()
* can contain blocking operations, as Dolphin will execute
* those methods in a separate thread. It is assured that
* all other methods are invoked in a serialized way, so that it is not necessary for
* the plugin to use any mutex.
*
* - Dolphin keeps only one instance of the plugin, which is instantiated shortly after
* starting Dolphin. Take care that the constructor does no expensive and time
* consuming operations.
*
* @since 4.8
*/
class DOLPHIN_EXPORT KVersionControlPlugin : public QObject
{
Q_OBJECT
public:
enum ItemVersion
{
/** The file is not under version control. */
UnversionedVersion,
/**
* The file is under version control and represents
* the latest version.
*/
NormalVersion,
/**
* The file is under version control and a newer
* version exists on the main branch.
*/
UpdateRequiredVersion,
/**
* The file is under version control and has been
* modified locally. All modifications will be part
* of the next commit.
*/
LocallyModifiedVersion,
/**
* The file has not been under version control but
* has been marked to get added with the next commit.
*/
AddedVersion,
/**
* The file is under version control but has been marked
* for getting removed with the next commit.
*/
RemovedVersion,
/**
* The file is under version control and has been locally
* modified. A modification has also been done on the main
* branch.
*/
ConflictingVersion,
/**
* The file is under version control and has local
* modifications, which will not be part of the next
* commit (or are "unstaged" in git jargon).
* @since 4.6
*/
LocallyModifiedUnstagedVersion,
/**
* The file is not under version control and is listed
* in the ignore list of the version control system.
* @since 4.8
*/
IgnoredVersion,
/**
* The file is is tracked by the version control system, but
* is missing in the directory (e.g. by deleted without using
* a version control command).
* @since 4.8
*/
MissingVersion
};
KVersionControlPlugin(QObject* parent = 0);
virtual ~KVersionControlPlugin();
/**
* Returns the name of the file which stores
* the version controls information.
* (e. g. .svn, .cvs, .git).
*/
virtual QString fileName() const = 0;
/**
* Is invoked whenever the version control
* information will get retrieved for the directory
* \p directory. It is assured that the directory
* contains a trailing slash.
*/
virtual bool beginRetrieval(const QString& directory) = 0;
/**
* Is invoked after the version control information has been
* received. It is assured that
* KVersionControlPluginV2::beginInfoRetrieval() has been
* invoked before.
*/
virtual void endRetrieval() = 0;
/**
* @return The version for the item \p item.
* It is assured that KVersionControlPlugin::beginInfoRetrieval() has been
* invoked before and that the file is part of the directory specified
* in beginInfoRetrieval().
*/
virtual ItemVersion itemVersion(const KFileItem& item) const = 0;
/**
* @return List of actions that are available for the items \p items.
* It is recommended to keep the number of returned actions small
* in case if an item is an unversioned directory that is not
* inside the hierarchy tree of the version control system. This
* prevents having a cluttered context menu for directories
* outside the version control system.
*/
virtual QList<QAction*> actions(const KFileItemList& items) const = 0;
Q_SIGNALS:
/**
* Should be emitted when the version state of items might have been changed
* after the last retrieval (e. g. by executing a context menu action
* of the version control plugin). The file manager will be triggered to
* update the version states of the directory \p directory by invoking
* KVersionControlPlugin::beginRetrieval(),
* KVersionControlPlugin::itemVersion() and
* KVersionControlPlugin::endRetrieval().
*/
void itemVersionsChanged();
/**
* Is emitted if an information message with the content \a msg
* should be shown.
*/
void infoMessage(const QString& msg);
/**
* Is emitted if an error message with the content \a msg
* should be shown.
*/
void errorMessage(const QString& msg);
/**
* Is emitted if an "operation completed" message with the content \a msg
* should be shown.
*/
void operationCompletedMessage(const QString& msg);
};
#endif // KVERSIONCONTROLPLUGIN_H

View File

@ -19,9 +19,7 @@
#include "updateitemstatesthread.h" #include "updateitemstatesthread.h"
#include <kversioncontrolplugin2.h>
#include <QVector> #include <QVector>
#include <QMutexLocker> #include <QMutexLocker>
UpdateItemStatesThread::UpdateItemStatesThread(KVersionControlPlugin* plugin, UpdateItemStatesThread::UpdateItemStatesThread(KVersionControlPlugin* plugin,
@ -53,20 +51,10 @@ void UpdateItemStatesThread::run()
if (m_plugin->beginRetrieval(it.key())) { if (m_plugin->beginRetrieval(it.key())) {
QVector<VersionControlObserver::ItemState>& items = it.value(); QVector<VersionControlObserver::ItemState>& items = it.value();
const int count = items.count(); const int count = items.count();
for (int i = 0; i < count; ++i) {
KVersionControlPlugin2* pluginV2 = qobject_cast<KVersionControlPlugin2*>(m_plugin); const KFileItem& item = items.at(i).first;
if (pluginV2) { const KVersionControlPlugin::ItemVersion version = m_plugin->itemVersion(item);
for (int i = 0; i < count; ++i) { items[i].second = version;
const KFileItem& item = items.at(i).first;
const KVersionControlPlugin2::ItemVersion version = pluginV2->itemVersion(item);
items[i].second = version;
}
} else {
for (int i = 0; i < count; ++i) {
const KFileItem& item = items.at(i).first;
const KVersionControlPlugin::VersionState state = m_plugin->versionState(item);
items[i].second = static_cast<KVersionControlPlugin2::ItemVersion>(state);
}
} }
} }

View File

@ -20,20 +20,18 @@
#ifndef UPDATEITEMSTATESTHREAD_H #ifndef UPDATEITEMSTATESTHREAD_H
#define UPDATEITEMSTATESTHREAD_H #define UPDATEITEMSTATESTHREAD_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <views/versioncontrol/versioncontrolobserver.h> #include <views/versioncontrol/versioncontrolobserver.h>
#include <QMutex> #include <QMutex>
#include <QThread> #include <QThread>
class KVersionControlPlugin;
/** /**
* The performance of updating the version state of items depends * The performance of updating the version state of items depends
* on the used plugin. To prevent that Dolphin gets blocked by a * on the used plugin. To prevent that Dolphin gets blocked by a
* slow plugin, the updating is delegated to a thread. * slow plugin, the updating is delegated to a thread.
*/ */
class LIBDOLPHINPRIVATE_EXPORT UpdateItemStatesThread : public QThread class DOLPHIN_EXPORT UpdateItemStatesThread : public QThread
{ {
Q_OBJECT Q_OBJECT

View File

@ -26,7 +26,6 @@
#include "dolphindebug.h" #include "dolphindebug.h"
#include <KServiceTypeTrader> #include <KServiceTypeTrader>
#include <kitemviews/kfileitemmodel.h> #include <kitemviews/kfileitemmodel.h>
#include <kversioncontrolplugin2.h>
#include "updateitemstatesthread.h" #include "updateitemstatesthread.h"
@ -89,8 +88,6 @@ KFileItemModel* VersionControlObserver::model() const
QList<QAction*> VersionControlObserver::actions(const KFileItemList& items) const QList<QAction*> VersionControlObserver::actions(const KFileItemList& items) const
{ {
QList<QAction*> actions;
bool hasNullItems = false; bool hasNullItems = false;
foreach (const KFileItem& item, items) { foreach (const KFileItem& item, items) {
if (item.isNull()) { if (item.isNull()) {
@ -101,30 +98,10 @@ QList<QAction*> VersionControlObserver::actions(const KFileItemList& items) cons
} }
if (!m_model || hasNullItems) { if (!m_model || hasNullItems) {
return actions; return {};
} }
KVersionControlPlugin2* pluginV2 = qobject_cast<KVersionControlPlugin2*>(m_plugin); return m_plugin->actions(items);
if (pluginV2) {
// Use version 2 of the KVersionControlPlugin which allows providing actions
// also for non-versioned directories.
actions = pluginV2->actions(items);
} else if (isVersioned()) {
// Support deprecated interfaces from KVersionControlPlugin version 1.
// Context menu actions where only available for versioned directories.
QString directory;
if (items.count() == 1) {
const KFileItem rootItem = m_model->rootItem();
if (!rootItem.isNull() && items.first().url() == rootItem.url()) {
directory = rootItem.url().path();
}
}
actions = directory.isEmpty() ? m_plugin->contextMenuActions(items)
: m_plugin->contextMenuActions(directory);
}
return actions;
} }
void VersionControlObserver::delayedDirectoryVerification() void VersionControlObserver::delayedDirectoryVerification()
@ -156,14 +133,8 @@ void VersionControlObserver::verifyDirectory()
m_plugin = searchPlugin(rootItem.url()); m_plugin = searchPlugin(rootItem.url());
if (m_plugin) { if (m_plugin) {
KVersionControlPlugin2* pluginV2 = qobject_cast<KVersionControlPlugin2*>(m_plugin); connect(m_plugin, &KVersionControlPlugin::itemVersionsChanged,
if (pluginV2) { this, &VersionControlObserver::silentDirectoryVerification);
connect(pluginV2, &KVersionControlPlugin2::itemVersionsChanged,
this, &VersionControlObserver::silentDirectoryVerification);
} else {
connect(m_plugin, &KVersionControlPlugin::versionStatesChanged,
this, &VersionControlObserver::silentDirectoryVerification);
}
connect(m_plugin, &KVersionControlPlugin::infoMessage, connect(m_plugin, &KVersionControlPlugin::infoMessage,
this, &VersionControlObserver::infoMessage); this, &VersionControlObserver::infoMessage);
connect(m_plugin, &KVersionControlPlugin::errorMessage, connect(m_plugin, &KVersionControlPlugin::errorMessage,
@ -205,7 +176,7 @@ void VersionControlObserver::slotThreadFinished()
foreach (const ItemState& item, items) { foreach (const ItemState& item, items) {
const KFileItem& fileItem = item.first; const KFileItem& fileItem = item.first;
const KVersionControlPlugin2::ItemVersion version = item.second; const KVersionControlPlugin::ItemVersion version = item.second;
QHash<QByteArray, QVariant> values; QHash<QByteArray, QVariant> values;
values.insert("version", QVariant(version)); values.insert("version", QVariant(version));
m_model->setData(m_model->index(fileItem), values); m_model->setData(m_model->index(fileItem), values);
@ -268,7 +239,7 @@ int VersionControlObserver::createItemStatesList(QMap<QString, QVector<ItemState
if (expansionLevel == currentExpansionLevel) { if (expansionLevel == currentExpansionLevel) {
ItemState itemState; ItemState itemState;
itemState.first = m_model->fileItem(index); itemState.first = m_model->fileItem(index);
itemState.second = KVersionControlPlugin2::UnversionedVersion; itemState.second = KVersionControlPlugin::UnversionedVersion;
items.append(itemState); items.append(itemState);
} else if (expansionLevel > currentExpansionLevel) { } else if (expansionLevel > currentExpansionLevel) {

View File

@ -20,11 +20,13 @@
#ifndef VERSIONCONTROLOBSERVER_H #ifndef VERSIONCONTROLOBSERVER_H
#define VERSIONCONTROLOBSERVER_H #define VERSIONCONTROLOBSERVER_H
#include "libdolphin_export.h" #include "dolphin_export.h"
#include "kversioncontrolplugin.h"
#include <KFileItem> #include <KFileItem>
#include <QUrl> #include <QUrl>
#include <kversioncontrolplugin2.h>
#include <QList> #include <QList>
#include <QObject> #include <QObject>
#include <QString> #include <QString>
@ -43,7 +45,7 @@ class UpdateItemStatesThread;
* *
* @see VersionControlPlugin * @see VersionControlPlugin
*/ */
class LIBDOLPHINPRIVATE_EXPORT VersionControlObserver : public QObject class DOLPHIN_EXPORT VersionControlObserver : public QObject
{ {
Q_OBJECT Q_OBJECT
@ -100,7 +102,7 @@ private slots:
void slotThreadFinished(); void slotThreadFinished();
private: private:
typedef QPair<KFileItem, KVersionControlPlugin2::ItemVersion> ItemState; typedef QPair<KFileItem, KVersionControlPlugin::ItemVersion> ItemState;
void updateItemStates(); void updateItemStates();

View File

@ -22,7 +22,7 @@
#include <QUrl> #include <QUrl>
#include <QObject> #include <QObject>
#include "libdolphin_export.h" #include "dolphin_export.h"
#include <views/dolphinview.h> #include <views/dolphinview.h>
/** /**
@ -33,7 +33,7 @@
* connect to signals of the ViewModeController to react on changes. The view * connect to signals of the ViewModeController to react on changes. The view
* implementations get only read-access to the ViewModeController. * implementations get only read-access to the ViewModeController.
*/ */
class LIBDOLPHINPRIVATE_EXPORT ViewModeController : public QObject class DOLPHIN_EXPORT ViewModeController : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@ -23,7 +23,7 @@
#include <views/dolphinview.h> #include <views/dolphinview.h>
#include <QUrl> #include <QUrl>
#include "libdolphin_export.h" #include "dolphin_export.h"
class ViewPropertySettings; class ViewPropertySettings;
/** /**
@ -47,7 +47,7 @@ class ViewPropertySettings;
* (see GeneralSettings::globalViewMode()), the values from the global .directory file * (see GeneralSettings::globalViewMode()), the values from the global .directory file
* are used for initialization. * are used for initialization.
*/ */
class LIBDOLPHINPRIVATE_EXPORT ViewProperties class DOLPHIN_EXPORT ViewProperties
{ {
public: public:
explicit ViewProperties(const QUrl& url); explicit ViewProperties(const QUrl& url);