summaryrefslogtreecommitdiff
path: root/src/frontend/searchdialog/cmoduleresultview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/searchdialog/cmoduleresultview.cpp')
-rw-r--r--src/frontend/searchdialog/cmoduleresultview.cpp91
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());
}