mirror of
https://github.com/RetroShare/RetroShare.git
synced 2026-09-12 19:50:17 +05:00
gui: Fix GXS forum selection and display logic when filtering posts
This commit is contained in:
parent
7f225ac15e
commit
35b6cc3260
@ -1850,13 +1850,34 @@ void GxsForumThreadWidget::filterItems(const QString& text)
|
||||
QSortFilterProxyModel_setFilterRegularExpression(mThreadProxyModel, QString(RsGxsForumModel::FilterString)) ;
|
||||
|
||||
if(!lst.empty())
|
||||
{
|
||||
ui->threadTreeWidget->expandAll();
|
||||
|
||||
if (!mThreadId.isNull())
|
||||
{
|
||||
QModelIndex src_index = mThreadModel->getIndexOfMessage(mThreadId);
|
||||
QModelIndex proxy_index = mThreadProxyModel->mapFromSource(src_index);
|
||||
if (proxy_index.isValid())
|
||||
{
|
||||
ui->threadTreeWidget->setCurrentIndex(proxy_index);
|
||||
ui->threadTreeWidget->scrollTo(proxy_index);
|
||||
}
|
||||
else
|
||||
{
|
||||
blankPost();
|
||||
mThreadId.clear();
|
||||
mOrigThreadId.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// currentIndex() not on the clicked message, so not this way
|
||||
// if (!mThreadId.isNull()) {
|
||||
// an_index = mThreadProxyModel->mapToSource(ui->threadTreeWidget->currentIndex());
|
||||
// }
|
||||
ui->threadTreeWidget->collapseAll();
|
||||
|
||||
if (mThreadId.isNull())
|
||||
{
|
||||
mThreadId = mOrigThreadId = mLastSelectedPosts[groupId()];
|
||||
}
|
||||
|
||||
if (!mThreadId.isNull()) {
|
||||
// ...but this one
|
||||
QModelIndex an_index = mThreadModel->getIndexOfMessage(mThreadId);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user