File indexing completed on 2024-09-01 04:38:36

0001 /*
0002     SPDX-FileCopyrightText: 2008 Jean-Baptiste Mardelle <jb@kdenlive.org>
0003 
0004 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #pragma once
0008 
0009 #include "ui_cliptranscode_ui.h"
0010 
0011 #include <KMessageWidget>
0012 #include <QUrl>
0013 
0014 #include <QProcess>
0015 
0016 class ClipTranscode : public QDialog, public Ui::ClipTranscode_UI
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     ClipTranscode(QStringList urls, const QString &params, QStringList postParams, const QString &description, QString folderInfo = QString(),
0022                   bool automaticMode = false, QWidget *parent = nullptr);
0023     ~ClipTranscode() override;
0024 
0025 public Q_SLOTS:
0026     void slotStartTransCode();
0027 
0028 private Q_SLOTS:
0029     void slotShowTranscodeInfo();
0030     void slotTranscodeFinished(int exitCode, QProcess::ExitStatus exitStatus);
0031     void slotUpdateParams(int ix = -1);
0032 
0033 private:
0034     QProcess m_transcodeProcess;
0035     QStringList m_urls;
0036     QString m_folderInfo;
0037     int m_duration;
0038     bool m_automaticMode;
0039     /** @brief The path for destination transcoded file. */
0040     QString m_destination;
0041     QStringList m_postParams;
0042     KMessageWidget *m_infoMessage;
0043 
0044 Q_SIGNALS:
0045     void addClip(const QUrl &url, const QString &folderInfo = QString());
0046     void transcodedClip(const QUrl &source, const QUrl &result);
0047 };