File indexing completed on 2024-05-05 04:51:57

0001 /*
0002     SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef _K3B_DEVICE_MENU_H_
0007 #define _K3B_DEVICE_MENU_H_
0008 
0009 #include <QMenu>
0010 
0011 namespace Device {
0012     class Device;
0013 }
0014 
0015 namespace K3b {
0016     /**
0017      * Provides a menu including actions depending on the media
0018      * type.
0019      * For example: an audio CD has actions for ripping, copying,
0020      * or re-querying cddb.
0021      * Mounted media have an action to unmount while unmounted media
0022      * have an action to mount.
0023      */
0024     class DeviceMenu : public QMenu
0025     {
0026         Q_OBJECT
0027 
0028     public:
0029         explicit DeviceMenu( QWidget* parent = 0 );
0030         ~DeviceMenu() override;
0031 
0032     private:
0033         class Private;
0034         Private* const d;
0035 
0036         Q_PRIVATE_SLOT( d, void _k_aboutToShow() )
0037         Q_PRIVATE_SLOT( d, void _k_copy() )
0038         Q_PRIVATE_SLOT( d, void _k_format() )
0039         Q_PRIVATE_SLOT( d, void _k_ripAudio() )
0040         Q_PRIVATE_SLOT( d, void _k_ripVcd() )
0041         Q_PRIVATE_SLOT( d, void _k_ripVideoDVD() )
0042         Q_PRIVATE_SLOT( d, void _k_continueMultisession() )
0043     };
0044 }
0045 
0046 #endif