diff options
author | Michele Calgaro <[email protected]> | 2014-10-30 14:50:07 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2014-10-30 14:50:07 +0900 |
commit | d676f93b5f3a7481fc0588f087bef418879e6f78 (patch) | |
tree | 8bcbe99d2f62e6216afa3bd9b56c99a2eb163d07 /parts/documentation/plugins | |
parent | 565f0ae626aeff1ec26ce379abe2c3838b54cdf6 (diff) | |
download | tdevelop-d676f93b5f3a7481fc0588f087bef418879e6f78.tar.gz tdevelop-d676f93b5f3a7481fc0588f087bef418879e6f78.zip |
Added backend logic for allowing the user to manually update the Documentation Plugin lists. GUI part still to be done.
In the process, fixed some bugs related to deallocation and reinitialization of documentation catalogs and project catalogs.
This relates to bug 1859.
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'parts/documentation/plugins')
6 files changed, 57 insertions, 2 deletions
diff --git a/parts/documentation/plugins/chm/docchmplugin.cpp b/parts/documentation/plugins/chm/docchmplugin.cpp index cbd89a60..cfb0f8c0 100644 --- a/parts/documentation/plugins/chm/docchmplugin.cpp +++ b/parts/documentation/plugins/chm/docchmplugin.cpp @@ -115,6 +115,13 @@ bool DocCHMPlugin::needRefreshIndex(DocumentationCatalogItem* // item void DocCHMPlugin::autoSetupPlugin() { + // Clear groups, to allow for re-autosetup calls + config->deleteGroup("Index"); + config->deleteGroup("Index Settings"); + config->deleteGroup("Locations"); + config->deleteGroup("Search Settings"); + config->deleteGroup("TOC Settings"); + config->sync(); return; } @@ -194,4 +201,12 @@ void DocCHMPlugin::setCatalogURL(DocumentationCatalogItem* item) item->setURL(chmURL); } +ProjectDocumentationPlugin *DocCHMPlugin::projectDocumentationPlugin(ProjectDocType type) +{ + if (type == APIDocs) + return new ProjectDocumentationPlugin(this, type); + return DocumentationPlugin::projectDocumentationPlugin(type); +} + + #include "docchmplugin.moc" diff --git a/parts/documentation/plugins/chm/docchmplugin.h b/parts/documentation/plugins/chm/docchmplugin.h index 4d053333..5ac7d120 100644 --- a/parts/documentation/plugins/chm/docchmplugin.h +++ b/parts/documentation/plugins/chm/docchmplugin.h @@ -44,6 +44,9 @@ public: virtual TQStringList fullTextSearchLocations(); virtual void autoSetupPlugin(); + + virtual ProjectDocumentationPlugin* projectDocumentationPlugin(ProjectDocType type); + protected: TQString getSpecialData(const TQString& name, KURL url); }; diff --git a/parts/documentation/plugins/devhelp/docdevhelpplugin.cpp b/parts/documentation/plugins/devhelp/docdevhelpplugin.cpp index 5bdfa618..2710fe25 100644 --- a/parts/documentation/plugins/devhelp/docdevhelpplugin.cpp +++ b/parts/documentation/plugins/devhelp/docdevhelpplugin.cpp @@ -161,6 +161,14 @@ bool DocDevHelpPlugin::needRefreshIndex(DocumentationCatalogItem* item) void DocDevHelpPlugin::autoSetupPlugin() { + // Clear groups, to allow for re-autosetup calls + config->deleteGroup("Index"); + config->deleteGroup("Index Settings"); + config->deleteGroup("Locations"); + config->deleteGroup("Search Settings"); + config->deleteGroup("TOC Settings"); + config->sync(); + TQValueStack<TQString> scanStack; pushToScanStack(scanStack, getenv("DEVHELP_SEARCH_PATH")); @@ -214,6 +222,8 @@ void DocDevHelpPlugin::autoSetupPlugin() { scanDevHelpDir(*it); } + + config->sync(); } void DocDevHelpPlugin::scanDevHelpDir(const TQString &path) diff --git a/parts/documentation/plugins/doxygen/docdoxygenplugin.cpp b/parts/documentation/plugins/doxygen/docdoxygenplugin.cpp index 1a6c98c5..239fc2ef 100644 --- a/parts/documentation/plugins/doxygen/docdoxygenplugin.cpp +++ b/parts/documentation/plugins/doxygen/docdoxygenplugin.cpp @@ -187,9 +187,17 @@ bool DocDoxygenPlugin::needRefreshIndex(DocumentationCatalogItem* item) void DocDoxygenPlugin::autoSetupPlugin() { + // Clear groups, to allow for re-autosetup calls + config->deleteGroup("Index"); + config->deleteGroup("Index Settings"); + config->deleteGroup("Locations"); + config->deleteGroup("Search Settings"); + config->deleteGroup("TOC Settings"); + config->sync(); + autoSetupDocs(TDELIBS_DOXYDIR, "en/tdelibs-apidocs", "The TDE API Reference"); autoSetupDocs("", "en/tdevelop-apidocs", "The TDevelop Platform API Documentation"); - + config->sync(); } void DocDoxygenPlugin::autoSetupDocs(const TQString &defaultDir, const TQString &searchDir, diff --git a/parts/documentation/plugins/kdevtoc/dockdevtocplugin.cpp b/parts/documentation/plugins/kdevtoc/dockdevtocplugin.cpp index 10fe853d..d0a00eb6 100644 --- a/parts/documentation/plugins/kdevtoc/dockdevtocplugin.cpp +++ b/parts/documentation/plugins/kdevtoc/dockdevtocplugin.cpp @@ -123,6 +123,14 @@ bool DocKDevTOCPlugin::needRefreshIndex(DocumentationCatalogItem* /*item*/) void DocKDevTOCPlugin::autoSetupPlugin() { + // Clear groups, to allow for re-autosetup calls + config->deleteGroup("Index"); + config->deleteGroup("Index Settings"); + config->deleteGroup("Locations"); + config->deleteGroup("Search Settings"); + config->deleteGroup("TOC Settings"); + config->sync(); + TQStringList tocsDir = DocKDevTOCPluginFactory::instance()->dirs()->findAllResources("data", "kdevdocumentation/tocs/*.toc"); for (TQStringList::const_iterator it = tocsDir.begin(); it != tocsDir.end(); ++it) @@ -130,6 +138,7 @@ void DocKDevTOCPlugin::autoSetupPlugin() config->setGroup("Locations"); config->writePathEntry(catalogTitle(*it), *it); } + config->sync(); } void DocKDevTOCPlugin::createIndex(IndexBox* index, DocumentationCatalogItem* item) diff --git a/parts/documentation/plugins/qt/docqtplugin.cpp b/parts/documentation/plugins/qt/docqtplugin.cpp index 2a7ddae8..47d0baff 100644 --- a/parts/documentation/plugins/qt/docqtplugin.cpp +++ b/parts/documentation/plugins/qt/docqtplugin.cpp @@ -137,6 +137,14 @@ void DocQtPlugin::createTOC(DocumentationCatalogItem *item) void DocQtPlugin::autoSetupPlugin() { + // Clear groups, to allow for re-autosetup calls + config->deleteGroup("Index"); + config->deleteGroup("Index Settings"); + config->deleteGroup("Locations"); + config->deleteGroup("Search Settings"); + config->deleteGroup("TOC Settings"); + config->sync(); + TQString qtDocDir(QT_DOCDIR); qtDocDir = URLUtil::envExpand(qtDocDir); if (qtDocDir.isEmpty()) @@ -144,7 +152,7 @@ void DocQtPlugin::autoSetupPlugin() qtDocDir = getenv("QTDIR"); } if (!qtDocDir.isEmpty()) - { + { config->setGroup("Search Settings"); config->writeEntry("TQt Reference Documentation", true); config->setGroup("Index Settings"); @@ -156,6 +164,8 @@ void DocQtPlugin::autoSetupPlugin() config->writePathEntry("Guide to the TQt Translation Tools", qtDocDir + TQString("/linguist.dcf")); config->writePathEntry("qmake User Guide", qtDocDir + TQString("/qmake.dcf")); } + + config->sync(); } void DocQtPlugin::setCatalogURL(DocumentationCatalogItem *item) |