File indexing completed on 2024-04-21 08:41:08

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_markerdialog_ui.h"
0010 
0011 #include "definitions.h"
0012 #include "utils/timecode.h"
0013 #include "widgets/timecodedisplay.h"
0014 
0015 class ProjectClip;
0016 
0017 namespace Mlt {
0018 }
0019 
0020 /**
0021  * @class MarkerDialog
0022  * @brief A dialog for editing markers and guides.
0023  * @author Jean-Baptiste Mardelle
0024  */
0025 class MarkerDialog : public QDialog, public Ui::MarkerDialog_UI
0026 {
0027     Q_OBJECT
0028 
0029 public:
0030     explicit MarkerDialog(ProjectClip *clip, const CommentedTime &t, const QString &caption, bool allowMultipleMarksers = false, QWidget *parent = nullptr);
0031     ~MarkerDialog() override;
0032 
0033     CommentedTime newMarker();
0034     QImage markerImage() const;
0035     bool addMultiMarker() const;
0036     GenTime getInterval() const;
0037     int getOccurrences() const;
0038 
0039 private Q_SLOTS:
0040     void slotUpdateThumb();
0041 
0042 private:
0043     ProjectClip *m_clip;
0044     QTimer *m_previewTimer;
0045 
0046 Q_SIGNALS:
0047     void updateThumb();
0048 };