diff options
author | Arno <arno@disconnect.de> | 2018-04-03 05:59:38 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-04-03 05:59:38 +0200 |
commit | eb9ed351b179802e3cfc21ccb3311077965d6541 (patch) | |
tree | 1d101c863d54502677936617274dd5a18facd15a /fswidget.cpp | |
parent | 71bbe75e92fc76619d2e2f60c05d94ebff3439bf (diff) | |
download | SheMov-eb9ed351b179802e3cfc21ccb3311077965d6541.tar.gz SheMov-eb9ed351b179802e3cfc21ccb3311077965d6541.tar.bz2 SheMov-eb9ed351b179802e3cfc21ccb3311077965d6541.zip |
FSWidget: Update status bar
Show count, size and duration.
Diffstat (limited to 'fswidget.cpp')
-rw-r--r-- | fswidget.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fswidget.cpp b/fswidget.cpp index 75ecd28..c3753b1 100644 --- a/fswidget.cpp +++ b/fswidget.cpp @@ -160,6 +160,7 @@ void FSWidget::setupWidget(){ mProxy->setSourceModel(mModel); mFileView->setModel(mProxy); mFileView->sortByColumn(0, Qt::AscendingOrder); + connect(mFileView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &FSWidget::calculateSelectionChanged); mFileView->addActions(QList<QAction*>() << playSelectedA << playRepeatMA << mPlayWithA << Helper::createSeparator(this) << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA << archivePicsA << unpackA << previewA << selectFilterA << unselectAllA); @@ -564,3 +565,20 @@ void FSWidget::selectFilter(){ } } + +void FSWidget::calculateSelectionChanged(){ + QModelIndexList selected = mFileView->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + emit selectionChanged(0, 0, 0); + return; + } + int count = 0; + qint64 duration = 0; + qint64 size = 0; + for(const QModelIndex &idx : selected){ + ++count; + duration += idx.data(DurationRole).toLongLong(); + size += idx.data(SizeRole).toLongLong(); + } + emit selectionChanged(count, size, duration); +} |