summaryrefslogtreecommitdiffstats
path: root/fileview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-07-27 03:59:47 +0200
committerArno <am@disconnect.de>2013-07-27 04:02:21 +0200
commit0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1 (patch)
treee92bd13b2ddda3af1af51d25c22d5042fb635139 /fileview.cpp
parent46a552d89c70895abc75d94f3c647be29873afd9 (diff)
downloadSheMov-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.cpp28
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(){