• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

libkonq

Public Types | Signals | Public Member Functions | List of all members
KVersionControlPlugin2 Class Referenceabstract

#include <kversioncontrolplugin2.h>

Inheritance diagram for KVersionControlPlugin2:
Inheritance graph
[legend]

Public Types

enum  ItemVersion {
  UnversionedVersion, NormalVersion, UpdateRequiredVersion, LocallyModifiedVersion,
  AddedVersion, RemovedVersion, ConflictingVersion, LocallyModifiedUnstagedVersion,
  IgnoredVersion, MissingVersion
}
 
- Public Types inherited from KVersionControlPlugin
enum  VersionState {
  UnversionedVersion, NormalVersion, UpdateRequiredVersion, LocallyModifiedVersion,
  AddedVersion, RemovedVersion, ConflictingVersion, LocallyModifiedUnstagedVersion
}
 

Signals

void errorMessage (const QString &msg)
 
void infoMessage (const QString &msg)
 
void itemVersionsChanged ()
 
void operationCompletedMessage (const QString &msg)
 
- Signals inherited from KVersionControlPlugin
void errorMessage (const QString &msg)
 
void infoMessage (const QString &msg)
 
void operationCompletedMessage (const QString &msg)
 
void versionStatesChanged ()
 

Public Member Functions

 KVersionControlPlugin2 (QObject *parent=0)
 
virtual ~KVersionControlPlugin2 ()
 
virtual QList< QAction * > actions (const KFileItemList &items) const =0
 
virtual bool beginRetrieval (const QString &directory)=0
 
virtual QList< QAction * > contextMenuActions (const KFileItemList &items)
 
virtual QList< QAction * > contextMenuActions (const QString &directory)
 
virtual void endRetrieval ()=0
 
virtual QString fileName () const =0
 
virtual ItemVersion itemVersion (const KFileItem &item) const =0
 
virtual VersionState versionState (const KFileItem &item)
 
- Public Member Functions inherited from KVersionControlPlugin
 KVersionControlPlugin (QObject *parent=0)
 
virtual ~KVersionControlPlugin ()
 

Detailed Description

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: [Desktop Entry] Type=Service Name=Subversion X-KDE-ServiceTypes=FileViewVersionControlPlugin MimeType=text/plain; X-KDE-Library=fileviewsvnplugin
  • Create a class FileViewSvnPlugin derived from KVersionControlPlugin2 and implement all abstract interfaces (fileviewsvnplugin.h, fileviewsvnplugin.cpp).
  • Take care that the constructor has the following signature: FileViewSvnPlugin(QObject* parent, const QList<QVariant>& args);
  • Add the following lines at the top of fileviewsvnplugin.cpp: #include <KPluginFactory> #include <KPluginLoader> K_PLUGIN_FACTORY(FileViewSvnPluginFactory, registerPlugin<FileViewSvnPlugin>();) K_EXPORT_PLUGIN(FileViewSvnPluginFactory("fileviewsvnplugin"))
  • Add the following lines to your CMakeLists.txt file: kde4_add_plugin(fileviewsvnplugin fileviewsvnplugin.cpp) target_link_libraries(fileviewsvnplugin konq) install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})

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

Definition at line 81 of file kversioncontrolplugin2.h.

Member Enumeration Documentation

enum KVersionControlPlugin2::ItemVersion
Enumerator
UnversionedVersion 

The file is not under version control.

NormalVersion 

The file is under version control and represents the latest version.

UpdateRequiredVersion 

The file is under version control and a newer version exists on the main branch.

LocallyModifiedVersion 

The file is under version control and has been modified locally.

All modifications will be part of the next commit.

AddedVersion 

The file has not been under version control but has been marked to get added with the next commit.

RemovedVersion 

The file is under version control but has been marked for getting removed with the next commit.

ConflictingVersion 

The file is under version control and has been locally modified.

A modification has also been done on the main branch.

LocallyModifiedUnstagedVersion 

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
IgnoredVersion 

The file is not under version control and is listed in the ignore list of the version control system.

Since
4.8
MissingVersion 

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

Definition at line 86 of file kversioncontrolplugin2.h.

Constructor & Destructor Documentation

KVersionControlPlugin2::KVersionControlPlugin2 ( QObject *  parent = 0)

Definition at line 24 of file kversioncontrolplugin2.cpp.

KVersionControlPlugin2::~KVersionControlPlugin2 ( )
virtual

Definition at line 29 of file kversioncontrolplugin2.cpp.

Member Function Documentation

virtual QList<QAction*> KVersionControlPlugin2::actions ( const KFileItemList &  items) const
pure virtual
Returns
List of actions that are available for the items 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 bool KVersionControlPlugin2::beginRetrieval ( const QString &  directory)
pure virtual

Is invoked whenever the version control information will get retrieved for the directory directory.

It is assured that the directory contains a trailing slash.

Implements KVersionControlPlugin.

QList< QAction * > KVersionControlPlugin2::contextMenuActions ( const KFileItemList &  items)
virtual

Empty implementation for deprecated interface of KVersionControlPlugin.

Implements KVersionControlPlugin.

Definition at line 39 of file kversioncontrolplugin2.cpp.

QList< QAction * > KVersionControlPlugin2::contextMenuActions ( const QString &  directory)
virtual

Empty implementation for deprecated interface of KVersionControlPlugin.

Implements KVersionControlPlugin.

Definition at line 45 of file kversioncontrolplugin2.cpp.

virtual void KVersionControlPlugin2::endRetrieval ( )
pure virtual

Is invoked after the version control information has been received.

It is assured that KVersionControlPluginV2::beginInfoRetrieval() has been invoked before.

Implements KVersionControlPlugin.

void KVersionControlPlugin2::errorMessage ( const QString &  msg)
signal

Is emitted if an error message with the content msg should be shown.

virtual QString KVersionControlPlugin2::fileName ( ) const
pure virtual

Returns the name of the file which stores the version controls information.

(e. g. .svn, .cvs, .git).

Implements KVersionControlPlugin.

void KVersionControlPlugin2::infoMessage ( const QString &  msg)
signal

Is emitted if an information message with the content msg should be shown.

virtual ItemVersion KVersionControlPlugin2::itemVersion ( const KFileItem &  item) const
pure virtual
Returns
The version for the item item. It is assured that KVersionControlPlugin::beginInfoRetrieval() has been invoked before and that the file is part of the directory specified in beginInfoRetrieval().
void KVersionControlPlugin2::itemVersionsChanged ( )
signal

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 directory by invoking KVersionControlPlugin::beginRetrieval(), KVersionControlPlugin::itemVersion() and KVersionControlPlugin::endRetrieval().

void KVersionControlPlugin2::operationCompletedMessage ( const QString &  msg)
signal

Is emitted if an "operation completed" message with the content msg should be shown.

KVersionControlPlugin2::VersionState KVersionControlPlugin2::versionState ( const KFileItem &  item)
virtual

Empty implementation for deprecated interface of KVersionControlPlugin.

Implements KVersionControlPlugin.

Definition at line 33 of file kversioncontrolplugin2.cpp.


The documentation for this class was generated from the following files:
  • kversioncontrolplugin2.h
  • kversioncontrolplugin2.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:31:18 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkonq

Skip menu "libkonq"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Applications
  •   Libraries
  •     libkonq
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal