Sayonara Player
PlaylistTabMenu.h
1 
2 /* Copyright (C) 2011-2017 Lucio Carreras
3  *
4  * This file is part of sayonara player
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10 
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15 
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PLAYLISTTABMENU_H
21 #define PLAYLISTTABMENU_H
22 
23 #include "Helper/Settings/SayonaraClass.h"
24 #include "PlaylistMenuEntry.h"
25 
26 #include <QMenu>
27 #include <QAction>
28 
29 class IconLoader;
30 
32  public QMenu,
33  private SayonaraClass
34 {
35  Q_OBJECT
36 
37 signals:
38  void sig_delete_clicked();
39  void sig_save_clicked();
40  void sig_save_as_clicked();
41  void sig_close_clicked();
42  void sig_close_others_clicked();
43  void sig_reset_clicked();
44  void sig_rename_clicked();
45  void sig_clear_clicked();
46  void sig_open_file_clicked();
47  void sig_open_dir_clicked();
48 
49 private:
50  QAction* _action_open_file=nullptr;
51  QAction* _action_open_dir=nullptr;
52  QAction* _action_delete=nullptr;
53  QAction* _action_save=nullptr;
54  QAction* _action_save_as=nullptr;
55  QAction* _action_reset=nullptr;
56  QAction* _action_close=nullptr;
57  QAction* _action_close_others=nullptr;
58  QAction* _action_rename=nullptr;
59  QAction* _action_clear=nullptr;
60 
61  IconLoader* _icon_loader;
62 
63 private slots:
64  void language_changed();
65  void skin_changed();
66 
67 
68 public:
69  explicit PlaylistTabMenu(QWidget* parent=nullptr);
70  ~PlaylistTabMenu();
71 
72  void show_menu_items(PlaylistMenuEntries entries);
73  void show_close(bool b);
74 };
75 
76 #endif // PLAYLISTTABMENU_H
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
The IconLoader class.
Definition: IconLoader.h:36
Definition: PlaylistTabMenu.h:31