9#ifndef UI_IMAGEPRODUCERWIDGET_H
10#define UI_IMAGEPRODUCERWIDGET_H
12#include <QtCore/QVariant>
13#include <QtGui/QAction>
15#include <QtWidgets/QApplication>
16#include <QtWidgets/QCheckBox>
17#include <QtWidgets/QFormLayout>
18#include <QtWidgets/QHBoxLayout>
19#include <QtWidgets/QLabel>
20#include <QtWidgets/QLineEdit>
21#include <QtWidgets/QPlainTextEdit>
22#include <QtWidgets/QPushButton>
23#include <QtWidgets/QSpacerItem>
24#include <QtWidgets/QSpinBox>
25#include <QtWidgets/QVBoxLayout>
26#include <QtWidgets/QWidget>
27#include "widgets/timespinbox.h"
31class Ui_ImageProducerWidget
34 QAction *actionCopyFullFilePath;
35 QAction *actionOpenFolder;
36 QAction *actionSetFileDate;
37 QAction *actionDisableProxy;
38 QAction *actionMakeProxy;
39 QAction *actionDeleteProxy;
40 QAction *actionCopyHashCode;
41 QAction *actionShowInFiles;
43 QVBoxLayout *verticalLayout;
44 QLineEdit *filenameLabel;
46 QPlainTextEdit *notesTextEdit;
47 QFormLayout *formLayout;
49 QHBoxLayout *horizontalLayout_3;
50 QLabel *resolutionLabel;
51 QLabel *durationLabel;
52 QHBoxLayout *horizontalLayout_6;
53 TimeSpinBox *durationSpinBox;
54 QPushButton *defaultDurationButton;
55 QLabel *aspectRatioLabel;
56 QHBoxLayout *horizontalLayout_2;
57 QSpinBox *aspectNumSpinBox;
59 QSpinBox *aspectDenSpinBox;
60 QCheckBox *sequenceCheckBox;
62 QHBoxLayout *horizontalLayout_4;
63 QSpinBox *repeatSpinBox;
65 QHBoxLayout *horizontalLayout;
66 QPushButton *menuButton;
67 QPushButton *proxyButton;
68 QPushButton *openWithButton;
69 QPushButton *reloadButton;
70 QSpacerItem *horizontalSpacer;
71 QSpacerItem *verticalSpacer;
73 void setupUi(QWidget *ImageProducerWidget)
75 if (ImageProducerWidget->objectName().isEmpty())
76 ImageProducerWidget->setObjectName(
"ImageProducerWidget");
77 ImageProducerWidget->resize(412, 402);
78#if QT_CONFIG(whatsthis)
79 ImageProducerWidget->setWhatsThis(QString::fromUtf8(
"https://forum.shotcut.org/t/image-properties/12924/1"));
81 actionCopyFullFilePath =
new QAction(ImageProducerWidget);
82 actionCopyFullFilePath->setObjectName(
"actionCopyFullFilePath");
83 actionOpenFolder =
new QAction(ImageProducerWidget);
84 actionOpenFolder->setObjectName(
"actionOpenFolder");
85 actionSetFileDate =
new QAction(ImageProducerWidget);
86 actionSetFileDate->setObjectName(
"actionSetFileDate");
87 actionDisableProxy =
new QAction(ImageProducerWidget);
88 actionDisableProxy->setObjectName(
"actionDisableProxy");
89 actionDisableProxy->setCheckable(
true);
90 actionMakeProxy =
new QAction(ImageProducerWidget);
91 actionMakeProxy->setObjectName(
"actionMakeProxy");
92 actionDeleteProxy =
new QAction(ImageProducerWidget);
93 actionDeleteProxy->setObjectName(
"actionDeleteProxy");
94 actionCopyHashCode =
new QAction(ImageProducerWidget);
95 actionCopyHashCode->setObjectName(
"actionCopyHashCode");
96 actionShowInFiles =
new QAction(ImageProducerWidget);
97 actionShowInFiles->setObjectName(
"actionShowInFiles");
98 actionReset =
new QAction(ImageProducerWidget);
99 actionReset->setObjectName(
"actionReset");
100 actionReset->setMenuRole(QAction::MenuRole::NoRole);
101 verticalLayout =
new QVBoxLayout(ImageProducerWidget);
102 verticalLayout->setObjectName(
"verticalLayout");
103 filenameLabel =
new QLineEdit(ImageProducerWidget);
104 filenameLabel->setObjectName(
"filenameLabel");
105 filenameLabel->setAlignment(Qt::AlignmentFlag::AlignCenter);
107 verticalLayout->addWidget(filenameLabel);
109 label_2 =
new QLabel(ImageProducerWidget);
110 label_2->setObjectName(
"label_2");
112 verticalLayout->addWidget(label_2);
114 notesTextEdit =
new QPlainTextEdit(ImageProducerWidget);
115 notesTextEdit->setObjectName(
"notesTextEdit");
116 notesTextEdit->setMaximumSize(QSize(16777215, 60));
117 notesTextEdit->setFocusPolicy(Qt::FocusPolicy::StrongFocus);
118 notesTextEdit->setTabChangesFocus(
true);
120 verticalLayout->addWidget(notesTextEdit);
122 formLayout =
new QFormLayout();
123 formLayout->setObjectName(
"formLayout");
124 formLayout->setFieldGrowthPolicy(QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint);
125 formLayout->setFormAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
126 label =
new QLabel(ImageProducerWidget);
127 label->setObjectName(
"label");
129 formLayout->setWidget(0, QFormLayout::ItemRole::LabelRole, label);
131 horizontalLayout_3 =
new QHBoxLayout();
132 horizontalLayout_3->setObjectName(
"horizontalLayout_3");
133 resolutionLabel =
new QLabel(ImageProducerWidget);
134 resolutionLabel->setObjectName(
"resolutionLabel");
135 resolutionLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse);
137 horizontalLayout_3->addWidget(resolutionLabel);
140 formLayout->setLayout(0, QFormLayout::ItemRole::FieldRole, horizontalLayout_3);
142 durationLabel =
new QLabel(ImageProducerWidget);
143 durationLabel->setObjectName(
"durationLabel");
144 durationLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
146 formLayout->setWidget(2, QFormLayout::ItemRole::LabelRole, durationLabel);
148 horizontalLayout_6 =
new QHBoxLayout();
149 horizontalLayout_6->setObjectName(
"horizontalLayout_6");
150 durationSpinBox =
new TimeSpinBox(ImageProducerWidget);
151 durationSpinBox->setObjectName(
"durationSpinBox");
152 durationSpinBox->setMaximumSize(QSize(150, 16777215));
153 durationSpinBox->setFocusPolicy(Qt::FocusPolicy::ClickFocus);
154 durationSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
155 durationSpinBox->setAccelerated(
true);
156 durationSpinBox->setKeyboardTracking(
false);
157 durationSpinBox->setMinimum(1);
158 durationSpinBox->setMaximum(2147483647);
160 horizontalLayout_6->addWidget(durationSpinBox);
162 defaultDurationButton =
new QPushButton(ImageProducerWidget);
163 defaultDurationButton->setObjectName(
"defaultDurationButton");
165 horizontalLayout_6->addWidget(defaultDurationButton);
168 formLayout->setLayout(2, QFormLayout::ItemRole::FieldRole, horizontalLayout_6);
170 aspectRatioLabel =
new QLabel(ImageProducerWidget);
171 aspectRatioLabel->setObjectName(
"aspectRatioLabel");
172 aspectRatioLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
174 formLayout->setWidget(3, QFormLayout::ItemRole::LabelRole, aspectRatioLabel);
176 horizontalLayout_2 =
new QHBoxLayout();
177 horizontalLayout_2->setObjectName(
"horizontalLayout_2");
178 aspectNumSpinBox =
new QSpinBox(ImageProducerWidget);
179 aspectNumSpinBox->setObjectName(
"aspectNumSpinBox");
180 aspectNumSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
181 aspectNumSpinBox->setKeyboardTracking(
false);
182 aspectNumSpinBox->setMinimum(1);
183 aspectNumSpinBox->setMaximum(1000);
184 aspectNumSpinBox->setValue(1);
186 horizontalLayout_2->addWidget(aspectNumSpinBox);
188 label_4 =
new QLabel(ImageProducerWidget);
189 label_4->setObjectName(
"label_4");
191 horizontalLayout_2->addWidget(label_4);
193 aspectDenSpinBox =
new QSpinBox(ImageProducerWidget);
194 aspectDenSpinBox->setObjectName(
"aspectDenSpinBox");
195 aspectDenSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
196 aspectDenSpinBox->setKeyboardTracking(
false);
197 aspectDenSpinBox->setMinimum(1);
198 aspectDenSpinBox->setMaximum(1000);
199 aspectDenSpinBox->setValue(1);
201 horizontalLayout_2->addWidget(aspectDenSpinBox);
204 formLayout->setLayout(3, QFormLayout::ItemRole::FieldRole, horizontalLayout_2);
206 sequenceCheckBox =
new QCheckBox(ImageProducerWidget);
207 sequenceCheckBox->setObjectName(
"sequenceCheckBox");
209 formLayout->setWidget(4, QFormLayout::ItemRole::SpanningRole, sequenceCheckBox);
211 label_3 =
new QLabel(ImageProducerWidget);
212 label_3->setObjectName(
"label_3");
214 formLayout->setWidget(5, QFormLayout::ItemRole::LabelRole, label_3);
216 horizontalLayout_4 =
new QHBoxLayout();
217 horizontalLayout_4->setObjectName(
"horizontalLayout_4");
218 repeatSpinBox =
new QSpinBox(ImageProducerWidget);
219 repeatSpinBox->setObjectName(
"repeatSpinBox");
220 repeatSpinBox->setEnabled(
false);
221 repeatSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
222 repeatSpinBox->setKeyboardTracking(
false);
223 repeatSpinBox->setMinimum(1);
224 repeatSpinBox->setMaximum(999);
225 repeatSpinBox->setValue(50);
227 horizontalLayout_4->addWidget(repeatSpinBox);
229 label_5 =
new QLabel(ImageProducerWidget);
230 label_5->setObjectName(
"label_5");
232 horizontalLayout_4->addWidget(label_5);
235 formLayout->setLayout(5, QFormLayout::ItemRole::FieldRole, horizontalLayout_4);
238 verticalLayout->addLayout(formLayout);
240 horizontalLayout =
new QHBoxLayout();
241 horizontalLayout->setObjectName(
"horizontalLayout");
242 menuButton =
new QPushButton(ImageProducerWidget);
243 menuButton->setObjectName(
"menuButton");
245 QString iconThemeName = QString::fromUtf8(
"show-menu");
246 if (QIcon::hasThemeIcon(iconThemeName)) {
247 icon = QIcon::fromTheme(iconThemeName);
249 icon.addFile(QString::fromUtf8(
":/icons/oxygen/32x32/actions/show-menu.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
251 menuButton->setIcon(icon);
253 horizontalLayout->addWidget(menuButton);
255 proxyButton =
new QPushButton(ImageProducerWidget);
256 proxyButton->setObjectName(
"proxyButton");
258 horizontalLayout->addWidget(proxyButton);
260 openWithButton =
new QPushButton(ImageProducerWidget);
261 openWithButton->setObjectName(
"openWithButton");
263 horizontalLayout->addWidget(openWithButton);
265 reloadButton =
new QPushButton(ImageProducerWidget);
266 reloadButton->setObjectName(
"reloadButton");
268 horizontalLayout->addWidget(reloadButton);
270 horizontalSpacer =
new QSpacerItem(40, 20, QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Minimum);
272 horizontalLayout->addItem(horizontalSpacer);
275 verticalLayout->addLayout(horizontalLayout);
277 verticalSpacer =
new QSpacerItem(20, 18, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);
279 verticalLayout->addItem(verticalSpacer);
281 QWidget::setTabOrder(filenameLabel, notesTextEdit);
282 QWidget::setTabOrder(notesTextEdit, defaultDurationButton);
283 QWidget::setTabOrder(defaultDurationButton, aspectNumSpinBox);
284 QWidget::setTabOrder(aspectNumSpinBox, aspectDenSpinBox);
285 QWidget::setTabOrder(aspectDenSpinBox, sequenceCheckBox);
286 QWidget::setTabOrder(sequenceCheckBox, repeatSpinBox);
287 QWidget::setTabOrder(repeatSpinBox, menuButton);
288 QWidget::setTabOrder(menuButton, openWithButton);
289 QWidget::setTabOrder(openWithButton, reloadButton);
291 retranslateUi(ImageProducerWidget);
292 QObject::connect(sequenceCheckBox, &QCheckBox::toggled, openWithButton, &QPushButton::setDisabled);
294 QMetaObject::connectSlotsByName(ImageProducerWidget);
297 void retranslateUi(QWidget *ImageProducerWidget)
299 ImageProducerWidget->setWindowTitle(QCoreApplication::translate(
"ImageProducerWidget",
"Form",
nullptr));
300 actionCopyFullFilePath->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Copy Full File Path",
nullptr));
301 actionOpenFolder->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Show In Folder",
nullptr));
302 actionSetFileDate->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Set Creation Time...",
nullptr));
303 actionDisableProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Disable Proxy",
nullptr));
304 actionMakeProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Make Proxy",
nullptr));
305 actionDeleteProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Delete Proxy",
nullptr));
306 actionCopyHashCode->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Copy Hash Code",
nullptr));
307 actionShowInFiles->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Show In Files",
nullptr));
308 actionReset->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Reset",
nullptr));
309 label_2->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Comments:",
nullptr));
310 notesTextEdit->setPlainText(QString());
311 label->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Resolution",
nullptr));
312 resolutionLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"x",
nullptr));
313 durationLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Duration",
nullptr));
314#if QT_CONFIG(tooltip)
315 defaultDurationButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Make the current duration value the default value",
nullptr));
317 defaultDurationButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Set Default",
nullptr));
318 aspectRatioLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Pixel aspect ratio",
nullptr));
319 label_4->setText(QCoreApplication::translate(
"ImageProducerWidget",
":",
nullptr));
320 sequenceCheckBox->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Image sequence",
nullptr));
321 label_3->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Repeat",
nullptr));
322 repeatSpinBox->setSuffix(QCoreApplication::translate(
"ImageProducerWidget",
" frames",
nullptr));
323 label_5->setText(QCoreApplication::translate(
"ImageProducerWidget",
"per picture",
nullptr));
324#if QT_CONFIG(tooltip)
325 menuButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Properties Menu",
nullptr));
327 menuButton->setText(QString());
328 proxyButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Proxy",
nullptr));
329 openWithButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Open With",
nullptr));
330#if QT_CONFIG(tooltip)
331 reloadButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Refresh the file in Shotcut if you changed it in another app",
nullptr));
333 reloadButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Reload",
nullptr));
339 class ImageProducerWidget:
public Ui_ImageProducerWidget {};