diff options
author | Arno <am@disconnect.de> | 2010-07-29 22:26:54 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-07-29 22:26:54 +0200 |
commit | a493d6500c33a0956e0165ad53136fa6110a7a64 (patch) | |
tree | 866d3d8dfb9fd461b90b166270aa8a7ce9385589 /seriestreewidget.cpp | |
parent | 82789cd9e72688b72add622f27598e9aad879af0 (diff) | |
download | SheMov-a493d6500c33a0956e0165ad53136fa6110a7a64.tar.gz SheMov-a493d6500c33a0956e0165ad53136fa6110a7a64.tar.bz2 SheMov-a493d6500c33a0956e0165ad53136fa6110a7a64.zip |
Fix SQL errors
While trying to find out why a newly added SeriesPart won't get selected
programmatically, I discovered a not so serious SQL bug.
MappingTableModel::addMapping happily tries to execute queries with an
invalid seriesPartId. Return if seriesPartId = -1.
Now all items expanded previously will be expanded after adding a new
movie. (SeriesTreeWidgetT::seriesAdded). Unfortunately the original
problem remains unsolved...
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r-- | seriestreewidget.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index 7e60c53..35276a1 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -77,7 +77,7 @@ void SeriesTreeWidget::newSeries(){ QModelIndex newRow = mModel->index(mModel->rowCount(QModelIndex()) - 1, 0, QModelIndex()); if(newRow.isValid()){ QModelIndex proxyIndex = mProxy->mapFromSource(newRow); - mView->selectionModel()->setCurrentIndex(proxyIndex, QItemSelectionModel::ClearAndSelect); + mView->selectionModel()->select(proxyIndex, QItemSelectionModel::ClearAndSelect); mView->edit(proxyIndex); } } @@ -86,6 +86,10 @@ void SeriesTreeWidget::newSeries(){ void SeriesTreeWidget::seriesAdded(QString seriesName, int seriesPart, bool resort){ if(resort){ mProxy->invalidate(); + foreach(QString e, mExpandedItems){ + QModelIndex idx = mProxy->mapFromSource(mModel->findValue(e)); + mView->expand(idx); + } } QModelIndex destIdx = mModel->findValue(seriesName); if(destIdx.isValid()){ @@ -96,7 +100,10 @@ void SeriesTreeWidget::seriesAdded(QString seriesName, int seriesPart, bool reso } if(destIdx.isValid()){ QModelIndex proxyIndex = mProxy->mapFromSource(destIdx); - mView->selectionModel()->setCurrentIndex(proxyIndex, QItemSelectionModel::ClearAndSelect); + if(destIdx.parent().isValid()){ + mView->expand(destIdx); + } + mView->selectionModel()->select(proxyIndex, QItemSelectionModel::ClearAndSelect); } } |