diff -r 46553c106c52 -r bec082472471 findresultmodel.cpp --- a/findresultmodel.cpp Mon Mar 22 15:37:23 2010 +0000 +++ b/findresultmodel.cpp Tue Mar 30 17:30:39 2010 +0000 @@ -180,7 +180,7 @@ return result; } -FindResultItem *FindResultModel::getItem(const QModelIndex &index) const +FindResultItem* FindResultModel::getItem(const QModelIndex &index) const { if (index.isValid()) { FindResultItem *item = static_cast(index.internalPointer()); @@ -189,58 +189,80 @@ return rootItem; } -FindResultItem *FindResultModel::findTreeItem(TreeItem *ti) +FindResultItem *FindResultModel::findTreeItem(TreeItem *) { + return NULL; // FIXME-3 not used so far } -void FindResultModel::addItem (TreeItem *ti) +FindResultItem* FindResultModel::addItem (TreeItem *ti) { + FindResultItem *ni=NULL; if (ti) { - QModelIndex ix (index (rootItem)); + QModelIndex parix (index (rootItem)); - if (!insertRow(ix.row()+1, ix.parent())) - return; + emit (layoutAboutToBeChanged() ); - for (int column = 0; column < columnCount(ix.parent()); ++column) + int n=rowCount (parix); + beginInsertRows (parix,n,n); + if (rootItem->insertChildren (n,1,0) ) { - QModelIndex child = index(ix.row()+1, column, ix.parent()); - setData(child, QVariant(ti->getHeading()), Qt::EditRole); - getItem(child)->setOriginal (ti); + QModelIndex ix=index(n,0,QModelIndex()); + setData (ix,QVariant(ti->getHeading()),Qt::EditRole); + ni=getItem(ix); + ni->setOriginal (ti); } + endInsertRows (); + + emit (layoutChanged() ); } + return ni; } -void FindResultModel::addItem (const QString &s) +FindResultItem* FindResultModel::addSubItem (FindResultItem *parent,const QString &s, TreeItem *pi, int i) { - if (!s.isEmpty()) + FindResultItem *ni=NULL; + if (pi && parent) { - QModelIndex ix ( index (rootItem)); + QModelIndex parix ( index (parent)); - if (!insertRow(ix.row()+1, ix.parent())) - return; + emit (layoutAboutToBeChanged() ); - for (int column = 0; column < columnCount(ix.parent()); ++column) { - QModelIndex child = index(ix.row()+1, column, ix.parent()); - setData(child, QVariant(s), Qt::EditRole); + int n=rowCount (parix); + beginInsertRows (parix,n,n); + + QModelIndex ix; + if (parent->insertChildren (n,1,0)) + { + ix=index(n,0,parix); + setData (ix,QVariant(s),Qt::EditRole); + ni=getItem(ix); + ni->setOriginal (pi); + ni->setOriginalIndex (i); } + endInsertRows (); + emit (layoutChanged() ); } + return ni; } -void FindResultModel::addSubItem (TreeItem *parent,const QString &s, TreeItem *ti, int i) +void FindResultModel::setSearchString( const QString &s) { - if (ti) - { - QModelIndex ix ( index (rootItem)); - - if (!insertRow(ix.row()+1, ix.parent())) - return; - - for (int column = 0; column < columnCount(ix.parent()); ++column) { - QModelIndex child = index(ix.row()+1, column, ix.parent()); - setData(child, QVariant("Note: "+ti->getHeading()), Qt::EditRole); - getItem(child)->setOriginal (ti); - } - } + searchString=s; } +QString FindResultModel::getSearchString() +{ + return searchString; +} + +void FindResultModel::setSearchFlags( QTextDocument::FindFlags f) +{ + searchFlags=f; +} + +QTextDocument::FindFlags FindResultModel::getSearchFlags() +{ + return searchFlags; +} +