X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dfa170cb4921cc1bab843313e8e3c780b4fe82f1..db408cf09d9cc106405fdb496e333246e795902a:/src/views/versioncontrol/updateitemstatesthread.h diff --git a/src/views/versioncontrol/updateitemstatesthread.h b/src/views/versioncontrol/updateitemstatesthread.h index a28169755..92563faa5 100644 --- a/src/views/versioncontrol/updateitemstatesthread.h +++ b/src/views/versioncontrol/updateitemstatesthread.h @@ -20,20 +20,18 @@ #ifndef UPDATEITEMSTATESTHREAD_H #define UPDATEITEMSTATESTHREAD_H -#include -#include +#include "dolphin_export.h" +#include "views/versioncontrol/versioncontrolobserver.h" #include #include -class KVersionControlPlugin; - /** * The performance of updating the version state of items depends * on the used plugin. To prevent that Dolphin gets blocked by a * slow plugin, the updating is delegated to a thread. */ -class LIBDOLPHINPRIVATE_EXPORT UpdateItemStatesThread : public QThread +class DOLPHIN_EXPORT UpdateItemStatesThread : public QThread { Q_OBJECT @@ -47,35 +45,19 @@ public: * @param itemStates List of items, where the states get updated. */ UpdateItemStatesThread(KVersionControlPlugin* plugin, - const QList& itemStates); - virtual ~UpdateItemStatesThread(); - - /** - * Whenever the plugin is accessed by the thread creator, lockPlugin() must - * be invoked. True is returned, if the plugin could be locked within 300 - * milliseconds. - */ - bool lockPlugin(); - - /** - * Must be invoked if lockPlugin() returned true and plugin has been accessed - * by the thread creator. - */ - void unlockPlugin(); - - QList itemStates() const; + const QMap >& itemStates); + ~UpdateItemStatesThread() override; - bool retrievedItems() const; + QMap > itemStates() const; protected: - virtual void run(); + void run() override; private: QMutex* m_globalPluginMutex; // Protects the m_plugin globally KVersionControlPlugin* m_plugin; - bool m_retrievedItems; - QList m_itemStates; + QMap > m_itemStates; }; #endif // UPDATEITEMSTATESTHREAD_H