diff options
Diffstat (limited to 'src/frontend/searchdialog/cmoduleresultview.cpp')
-rw-r--r-- | src/frontend/searchdialog/cmoduleresultview.cpp | 91 |
1 files changed, 46 insertions, 45 deletions
diff --git a/src/frontend/searchdialog/cmoduleresultview.cpp b/src/frontend/searchdialog/cmoduleresultview.cpp index f243a61..0228ad2 100644 --- a/src/frontend/searchdialog/cmoduleresultview.cpp +++ b/src/frontend/searchdialog/cmoduleresultview.cpp @@ -7,55 +7,56 @@ * **********/ +#include "frontend/searchdialog/cmoduleresultview.h" - -#include "cmoduleresultview.h" +#include <QAction> +#include <QContextMenuEvent> +#include <QHeaderView> +#include <QMenu> +#include <QStringList> +#include <QTreeWidget> +#include <QDebug> +#include <QtAlgorithms> #include "backend/drivers/cswordmoduleinfo.h" - #include "frontend/cexportmanager.h" - #include "util/cresmgr.h" -#include "util/ctoolclass.h" -#include "util/directoryutil.h" +#include "util/tool.h" +#include "util/directory.h" -//Qt includes -#include <QTreeWidget> -#include <QAction> -#include <QStringList> -#include <QMenu> -#include <QContextMenuEvent> -#include <QHeaderView> namespace Search { - /******************************************** ************ ModuleResultList ************** ********************************************/ CModuleResultView::CModuleResultView(QWidget* parent) - : QTreeWidget(parent), - strongsResults(0) { + : QTreeWidget(parent) { initView(); initConnections(); } -CModuleResultView::~CModuleResultView() {} +CModuleResultView::~CModuleResultView() { + qDeleteAll(strongsResults); + strongsResults.clear(); +} /** Initializes this widget. */ void CModuleResultView::initView() { + namespace DU = util::directory; + // see also csearchresultview.cpp setToolTip(tr("Works chosen for the search and the number of the hits in each work")); setHeaderLabels( QStringList(tr("Work")) << tr("Hits") ); - setColumnWidth(0, CToolClass::mWidth(this, 8)); - setColumnWidth(1, CToolClass::mWidth(this, 4)); - QSize sz(CToolClass::mWidth(this, 13), CToolClass::mWidth(this, 5)); + setColumnWidth(0, util::tool::mWidth(this, 8)); + setColumnWidth(1, util::tool::mWidth(this, 4)); + QSize sz(util::tool::mWidth(this, 13), util::tool::mWidth(this, 5)); //setMinimumSize(sz); m_size = sz; - //TODO: sorting + /// \todo sorting //setSorting(0, true); //setSorting(1, true); @@ -63,7 +64,7 @@ void CModuleResultView::initView() { m_popup = new QMenu(this); m_actions.copyMenu = new QMenu(tr("Copy..."), m_popup); - m_actions.copyMenu->setIcon(util::filesystem::DirectoryUtil::getIcon( CResMgr::searchdialog::result::moduleList::copyMenu::icon) ); + m_actions.copyMenu->setIcon(DU::getIcon( CResMgr::searchdialog::result::moduleList::copyMenu::icon) ); m_actions.copy.result = new QAction(tr("Reference only"), this); QObject::connect(m_actions.copy.result, SIGNAL(triggered()), this, SLOT(copyResult()) ); m_actions.copyMenu->addAction(m_actions.copy.result); @@ -73,7 +74,7 @@ void CModuleResultView::initView() { m_popup->addMenu(m_actions.copyMenu); m_actions.saveMenu = new QMenu(tr("Save..."), m_popup); - m_actions.saveMenu->setIcon(util::filesystem::DirectoryUtil::getIcon( CResMgr::searchdialog::result::moduleList::saveMenu::icon) ); + m_actions.saveMenu->setIcon(DU::getIcon( CResMgr::searchdialog::result::moduleList::saveMenu::icon) ); m_actions.save.result = new QAction(tr("Reference only"), this); QObject::connect(m_actions.save.result, SIGNAL(triggered()), this, SLOT(saveResult()) ); m_actions.saveMenu->addAction(m_actions.save.result); @@ -83,7 +84,7 @@ void CModuleResultView::initView() { m_popup->addMenu(m_actions.saveMenu); m_actions.printMenu = new QMenu(tr("Print..."), m_popup); - m_actions.printMenu->setIcon(util::filesystem::DirectoryUtil::getIcon(CResMgr::searchdialog::result::moduleList::printMenu::icon)); + m_actions.printMenu->setIcon(DU::getIcon(CResMgr::searchdialog::result::moduleList::printMenu::icon)); m_actions.print.result = new QAction(tr("Reference with text"), this); QObject::connect(m_actions.print.result, SIGNAL(triggered()), this, SLOT(printResult()) ); m_actions.printMenu->addAction(m_actions.print.result); @@ -92,7 +93,7 @@ void CModuleResultView::initView() { /** Initializes the connections of this widget, */ void CModuleResultView::initConnections() { - //TODO: + /// \todo connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(executed(QTreeWidgetItem*, QTreeWidgetItem*))); } @@ -100,7 +101,7 @@ void CModuleResultView::initConnections() { /** Setups the tree using the given list of modules. */ void CModuleResultView::setupTree( QList<CSwordModuleInfo*> modules, const QString& searchedText ) { clear(); - //TODO: this class is for sorting + /// \todo this class is for sorting //util::CSortListViewItem* item = 0; //util::CSortListViewItem* oldItem = 0; QTreeWidgetItem* item = 0; @@ -108,10 +109,8 @@ void CModuleResultView::setupTree( QList<CSwordModuleInfo*> modules, const QStri sword::ListKey result; - if (strongsResults) { - delete strongsResults; - strongsResults = 0; - } + qDeleteAll(strongsResults); + strongsResults.clear(); bool strongsAvailable = false; @@ -121,9 +120,9 @@ void CModuleResultView::setupTree( QList<CSwordModuleInfo*> modules, const QStri result = (*it)->searchResult(); item = new QTreeWidgetItem(this, QStringList((*it)->name()) << QString::number(result.Count()) ); - //TODO: item->setColumnSorting(1, util::CSortListViewItem::Number); + /// \todo item->setColumnSorting(1, util::CSortListViewItem::Number); - item->setIcon(0, CToolClass::getIconForModule(*it) ); + item->setIcon(0, util::tool::getIconForModule(*it) ); oldItem = item; //---------------------------------------------------------------------- // we need to make a decision here. Either don't show any Strong's @@ -145,7 +144,7 @@ void CModuleResultView::setupTree( QList<CSwordModuleInfo*> modules, const QStri setupStrongsResults((*it), item, sNumber); - //TODO: item->setOpen(true); + /// \todo item->setOpen(true); strongsAvailable = true; } }; @@ -157,22 +156,22 @@ void CModuleResultView::setupTree( QList<CSwordModuleInfo*> modules, const QStri void CModuleResultView::setupStrongsResults(CSwordModuleInfo* module, QTreeWidgetItem* parent, const QString& sNumber) { QString lText; - //TODO: + /// \todo //util::CSortListViewItem* item = 0; QTreeWidgetItem* item = 0; - strongsResults = new StrongsResultClass(module, sNumber); + strongsResults[module] = new StrongsResultClass(module, sNumber); - for (int cnt = 0; cnt < strongsResults->Count(); ++cnt) { - lText = strongsResults->keyText(cnt); + for (int cnt = 0; cnt < strongsResults[module]->Count(); ++cnt) { + lText = strongsResults[module]->keyText(cnt); - item = new QTreeWidgetItem(parent, QStringList(lText) << QString::number(strongsResults->keyCount(cnt))); - //TODO: + item = new QTreeWidgetItem(parent, QStringList(lText) << QString::number(strongsResults[module]->keyCount(cnt))); + /// \todo //item->setColumnSorting(1, util::CSortListViewItem::Number); } } -//TODO: +/// \todo /** Is executed when an item was selected in the list. */ void CModuleResultView::executed( QTreeWidgetItem* i, QTreeWidgetItem*) { QString itemText, lText; @@ -188,17 +187,19 @@ void CModuleResultView::executed( QTreeWidgetItem* i, QTreeWidgetItem*) { return; } - if (!strongsResults) { + StrongsResultClass* strongsResult = strongsResults[activeModule()]; + + if (!strongsResult) { return; } itemText = i->text(0); - for (int cnt = 0; cnt < strongsResults->Count(); cnt++) { - lText = strongsResults->keyText(cnt); + for (int cnt = 0; cnt < strongsResult->Count(); cnt++) { + lText = strongsResult->keyText(cnt); if (lText == itemText) { //clear the verses list emit moduleChanged(); - emit strongsSelected(activeModule(), strongsResults->getKeyList(cnt)); + emit strongsSelected(activeModule(), strongsResult->getKeyList(cnt)); return; } } @@ -228,7 +229,7 @@ CSwordModuleInfo* CModuleResultView::activeModule() { /** Reimplementation from QWidget. */ void CModuleResultView::contextMenuEvent( QContextMenuEvent * event ) { - qDebug("CModuleResultView::showPopup"); + qDebug() << "CModuleResultView::showPopup"; //make sure that all entries have the correct status m_popup->exec(event->globalPos()); } |