1 /****************************************************************************************
2  * Copyright (c) 2012 Matěj Laitl <matej@laitl.cz>                                      *
3  *                                                                                      *
4  * This program is free software; you can redistribute it and/or modify it under        *
5  * the terms of the GNU General Public License as published by the Free Software        *
6  * Foundation; either version 2 of the License, or (at your option) any later           *
7  * version.                                                                             *
8  *                                                                                      *
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
10  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
11  * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
12  *                                                                                      *
13  * You should have received a copy of the GNU General Public License along with         *
14  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
15  ****************************************************************************************/
16 
17 #ifndef METADATACONFIG_H
18 #define METADATACONFIG_H
19 
20 #include "ui_MetadataConfig.h"
21 #include "configdialog/ConfigDialogBase.h"
22 
23 namespace StatSyncing {
24     class Config;
25 }
26 
27 class MetadataConfig : public ConfigDialogBase, private Ui_MetadataConfig
28 {
29     Q_OBJECT
30 
31     public:
32         explicit MetadataConfig( Amarok2ConfigDialog *parent );
33         ~MetadataConfig() override;
34 
35         bool isDefault() override;
36         bool hasChanged() override;
37         void updateSettings() override;
38 
39     Q_SIGNALS:
40         void changed();
41 
42     private Q_SLOTS:
43         void slotForgetCollections();
44         void slotUpdateForgetButton();
45         void slotUpdateConfigureExcludedLabelsLabel();
46         void slotConfigureExcludedLabels();
47         void slotConfigureProvider();
48         void slotUpdateProviderConfigureButton();
49         void slotCreateProviderDialog();
50 
51     private:
52         int writeBackCoverDimensions() const;
53         qint64 checkedFields() const;
54 
55         QPointer<StatSyncing::Config> m_statSyncingConfig;
56 
57 };
58 
59 #endif // METADATACONFIG_H
60