From 76698ff82cf5e88c1ea2e0686ce7450cf558af97 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Thu, 21 Sep 2017 22:55:41 -0600 Subject: Add Bitrate to Dolphin's Additional Information Summary: Adds Bitrate to Dolphin's Additional information columns. BUG: 368418 Test Plan: Tested in KDE Neon. A bitrate column can be added and shows the bitrate in kb/s: {F3907210} Works for audio as well as video files! Reviewers: #dolphin, #kde_applications, broulik, aacid, dfaure, emmanuelp Reviewed By: #dolphin, #kde_applications, emmanuelp Subscribers: rkflx, alexeymin, anthonyfieroni Tags: #dolphin Differential Revision: https://phabricator.kde.org/D7763 --- src/kitemviews/private/kbaloorolesprovider.cpp | 13 +++++++++++++ src/kitemviews/private/kbaloorolesprovider.h | 6 ++++++ 2 files changed, 19 insertions(+) (limited to 'src/kitemviews/private') diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp index 808a9ba7c..314c2f06b 100644 --- a/src/kitemviews/private/kbaloorolesprovider.cpp +++ b/src/kitemviews/private/kbaloorolesprovider.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -95,6 +96,9 @@ QHash KBalooRolesProvider::roleValues(const Baloo::File& f } else if (role == "duration") { const QString duration = durationFromValue(value.toInt()); values.insert(role, duration); + } else if (role == "bitrate") { + const QString bitrate = bitrateFromValue(value.toInt()); + values.insert(role, bitrate); } else { values.insert(role, value.toString()); } @@ -149,6 +153,7 @@ KBalooRolesProvider::KBalooRolesProvider() : { "genre", "genre" }, { "album", "album" }, { "duration", "duration" }, + { "bitRate", "bitrate" }, { "releaseYear", "releaseYear" }, { "trackNumber", "track" }, { "originUrl", "originUrl" } @@ -194,3 +199,11 @@ QString KBalooRolesProvider::durationFromValue(int value) const return duration.toString(QStringLiteral("hh:mm:ss")); } + +QString KBalooRolesProvider::bitrateFromValue(int value) const +{ + KFormat form; + QString bitrate = i18nc("@label bitrate (per second)", "%1/s", form.formatByteSize(value, 1, KFormat::MetricBinaryDialect)); + return bitrate; +} + diff --git a/src/kitemviews/private/kbaloorolesprovider.h b/src/kitemviews/private/kbaloorolesprovider.h index 65b59793c..6fef98ede 100644 --- a/src/kitemviews/private/kbaloorolesprovider.h +++ b/src/kitemviews/private/kbaloorolesprovider.h @@ -79,6 +79,12 @@ private: */ QString durationFromValue(int value) const; + /** + * @return Bitrate in the format N kB/s for the value given + * in b/s. + */ + QString bitrateFromValue(int value) const; + private: QSet m_roles; QHash m_roleForProperty; -- cgit v1.3