diff options
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r-- | filestreemodel.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp index 6d1be0f..d015e47 100644 --- a/filestreemodel.cpp +++ b/filestreemodel.cpp @@ -30,6 +30,8 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo mUpdateDvdQuery->prepare("UPDATE files SET idvd = :dvd WHERE ifiles_id = :id"); mUpdateQualityQuery = new QSqlQuery(mDb); mUpdateQualityQuery->prepare("UPDATE files SET siquality = :quality WHERE ifiles_id = :id"); + mUpdatePartNoQuery = new QSqlQuery(mDb); + mUpdatePartNoQuery->prepare("UPDATE files SET sifileno = :partno WHERE ifiles_id = :id"); mInsertFileQuery = new QSqlQuery(mDb); mInsertFileQuery->prepare("INSERT INTO files(iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality) VALUES(:seriespartid, :fname, :md5, :size, :dvd, :type, :fileno, :quality)"); mFilesQuery = new QSqlQuery(mDb); @@ -60,10 +62,11 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo FilesTreeModel::~FilesTreeModel(){ delete mUpdateDvdQuery; delete mUpdateQualityQuery; + delete mUpdatePartNoQuery; delete mInsertFileQuery; delete mFilesQuery; delete mDeleteFileQuery; - mDb = QSqlDatabase(); + //mDb = QSqlDatabase(); } const QString FilesTreeModel::modeName(int mode) const{ @@ -249,6 +252,14 @@ bool FilesTreeModel::setData(const QModelIndex &index, const QVariant &value, in return true; } } + if(index.column() == PartNo){ + mUpdatePartNoQuery->bindValue(":id", index.data(FilesIdRole)); + mUpdatePartNoQuery->bindValue(":partno", value); + if(mUpdatePartNoQuery->exec()){ + item->setData(PartNo, value); + return true; + } + } } return false; } @@ -261,7 +272,7 @@ Qt::ItemFlags FilesTreeModel::flags(const QModelIndex &index) const{ return Qt::ItemIsEnabled; } Qt::ItemFlags retval = Qt::ItemIsEnabled | Qt::ItemIsSelectable; - if(index.column() == DvdNo || index.column() == Quality){ + if(index.column() == DvdNo || index.column() == Quality || index.column() == PartNo){ return retval | Qt::ItemIsEditable; } return retval; |