From 642552c9522bcbcd32f4203aba9732934f9f6a73 Mon Sep 17 00:00:00 2001 From: Bartosz Szatkowski Date: Mon, 30 Aug 2010 10:12:39 +0200 Subject: [PATCH] Fixed #6304: xdxf plugin deletes cache files when beign removed from app --- trunk/src/base/backbone/backbone.cpp | 1 + trunk/src/includes/CommonDictInterface.h | 6 ++++++ trunk/src/plugins/xdxf/src/xdxfplugin.cpp | 7 +++++++ trunk/src/plugins/xdxf/src/xdxfplugin.h | 5 +++++ 4 files changed, 19 insertions(+) diff --git a/trunk/src/base/backbone/backbone.cpp b/trunk/src/base/backbone/backbone.cpp index d7ca916..80ede84 100644 --- a/trunk/src/base/backbone/backbone.cpp +++ b/trunk/src/base/backbone/backbone.cpp @@ -255,6 +255,7 @@ void Backbone::addDictionary(CommonDictInterface *dict, bool active) { void Backbone::removeDictionary(CommonDictInterface *dict) { _dicts.remove(dict); + dict->clean(); delete dict; dictUpdated(); diff --git a/trunk/src/includes/CommonDictInterface.h b/trunk/src/includes/CommonDictInterface.h index f4af85d..712f68c 100644 --- a/trunk/src/includes/CommonDictInterface.h +++ b/trunk/src/includes/CommonDictInterface.h @@ -89,8 +89,14 @@ class CommonDictInterface : public QObject, public AccentsNormalizer { //! returns plugin icon virtual QIcon* icon() = 0; + //! returns empty translation object (to be fetch later) for given key virtual Translation* getTranslationFor(QString key) {return 0;} + /*! plugin should delete any files (eg. cache) that has created and be ready + to be deleted + */ + virtual void clean() {}; + public Q_SLOTS: /*! performs search in dictionary \param word word to search in dictionary diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp index ae9f35e..78a5905 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp @@ -567,4 +567,11 @@ bool XdxfPlugin::makeCache(QString dir) { return true; } + + +void XdxfPlugin::clean() { + if(settings()->value("cached") == "true") + QFile(settings()->value("cache_path")).remove(); +} + Q_EXPORT_PLUGIN2(xdxf, XdxfPlugin) diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.h b/trunk/src/plugins/xdxf/src/xdxfplugin.h index 964b827..a763327 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.h +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.h @@ -100,6 +100,11 @@ public: //! returns plugin icon virtual QIcon* icon(); + /*! plugin should delete any files (eg. cache) that has created and be ready + to be deleted + */ + virtual void clean(); + public Q_SLOTS: /*! performs search in dictionary \param word word to search in dictionary -- 1.7.9.5