File indexing completed on 2024-10-06 04:25:58
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