summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-08-13 17:06:00 +0200
committerArno <am@disconnect.de>2010-08-13 17:06:00 +0200
commit831a1031b14f4899905e54dd94fdff5d263eb609 (patch)
tree3273211da6929dc2db3ffacc84d1b9cc7504753f /filestreemodel.cpp
parenta8fc46f186911ba4ab79231f24e6e4f940eb7cde (diff)
downloadSheMov-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.cpp15
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;