Add setting for OSD Pretty fading

This commit is contained in:
Jonas Kvinge 2021-04-13 17:26:54 +02:00
parent bd31e3df89
commit 7877bb7956
4 changed files with 41 additions and 31 deletions

View File

@ -132,10 +132,6 @@ OSDPretty::OSDPretty(Mode mode, QWidget *parent)
QObject::connect(fader_, &QTimeLine::valueChanged, this, &OSDPretty::FaderValueChanged);
QObject::connect(fader_, &QTimeLine::finished, this, &OSDPretty::FaderFinished);
#ifdef Q_OS_WIN
set_fading_enabled(true);
#endif
// Load the show edges and corners
QImage shadow_edge(":/pictures/osd_shadow_edge.png");
QImage shadow_corner(":/pictures/osd_shadow_corner.png");
@ -247,6 +243,11 @@ void OSDPretty::Load() {
background_opacity_ = s.value("background_opacity", 0.85).toFloat();
font_.fromString(s.value("font", "Verdana,9,-1,5,50,0,0,0,0,0").toString());
disable_duration_ = s.value("disable_duration", false).toBool();
#ifdef Q_OS_WIN
fading_enabled_ = s.value("fading", true).toBool();
#else
fading_enabled_ = s.value("fading", false).toBool();
#endif
if (s.contains("popup_screen")) {
popup_screen_name_ = s.value("popup_screen").toString();

View File

@ -76,9 +76,6 @@ class OSDPretty : public QWidget {
void SetMessage(const QString &summary, const QString& message, const QImage &image);
void ShowMessage(const QString &summary, const QString& message, const QImage &image);
// Controls the fader. This is enabled by default on Windows.
void set_fading_enabled(bool enabled) { fading_enabled_ = enabled; }
// Popup duration in seconds. Only used in Mode_Popup.
void set_popup_duration(int msec);
@ -95,6 +92,7 @@ class OSDPretty : public QWidget {
QPoint popup_pos() const { return popup_pos_; }
QFont font() const { return font_; }
bool disable_duration() const { return disable_duration_; }
bool fading() const { return fading_enabled_; }
// When the user has been moving the popup, use these to get its current position and screen.
// Note that these return invalid values if the popup is hidden.

View File

@ -197,6 +197,9 @@ void NotificationsSettingsPage::Load() {
ui_->notifications_bg_preset->setCurrentIndex(2);
ui_->notifications_bg_preset->setItemData(2, QColor(color), Qt::DecorationRole);
ui_->notifications_disable_duration->setChecked(pretty_popup_->disable_duration());
ui_->notifications_fading->setChecked(pretty_popup_->fading());
UpdatePopupVisible();
Init(ui_->layout_notificationssettingspage->parentWidget());
@ -236,6 +239,7 @@ void NotificationsSettingsPage::Save() {
s.setValue("popup_pos", pretty_popup_->popup_pos());
s.setValue("font", pretty_popup_->font().toString());
s.setValue("disable_duration", ui_->notifications_disable_duration->isChecked());
s.setValue("fading", ui_->notifications_fading->isChecked());
s.endGroup();
}

View File

@ -284,13 +284,6 @@
<string>Pretty OSD options</string>
</property>
<layout class="QGridLayout" name="layout_notifications_pretty_group">
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Background opacity</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QSlider" name="notifications_opacity">
<property name="orientation">
@ -305,6 +298,34 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Text options</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="notifications_font_choose">
<property name="text">
<string>Choose font...</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="notifications_fg_choose">
<property name="text">
<string>Choose color...</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Background opacity</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="notifications_bg_preset">
<item>
@ -324,24 +345,10 @@
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<item row="3" column="0">
<widget class="QCheckBox" name="notifications_fading">
<property name="text">
<string>Text options</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="notifications_fg_choose">
<property name="text">
<string>Choose color...</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="notifications_font_choose">
<property name="text">
<string>Choose font...</string>
<string>Enable fading</string>
</property>
</widget>
</item>