summaryrefslogtreecommitdiffstats
path: root/archivecontroller.h
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 /archivecontroller.h
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 'archivecontroller.h')
-rw-r--r--archivecontroller.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/archivecontroller.h b/archivecontroller.h
index 750b017..4f24973 100644
--- a/archivecontroller.h
+++ b/archivecontroller.h
@@ -45,6 +45,7 @@ class ArchiveController : public QObject {
public slots:
void treeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
+ void fileSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
void playSelectedFiles();
void editQuality();
void editDvdNo();
@@ -56,6 +57,10 @@ class ArchiveController : public QObject {
private slots:
void fileDoubleClicked(const QModelIndex &idx);
+ signals:
+ void sizeChanged(qint64 newSize);
+ void durationChanged(qint64 newDuration, bool maybeMore);
+
private:
QModelIndexList mapToSource(const QSortFilterProxyModel *proxy, const QModelIndexList idxs) const;
ArchiveView *mArchiveView;