diff options
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r-- | filestreewidget.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp index 0bf50da..65564f6 100644 --- a/filestreewidget.cpp +++ b/filestreewidget.cpp @@ -33,6 +33,7 @@ #include <QDate> #include "filestreewidget.h" +#include "filepropertiesdialog.h" #include "smglobals.h" #include "filestreemodel.h" #include "seriestreewidget.h" @@ -55,6 +56,7 @@ FilesTreeWidget::FilesTreeWidget(QWidget *parent) : QWidget(parent), mSelectedSi mProxy->setSourceModel(mModel); mView->setModel(mProxy); mView->setSortingEnabled(true); + mPropDlg = new FilePropertiesDialog(this); QItemSelectionModel *selModel = mView->selectionModel(); connect(selModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(fileSelectionChanged())); connect(mView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(itemDoubleClicked(QModelIndex))); @@ -172,26 +174,26 @@ void FilesTreeWidget::fileProperties(){ } QString fullPath = real.data(FilesTreeModel::FullPathRole).toString(); QString mimeType = Helper::mimeType(fullPath); - FilePropertiesDialog dlg(real.data(FilesTreeModel::SeriesPartIdRole).toInt(), this); - if(mimeType.startsWith("video")){ - QList<QMap<QString, QString> > fileData = mModel->streamInfo(real); - dlg.setFileName(real.data(FilesTreeModel::FileNameRole).toString()); - dlg.setStreamData(fileData); + mPropDlg->metaWidget()->setSeriesPartId(real.data(FilesTreeModel::SeriesPartIdRole).toInt()); + if(mimeType.startsWith("video")){ + QList<QMap<QString, QString> > fileData = mModel->streamInfo(real); + mPropDlg->setFileName(real.data(FilesTreeModel::FileNameRole).toString()); + mPropDlg->setStreamData(fileData); }else if(mimeType.startsWith("image")){ QMap<QString, QString> imageData = mModel->pictureInfo(real); - dlg.addData("Image data", imageData); + mPropDlg->addData("Image data", imageData); QMap<QString, QString> textData = mModel->pictureMetaInfo(real); if(!textData.isEmpty()){ - dlg.addData("Meta data", textData); + mPropDlg->addData("Meta data", textData); } int fileType = real.data(FilesTreeModel::FileTypeRole).toInt(); QString fileTypeName = mModel->fileTypes().value(fileType); QString seriesName = real.data(FilesTreeModel::SeriesNameRole).toString(); QString seriesPart = QString::number(real.data(FilesTreeModel::SeriesPartRole).toInt()); QString label = QString(tr("%1\n%2 for %3 %4")).arg(real.data(FilesTreeModel::FileNameRole).toString()).arg(fileTypeName).arg(seriesName).arg(seriesPart); - dlg.setFileName(label); + mPropDlg->setFileName(label); } - dlg.exec(); + mPropDlg->exec(); } } @@ -361,7 +363,6 @@ void FilesTreeWidget::playItems(const QStringList &paths){ FilesTreeView::FilesTreeView(QWidget *parent) : SmTreeView("ui/headerpos", parent), mHoverPics(false){ setAttribute(Qt::WA_Hover); mHoverWin = new HoverWindow(this); - SmGlobals::instance()->treeWidgets().append(this); } void FilesTreeView::readSettings(){ @@ -389,7 +390,7 @@ void FilesTreeView::contextMenuEvent(QContextMenuEvent *event){ bool FilesTreeView::event(QEvent *e){ QHoverEvent *hEvent = static_cast<QHoverEvent*>(e); if(!hEvent){ - return QTreeView::event(e); + return SmTreeView::event(e); } QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffest); QModelIndex curIdx = indexAt(hotSpot); @@ -433,7 +434,7 @@ bool FilesTreeView::event(QEvent *e){ if(e->type() == QEvent::HoverLeave){ return exitHover(); } - return QTreeView::event(e); + return SmTreeView::event(e); } bool FilesTreeView::exitHover(bool exitVal){ @@ -574,7 +575,7 @@ FileMoveDialog::FileMoveDialog(QPersistentModelIndex selected, QList<QPersistent QLabel *l1 = new QLabel(tr("Select destination")); QVBoxLayout *selectionLayout = new QVBoxLayout; selectionLayout->addWidget(l1); - mTree = new QTreeView; + mTree = new SmTreeView; mModel = static_cast<SeriesTreeModel*>(SmGlobals::instance()->model("SeriesModel")); mTree->setModel(mModel); selectionLayout->addWidget(mTree); |