Clean up the appearance settings page and add sensible defaults

This commit is contained in:
David Sansome 2013-02-17 14:03:39 +11:00
parent c03f69daa7
commit 122d5ad139
4 changed files with 63 additions and 69 deletions

View File

@ -54,6 +54,9 @@ const int PlaylistView::kDropIndicatorGradientWidth = 5;
const char* PlaylistView::kSettingBackgroundImageType = "playlistview_background_type";
const char* PlaylistView::kSettingBackgroundImageFilename = "playlistview_background_image_file";
const int PlaylistView::kDefaultBlurRadius = 0;
const int PlaylistView::kDefaultOpacityLevel = 40;
PlaylistProxyStyle::PlaylistProxyStyle(QStyle* base)
: QProxyStyle(base),
@ -1015,8 +1018,8 @@ void PlaylistView::ReloadSettings() {
}
}
QString background_image_filename = s.value(kSettingBackgroundImageFilename).toString();
int blur_radius = s.value("blur_radius").toInt();
int opacity_level = s.value("opacity_level").toInt();
int blur_radius = s.value("blur_radius", kDefaultBlurRadius).toInt();
int opacity_level = s.value("opacity_level", kDefaultOpacityLevel).toInt();
// Check if background properties have changed.
// We change properties only if they have actually changed, to avoid to call
// set_background_image when it is not needed, as this will cause the fading

View File

@ -59,7 +59,6 @@ private:
class PlaylistView : public QTreeView {
Q_OBJECT
public:
enum BackgroundImageType {
Default,
None,
@ -74,6 +73,9 @@ class PlaylistView : public QTreeView {
static const char* kSettingBackgroundImageType;
static const char* kSettingBackgroundImageFilename;
static const int kDefaultBlurRadius;
static const int kDefaultOpacityLevel;
static ColumnAlignmentMap DefaultColumnAlignment();
void SetApplication(Application* app);

View File

@ -129,8 +129,10 @@ void AppearanceSettingsPage::Load() {
DisableBlurSlider(true);
}
ui_->background_image_filename->setText(playlist_view_background_image_filename_);
ui_->blur_slider->setValue(s.value("blur_radius").toInt());
ui_->opacity_slider->setValue(s.value("opacity_level").toInt());
ui_->blur_slider->setValue(
s.value("blur_radius", PlaylistView::kDefaultBlurRadius).toInt());
ui_->opacity_slider->setValue(
s.value("opacity_level", PlaylistView::kDefaultOpacityLevel).toInt());
s.endGroup();

View File

@ -90,42 +90,30 @@
<property name="title">
<string>Background image</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QRadioButton" name="use_default_background">
<property name="text">
<string>Default background image</string>
</property>
</widget>
</item>
</layout>
<widget class="QRadioButton" name="use_default_background">
<property name="text">
<string>Default background image</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QRadioButton" name="use_album_cover_background">
<property name="toolTip">
<string>The album cover of the currently playing song</string>
</property>
<property name="text">
<string>Album cover</string>
</property>
</widget>
</item>
</layout>
<widget class="QRadioButton" name="use_album_cover_background">
<property name="toolTip">
<string>The album cover of the currently playing song</string>
</property>
<property name="text">
<string>Album cover</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QRadioButton" name="use_no_background">
<property name="text">
<string>No background image</string>
</property>
</widget>
</item>
</layout>
<widget class="QRadioButton" name="use_no_background">
<property name="text">
<string>No background image</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
@ -156,28 +144,18 @@
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="select_background_blur_label">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Select blur radius:</string>
<string>Blur amount</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="background_blur_radius_label">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>0px</string>
</property>
</widget>
</item>
<item>
<item row="0" column="1">
<widget class="QSlider" name="blur_slider">
<property name="minimum">
<number>0</number>
@ -185,9 +163,6 @@
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>0</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -199,35 +174,47 @@
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<item row="0" column="2">
<widget class="QLabel" name="background_blur_radius_label">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>0px</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="select_opacity_level_label">
<property name="text">
<string>Opacity level:</string>
<string>Opacity</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="background_opacity_label">
<property name="text">
<string>40%</string>
</property>
</widget>
</item>
<item>
<item row="1" column="1">
<widget class="QSlider" name="opacity_slider">
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>40</number>
<property name="singleStep">
<number>10</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval">
<number>10</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="background_opacity_label">
<property name="text">
<string>40%</string>
</property>
</widget>
</item>
</layout>