X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b8c718a6fd9810f9e91303ed50402de4ab417a49..119f7a3f:/src/views/versioncontrol/versioncontrolobserver.h diff --git a/src/views/versioncontrol/versioncontrolobserver.h b/src/views/versioncontrol/versioncontrolobserver.h index 88c764baf..a43dc3415 100644 --- a/src/views/versioncontrol/versioncontrolobserver.h +++ b/src/views/versioncontrol/versioncontrolobserver.h @@ -20,12 +20,12 @@ #ifndef VERSIONCONTROLOBSERVER_H #define VERSIONCONTROLOBSERVER_H -#include +#include "libdolphin_export.h" #include -#include +#include +#include #include -#include #include #include @@ -54,8 +54,7 @@ public: void setModel(KFileItemModel* model); KFileItemModel* model() const; - QList contextMenuActions(const KFileItemList& items) const; - QList contextMenuActions(const QString& directory) const; + QList actions(const KFileItemList& items) const; signals: /** @@ -101,26 +100,31 @@ private slots: void slotThreadFinished(); private: - struct ItemState - { - int index; - KFileItem item; - KVersionControlPlugin::VersionState version; - }; + typedef QPair ItemState; void updateItemStates(); /** - * Adds recursively all items from the directory \p parentIndex into - * the list \p itemStates. + * It creates a item state list for every expanded directory and stores + * this list together with the directory url in the \a itemStates map. + * + * @itemStates A map of item state lists for every expanded directory + * and its items, where the "key" is the directory url and + * the "value" is a list of ItemStates for every item + * within this directory. + * @firstIndex The index to start the processing from, this is needed + * because this function is recursively called. + * + * @return The number of (recursive) processed items. */ - //void addDirectory(const QModelIndex& parentIndex, QList& itemStates); + int createItemStatesList(QMap >& itemStates, + const int firstIndex = 0); /** * Returns a matching plugin for the given directory. * 0 is returned, if no matching plugin has been found. */ - KVersionControlPlugin* searchPlugin(const KUrl& directory) const; + KVersionControlPlugin* searchPlugin(const QUrl& directory) const; /** * Returns true, if the directory contains a version control information.