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(404, 370);
78 actionCopyFullFilePath =
new QAction(ImageProducerWidget);
79 actionCopyFullFilePath->setObjectName(
"actionCopyFullFilePath");
80 actionOpenFolder =
new QAction(ImageProducerWidget);
81 actionOpenFolder->setObjectName(
"actionOpenFolder");
82 actionSetFileDate =
new QAction(ImageProducerWidget);
83 actionSetFileDate->setObjectName(
"actionSetFileDate");
84 actionDisableProxy =
new QAction(ImageProducerWidget);
85 actionDisableProxy->setObjectName(
"actionDisableProxy");
86 actionDisableProxy->setCheckable(
true);
87 actionMakeProxy =
new QAction(ImageProducerWidget);
88 actionMakeProxy->setObjectName(
"actionMakeProxy");
89 actionDeleteProxy =
new QAction(ImageProducerWidget);
90 actionDeleteProxy->setObjectName(
"actionDeleteProxy");
91 actionCopyHashCode =
new QAction(ImageProducerWidget);
92 actionCopyHashCode->setObjectName(
"actionCopyHashCode");
93 actionShowInFiles =
new QAction(ImageProducerWidget);
94 actionShowInFiles->setObjectName(
"actionShowInFiles");
95 actionReset =
new QAction(ImageProducerWidget);
96 actionReset->setObjectName(
"actionReset");
97 actionReset->setMenuRole(QAction::MenuRole::NoRole);
98 verticalLayout =
new QVBoxLayout(ImageProducerWidget);
99 verticalLayout->setObjectName(
"verticalLayout");
100 filenameLabel =
new QLineEdit(ImageProducerWidget);
101 filenameLabel->setObjectName(
"filenameLabel");
102 filenameLabel->setAlignment(Qt::AlignmentFlag::AlignCenter);
104 verticalLayout->addWidget(filenameLabel);
106 label_2 =
new QLabel(ImageProducerWidget);
107 label_2->setObjectName(
"label_2");
109 verticalLayout->addWidget(label_2);
111 notesTextEdit =
new QPlainTextEdit(ImageProducerWidget);
112 notesTextEdit->setObjectName(
"notesTextEdit");
113 notesTextEdit->setMaximumSize(QSize(16777215, 60));
114 notesTextEdit->setFocusPolicy(Qt::FocusPolicy::StrongFocus);
115 notesTextEdit->setTabChangesFocus(
true);
117 verticalLayout->addWidget(notesTextEdit);
119 formLayout =
new QFormLayout();
120 formLayout->setObjectName(
"formLayout");
121 formLayout->setFieldGrowthPolicy(QFormLayout::FieldGrowthPolicy::FieldsStayAtSizeHint);
122 formLayout->setFormAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
123 label =
new QLabel(ImageProducerWidget);
124 label->setObjectName(
"label");
126 formLayout->setWidget(0, QFormLayout::ItemRole::LabelRole, label);
128 horizontalLayout_3 =
new QHBoxLayout();
129 horizontalLayout_3->setObjectName(
"horizontalLayout_3");
130 resolutionLabel =
new QLabel(ImageProducerWidget);
131 resolutionLabel->setObjectName(
"resolutionLabel");
132 resolutionLabel->setTextInteractionFlags(Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse);
134 horizontalLayout_3->addWidget(resolutionLabel);
137 formLayout->setLayout(0, QFormLayout::ItemRole::FieldRole, horizontalLayout_3);
139 durationLabel =
new QLabel(ImageProducerWidget);
140 durationLabel->setObjectName(
"durationLabel");
141 durationLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
143 formLayout->setWidget(2, QFormLayout::ItemRole::LabelRole, durationLabel);
145 horizontalLayout_6 =
new QHBoxLayout();
146 horizontalLayout_6->setObjectName(
"horizontalLayout_6");
147 durationSpinBox =
new TimeSpinBox(ImageProducerWidget);
148 durationSpinBox->setObjectName(
"durationSpinBox");
149 durationSpinBox->setMaximumSize(QSize(150, 16777215));
150 durationSpinBox->setFocusPolicy(Qt::FocusPolicy::ClickFocus);
151 durationSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
152 durationSpinBox->setAccelerated(
true);
153 durationSpinBox->setKeyboardTracking(
false);
154 durationSpinBox->setMinimum(1);
155 durationSpinBox->setMaximum(2147483647);
157 horizontalLayout_6->addWidget(durationSpinBox);
159 defaultDurationButton =
new QPushButton(ImageProducerWidget);
160 defaultDurationButton->setObjectName(
"defaultDurationButton");
162 horizontalLayout_6->addWidget(defaultDurationButton);
165 formLayout->setLayout(2, QFormLayout::ItemRole::FieldRole, horizontalLayout_6);
167 aspectRatioLabel =
new QLabel(ImageProducerWidget);
168 aspectRatioLabel->setObjectName(
"aspectRatioLabel");
169 aspectRatioLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
171 formLayout->setWidget(3, QFormLayout::ItemRole::LabelRole, aspectRatioLabel);
173 horizontalLayout_2 =
new QHBoxLayout();
174 horizontalLayout_2->setObjectName(
"horizontalLayout_2");
175 aspectNumSpinBox =
new QSpinBox(ImageProducerWidget);
176 aspectNumSpinBox->setObjectName(
"aspectNumSpinBox");
177 aspectNumSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
178 aspectNumSpinBox->setKeyboardTracking(
false);
179 aspectNumSpinBox->setMinimum(1);
180 aspectNumSpinBox->setMaximum(1000);
181 aspectNumSpinBox->setValue(1);
183 horizontalLayout_2->addWidget(aspectNumSpinBox);
185 label_4 =
new QLabel(ImageProducerWidget);
186 label_4->setObjectName(
"label_4");
188 horizontalLayout_2->addWidget(label_4);
190 aspectDenSpinBox =
new QSpinBox(ImageProducerWidget);
191 aspectDenSpinBox->setObjectName(
"aspectDenSpinBox");
192 aspectDenSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
193 aspectDenSpinBox->setKeyboardTracking(
false);
194 aspectDenSpinBox->setMinimum(1);
195 aspectDenSpinBox->setMaximum(1000);
196 aspectDenSpinBox->setValue(1);
198 horizontalLayout_2->addWidget(aspectDenSpinBox);
201 formLayout->setLayout(3, QFormLayout::ItemRole::FieldRole, horizontalLayout_2);
203 sequenceCheckBox =
new QCheckBox(ImageProducerWidget);
204 sequenceCheckBox->setObjectName(
"sequenceCheckBox");
206 formLayout->setWidget(4, QFormLayout::ItemRole::SpanningRole, sequenceCheckBox);
208 label_3 =
new QLabel(ImageProducerWidget);
209 label_3->setObjectName(
"label_3");
211 formLayout->setWidget(5, QFormLayout::ItemRole::LabelRole, label_3);
213 horizontalLayout_4 =
new QHBoxLayout();
214 horizontalLayout_4->setObjectName(
"horizontalLayout_4");
215 repeatSpinBox =
new QSpinBox(ImageProducerWidget);
216 repeatSpinBox->setObjectName(
"repeatSpinBox");
217 repeatSpinBox->setEnabled(
false);
218 repeatSpinBox->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
219 repeatSpinBox->setKeyboardTracking(
false);
220 repeatSpinBox->setMinimum(1);
221 repeatSpinBox->setMaximum(999);
222 repeatSpinBox->setValue(50);
224 horizontalLayout_4->addWidget(repeatSpinBox);
226 label_5 =
new QLabel(ImageProducerWidget);
227 label_5->setObjectName(
"label_5");
229 horizontalLayout_4->addWidget(label_5);
232 formLayout->setLayout(5, QFormLayout::ItemRole::FieldRole, horizontalLayout_4);
235 verticalLayout->addLayout(formLayout);
237 horizontalLayout =
new QHBoxLayout();
238 horizontalLayout->setObjectName(
"horizontalLayout");
239 menuButton =
new QPushButton(ImageProducerWidget);
240 menuButton->setObjectName(
"menuButton");
242 QString iconThemeName = QString::fromUtf8(
"show-menu");
243 if (QIcon::hasThemeIcon(iconThemeName)) {
244 icon = QIcon::fromTheme(iconThemeName);
246 icon.addFile(QString::fromUtf8(
":/icons/oxygen/32x32/actions/show-menu.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
248 menuButton->setIcon(icon);
250 horizontalLayout->addWidget(menuButton);
252 proxyButton =
new QPushButton(ImageProducerWidget);
253 proxyButton->setObjectName(
"proxyButton");
255 horizontalLayout->addWidget(proxyButton);
257 openWithButton =
new QPushButton(ImageProducerWidget);
258 openWithButton->setObjectName(
"openWithButton");
260 horizontalLayout->addWidget(openWithButton);
262 reloadButton =
new QPushButton(ImageProducerWidget);
263 reloadButton->setObjectName(
"reloadButton");
265 horizontalLayout->addWidget(reloadButton);
267 horizontalSpacer =
new QSpacerItem(40, 20, QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Minimum);
269 horizontalLayout->addItem(horizontalSpacer);
272 verticalLayout->addLayout(horizontalLayout);
274 verticalSpacer =
new QSpacerItem(20, 18, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);
276 verticalLayout->addItem(verticalSpacer);
278 QWidget::setTabOrder(filenameLabel, notesTextEdit);
279 QWidget::setTabOrder(notesTextEdit, defaultDurationButton);
280 QWidget::setTabOrder(defaultDurationButton, aspectNumSpinBox);
281 QWidget::setTabOrder(aspectNumSpinBox, aspectDenSpinBox);
282 QWidget::setTabOrder(aspectDenSpinBox, sequenceCheckBox);
283 QWidget::setTabOrder(sequenceCheckBox, repeatSpinBox);
284 QWidget::setTabOrder(repeatSpinBox, menuButton);
285 QWidget::setTabOrder(menuButton, openWithButton);
286 QWidget::setTabOrder(openWithButton, reloadButton);
288 retranslateUi(ImageProducerWidget);
289 QObject::connect(sequenceCheckBox, &QCheckBox::toggled, openWithButton, &QPushButton::setDisabled);
291 QMetaObject::connectSlotsByName(ImageProducerWidget);
294 void retranslateUi(QWidget *ImageProducerWidget)
296 ImageProducerWidget->setWindowTitle(QCoreApplication::translate(
"ImageProducerWidget",
"Form",
nullptr));
297 actionCopyFullFilePath->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Copy Full File Path",
nullptr));
298 actionOpenFolder->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Show In Folder",
nullptr));
299 actionSetFileDate->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Set Creation Time...",
nullptr));
300 actionDisableProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Disable Proxy",
nullptr));
301 actionMakeProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Make Proxy",
nullptr));
302 actionDeleteProxy->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Delete Proxy",
nullptr));
303 actionCopyHashCode->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Copy Hash Code",
nullptr));
304 actionShowInFiles->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Show In Files",
nullptr));
305 actionReset->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Reset",
nullptr));
306 label_2->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Comments:",
nullptr));
307 notesTextEdit->setPlainText(QString());
308 label->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Resolution",
nullptr));
309 resolutionLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"x",
nullptr));
310 durationLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Duration",
nullptr));
311#if QT_CONFIG(tooltip)
312 defaultDurationButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Make the current duration value the default value",
nullptr));
314 defaultDurationButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Set Default",
nullptr));
315 aspectRatioLabel->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Pixel aspect ratio",
nullptr));
316 label_4->setText(QCoreApplication::translate(
"ImageProducerWidget",
":",
nullptr));
317 sequenceCheckBox->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Image sequence",
nullptr));
318 label_3->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Repeat",
nullptr));
319 repeatSpinBox->setSuffix(QCoreApplication::translate(
"ImageProducerWidget",
" frames",
nullptr));
320 label_5->setText(QCoreApplication::translate(
"ImageProducerWidget",
"per picture",
nullptr));
321#if QT_CONFIG(tooltip)
322 menuButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Properties Menu",
nullptr));
324 menuButton->setText(QString());
325 proxyButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Proxy",
nullptr));
326 openWithButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Open With",
nullptr));
327#if QT_CONFIG(tooltip)
328 reloadButton->setToolTip(QCoreApplication::translate(
"ImageProducerWidget",
"Refresh the file in Shotcut if you changed it in another app",
nullptr));
330 reloadButton->setText(QCoreApplication::translate(
"ImageProducerWidget",
"Reload",
nullptr));
336 class ImageProducerWidget:
public Ui_ImageProducerWidget {};