1 2 /* Copyright (C) 2011-2020 Michael Lugmair (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 "Gui/Utils/Widgets/WidgetTemplate.h" 24 #include "PlaylistMenuEntry.h" 25 #include "Utils/Pimpl.h" 26 27 #include <QMenu> 28 29 namespace Gui 30 { 31 class PreferenceAction; 32 } 33 34 namespace Playlist 35 { 36 /** 37 * @brief The PlaylistTabMenu class 38 * @ingroup GuiPlaylists 39 */ 40 class TabMenu : 41 public Gui::WidgetTemplate<QMenu> 42 { 43 Q_OBJECT 44 PIMPL(TabMenu) 45 46 signals: 47 void sigDeleteClicked(); 48 void sigSaveClicked(); 49 void sigSaveAsClicked(); 50 void sigCloseClicked(); 51 void sigCloseOthersClicked(); 52 void sigResetClicked(); 53 void sigRenameClicked(); 54 void sigClearClicked(); 55 void sigOpenFileClicked(); 56 void sigOpenDirClicked(); 57 void sigSaveToFileClicked(); 58 59 public: 60 explicit TabMenu(QWidget* parent=nullptr); 61 ~TabMenu() override; 62 63 void showMenuItems(MenuEntries entries); 64 void showClose(bool b); 65 66 void addPreferenceAction(Gui::PreferenceAction* action); 67 68 protected: 69 void languageChanged() override; 70 void skinChanged() override; 71 }; 72 } 73 74 #endif // PLAYLISTTABMENU_H 75