summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-02-08 04:22:35 +0100
committerArno <am@disconnect.de>2013-02-08 04:22:35 +0100
commitd400c3cd5ce533714832b854bad4c40c25dcd874 (patch)
treee0b8f2cb41df04941b178064a51c42a99e5c6469 /filestreemodel.cpp
parent534ca73d64b13c4604e6823e7d3a7f290b225e1d (diff)
downloadSheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.tar.gz
SheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.tar.bz2
SheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.zip
Refresh view properly after setting DVD no.
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r--filestreemodel.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index d290d5c..4f57267 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -94,6 +94,7 @@ void FilesTreeModel::setIds(const QList<int> &seriesPartIds){
void FilesTreeModel::setForBurn(){
mDisplayMode = Burn;
+ mCurrentIds.clear();
QString query = QString("SELECT iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality, ifiles_id, series.tseries_name, seriesparts.iseriespart, seriesparts.bfavorite FROM files, seriesparts, series WHERE iseriespart_id IN (SELECT iseriesparts_id from seriesparts where bfavorite = false) AND files.iseriespart_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id AND sifiletype = 1 AND idvd < 0 ORDER BY iseriespart_id, sifileno ASC");
QSqlQuery filesQuery(mDb);
filesQuery.prepare(query);
@@ -256,19 +257,11 @@ bool FilesTreeModel::setData(const QModelIndex &index, const QVariant &value, in
mUpdateDvdQuery->bindValue(":id", index.data(FilesIdRole));
mUpdateDvdQuery->bindValue(":dvd", value);
if(mUpdateDvdQuery->exec()){
- item->setData(DvdNo, value);
- bool isLocal = (value.toInt() == -1) ? true : false;
- if(mode() == SeriesTreeModel::Local){
- if(!isLocal){
- removeRow(index.row(), index.parent());
- }
- }else if(mode() == SeriesTreeModel::Archived){
- if(isLocal){
- removeRow(index.row(), index.parent());
- }
- }
+ refresh();
return true;
- }
+ }else{
+ return false;
+ }
}
if(index.column() == Quality){
if(value.toInt() > 10 || value.toInt() < 0){
@@ -578,7 +571,16 @@ void FilesTreeModel::readSettings(){
}
void FilesTreeModel::refresh(){
- setIds(mCurrentIds);
+ switch(mDisplayMode){
+ case Ids:
+ setIds(mCurrentIds);
+ break;
+ case Burn:
+ setForBurn();
+ break;
+ default:
+ ;
+ }
}
void FilesTreeModel::populate(QSqlQuery &filesQuery){