1.1 --- a/findresultmodel.cpp Mon Mar 22 15:37:23 2010 +0000
1.2 +++ b/findresultmodel.cpp Tue Mar 30 17:30:39 2010 +0000
1.3 @@ -180,7 +180,7 @@
1.4 return result;
1.5 }
1.6
1.7 -FindResultItem *FindResultModel::getItem(const QModelIndex &index) const
1.8 +FindResultItem* FindResultModel::getItem(const QModelIndex &index) const
1.9 {
1.10 if (index.isValid()) {
1.11 FindResultItem *item = static_cast<FindResultItem*>(index.internalPointer());
1.12 @@ -189,58 +189,80 @@
1.13 return rootItem;
1.14 }
1.15
1.16 -FindResultItem *FindResultModel::findTreeItem(TreeItem *ti)
1.17 +FindResultItem *FindResultModel::findTreeItem(TreeItem *)
1.18 {
1.19 + return NULL; // FIXME-3 not used so far
1.20 }
1.21
1.22 -void FindResultModel::addItem (TreeItem *ti)
1.23 +FindResultItem* FindResultModel::addItem (TreeItem *ti)
1.24 {
1.25 + FindResultItem *ni=NULL;
1.26 if (ti)
1.27 {
1.28 - QModelIndex ix (index (rootItem));
1.29 + QModelIndex parix (index (rootItem));
1.30
1.31 - if (!insertRow(ix.row()+1, ix.parent()))
1.32 - return;
1.33 + emit (layoutAboutToBeChanged() );
1.34
1.35 - for (int column = 0; column < columnCount(ix.parent()); ++column)
1.36 + int n=rowCount (parix);
1.37 + beginInsertRows (parix,n,n);
1.38 + if (rootItem->insertChildren (n,1,0) )
1.39 {
1.40 - QModelIndex child = index(ix.row()+1, column, ix.parent());
1.41 - setData(child, QVariant(ti->getHeading()), Qt::EditRole);
1.42 - getItem(child)->setOriginal (ti);
1.43 + QModelIndex ix=index(n,0,QModelIndex());
1.44 + setData (ix,QVariant(ti->getHeading()),Qt::EditRole);
1.45 + ni=getItem(ix);
1.46 + ni->setOriginal (ti);
1.47 }
1.48 + endInsertRows ();
1.49 +
1.50 + emit (layoutChanged() );
1.51 }
1.52 + return ni;
1.53 }
1.54
1.55 -void FindResultModel::addItem (const QString &s)
1.56 +FindResultItem* FindResultModel::addSubItem (FindResultItem *parent,const QString &s, TreeItem *pi, int i)
1.57 {
1.58 - if (!s.isEmpty())
1.59 + FindResultItem *ni=NULL;
1.60 + if (pi && parent)
1.61 {
1.62 - QModelIndex ix ( index (rootItem));
1.63 + QModelIndex parix ( index (parent));
1.64
1.65 - if (!insertRow(ix.row()+1, ix.parent()))
1.66 - return;
1.67 + emit (layoutAboutToBeChanged() );
1.68
1.69 - for (int column = 0; column < columnCount(ix.parent()); ++column) {
1.70 - QModelIndex child = index(ix.row()+1, column, ix.parent());
1.71 - setData(child, QVariant(s), Qt::EditRole);
1.72 + int n=rowCount (parix);
1.73 + beginInsertRows (parix,n,n);
1.74 +
1.75 + QModelIndex ix;
1.76 + if (parent->insertChildren (n,1,0))
1.77 + {
1.78 + ix=index(n,0,parix);
1.79 + setData (ix,QVariant(s),Qt::EditRole);
1.80 + ni=getItem(ix);
1.81 + ni->setOriginal (pi);
1.82 + ni->setOriginalIndex (i);
1.83 }
1.84 + endInsertRows ();
1.85 + emit (layoutChanged() );
1.86 }
1.87 + return ni;
1.88 }
1.89
1.90 -void FindResultModel::addSubItem (TreeItem *parent,const QString &s, TreeItem *ti, int i)
1.91 +void FindResultModel::setSearchString( const QString &s)
1.92 {
1.93 - if (ti)
1.94 - {
1.95 - QModelIndex ix ( index (rootItem));
1.96 -
1.97 - if (!insertRow(ix.row()+1, ix.parent()))
1.98 - return;
1.99 -
1.100 - for (int column = 0; column < columnCount(ix.parent()); ++column) {
1.101 - QModelIndex child = index(ix.row()+1, column, ix.parent());
1.102 - setData(child, QVariant("Note: "+ti->getHeading()), Qt::EditRole);
1.103 - getItem(child)->setOriginal (ti);
1.104 - }
1.105 - }
1.106 + searchString=s;
1.107 }
1.108
1.109 +QString FindResultModel::getSearchString()
1.110 +{
1.111 + return searchString;
1.112 +}
1.113 +
1.114 +void FindResultModel::setSearchFlags( QTextDocument::FindFlags f)
1.115 +{
1.116 + searchFlags=f;
1.117 +}
1.118 +
1.119 +QTextDocument::FindFlags FindResultModel::getSearchFlags()
1.120 +{
1.121 + return searchFlags;
1.122 +}
1.123 +