summaryrefslogtreecommitdiffstats
path: root/src/preferences/colorpalettesettings.h
blob: df9f37d0787a8062e579015e2ba8b667b9a65c3d (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
#pragma once

#include "preferences/usersettings.h"
#include "util/color/colorpalette.h"

// Saves ColorPalettes to and loads ColorPalettes from the mixxx.cfg file
class ColorPaletteSettings {
  public:
    explicit ColorPaletteSettings(UserSettingsPointer pConfig)
            : m_pConfig(pConfig) {
    }

    ColorPalette getHotcueColorPalette(const QString& name) const;
    ColorPalette getHotcueColorPalette() const;
    void setHotcueColorPalette(const ColorPalette& colorPalette);

    ColorPalette getTrackColorPalette(const QString& name) const;
    ColorPalette getTrackColorPalette() const;
    void setTrackColorPalette(const ColorPalette& colorPalette);

    ColorPalette getColorPalette(
            const QString& name,
            const ColorPalette& defaultPalette) const;
    void setColorPalette(const QString& name, const ColorPalette& colorPalette);
    void removePalette(const QString& name);
    QSet<QString> getColorPaletteNames() const;

  private:
    UserSettingsPointer m_pConfig;
};