Menu

[c54480]: / findresultwidget.cpp  Maximize  Restore  History

Download this file

126 lines (99 with data), 3.1 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "findresultwidget.h"
#include <QVBoxLayout>
#include <QTreeView>
#include "findresultitem.h"
#include "findresultmodel.h"
#include "vymmodel.h"
FindResultWidget::FindResultWidget(QWidget *)
{
// Create results model
resultsModel=new FindResultModel;
// Create TreeView
view = new QTreeView (this);
view->setModel (resultsModel);
// Create FindWidget
findWidget = new FindWidget (this);
connect (
findWidget, SIGNAL (nextButtonPressed (QString, bool) ),
this, SLOT (nextButtonPressed (QString, bool) ) );
QVBoxLayout* mainLayout = new QVBoxLayout;
mainLayout->addWidget(view);
mainLayout->addWidget(findWidget);
setLayout (mainLayout);
// Selection
connect (view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
this, SLOT (updateSelection (QItemSelection,QItemSelection)));
connect (resultsModel, SIGNAL(layoutChanged() ), view, SLOT (expandAll() ));
}
void FindResultWidget::addItem (TreeItem *ti)
{
if (ti)
{
QModelIndex index = view->selectionModel()->currentIndex();
//QAbstractItemModel *resultsModel = view->model();
if (!resultsModel->insertRow(index.row()+1, index.parent()))
return;
for (int column = 0; column < resultsModel->columnCount(index.parent()); ++column) {
QModelIndex child = resultsModel->index(index.row()+1, column, index.parent());
resultsModel->setData(child, QVariant(ti->getHeadingPlain()), Qt::EditRole);
resultsModel->getItem(child)->setOriginal (ti);
}
}
}
void FindResultWidget::addItem (const QString &s)
{
if (!s.isEmpty())
{
QModelIndex index = view->selectionModel()->currentIndex();
if (!resultsModel->insertRow(index.row()+1, index.parent()))
return;
for (int column = 0; column < resultsModel->columnCount(index.parent()); ++column) {
QModelIndex child = resultsModel->index(index.row()+1, column, index.parent());
resultsModel->setData(child, QVariant(s), Qt::EditRole);
}
}
}
QString FindResultWidget::getFindText()
{
return findWidget->getFindText();
}
FindResultModel* FindResultWidget::getResultModel()
{
return resultsModel;
}
void FindResultWidget::popup()
{
show();
parentWidget()->show();
findWidget->setFocus();
}
void FindResultWidget::cancelPressed()
{
emit (hideFindResultWidget() );
}
void FindResultWidget::nextButtonPressed(QString s, bool searchNotesFlag)
{
emit (findPressed(s, searchNotesFlag) );
}
void FindResultWidget::updateSelection(QItemSelection newsel,QItemSelection)
{
QModelIndex ix;
foreach (ix,newsel.indexes() )
{
FindResultItem *fri= static_cast<FindResultItem*>(ix.internalPointer());
if (fri->getOrgModel() && fri->getOriginalID()>0)
{
TreeItem *ti=fri->getOrgModel()->findID(fri->getOriginalID() );
if (ti)
{
fri->getOrgModel()->select (ti);
int i=fri->getOriginalIndex();
if (i>=0) emit (noteSelected (resultsModel->getSearchString(),i));
}
}
}
}
void FindResultWidget::setStatus (FindWidget::Status st)
{
findWidget->setStatus (st);
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.