diff options
-rw-r--r-- | filestreemodel.cpp | 15 | ||||
-rw-r--r-- | filestreemodel.h | 1 | ||||
-rw-r--r-- | filestreewidget.cpp | 8 | ||||
-rw-r--r-- | filestreewidget.h | 1 | ||||
-rw-r--r-- | shemov.cpp | 3 | ||||
-rw-r--r-- | shemov.h | 1 |
6 files changed, 27 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; diff --git a/filestreemodel.h b/filestreemodel.h index 3646e43..da50d84 100644 --- a/filestreemodel.h +++ b/filestreemodel.h @@ -62,6 +62,7 @@ class FilesTreeModel : public SmTreeModel { QSqlDatabase mDb; QSqlQuery *mUpdateDvdQuery; QSqlQuery *mUpdateQualityQuery; + QSqlQuery *mUpdatePartNoQuery; QSqlQuery *mInsertFileQuery; QSqlQuery *mFilesQuery; QSqlQuery *mDeleteFileQuery; diff --git a/filestreewidget.cpp b/filestreewidget.cpp index 2b28c93..4542ea8 100644 --- a/filestreewidget.cpp +++ b/filestreewidget.cpp @@ -200,6 +200,14 @@ void FilesTreeWidget::editQuality(){ } } +void FilesTreeWidget::editPart(){ + QModelIndex current = mView->selectionModel()->currentIndex(); + if(current.isValid()){ + QModelIndex qualityIndex = mView->model()->index(current.row(), FilesTreeModel::PartNo, current.parent()); + mView->edit(qualityIndex); + } +} + void FilesTreeWidget::fileSelectionChanged(const QModelIndex ¤t, const QModelIndex &previous){ Q_UNUSED(previous); int seriesPartId = current.data(FilesTreeModel::SeriesPartIdRole).toInt(); diff --git a/filestreewidget.h b/filestreewidget.h index eddf344..86686ca 100644 --- a/filestreewidget.h +++ b/filestreewidget.h @@ -37,6 +37,7 @@ class FilesTreeWidget : public QWidget { void moveToDirectory(); void fileProperties(); void editQuality(); + void editPart(); private slots: void fileSelectionChanged(const QModelIndex ¤t, const QModelIndex &previous); @@ -378,6 +378,8 @@ void SheMov::createActions(){ connect(mSetDvdNoA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(setDvdNo())); mSetQualityA = new QAction(tr("Set quality"), this); connect(mSetQualityA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(editQuality())); + mSetPartNoA = new QAction(tr("Set Part no"), this); + connect(mSetPartNoA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(editPart())); mDeleteFilesFromTreeA = new QAction(tr("Delete file(s)..."), this); connect(mDeleteFilesFromTreeA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(removeFiles())); mFilePropertiesA = new QAction(tr("Properties..."), this); @@ -503,6 +505,7 @@ void SheMov::createMenus(){ mATree->filesWidget()->filesTree()->addAction(sep7); mATree->filesWidget()->filesTree()->addAction(mSetDvdNoA); mATree->filesWidget()->filesTree()->addAction(mSetQualityA); + mATree->filesWidget()->filesTree()->addAction(mSetPartNoA); QAction *sep8 = new QAction(this); sep8->setSeparator(true); mATree->filesWidget()->filesTree()->addAction(sep8); @@ -105,6 +105,7 @@ class SheMov : public QMainWindow { QAction *mMoveFilesA; QAction *mSetDvdNoA; QAction *mSetQualityA; + QAction *mSetPartNoA; QAction *mDeleteFilesFromTreeA; QAction *mFilePropertiesA; |