File Add-a-setting-for-disabling-moodbar-generation.patch of Package clementine
From c4c7265e7a7cb8dd825e6e9ca358e59626ebd02a Mon Sep 17 00:00:00 2001
From: John Maguire <john.maguire@gmail.com>
Date: Mon, 19 Nov 2012 14:32:39 +0100
Subject: Add a setting for disabling moodbar generation. Fixes issue #3161
References: bnc#818127
---
src/moodbar/moodbarloader.cpp | 12 ++++++++----
src/moodbar/moodbarloader.h | 1 +
src/ui/appearancesettingspage.cpp | 2 ++
src/ui/appearancesettingspage.h | 1 +
src/ui/appearancesettingspage.ui | 15 +++++++++++----
5 files changed, 23 insertions(+), 8 deletions(-)
--- a/src/moodbar/moodbarloader.cpp
+++ b/src/moodbar/moodbarloader.cpp
@@ -37,7 +37,8 @@ MoodbarLoader::MoodbarLoader(Application
cache_(new QNetworkDiskCache(this)),
thread_(new QThread(this)),
kMaxActiveRequests(qMax(1, QThread::idealThreadCount() / 2)),
- save_alongside_originals_(false)
+ save_alongside_originals_(false),
+ disable_moodbar_calculation_(false)
{
cache_->setCacheDirectory(Utilities::GetConfigPath(Utilities::Path_MoodbarCache));
cache_->setMaximumCacheSize(60 * 1024 * 1024); // 60MB - enough for 20,000 moodbars
@@ -55,6 +56,9 @@ void MoodbarLoader::ReloadSettings() {
QSettings s;
s.beginGroup("Moodbar");
save_alongside_originals_ = s.value("save_alongside_originals", false).toBool();
+
+ disable_moodbar_calculation_ = !s.value("calculate", true).toBool();
+ MaybeTakeNextRequest();
}
QStringList MoodbarLoader::MoodFilenames(const QString& song_filename) {
@@ -111,8 +115,8 @@ MoodbarLoader::Result MoodbarLoader::Loa
MoodbarPipeline* pipeline = new MoodbarPipeline(url);
pipeline->moveToThread(thread_);
NewClosure(pipeline, SIGNAL(Finished(bool)),
- this, SLOT(RequestFinished(MoodbarPipeline*,QUrl)),
- pipeline, url);
+ this, SLOT(RequestFinished(MoodbarPipeline*,QUrl)),
+ pipeline, url);
requests_[url] = pipeline;
queued_requests_ << url;
@@ -127,7 +131,7 @@ void MoodbarLoader::MaybeTakeNextRequest
Q_ASSERT(QThread::currentThread() == qApp->thread());
if (active_requests_.count() >= kMaxActiveRequests ||
- queued_requests_.isEmpty()) {
+ queued_requests_.isEmpty() || disable_moodbar_calculation_) {
return;
}
--- a/src/moodbar/moodbarloader.h
+++ b/src/moodbar/moodbarloader.h
@@ -70,6 +70,7 @@ private:
QSet<QUrl> active_requests_;
bool save_alongside_originals_;
+ bool disable_moodbar_calculation_;
};
#endif // MOODBARLOADER_H
--- a/src/ui/appearancesettingspage.cpp
+++ b/src/ui/appearancesettingspage.cpp
@@ -120,6 +120,7 @@ void AppearanceSettingsPage::Load() {
s.beginGroup("Moodbar");
ui_->moodbar_show->setChecked(s.value("show", true).toBool());
ui_->moodbar_style->setCurrentIndex(s.value("style", 0).toInt());
+ ui_->moodbar_calculate->setChecked(!s.value("calculate", true).toBool());
ui_->moodbar_save->setChecked(s.value("save_alongside_originals", false).toBool());
s.endGroup();
@@ -159,6 +160,7 @@ void AppearanceSettingsPage::Save() {
// Moodbar settings
s.beginGroup("Moodbar");
+ s.setValue("calculate", !ui_->moodbar_calculate->isChecked());
s.setValue("show", ui_->moodbar_show->isChecked());
s.setValue("style", ui_->moodbar_style->currentIndex());
s.setValue("save_alongside_originals", ui_->moodbar_save->isChecked());
--- a/src/ui/appearancesettingspage.h
+++ b/src/ui/appearancesettingspage.h
@@ -64,6 +64,7 @@ private:
QString playlist_view_background_image_filename_;
bool initialised_moodbar_previews_;
+ bool dont_calculate_moodbar_;
};
#endif // APPEARANCESETTINGSPAGE_H
--- a/src/ui/appearancesettingspage.ui
+++ b/src/ui/appearancesettingspage.ui
@@ -164,30 +164,37 @@
<string>Moodbars</string>
</property>
<layout class="QFormLayout" name="formLayout">
- <item row="0" column="0" colspan="2">
+ <item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="moodbar_show">
<property name="text">
<string>Show a moodbar in the track progress bar</string>
</property>
</widget>
</item>
- <item row="1" column="0">
+ <item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Moodbar style</string>
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="2" column="1">
<widget class="QComboBox" name="moodbar_style"/>
</item>
- <item row="2" column="0" colspan="2">
+ <item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="moodbar_save">
<property name="text">
<string>Save .mood files in your music library</string>
</property>
</widget>
</item>
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="moodbar_calculate">
+ <property name="text">
+ <string>Disable moodbar generation</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>