*******************************************************************************/
-//! \file WordListWidget.cpp
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file WordListwidget.cpp
+ \brief Displays list of words found in dictionaries
+
+ \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
#include "WordListWidget.h"
#include "WordListProxyStyle.h"
clear();
searchResult = result;
- model->setColumnCount(2);
- model->setRowCount(result.count());
+ if(searchResult.count()>0) {
+ setEnabled(true);
+ model->setColumnCount(2);
+ model->setRowCount(result.count());
- int row=0;
- QHash<QString, QList<Translation*> >::iterator i;
- for(i = searchResult.begin(); i != searchResult.end(); i++) {
- addWord(i.key(), row++);
+ int row=0;
+ QHash<QString, QList<Translation*> >::iterator i;
+ for(i = searchResult.begin(); i != searchResult.end(); i++) {
+ addWord(i.key(), row++);
+ }
+
+ model->sort(0);
+ resizeColumns();
}
+ else {
+ QStandardItem* item = new QStandardItem(tr("Can't find any matching words"));
+ item->setFlags(item->flags() ^ Qt::ItemIsEditable);
+ item->setTextAlignment(Qt::AlignCenter);
+ setEnabled(false);
- model->sort(0);
- resizeColumns();
+ model->setItem(0,item);
+ }
setFocus();
}
Translation* t;
bool onlyBookmarks = true;
foreach(t, searchResult[item.data().toString()]) {
- if(t->isBookmark() == 1) {
+ if(t->isBookmark() == 1 || t->isBookmark()==0) {
+
onlyBookmarks = false;
t->setBookmark(0);
}
+ else {
+ searchResult[item.data().toString()].removeAt(searchResult[item.data().toString()].indexOf(t));
+ }
}
if(onlyBookmarks) {