File indexing completed on 2024-05-19 04:49:50

0001 /****************************************************************************************
0002  * Copyright (c) 2009 Nikolaj Hald Nielsen <nhn@kde.org>                                *
0003  *                                                                                      *
0004  * This program is free software; you can redistribute it and/or modify it under        *
0005  * the terms of the GNU General Public License as published by the Free Software        *
0006  * Foundation; either version 2 of the License, or (at your option) any later           *
0007  * version.                                                                             *
0008  *                                                                                      *
0009  * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
0010  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
0011  * PARTICULAR PURPOSE. See the GNU General Pulic License for more details.              *
0012  *                                                                                      *
0013  * You should have received a copy of the GNU General Public License along with         *
0014  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
0015  ****************************************************************************************/
0016 
0017 #ifndef NAVIGATORCONFIGACTION_H
0018 #define NAVIGATORCONFIGACTION_H
0019 
0020 #include <QAction>
0021 
0022 
0023 class NavigatorConfigAction : public QAction
0024 {
0025     Q_OBJECT
0026 public:
0027 
0028     /**
0029     * Constructor.
0030     * @param parent Parent widget.
0031     */
0032     explicit NavigatorConfigAction( QWidget * parent );
0033 
0034     /**
0035     * Destructor.
0036     */
0037     ~NavigatorConfigAction() override;
0038 
0039 protected Q_SLOTS:
0040 
0041     /**
0042     * Set the currently active navigator based on the selected action.
0043     * @param navigatorAction The action triggered.
0044     */
0045     void setActiveNavigator( QAction *navigatorAction );
0046 
0047     void setFavored( QAction *favorAction );
0048 
0049     void navigatorChanged();
0050 
0051 private:
0052 
0053     QAction * m_standardNavigatorAction;
0054     QAction * m_onlyQueueNavigatorAction;
0055     QAction * m_repeatTrackNavigatorAction;
0056     QAction * m_repeatAlbumNavigatorAction;
0057     QAction * m_repeatPlaylistNavigatorAction;
0058     QAction * m_randomTrackNavigatorAction;
0059     QAction * m_randomAlbumNavigatorAction;
0060 
0061     QAction * m_favorNoneAction;
0062     QAction * m_favorScoresAction;
0063     QAction * m_favorRatingsAction;
0064     QAction * m_favorLastPlayedAction;
0065 };
0066 
0067 #endif // NAVIGATORCONFIGACTION_H