File indexing completed on 2024-05-19 08:42:51
0001 /* 0002 SPDX-FileCopyrightText: 2003-2007 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-FileCopyrightText: 2009 Gustavo Pichorim Boiko <gustavo.boiko@kdemail.net> 0004 SPDX-FileCopyrightText: 2009-2010 Michal Malek <michalm@jabster.pl> 0005 SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef K3B_MIXED_VIEW_H 0011 #define K3B_MIXED_VIEW_H 0012 0013 #include "k3bview.h" 0014 0015 #include <QList> 0016 0017 class QAbstractItemModel; 0018 class QAction; 0019 class QModelIndex; 0020 class QStackedWidget; 0021 class QTreeView; 0022 0023 namespace K3b { 0024 class AudioTrack; 0025 class AudioDataSource; 0026 class AudioViewImpl; 0027 class DataViewImpl; 0028 class DirProxyModel; 0029 class MixedDoc; 0030 class MetaItemModel; 0031 0032 class MixedView : public View 0033 { 0034 Q_OBJECT 0035 0036 public: 0037 explicit MixedView( MixedDoc* doc, QWidget* parent = 0 ); 0038 ~MixedView() override; 0039 0040 public Q_SLOTS: 0041 void slotBurn() override; 0042 void addUrls( const QList<QUrl>& urls ) override; 0043 0044 private Q_SLOTS: 0045 void slotParentDir(); 0046 void slotCurrentDirChanged(); 0047 void slotUpdateActions(); 0048 void slotSetCurrentRoot( const QModelIndex& index ); 0049 0050 protected: 0051 /** 0052 * reimplemented from @ref View 0053 */ 0054 ProjectBurnDialog* newBurnDialog( QWidget* parent = 0 ) override; 0055 0056 private: 0057 MixedDoc* m_doc; 0058 AudioViewImpl* m_audioViewImpl; 0059 DataViewImpl* m_dataViewImpl; 0060 MetaItemModel* m_model; 0061 DirProxyModel* m_dirProxy; 0062 QTreeView* m_dirView; 0063 QStackedWidget* m_fileViewWidget; 0064 QList<QAction*> m_audioActions; 0065 QList<QAction*> m_dataActions; 0066 }; 0067 } 0068 0069 #endif