diff options
author | Arno <am@disconnect.de> | 2013-07-27 03:59:47 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-07-27 04:02:21 +0200 |
commit | 0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1 (patch) | |
tree | e92bd13b2ddda3af1af51d25c22d5042fb635139 /fileview.cpp | |
parent | 46a552d89c70895abc75d94f3c647be29873afd9 (diff) | |
download | SheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.tar.gz SheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.tar.bz2 SheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.zip |
Read JSON from ffprobe
Use JSON output from ffprobe instead of string parsing to get some kind
of type safety.
For doing that, some changes were needed in FileView: Use delegates for
displaying Duration and Bitrate instead of mangling output in
Qt::Displayrole.
To reuse code, move all delegates from the new Archive to a separate
file.
And, of course, the initial objective: Show the accumulated size and
duration of selected files in the status bar from the experimental
archive.
Diffstat (limited to 'fileview.cpp')
-rw-r--r-- | fileview.cpp | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/fileview.cpp b/fileview.cpp index 1720552..336d179 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -6,15 +6,15 @@ */ #include <QContextMenuEvent> -#include <QtWidgets/QMenu> -#include <QtWidgets/QAction> +#include <QMenu> +#include <QAction> #include <QKeyEvent> #include <QModelIndex> #include <QRegExp> -#include <QtWidgets/QFileSystemModel> +#include <QFileSystemModel> #include <QSortFilterProxyModel> -#include <QtWidgets/QAction> -#include <QtWidgets/QApplication> +#include <QAction> +#include <QApplication> #include <QEvent> #include <QSettings> #include <QModelIndex> @@ -23,7 +23,7 @@ #include <QList> #include <QDir> #include <QSortFilterProxyModel> -#include <QtWidgets/QInputDialog> +#include <QInputDialog> #include <QPalette> #include <QTimer> #include <QHeaderView> @@ -50,12 +50,6 @@ void FileView::setModel(QAbstractItemModel *model){ SmTreeView::setModel(model); } -const QVariant FileView::duration() const { - QVariant retval; - retval.setValue(mDuration); - return retval;; -} - void FileView::markFiles(){ bool ok; QString title = QString(tr("%1 - %2")).arg(qApp->applicationName()).arg(tr("Mark files")); @@ -228,17 +222,13 @@ void FileView::selectedFilesChanged(){ QModelIndexList selected = selectionModel()->selectedRows(); emit numSelected(selected.size()); qint64 selSize = 0; - Helper::Duration dur; + qint64 dur = 0; foreach(QModelIndex i, selected){ selSize += i.data(SmDirModel::SizeRole).toLongLong(); - Helper::Duration curDur = i.data(SmDirModel::DurSizeRole).value<Helper::Duration>(); - dur = dur + curDur; + dur += i.data(SmDirModel::DurSizeRole).toInt(); } emit selectedSize(selSize); - mDuration = dur; - QVariant duration; - duration.setValue(dur); - emit selectedDuration(duration); + emit selectedDuration(dur, false); } void FileView::saveSelection(){ |