From 1c2590957e67e0b0659abbb5f481e73d46b2e2d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Wed, 13 Nov 2013 21:26:50 +0100 Subject: [PATCH] fixed bug on folders view navigation after using the search --- YACReaderLibrary/library_window.cpp | 12 +++++------- YACReaderLibrary/library_window.h | 5 ++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index db664277..0d9eff44 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -299,8 +299,6 @@ void LibraryWindow::doModels() dm = new TreeModel(); //comics dmCV = new TableModel(); - //comics selection - sm = new QItemSelectionModel(dm); setFoldersFilter(""); } @@ -797,7 +795,6 @@ void LibraryWindow::loadLibrary(const QString & name) if(comparation == 0 || updated) //en caso de que la versión se igual que la actual { index = 0; - sm->clear(); dm->setupModelData(path); foldersView->setModel(dm); @@ -906,7 +903,6 @@ void LibraryWindow::loadLibrary(const QString & name) void LibraryWindow::loadCovers(const QModelIndex & mi) { - _rootIndexCV = mi; unsigned long long int folderId = 1; if(mi.isValid()) { @@ -1002,7 +998,7 @@ void LibraryWindow::checkEmptyFolder(QStringList * paths) void LibraryWindow::reloadCovers() { - loadCovers(_rootIndexCV); + loadCovers(foldersView->currentIndex()); QModelIndex mi = dmCV->getIndexFromId(_comicIdEdited); comicView->scrollTo(mi,QAbstractItemView::PositionAtCenter); @@ -1397,8 +1393,8 @@ void LibraryWindow::setFoldersFilter(QString filter) { QModelIndex mi = dm->indexFromItem(index,column); foldersView->scrollTo(mi,QAbstractItemView::PositionAtTop); - sm->select(mi,QItemSelectionModel::Select); - foldersView->setSelectionModel(sm); + updateHistory(mi); + foldersView->setCurrentIndex(mi); } } else @@ -1704,6 +1700,8 @@ void LibraryWindow::forward() void LibraryWindow::updateHistory(const QModelIndex &mi) { //remove history from current index + if(!mi.isValid()) + return; int numElementsToRemove = history.count() - (currentFolderNavigation+1); while(numElementsToRemove>0) { diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index e5e4ec91..e0a418aa 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -95,7 +95,6 @@ private: YACReaderTreeView * foldersView; YACReaderLibraryListWidget * selectedLibrary; TreeModel * dm; - QItemSelectionModel * sm; TableModel * dmCV; //QStringList paths; QMap libraries; @@ -171,8 +170,8 @@ private: QString _lastAdded; QString _sourceLastAdded; - QModelIndex _rootIndex; - QModelIndex _rootIndexCV; + //QModelIndex _rootIndex; + //QModelIndex _rootIndexCV; quint64 _comicIdEdited;