diff options
author | Roberto C. Sanchez <roberto@connexer.com> | 2014-10-21 22:48:29 -0400 |
---|---|---|
committer | Roberto C. Sanchez <roberto@connexer.com> | 2014-10-21 22:48:29 -0400 |
commit | e8a196082586bb68e0bf254a8f6f4b8f39071f32 (patch) | |
tree | b03dbbd1b5be6092ed5e9bcb3806aa2d4938bba3 /src/frontend/searchdialog/csearchresultview.cpp | |
parent | dd2f7ce46df53f2c377c02d1bf4df8adcf092072 (diff) |
Imported Upstream version 2.3.3
Diffstat (limited to 'src/frontend/searchdialog/csearchresultview.cpp')
-rw-r--r-- | src/frontend/searchdialog/csearchresultview.cpp | 376 |
1 files changed, 185 insertions, 191 deletions
diff --git a/src/frontend/searchdialog/csearchresultview.cpp b/src/frontend/searchdialog/csearchresultview.cpp index 74561d6..f13b9d2 100644 --- a/src/frontend/searchdialog/csearchresultview.cpp +++ b/src/frontend/searchdialog/csearchresultview.cpp @@ -30,265 +30,259 @@ namespace Search { CSearchResultView::CSearchResultView(QWidget* parent) - : QTreeWidget(parent), - m_module(0) -{ - initView(); - initConnections(); + : QTreeWidget(parent), + m_module(0) { + initView(); + initConnections(); } CSearchResultView::~CSearchResultView() {} /** Initializes the view of this widget. */ -void CSearchResultView::initView() -{ - setToolTip(tr("Search result of the selected work")); - setHeaderLabel(tr("Results")); - setDragEnabled(true); - setRootIsDecorated( false ); - setSelectionMode(QAbstractItemView::ExtendedSelection); - - //setup the popup menu - 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::foundItems::copyMenu::icon)); - - m_actions.copy.result = new QAction(tr("Reference only"), this); - QObject::connect(m_actions.copy.result, SIGNAL(triggered()), this, SLOT(copyItems()) ); - m_actions.copyMenu->addAction(m_actions.copy.result); - - m_actions.copy.resultWithText = new QAction(tr("Reference with text"), this); - QObject::connect(m_actions.copy.resultWithText, SIGNAL(triggered()), - this, SLOT(copyItemsWithText())); - m_actions.copyMenu->addAction(m_actions.copy.resultWithText); - - 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::foundItems::saveMenu::icon)); - - m_actions.save.result = new QAction(tr("Reference only"), this); - QObject::connect(m_actions.save.result, SIGNAL(triggered()), this, SLOT(saveItems()) ); - m_actions.saveMenu->addAction(m_actions.save.result); - - m_actions.save.resultWithText = new QAction(tr("Reference with text"), this); - m_actions.saveMenu->addAction(m_actions.save.resultWithText); - QObject::connect(m_actions.save.resultWithText, SIGNAL(triggered()), this, SLOT(saveItemsWithText())); - 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::foundItems::printMenu::icon)); - - m_actions.print.result = new QAction(tr("Reference with text"), this); - QObject::connect(m_actions.print.result, SIGNAL(triggered()), this, SLOT(printItems()) ); - m_actions.printMenu->addAction(m_actions.print.result); - m_popup->addMenu(m_actions.printMenu); +void CSearchResultView::initView() { + setToolTip(tr("Search result of the selected work")); + setHeaderLabel(tr("Results")); + setDragEnabled(true); + setRootIsDecorated( false ); + setSelectionMode(QAbstractItemView::ExtendedSelection); + + //setup the popup menu + 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::foundItems::copyMenu::icon)); + + m_actions.copy.result = new QAction(tr("Reference only"), this); + QObject::connect(m_actions.copy.result, SIGNAL(triggered()), this, SLOT(copyItems()) ); + m_actions.copyMenu->addAction(m_actions.copy.result); + + m_actions.copy.resultWithText = new QAction(tr("Reference with text"), this); + QObject::connect(m_actions.copy.resultWithText, SIGNAL(triggered()), + this, SLOT(copyItemsWithText())); + m_actions.copyMenu->addAction(m_actions.copy.resultWithText); + + 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::foundItems::saveMenu::icon)); + + m_actions.save.result = new QAction(tr("Reference only"), this); + QObject::connect(m_actions.save.result, SIGNAL(triggered()), this, SLOT(saveItems()) ); + m_actions.saveMenu->addAction(m_actions.save.result); + + m_actions.save.resultWithText = new QAction(tr("Reference with text"), this); + m_actions.saveMenu->addAction(m_actions.save.resultWithText); + QObject::connect(m_actions.save.resultWithText, SIGNAL(triggered()), this, SLOT(saveItemsWithText())); + 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::foundItems::printMenu::icon)); + + m_actions.print.result = new QAction(tr("Reference with text"), this); + QObject::connect(m_actions.print.result, SIGNAL(triggered()), this, SLOT(printItems()) ); + m_actions.printMenu->addAction(m_actions.print.result); + m_popup->addMenu(m_actions.printMenu); } /** No descriptions */ void CSearchResultView::initConnections() { - // connect(this, SIGNAL(executed(QListViewItem*)), - // this, SLOT(executed(QListViewItem*))); - //TODO: are these right after porting? - //items: current, previous - connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), - this, SLOT(executed(QTreeWidgetItem*, QTreeWidgetItem*))); + // connect(this, SIGNAL(executed(QListViewItem*)), + // this, SLOT(executed(QListViewItem*))); + //TODO: are these right after porting? + //items: current, previous + connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), + this, SLOT(executed(QTreeWidgetItem*, QTreeWidgetItem*))); } /** Setups the list with the given module. */ void CSearchResultView::setupTree(CSwordModuleInfo* m) { - clear(); - - if (!m) return; - - m_module = m; - sword::ListKey& result = m->searchResult(); - const int count = result.Count(); - if (!count) return; - - setUpdatesEnabled(false); - - QTreeWidgetItem* oldItem = 0; - QTreeWidgetItem* item = 0; - for (int index = 0; index < count; index++) { - item = new QTreeWidgetItem(this, oldItem); - item->setText(0, QString::fromUtf8(result.GetElement(index)->getText())); - oldItem = item; - } - - setUpdatesEnabled(true); - //pre-select the first item - this->setCurrentItem(this->topLevelItem(0), 0); + clear(); + + if (!m) return; + + m_module = m; + sword::ListKey& result = m->searchResult(); + const int count = result.Count(); + if (!count) return; + + setUpdatesEnabled(false); + + QTreeWidgetItem* oldItem = 0; + QTreeWidgetItem* item = 0; + for (int index = 0; index < count; index++) { + item = new QTreeWidgetItem(this, oldItem); + item->setText(0, QString::fromUtf8(result.GetElement(index)->getText())); + oldItem = item; + } + + setUpdatesEnabled(true); + //pre-select the first item + this->setCurrentItem(this->topLevelItem(0), 0); } -void CSearchResultView::setupStrongsTree(CSwordModuleInfo* m, QStringList* vList) -{ - clear(); - if (!m) { - return; - } +void CSearchResultView::setupStrongsTree(CSwordModuleInfo* m, QStringList* vList) { + clear(); + if (!m) { + return; + } - m_module = m; + m_module = m; - if (vList->count() <= 0) { - return; - } + if (vList->count() <= 0) { + return; + } - setUpdatesEnabled(false); + setUpdatesEnabled(false); - QTreeWidgetItem* oldItem = 0; - QTreeWidgetItem* item = 0; + QTreeWidgetItem* oldItem = 0; + QTreeWidgetItem* item = 0; - foreach (QString s, *vList) { - item = new QTreeWidgetItem(this, oldItem); - item->setText(0, (s)); - oldItem = item; - } + foreach (QString s, *vList) { + item = new QTreeWidgetItem(this, oldItem); + item->setText(0, (s)); + oldItem = item; + } - setUpdatesEnabled(true); + setUpdatesEnabled(true); - //TODO:select the first item - //setSelected(firstChild(), true); - //executed(currentItem()); + //TODO:select the first item + //setSelected(firstChild(), true); + //executed(currentItem()); } //TODO: is this still valid? /** Is connected to the signal executed, which is emitted when a mew item was chosen. */ void CSearchResultView::executed(QTreeWidgetItem* current, QTreeWidgetItem*) { - if (current){ - emit keySelected(current->text(0)); - } - else{ - emit keyDeselected(); - } + if (current) { + emit keySelected(current->text(0)); + } + else { + emit keyDeselected(); + } } //TODO: another function? /** Reimplementation to show the popup menu. */ -void CSearchResultView::contextMenuEvent(QContextMenuEvent* event) -{ - qDebug("CSearchResultView::showPopup"); - m_popup->exec(event->globalPos()); +void CSearchResultView::contextMenuEvent(QContextMenuEvent* event) { + qDebug("CSearchResultView::showPopup"); + m_popup->exec(event->globalPos()); } void CSearchResultView::printItems() { - QList<QTreeWidgetItem*> items = selectedItems(); - CExportManager mgr(tr("Print search result..."), true, tr("Printing search result")); - - QStringList list; - foreach (QTreeWidgetItem* k, items) { - list.append( k->text(0) ); - } - mgr.printKeyList( list, module(), CBTConfig::getDisplayOptionDefaults(), CBTConfig::getFilterOptionDefaults() ); + QList<QTreeWidgetItem*> items = selectedItems(); + CExportManager mgr(tr("Print search result..."), true, tr("Printing search result")); + + QStringList list; + foreach (QTreeWidgetItem* k, items) { + list.append( k->text(0) ); + } + mgr.printKeyList( list, module(), CBTConfig::getDisplayOptionDefaults(), CBTConfig::getFilterOptionDefaults() ); } void CSearchResultView::saveItems() { - CExportManager mgr(tr("Save search result..."), true, tr("Saving search result")); - - CSwordModuleInfo* m = module(); - CSwordKey* k = 0; - QList<QTreeWidgetItem*> items = selectedItems(); - QList<CSwordKey*> keys; - foreach (QTreeWidgetItem* i, items) { - k = CSwordKey::createInstance( m ); - k->key(i->text(0)); - keys.append( k ); - } - mgr.saveKeyList( keys, CExportManager::Text, false); - - qDeleteAll(keys); - keys.clear(); //delete all the keys we created + CExportManager mgr(tr("Save search result..."), true, tr("Saving search result")); + + CSwordModuleInfo* m = module(); + CSwordKey* k = 0; + QList<QTreeWidgetItem*> items = selectedItems(); + QList<CSwordKey*> keys; + foreach (QTreeWidgetItem* i, items) { + k = CSwordKey::createInstance( m ); + k->key(i->text(0)); + keys.append( k ); + } + mgr.saveKeyList( keys, CExportManager::Text, false); + + qDeleteAll(keys); + keys.clear(); //delete all the keys we created } void CSearchResultView::saveItemsWithText() { - CExportManager mgr(tr("Save search result..."), true, tr("Saving search result")); - - CSwordModuleInfo* m = module(); - CSwordKey* k = 0; - QList<QTreeWidgetItem*> items = selectedItems(); - QList<CSwordKey*> keys; - foreach (QTreeWidgetItem* i, items) { - k = CSwordKey::createInstance( m ); - k->key(i->text(0)); - keys.append( k ); - }; - mgr.saveKeyList( keys, CExportManager::Text, true); - - qDeleteAll(keys); - keys.clear(); //delete all the keys we created + CExportManager mgr(tr("Save search result..."), true, tr("Saving search result")); + + CSwordModuleInfo* m = module(); + CSwordKey* k = 0; + QList<QTreeWidgetItem*> items = selectedItems(); + QList<CSwordKey*> keys; + foreach (QTreeWidgetItem* i, items) { + k = CSwordKey::createInstance( m ); + k->key(i->text(0)); + keys.append( k ); + }; + mgr.saveKeyList( keys, CExportManager::Text, true); + + qDeleteAll(keys); + keys.clear(); //delete all the keys we created } void CSearchResultView::copyItems() { - CExportManager mgr(tr("Copy search result..."), true, tr("Copying search result")); - - CSwordModuleInfo* m = module(); - CSwordKey* k = 0; - QList<QTreeWidgetItem*> items = selectedItems(); - QList<CSwordKey*> keys; - foreach (QTreeWidgetItem* i, items) { - k = CSwordKey::createInstance( m ); - k->key(i->text(0)); - keys.append( k ); - }; - mgr.copyKeyList( keys, CExportManager::Text, false); - - qDeleteAll(keys); - keys.clear(); //delete all the keys we created + CExportManager mgr(tr("Copy search result..."), true, tr("Copying search result")); + + CSwordModuleInfo* m = module(); + CSwordKey* k = 0; + QList<QTreeWidgetItem*> items = selectedItems(); + QList<CSwordKey*> keys; + foreach (QTreeWidgetItem* i, items) { + k = CSwordKey::createInstance( m ); + k->key(i->text(0)); + keys.append( k ); + }; + mgr.copyKeyList( keys, CExportManager::Text, false); + + qDeleteAll(keys); + keys.clear(); //delete all the keys we created } void CSearchResultView::copyItemsWithText() { - CExportManager mgr(tr("Copy search result..."), true, tr("Copying search result")); - - CSwordModuleInfo* m = module(); - CSwordKey* k = 0; - QList<QTreeWidgetItem*> items = selectedItems(); - QList<CSwordKey*> keys; - foreach (QTreeWidgetItem* i, items) { - k = CSwordKey::createInstance( m ); - k->key(i->text(0)); - keys.append( k ); - }; - mgr.copyKeyList( keys, CExportManager::Text, true); - - qDeleteAll(keys); - keys.clear(); //delete all the keys we created + CExportManager mgr(tr("Copy search result..."), true, tr("Copying search result")); + + CSwordModuleInfo* m = module(); + CSwordKey* k = 0; + QList<QTreeWidgetItem*> items = selectedItems(); + QList<CSwordKey*> keys; + foreach (QTreeWidgetItem* i, items) { + k = CSwordKey::createInstance( m ); + k->key(i->text(0)); + keys.append( k ); + }; + mgr.copyKeyList( keys, CExportManager::Text, true); + + qDeleteAll(keys); + keys.clear(); //delete all the keys we created } CSwordModuleInfo* CSearchResultView::module() { - return m_module; + return m_module; } //TODO: port this to the new d'n'd // Q3DragObject* CSearchResultView::dragObject() { // //return a valid DragObject to make DnD possible! -// +// // /* // * First get all selected items and fill with them the dndItems list. The return the QDragObject we got from CDRagDropMgr // */ // CDragDropMgr::ItemList dndItems; -// +// // Q3PtrList<Q3ListViewItem> items = selectedItems(); // for (items.first(); items.current(); items.next()) { // dndItems.append( CDragDropMgr::Item(m_module->name(), items.current()->text(0), QString::null) ); //no description // }; -// +// // return CDragDropMgr::dragObject(dndItems, viewport()); // } -QMimeData * CSearchResultView::mimeData ( const QList<QTreeWidgetItem *> items ) const -{ - BTMimeData* mdata = new BTMimeData(m_module->name(), items.first()->text(0), QString::null); - foreach (QTreeWidgetItem* i, items) { - mdata->appendBookmark(m_module->name(), i->text(0), QString::null); - } - return mdata; +QMimeData * CSearchResultView::mimeData ( const QList<QTreeWidgetItem *> items ) const { + BTMimeData* mdata = new BTMimeData(m_module->name(), items.first()->text(0), QString::null); + foreach (QTreeWidgetItem* i, items) { + mdata->appendBookmark(m_module->name(), i->text(0), QString::null); + } + return mdata; } -QStringList CSearchResultView::mimeTypes () const -{ - return QStringList("BibleTime/Bookmark"); +QStringList CSearchResultView::mimeTypes () const { + return QStringList("BibleTime/Bookmark"); } } //end of namespace |