CuteLogger
Fast and simple logging solution for Qt based applications
imageproducerwidget.h
1/*
2 * Copyright (c) 2012-2026 Meltytech, LLC
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef IMAGEPRODUCERWIDGET_H
19#define IMAGEPRODUCERWIDGET_H
20
21#include "abstractproducerwidget.h"
22
23#include <QWidget>
24
25namespace Ui {
26class ImageProducerWidget;
27}
28class QFileSystemWatcher;
29
30class ImageProducerWidget : public QWidget, public AbstractProducerWidget
31{
32 Q_OBJECT
33
34public:
35 explicit ImageProducerWidget(QWidget *parent = 0);
36 ~ImageProducerWidget();
37
38 // AbstractProducerWidget overrides
39 Mlt::Producer *newProducer(Mlt::Profile &);
40 virtual void setProducer(Mlt::Producer *);
41
42signals:
43 void producerChanged(Mlt::Producer *);
44 void producerReopened(bool play);
45 void modified();
46 void showInFiles(QString);
47
48public slots:
49 void updateDuration();
50 void rename();
51
52private slots:
53 void on_reloadButton_clicked();
54
55 void on_aspectNumSpinBox_valueChanged(int);
56
57 void on_aspectDenSpinBox_valueChanged(int);
58
59 void on_durationSpinBox_editingFinished();
60
61 void on_sequenceCheckBox_clicked(bool checked);
62
63 void on_repeatSpinBox_editingFinished();
64
65 void on_defaultDurationButton_clicked();
66
67 void on_notesTextEdit_textChanged();
68
69 void on_menuButton_clicked();
70
71 void on_actionCopyFullFilePath_triggered();
72
73 void on_actionOpenFolder_triggered();
74
75 void on_actionSetFileDate_triggered();
76
77 void on_filenameLabel_editingFinished();
78
79 void on_actionDisableProxy_triggered(bool checked);
80
81 void on_actionMakeProxy_triggered();
82
83 void on_actionDeleteProxy_triggered();
84
85 void on_actionCopyHashCode_triggered();
86
87 void on_proxyButton_clicked();
88
89 void on_actionShowInFiles_triggered();
90
91 void on_openWithButton_clicked();
92
93 void on_actionReset_triggered();
94
95private:
96 Ui::ImageProducerWidget *ui;
97 int m_defaultDuration;
98 std::unique_ptr<QFileSystemWatcher> m_watcher;
99
100 void reopen(Mlt::Producer *p);
101 void recreateProducer();
102 void onOpenOtherAdd();
103 void onOpenOtherRemove();
104};
105
106#endif // IMAGEPRODUCERWIDGET_H