File indexing completed on 2024-05-05 04:51:41
0001 /* 0002 SPDX-FileCopyrightText: 1998-2010 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef _K3B_AUDIO_TRACK_ADDING_DIALOG_H_ 0007 #define _K3B_AUDIO_TRACK_ADDING_DIALOG_H_ 0008 0009 #include "k3bjobhandler.h" 0010 #include <QUrl> 0011 #include <QStringList> 0012 #include <QDialog> 0013 0014 0015 class QLabel; 0016 0017 namespace K3b { 0018 class BusyWidget; 0019 class AudioTrack; 0020 class AudioDataSource; 0021 class AudioDoc; 0022 class AudioFileAnalyzerJob; 0023 0024 class AudioTrackAddingDialog : public QDialog, public JobHandler 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 AudioTrackAddingDialog( const QList<QUrl>& urls, 0030 AudioDoc* doc, 0031 AudioTrack* afterTrack = 0, 0032 AudioTrack* parentTrack = 0, 0033 AudioDataSource* afterSource = 0, 0034 QWidget* parent = 0 ); 0035 ~AudioTrackAddingDialog() override; 0036 0037 /** 0038 * shows AudioTrackAddingDialog in non-blocking fashion 0039 * (doesn't wait till dialog is closed) 0040 */ 0041 static void addUrls( const QList<QUrl>& urls, 0042 AudioDoc* doc, 0043 AudioTrack* afterTrack = 0, 0044 AudioTrack* parentTrack = 0, 0045 AudioDataSource* afterSource = 0, 0046 QWidget* parent = 0 ); 0047 0048 private Q_SLOTS: 0049 void slotAddUrls(); 0050 void slotAnalysingFinished( bool ); 0051 void slotCancelClicked(); 0052 0053 private: 0054 /** 0055 * @reimplemented from JobHandler 0056 */ 0057 Device::MediaType waitForMedium( Device::Device*, 0058 Device::MediaStates = Device::STATE_EMPTY, 0059 Device::MediaTypes = Device::MEDIA_WRITABLE_CD, 0060 const K3b::Msf& = K3b::Msf(), 0061 const QString& = QString() ) override { return Device::MEDIA_UNKNOWN; } 0062 0063 /** 0064 * @reimplemented from JobHandler 0065 */ 0066 bool questionYesNo( const QString&, 0067 const QString& = QString(), 0068 const KGuiItem& = KStandardGuiItem::ok(), 0069 const KGuiItem& = KStandardGuiItem::cancel() ) override { return false; } 0070 0071 /** 0072 * @reimplemented from JobHandler 0073 */ 0074 void blockingInformation( const QString&, 0075 const QString& = QString() ) override {} 0076 0077 BusyWidget* m_busyWidget; 0078 QLabel* m_infoLabel; 0079 0080 QStringList m_unreadableFiles; 0081 QStringList m_notFoundFiles; 0082 QStringList m_nonLocalFiles; 0083 QStringList m_unsupportedFiles; 0084 0085 QList<QUrl> m_urls; 0086 0087 AudioDoc* m_doc; 0088 AudioTrack* m_trackAfter; 0089 AudioTrack* m_parentTrack; 0090 AudioDataSource* m_sourceAfter; 0091 0092 QUrl m_cueUrl; 0093 0094 bool m_bCanceled; 0095 0096 AudioFileAnalyzerJob* m_analyserJob; 0097 }; 0098 } 0099 0100 #endif