Auto-expand first level when searching
This commit is contained in:
committed by
Craig Drummond
parent
b3e26b7d33
commit
fd17c43e51
@@ -113,6 +113,7 @@ LibraryPage::LibraryPage(QWidget *p)
|
||||
#endif
|
||||
#endif // TAGLIB_FOUND
|
||||
connect(view, SIGNAL(updateToPlayQueue(QModelIndex,bool)), this, SLOT(updateToPlayQueue(QModelIndex,bool)));
|
||||
view->setOpenAfterSearch(SqlLibraryModel::T_Album!=MpdLibraryModel::self()->topLevel());
|
||||
}
|
||||
|
||||
LibraryPage::~LibraryPage()
|
||||
@@ -301,6 +302,7 @@ void LibraryPage::groupByChanged()
|
||||
break;
|
||||
}
|
||||
}
|
||||
view->setOpenAfterSearch(SqlLibraryModel::T_Album!=MpdLibraryModel::self()->topLevel());
|
||||
}
|
||||
|
||||
void LibraryPage::libraryAlbumSortChanged()
|
||||
|
||||
@@ -55,6 +55,7 @@ OnlineDbWidget::OnlineDbWidget(OnlineDbService *s, QWidget *p)
|
||||
init(ReplacePlayQueue|AddToPlayQueue|Refresh, QList<QWidget *>() << menu);
|
||||
connect(view, SIGNAL(headerClicked(int)), SLOT(headerClicked(int)));
|
||||
connect(view, SIGNAL(updateToPlayQueue(QModelIndex,bool)), this, SLOT(updateToPlayQueue(QModelIndex,bool)));
|
||||
view->setOpenAfterSearch(SqlLibraryModel::T_Album!=srv->topLevel());
|
||||
}
|
||||
|
||||
OnlineDbWidget::~OnlineDbWidget()
|
||||
@@ -72,6 +73,7 @@ void OnlineDbWidget::groupByChanged()
|
||||
}
|
||||
int mode=act->property(constValProp).toInt();
|
||||
srv->setTopLevel((SqlLibraryModel::Type)mode);
|
||||
view->setOpenAfterSearch(SqlLibraryModel::T_Album!=srv->topLevel());
|
||||
}
|
||||
|
||||
QStringList OnlineDbWidget::selectedFiles(bool allowPlaylists) const
|
||||
|
||||
@@ -593,6 +593,7 @@ ItemView::ItemView(QWidget *p)
|
||||
, msgOverlay(0)
|
||||
, performedSearch(false)
|
||||
, searchResetLevel(0)
|
||||
, openFirstLevelAfterSearch(false)
|
||||
{
|
||||
setupUi(this);
|
||||
if (!backAction) {
|
||||
@@ -1401,6 +1402,10 @@ void ItemView::modelReset()
|
||||
{
|
||||
if (Mode_List==mode || Mode_IconTop==mode) {
|
||||
goToTop();
|
||||
} else if (usingTreeView() && !searchText().isEmpty()) {
|
||||
for (int r=0; r<itemModel->rowCount(); ++r) {
|
||||
treeView->expand(itemModel->index(r, 0, QModelIndex()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -145,6 +145,7 @@ public:
|
||||
void setSearchResetLevel(int l) { searchResetLevel=l; }
|
||||
void showEvent(QShowEvent *ev);
|
||||
void goToTop();
|
||||
void setOpenAfterSearch(bool o) { openFirstLevelAfterSearch=o; }
|
||||
|
||||
private:
|
||||
void setLevel(int level, bool haveChildren=true);
|
||||
@@ -207,6 +208,7 @@ private:
|
||||
QIcon bgndIcon;
|
||||
bool performedSearch;
|
||||
int searchResetLevel;
|
||||
bool openFirstLevelAfterSearch;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user