Sayonara Player
GUI_LibraryPreferences.h
1 /* GUI_LibraryPreferences.h */
2 
3 /* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4  *
5  * This file is part of sayonara player
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11 
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16 
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef GUI_LIBRARYPREFERENCES_H
22 #define GUI_LIBRARYPREFERENCES_H
23 
24 #include "Gui/Preferences/PreferenceWidget.h"
25 #include "Utils/Pimpl.h"
26 
28 
29 namespace Library
30 {
31  class Manager;
32 }
33 
35  public Preferences::Base
36 {
37  Q_OBJECT
39  UI_CLASS(GUI_LibraryPreferences)
40 
41  public:
42  GUI_LibraryPreferences(Library::Manager* libraryManager, const QString& identifier);
43  ~GUI_LibraryPreferences() override;
44 
45  bool commit() override;
46  void revert() override;
47 
48  QString actionName() const override;
49 
50  protected:
51  void initUi() override;
52  void retranslate() override;
53  void skinChanged() override;
54 
55  void showEvent(QShowEvent* e) override;
56  QString errorString() const override;
57 
58  private slots:
59  void newClicked();
60  void editClicked();
61  void deleteClicked();
62 
63  void upClicked();
64  void downClicked();
65 
66  void editDialogAccepted();
67  void selectedIndexChanged(const QModelIndex& idx);
68 
69  private:
70  int currentRow() const;
71 };
72 
73 #endif // GUI_LIBRARYPREFERENCES_H
Definition: GUI_LibraryPreferences.h:36
bool commit() override
This method is called, when OK or apply is pressed. So all settings should be written there.
QString actionName() const override
has to be implemented and should return the translated action text
void initUi() override
call setup_parent(this) here. initialize compoenents and connections here. After calling setup_parent...
void retranslate() override
call the Qt retranslateUi method here
void revert() override
This method is called, when cancel is clicked. So the gui should be re-initialized when this method i...
QString errorString() const override
A closer description of the error.
Definition: LibraryManager.h:40
Abstract Interface you should use when creating a preferences item.
Definition: PreferenceWidget.h:42
QString identifier() const
return the unique identifier
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31