Sayonara Player
GUI_Shortcuts.h
1 /* GUI_Shortcuts.h */
2 
3 /* Copyright (C) 2011-2016 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 
22 
23 #ifndef GUI_SHORTCUTS_H
24 #define GUI_SHORTCUTS_H
25 
26 
27 #include "GUI/Preferences/ui_GUI_Shortcuts.h"
28 #include "GUI/Helper/Shortcuts/ShortcutHandler.h"
29 
30 #include "Interfaces/PreferenceDialog/PreferenceWidgetInterface.h"
31 
32 #include <QPushButton>
33 #include <QLineEdit>
34 #include <QMap>
35 #include <QKeyEvent>
36 
37 #include <tuple>
38 
39 class GUI_ShortcutEntry;
40 
47  private Ui::GUI_Shortcuts
48 {
49  Q_OBJECT
50 
51  friend class PreferenceWidgetInterface;
52  friend class PreferenceInterface<SayonaraWidget>;
53 
54 public:
55  GUI_Shortcuts(QWidget* parent=nullptr);
56 
57  QString get_action_name() const override;
58 
59  void revert() override;
60  void commit() override;
61 
62 
63 private:
64  ShortcutHandler* _sch = nullptr;
66 
67 private:
68  void language_changed() override;
69  void init_ui() override;
70 
71 private slots:
72  void test_pressed(const QList<QKeySequence>& sequences);
73  void sequence_entered();
74 
75 
76 };
77 
78 #endif // GUI_SHORTCUTS_H
The delegate class for displaying a shortcut.
Definition: GUI_ShortcutEntry.h:34
void revert() override
This method is called, when cancel is clicked. So the gui should be re-initialized when this method i...
Definition: ui_GUI_Shortcuts.h:92
A singleton class for retrieving shortcuts.
Definition: ShortcutHandler.h:41
virtual void init_ui()=0
call setup_parent(this) here. initialize compoenents and connections here. After calling setup_parent...
QString get_action_name() const override
has to be implemented and should return the translated action text
Template class for implementing preference dialogs and preference widgets.
Definition: PreferenceInterface.h:70
void commit() override
This method is called, when OK or apply is pressed. So all settings should be written there...
Abstract Interface you should use when creating a preferences item.
Definition: PreferenceWidgetInterface.h:41
The GUI_Shortcuts class.
Definition: GUI_Shortcuts.h:45
void language_changed() override
automatically called when language has changed. When overriding this method. Overriding this method s...
Definition: PreferenceInterface.h:116