summaryrefslogtreecommitdiffstats
path: root/archivemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r--archivemodel.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp
index 5369ff7..578ff5c 100644
--- a/archivemodel.cpp
+++ b/archivemodel.cpp
@@ -62,6 +62,19 @@ ArchiveModel::~ArchiveModel(){
}
}
+Qt::ItemFlags ArchiveModel::flags(const QModelIndex &index) const{
+ SmTreeItem *item = itemAt(index);
+ Qt::ItemFlags retval = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
+ if(item->data(Type).toInt() == ArchiveModel::SeriesPartNode){
+ retval |= Qt::ItemIsDropEnabled;
+ }
+ return retval;
+}
+
+Qt::DropActions ArchiveModel::supportedDragActions() const{
+ return Qt::MoveAction;
+}
+
const QStringList ArchiveModel::availableOrders() const {
QStringList retval = mAvailableOrders.keys();
qSort(retval);
@@ -896,7 +909,7 @@ Qt::ItemFlags ArchiveFilesModel::flags(const QModelIndex &index) const{
return Qt::ItemIsEnabled;
}
}
- return SmTreeModel::flags(index);
+ return (Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled);
}
int ArchiveFilesModel::nextDvd() const{
@@ -982,6 +995,14 @@ QStringList ArchiveFilesModel::filesForSeriespart(int seriesPartId) const{
return retval;
}
+void ArchiveFilesModel::updateSeriesPartForFile(const QString &md5sum, int newSeriesPart){
+ QSqlQuery q(mDb);
+ q.prepare("UPDATE files SET iseriespart_id = :id WHERE cmd5sum = :md5");
+ q.bindValue(":id", newSeriesPart);
+ q.bindValue(":md5", md5sum);
+ q.exec();
+}
+
void ArchiveFilesModel::refresh(){
populate(mSeriesPartIds);
}