1 /* This file is part of Clementine.
2    Copyright 2010, David Sansome <me@davidsansome.com>
3 
4    Clementine is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8 
9    Clementine is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License
15    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef NOTIFICATIONSSETTINGSPAGE_H
19 #define NOTIFICATIONSSETTINGSPAGE_H
20 
21 #include "settingspage.h"
22 
23 class Ui_NotificationsSettingsPage;
24 
25 class NotificationsSettingsPage : public SettingsPage {
26   Q_OBJECT
27 
28  public:
29   NotificationsSettingsPage(SettingsDialog* dialog);
30   ~NotificationsSettingsPage();
31 
32   void Load();
33   void Save();
34 
35  protected:
36   void hideEvent(QHideEvent*);
37   void showEvent(QShowEvent*);
38 
39  private slots:
40   void NotificationTypeChanged();
41   void NotificationCustomTextChanged(bool enabled);
42   void PrepareNotificationPreview();
43   void InsertVariableFirstLine(QAction* action);
44   void InsertVariableSecondLine(QAction* action);
45   void ShowMenuTooltip(QAction* action);
46 
47   void PrettyOpacityChanged(int value);
48   void PrettyColorPresetChanged(int index);
49   void ChooseBgColor();
50   void ChooseFgColor();
51   void ChooseFont();
52 
53   void UpdatePopupVisible();
54 
55  private:
56   Ui_NotificationsSettingsPage* ui_;
57   OSDPretty* pretty_popup_;
58 };
59 
60 #endif  // NOTIFICATIONSSETTINGSPAGE_H
61