</property>
</widget>
</item>
- <item row="1" column="0">
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="animateSystrayIcon">
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string>Enable animations</string>
- </property>
- <property name="settingsKey" stdset="0">
- <string notr="true">/Notification/Systray/Animate</string>
- </property>
- <property name="defaultValue" stdset="0">
- <bool>true</bool>
- </property>
- </widget>
- </item>
</layout>
</item>
<item>
SettingsPage *SystrayAnimationNotificationBackend::createConfigWidget() const
{
- return nullptr;
+ return new ConfigWidget();
+}
+
+
+/***************************************************************************/
+
+SystrayAnimationNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent) : SettingsPage("Internal", "SystrayNotification", parent)
+{
+ _animateBox = new QCheckBox(tr("Animate system tray icon"));
+ _animateBox->setIcon(QIcon::fromTheme("dialog-information"));
+ connect(_animateBox, SIGNAL(toggled(bool)), this, SLOT(widgetChanged()));
+ QHBoxLayout *layout = new QHBoxLayout(this);
+ layout->addWidget(_animateBox);
+}
+
+
+void SystrayAnimationNotificationBackend::ConfigWidget::widgetChanged()
+{
+ bool changed = (_animate != _animateBox->isChecked());
+ if (changed != hasChanged())
+ setChangedState(changed);
+}
+
+
+bool SystrayAnimationNotificationBackend::ConfigWidget::hasDefaults() const
+{
+ return true;
+}
+
+
+void SystrayAnimationNotificationBackend::ConfigWidget::defaults()
+{
+ _animateBox->setChecked(false);
+ widgetChanged();
+}
+
+
+void SystrayAnimationNotificationBackend::ConfigWidget::load()
+{
+ NotificationSettings s;
+ _animate = s.value("Systray/Animate", true).toBool();
+ _animateBox->setChecked(_animate);
+ setChangedState(false);
+}
+
+
+void SystrayAnimationNotificationBackend::ConfigWidget::save()
+{
+ NotificationSettings s;
+ s.setValue("Systray/Animate", _animateBox->isChecked());
+ load();
}
\ No newline at end of file
void animateChanged(const QVariant &);
private:
+ class ConfigWidget;
+ bool _animate;
+};
+
+
+class SystrayAnimationNotificationBackend::ConfigWidget : public SettingsPage
+{
+ Q_OBJECT
+
+public:
+ ConfigWidget(QWidget *parent = 0);
+ void save();
+ void load();
+ bool hasDefaults() const;
+ void defaults();
+
+private slots:
+ void widgetChanged();
+
+private:
+ QCheckBox *_animateBox;
bool _animate;
};
\ No newline at end of file