diff options
author | Arno <arno@disconnect.de> | 2018-02-03 16:30:03 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-02-03 16:30:03 +0100 |
commit | bfbb8dc3e7cbe544d8eba3b45f538484331c1081 (patch) | |
tree | 9c67527577020df43b267d775e5668f6791a01c2 /searchdialog.cpp | |
parent | f7307771fd8b1cf45bbbda76ad650e3b0f93dba5 (diff) | |
download | ShemovCleaner-bfbb8dc3e7cbe544d8eba3b45f538484331c1081.tar.gz ShemovCleaner-bfbb8dc3e7cbe544d8eba3b45f538484331c1081.tar.bz2 ShemovCleaner-bfbb8dc3e7cbe544d8eba3b45f538484331c1081.zip |
Clear search data on new search
mDataV wasn't cleared. Fix it!
Diffstat (limited to 'searchdialog.cpp')
-rw-r--r-- | searchdialog.cpp | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/searchdialog.cpp b/searchdialog.cpp index 50109b9..4e62f5e 100644 --- a/searchdialog.cpp +++ b/searchdialog.cpp @@ -96,10 +96,7 @@ void SearchDialog::doSearch(){ }else if(type == Actors){ doSearchActor(); } - QModelIndex first = mResV->selectionModel()->model()->index(0, 0); - if(first.isValid()){ - mResV->selectionModel()->setCurrentIndex(first, QItemSelectionModel::ClearAndSelect); - } + clearOrSelectFirst(); qApp->restoreOverrideCursor(); } @@ -135,7 +132,7 @@ void SearchDialog::doSearchTitle(){ QStandardItem *root = mResM->invisibleRootItem(); QSqlDatabase db = QSqlDatabase::database("shemovdb"); QSqlQuery tQ(db); - tQ.prepare("SELECT DISTINCT(iseries_id), tseries_name FROM series WHERE tseries_name ~ :title ORDER BY tseries_name"); + tQ.prepare("SELECT DISTINCT(iseries_id), tseries_name FROM series WHERE tseries_name ~ :title"); tQ.bindValue(":title", mSearch->text()); tQ.exec(); while(tQ.next()){ @@ -146,6 +143,7 @@ void SearchDialog::doSearchTitle(){ root->appendRow(cur); } mResV->setSortingEnabled(true); + mResV->sortByColumn(0, Qt::AscendingOrder); } void SearchDialog::doSearchFilename(){ @@ -202,7 +200,7 @@ void SearchDialog::doSearchActor(){ QStandardItem *root = mResM->invisibleRootItem(); QSqlDatabase db = QSqlDatabase::database("shemovdb"); QSqlQuery aQ(db); - aQ.prepare("SELECT tactorname, iactors_id FROM actors WHERE tactorname ~ :name ORDER BY tactorname"); + aQ.prepare("SELECT tactorname, iactors_id FROM actors WHERE tactorname ~ :name"); aQ.bindValue(":name", mSearch->text()); aQ.exec(); while(aQ.next()){ @@ -214,7 +212,7 @@ void SearchDialog::doSearchActor(){ root->appendRow(cur); } mResV->setSortingEnabled(true); - mResV->sortByColumn(0); + mResV->sortByColumn(0, Qt::AscendingOrder); } void SearchDialog::doResultName(const QModelIndex &sel, int resType){ @@ -256,7 +254,7 @@ void SearchDialog::doResultName(const QModelIndex &sel, int resType){ root->appendRow(cur); } mDataV->setSortingEnabled(true); - mDataV->sortByColumn(0); + mDataV->sortByColumn(0, Qt::AscendingOrder); } void SearchDialog::doResultActor(const QModelIndex &sel){ @@ -309,7 +307,7 @@ void SearchDialog::doResultActor(const QModelIndex &sel){ root->appendRow(cur); } mDataV->setSortingEnabled(true); - mDataV->sortByColumn(0); + mDataV->sortByColumn(0, Qt::AscendingOrder); } } @@ -414,3 +412,18 @@ void SearchDialog::doActorGenres(QStandardItem *item){ } } } + +void SearchDialog::clearOrSelectFirst(){ + QModelIndex first = mResV->selectionModel()->model()->index(0, 0); + if(first.isValid()){ + mResV->selectionModel()->setCurrentIndex(first, QItemSelectionModel::ClearAndSelect); + }else{ + mDataM->clear(); + int type = mTypeSel->currentData().toInt(); + if(type == Title){ + mDataM->setHeaderData(0, Qt::Horizontal, tr("Parts")); + }else if(type == Filename || type == Actors){ + mDataM->setHeaderData(0, Qt::Horizontal, tr("Series")); + } + } +} |