File indexing completed on 2024-05-19 04:52:18
0001 /* 0002 SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 0007 #ifndef _K3B_VIDEODVD_IMAGER_H_ 0008 #define _K3B_VIDEODVD_IMAGER_H_ 0009 0010 0011 #include "k3bisoimager.h" 0012 0013 #include <QScopedPointer> 0014 0015 namespace K3b { 0016 class VideoDvdDoc; 0017 0018 /** 0019 * Create VideoDVD images with mkisofs. The difference 0020 * to the IsoImager is the -dvd-video option and the fact 0021 * that all VIDEO_TS files need to be in one local folder since 0022 * otherwise mkisofs is not able to find the dvd structures. 0023 */ 0024 class VideoDvdImager : public IsoImager 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 VideoDvdImager( VideoDvdDoc* doc, JobHandler*, QObject* parent = 0 ); 0030 ~VideoDvdImager() override; 0031 0032 public Q_SLOTS: 0033 void start() override; 0034 void init() override; 0035 void calculateSize() override; 0036 0037 protected: 0038 bool addMkisofsParameters( bool printSize = false ) override; 0039 int writePathSpec() override; 0040 void cleanup() override; 0041 int writePathSpecForDir( DirItem* dirItem, QTextStream& stream ) override; 0042 0043 protected Q_SLOTS: 0044 void slotReceivedStderr( const QString& ) override; 0045 0046 private: 0047 void fixVideoDVDSettings(); 0048 0049 class Private; 0050 QScopedPointer<Private> d; 0051 }; 0052 } 0053 0054 #endif