1 /* BookmarksMenu.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 BOOKMARKS_ACTION_H 22 #define BOOKMARKS_ACTION_H 23 24 #include <QMenu> 25 #include "Utils/Pimpl.h" 26 27 namespace Playlist 28 { 29 /** 30 * @brief The BookmarksMenu class 31 * @ingroup GuiPlaylists 32 */ 33 class BookmarksMenu : 34 public QMenu 35 { 36 Q_OBJECT 37 PIMPL(BookmarksMenu) 38 39 signals: 40 void sigBookmarkPressed(Seconds time_sec); 41 42 public: 43 explicit BookmarksMenu(QWidget* parent); 44 virtual ~BookmarksMenu(); 45 46 bool hasBookmarks() const; 47 void setTrack(const MetaData& track, bool editAllowed); 48 MetaData track() const; 49 50 private slots: 51 void actionPressed(); 52 void bookmarksChanged(bool editAllowed); 53 }; 54 } 55 56 #endif 57