summaryrefslogtreecommitdiffstats
path: root/src/preferences/dialog/dlgprefreplaygain.h
blob: 5266f413ea0a9c1da7f19468c32f521e3e7a57f4 (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
#pragma once

#include <QButtonGroup>
#include <QWidget>

#include "control/controlproxy.h"
#include "preferences/dialog/dlgpreferencepage.h"
#include "preferences/dialog/ui_dlgprefreplaygaindlg.h"
#include "preferences/replaygainsettings.h"

class DlgPrefReplayGain: public DlgPreferencePage,
                         public Ui::DlgPrefReplayGainDlg {
    Q_OBJECT
  public:
    DlgPrefReplayGain(QWidget *parent, UserSettingsPointer _config);
    virtual ~DlgPrefReplayGain();

  public slots:
    // Update initial gain increment
    void slotUpdateReplayGainBoost();
    void slotUpdateDefaultBoost();
    void slotSetRGEnabled();
    void slotSetRGAnalyzerChanged();
    void slotSetReanalyze();

    void slotApply() override;
    void slotUpdate() override;
    void slotResetToDefaults() override;

  signals:
    void apply(const QString &);

  private:
    // Determines whether or not to gray out the preferences
    void loadSettings();
    void setLabelCurrentReplayGainBoost(int value);
    bool isReplayGainAnalyzerEnabled() const;
    int getReplayGainVersion() const;

    ReplayGainSettings m_rgSettings;
    ControlProxy m_replayGainBoost;
    ControlProxy m_defaultBoost;
    ControlProxy m_enabled;

    QButtonGroup m_analysisButtonGroup;
};