1 /* 2 SPDX-FileCopyrightText: 1998-2010 Sebastian Trueg <trueg@k3b.org> 3 SPDX-License-Identifier: GPL-2.0-or-later 4 */ 5 6 #ifndef _K3B_AUDIO_TRACK_ADDING_DIALOG_H_ 7 #define _K3B_AUDIO_TRACK_ADDING_DIALOG_H_ 8 9 #include "k3bjobhandler.h" 10 #include <QUrl> 11 #include <QStringList> 12 #include <QDialog> 13 14 15 class QLabel; 16 17 namespace K3b { 18 class BusyWidget; 19 class AudioTrack; 20 class AudioDataSource; 21 class AudioDoc; 22 class AudioFileAnalyzerJob; 23 24 class AudioTrackAddingDialog : public QDialog, public JobHandler 25 { 26 Q_OBJECT 27 28 public: 29 AudioTrackAddingDialog( const QList<QUrl>& urls, 30 AudioDoc* doc, 31 AudioTrack* afterTrack = 0, 32 AudioTrack* parentTrack = 0, 33 AudioDataSource* afterSource = 0, 34 QWidget* parent = 0 ); 35 ~AudioTrackAddingDialog() override; 36 37 /** 38 * shows AudioTrackAddingDialog in non-blocking fashion 39 * (doesn't wait till dialog is closed) 40 */ 41 static void addUrls( const QList<QUrl>& urls, 42 AudioDoc* doc, 43 AudioTrack* afterTrack = 0, 44 AudioTrack* parentTrack = 0, 45 AudioDataSource* afterSource = 0, 46 QWidget* parent = 0 ); 47 48 private Q_SLOTS: 49 void slotAddUrls(); 50 void slotAnalysingFinished( bool ); 51 void slotCancelClicked(); 52 53 private: 54 /** 55 * @reimplemented from JobHandler 56 */ 57 Device::MediaType waitForMedium( Device::Device*, 58 Device::MediaStates = Device::STATE_EMPTY, 59 Device::MediaTypes = Device::MEDIA_WRITABLE_CD, 60 const K3b::Msf& = K3b::Msf(), 61 const QString& = QString() ) override { return Device::MEDIA_UNKNOWN; } 62 63 /** 64 * @reimplemented from JobHandler 65 */ 66 bool questionYesNo( const QString&, 67 const QString& = QString(), 68 const KGuiItem& = KStandardGuiItem::yes(), 69 const KGuiItem& = KStandardGuiItem::no() ) override { return false; } 70 71 /** 72 * @reimplemented from JobHandler 73 */ 74 void blockingInformation( const QString&, 75 const QString& = QString() ) override {} 76 77 BusyWidget* m_busyWidget; 78 QLabel* m_infoLabel; 79 80 QStringList m_unreadableFiles; 81 QStringList m_notFoundFiles; 82 QStringList m_nonLocalFiles; 83 QStringList m_unsupportedFiles; 84 85 QList<QUrl> m_urls; 86 87 AudioDoc* m_doc; 88 AudioTrack* m_trackAfter; 89 AudioTrack* m_parentTrack; 90 AudioDataSource* m_sourceAfter; 91 92 QUrl m_cueUrl; 93 94 bool m_bCanceled; 95 96 AudioFileAnalyzerJob* m_analyserJob; 97 }; 98 } 99 100 #endif 101