aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.h
blob: 3f0fa4271ba3a649b17ec807f2720c19a57baea9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef APPEARANCEPAGE_H
#define APPEARANCEPAGE_H

#include "tabpage.h"

namespace Ui {
class AppearancePage;
class PreviewForm;
}

class QStyle;
class QAction;

class AppearancePage : public TabPage{
    Q_OBJECT

public:
    explicit AppearancePage(QWidget *parent = 0);
    ~AppearancePage();
    void writeSettings();

private slots:
    void on_styleComboBox_activated(const QString &text);
    void on_colorSchemeComboBox_activated(int);
    void createColorScheme();
    void changeColorScheme();
    void removeColorScheme();
    void copyColorScheme();
    void renameColorScheme();
    void updatePalette();
    void setPreviewPalette(const QPalette &p);
    void updateActions();

private:
    void readSettings();
    void setStyle(QWidget *w, QStyle *s);
    void setPalette(QWidget *w, QPalette p);
    void findColorSchemes(QStringList paths);
    QPalette loadColorScheme(const QString &filePath);
    void createColorScheme(const QString &name, const QPalette &palette);
    Ui::AppearancePage *m_ui;
    QStyle *m_selectedStyle = nullptr;
    QPalette m_customPalette;
    QWidget *m_previewWidget;
    QAction *m_changeColorSchemeAction, *m_renameColorSchemeAction, *m_removeColorSchemeAction;
    Ui::PreviewForm *m_previewUi;
};

#endif // APPEARANCEPAGE_H
bgstack15