1 /* This file is part of Clementine. 2 Copyright 2012, Arnaud Bienner <arnaud.bienner@gmail.com> 3 Copyright 2014, Krzysztof Sobiecki <sobkas@gmail.com> 4 Copyright 2014, John Maguire <john.maguire@gmail.com> 5 6 Clementine is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 Clementine is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with Clementine. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef CORE_APPEARANCE_H_ 21 #define CORE_APPEARANCE_H_ 22 23 #include <QColor> 24 #include <QPalette> 25 26 class Appearance : public QObject { 27 public: 28 explicit Appearance(QObject* parent = nullptr); 29 // Load the user preferred theme, which could the default system theme or a 30 // custom set of colors that user has chosen 31 void LoadUserTheme(); 32 void ResetToSystemDefaultTheme(); 33 void ChangeForegroundColor(const QColor& color); 34 void ChangeBackgroundColor(const QColor& color); 35 36 static const char* kSettingsGroup; 37 static const char* kUseCustomColorSet; 38 static const char* kForegroundColor; 39 static const char* kBackgroundColor; 40 static const QPalette kDefaultPalette; 41 42 private: 43 QColor foreground_color_; 44 QColor background_color_; 45 }; 46 47 #endif // CORE_APPEARANCE_H_ 48