diff options
author | Arno <am@disconnect.de> | 2010-08-13 17:06:00 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-08-13 17:06:00 +0200 |
commit | 831a1031b14f4899905e54dd94fdff5d263eb609 (patch) | |
tree | 3273211da6929dc2db3ffacc84d1b9cc7504753f /filestreemodel.cpp | |
parent | a8fc46f186911ba4ab79231f24e6e4f940eb7cde (diff) | |
download | SheMov-831a1031b14f4899905e54dd94fdff5d263eb609.tar.gz SheMov-831a1031b14f4899905e54dd94fdff5d263eb609.tar.bz2 SheMov-831a1031b14f4899905e54dd94fdff5d263eb609.zip |
Implemented editing of file part numbers
Added the possibility to edit file part numbers via context menu in
FilesTreeWidget. This action triggers the edit event on the specific
QModelIndex.
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; |