summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-07-30 06:59:20 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-07-30 06:59:20 (GMT)
commite74dd280af6ea8d7b30369e02344a473478a9ccc (patch)
tree4fee911a7dd1efa35330f968cb08adbb8d59a493
parent136c8210cc98bc6d9b17fd4d517d9d399f30e6c2 (diff)
parente60b421f357843e0af61ef682a2ebe2ac973ca93 (diff)
downloadQt-e74dd280af6ea8d7b30369e02344a473478a9ccc.zip
Qt-e74dd280af6ea8d7b30369e02344a473478a9ccc.tar.gz
Qt-e74dd280af6ea8d7b30369e02344a473478a9ccc.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r--src/declarative/fx/qfxitem.cpp14
-rw-r--r--src/declarative/fx/qfxitem.h3
-rw-r--r--src/declarative/fx/qfxkeyproxy.cpp12
-rw-r--r--src/declarative/fx/qfxrepeater.cpp11
-rw-r--r--src/declarative/fx/qfxrepeater.h2
-rw-r--r--tools/qmlviewer/qmlviewer.cpp36
-rw-r--r--tools/qmlviewer/qmlviewer.h1
-rw-r--r--tools/qmlviewer/recopts.ui407
8 files changed, 347 insertions, 139 deletions
diff --git a/src/declarative/fx/qfxitem.cpp b/src/declarative/fx/qfxitem.cpp
index 7eaaf8e..569af43 100644
--- a/src/declarative/fx/qfxitem.cpp
+++ b/src/declarative/fx/qfxitem.cpp
@@ -446,8 +446,6 @@ void QFxItem::setParentItem(QFxItem *parent)
QObject::setParent(parent);
QGraphicsObject::setParentItem(parent);
-
- parentChanged(parent, oldParent);
}
/*!
@@ -1822,6 +1820,8 @@ QVariant QFxItem::itemChange(GraphicsItemChange change,
} else if (change == ItemChildAddedChange ||
change == ItemChildRemovedChange) {
childrenChanged();
+ } else if (change == ItemParentHasChanged) {
+ emit parentChanged();
}
return QGraphicsItem::itemChange(change, value);
@@ -1846,11 +1846,6 @@ void QFxItem::paintContents(QPainter &)
{
}
-void QFxItem::parentChanged(QFxItem *, QFxItem *)
-{
- emit parentChanged();
-}
-
/*!
\enum QFxItem::TransformOrigin
@@ -2115,9 +2110,4 @@ void QFxItemPrivate::gvAddMouseFilter()
q->installSceneEventFilter(q);
}
-QVariant QFxItem::inputMethodQuery(Qt::InputMethodQuery query) const
-{
- return QGraphicsItem::inputMethodQuery(query);
-}
-
QT_END_NAMESPACE
diff --git a/src/declarative/fx/qfxitem.h b/src/declarative/fx/qfxitem.h
index 932d44c..ba3ab4f 100644
--- a/src/declarative/fx/qfxitem.h
+++ b/src/declarative/fx/qfxitem.h
@@ -226,8 +226,6 @@ public:
void setFocus(bool);
bool hasActiveFocus() const;
- QVariant inputMethodQuery(Qt::InputMethodQuery query) const; //### for KeyProxy
-
Q_SIGNALS:
void xChanged();
void yChanged();
@@ -257,7 +255,6 @@ protected:
virtual void classBegin();
virtual void componentComplete();
- virtual void parentChanged(QFxItem *, QFxItem *);
virtual void focusChanged(bool);
virtual void activeFocusChanged(bool);
virtual void keyPressEvent(QKeyEvent *event);
diff --git a/src/declarative/fx/qfxkeyproxy.cpp b/src/declarative/fx/qfxkeyproxy.cpp
index 0a9a151..85ecc39 100644
--- a/src/declarative/fx/qfxkeyproxy.cpp
+++ b/src/declarative/fx/qfxkeyproxy.cpp
@@ -179,12 +179,20 @@ void QFxKeyProxy::inputMethodEvent(QInputMethodEvent *e)
}
}
-QVariant QFxKeyProxy::inputMethodQuery(Qt::InputMethodQuery query) const
+class QFxItemAccessor : public QFxItem
{
+public:
+ QVariant doInputMethodQuery(Qt::InputMethodQuery query) const {
+ return QFxItem::inputMethodQuery(query);
+ }
+};
+
+QVariant QFxKeyProxy::inputMethodQuery(Qt::InputMethodQuery query) const
+{
for (int ii = 0; ii < d->targets.count(); ++ii) {
QFxItem *i = qobject_cast<QFxItem *>(scene()->focusItem(d->targets.at(ii)));
if (i && (i->flags() & ItemAcceptsInputMethod) && i == d->imeItem) { //### how robust is i == d->imeItem check?
- QVariant v = i->inputMethodQuery(query);
+ QVariant v = static_cast<QFxItemAccessor*>(i)->doInputMethodQuery(query);
if (v.type() == QVariant::RectF)
v = mapRectFromItem(i, v.toRectF()); //### cost?
return v;
diff --git a/src/declarative/fx/qfxrepeater.cpp b/src/declarative/fx/qfxrepeater.cpp
index a231f20..8f30324 100644
--- a/src/declarative/fx/qfxrepeater.cpp
+++ b/src/declarative/fx/qfxrepeater.cpp
@@ -244,10 +244,15 @@ void QFxRepeater::componentComplete()
/*!
\internal
*/
-void QFxRepeater::parentChanged(QFxItem *o, QFxItem *n)
+QVariant QFxRepeater::itemChange(GraphicsItemChange change,
+ const QVariant &value)
{
- QFxItem::parentChanged(o, n);
- regenerate();
+ QVariant rv = QFxItem::itemChange(change, value);
+ if (change == ItemParentHasChanged) {
+ regenerate();
+ }
+
+ return rv;
}
/*!
diff --git a/src/declarative/fx/qfxrepeater.h b/src/declarative/fx/qfxrepeater.h
index 6f950d3..7fa914e 100644
--- a/src/declarative/fx/qfxrepeater.h
+++ b/src/declarative/fx/qfxrepeater.h
@@ -73,7 +73,7 @@ private:
protected:
virtual void componentComplete();
- virtual void parentChanged(QFxItem *, QFxItem *);
+ QVariant itemChange(GraphicsItemChange change, const QVariant &value);
QFxRepeater(QFxRepeaterPrivate &dd, QFxItem *parent);
private:
diff --git a/tools/qmlviewer/qmlviewer.cpp b/tools/qmlviewer/qmlviewer.cpp
index d7d8b82..098f749 100644
--- a/tools/qmlviewer/qmlviewer.cpp
+++ b/tools/qmlviewer/qmlviewer.cpp
@@ -298,7 +298,7 @@ void QmlViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
connect(recordAction, SIGNAL(triggered()), this, SLOT(toggleRecordingWithSelection()));
recordMenu->addAction(recordAction);
- QAction *recordOptions = new QAction(tr("Recording &Options..."), parent);
+ QAction *recordOptions = new QAction(tr("Video &Options..."), parent);
connect(recordOptions, SIGNAL(triggered()), this, SLOT(chooseRecordingOptions()));
recordMenu->addAction(recordOptions);
@@ -416,7 +416,17 @@ void QmlViewer::pickRecordingFile()
void QmlViewer::chooseRecordingOptions()
{
+ // File
recdlg->file->setText(record_file);
+
+ // Size
+ recdlg->sizeOriginal->setText(tr("Original (%1x%2)").arg(canvas->width()).arg(canvas->height()));
+ if (recdlg->sizeWidth->value()<=1) {
+ recdlg->sizeWidth->setValue(canvas->width());
+ recdlg->sizeHeight->setValue(canvas->height());
+ }
+
+ // Rate
if (record_rate == 24)
recdlg->hz24->setChecked(true);
else if (record_rate == 25)
@@ -429,9 +439,24 @@ void QmlViewer::chooseRecordingOptions()
recdlg->hzCustom->setChecked(true);
recdlg->hz->setText(QString::number(record_rate));
}
+
+ // Profile
recdlg->setArguments(record_args.join(" "));
if (recdlg->exec()) {
+ // File
record_file = recdlg->file->text();
+ // Size
+ if (recdlg->sizeOriginal->isChecked())
+ record_outsize = QSize();
+ else if (recdlg->size720p->isChecked())
+ record_outsize = QSize(1280,720);
+ else if (recdlg->sizeVGA->isChecked())
+ record_outsize = QSize(640,480);
+ else if (recdlg->sizeQVGA->isChecked())
+ record_outsize = QSize(320,240);
+ else
+ record_outsize = QSize(recdlg->sizeWidth->value(),recdlg->sizeHeight->value());
+ // Rate
if (recdlg->hz24->isChecked())
record_rate = 24;
else if (recdlg->hz25->isChecked())
@@ -443,6 +468,7 @@ void QmlViewer::chooseRecordingOptions()
else {
record_rate = recdlg->hz->text().toDouble();
}
+ // Profile
record_args = recdlg->arguments().split(" ",QString::SkipEmptyParts);
}
}
@@ -686,7 +712,7 @@ void QmlViewer::senseFfmpeg()
proc.waitForFinished(2000);
QString ffmpegHelp = proc.readAllStandardOutput();
ffmpegAvailable = ffmpegHelp.contains("-s ");
- ffmpegHelp = tr("Video recording use ffmpeg:")+"\n\n"+ffmpegHelp;
+ ffmpegHelp = tr("Video recording uses ffmpeg:")+"\n\n"+ffmpegHelp;
QDialog *d = new QDialog(recdlg);
QVBoxLayout *l = new QVBoxLayout(d);
@@ -729,6 +755,10 @@ void QmlViewer::setRecording(bool on)
args << "-pix_fmt" << (frame_fmt == ".gif" ? "rgb24" : "rgb32");
args << "-s" << QString("%1x%2").arg(canvas->width()).arg(canvas->height());
args << "-i" << "-";
+ if (record_outsize.isValid()) {
+ args << "-s" << QString("%1x%2").arg(record_outsize.width()).arg(record_outsize.height());
+ args << "-aspect" << QString::number(double(canvas->width())/canvas->height());
+ }
args += record_args;
args << record_file;
proc->start("ffmpeg",args);
@@ -770,6 +800,8 @@ void QmlViewer::setRecording(bool on)
break;
QString name;
name.sprintf(framename.toLocal8Bit(),frame++);
+ if (record_outsize.isValid())
+ *img = img->scaled(record_outsize,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
if (record_dither=="ordered")
img->convertToFormat(QImage::Format_Indexed8,Qt::PreferDither|Qt::OrderedDither).save(name);
else if (record_dither=="threshold")
diff --git a/tools/qmlviewer/qmlviewer.h b/tools/qmlviewer/qmlviewer.h
index e3864eb..914f77d 100644
--- a/tools/qmlviewer/qmlviewer.h
+++ b/tools/qmlviewer/qmlviewer.h
@@ -88,6 +88,7 @@ private:
QmlTimer autoStopTimer;
QString record_dither;
QString record_file;
+ QSize record_outsize;
QStringList record_args;
int record_rate;
int record_autotime;
diff --git a/tools/qmlviewer/recopts.ui b/tools/qmlviewer/recopts.ui
index 041a4c4..ce2da30 100644
--- a/tools/qmlviewer/recopts.ui
+++ b/tools/qmlviewer/recopts.ui
@@ -6,133 +6,194 @@
<rect>
<x>0</x>
<y>0</y>
- <width>290</width>
- <height>297</height>
+ <width>316</width>
+ <height>436</height>
</rect>
</property>
<property name="windowTitle">
- <string>Recording options</string>
+ <string>Video options</string>
</property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>File:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2">
- <widget class="QLineEdit" name="file"/>
- </item>
- <item row="6" column="2" colspan="2">
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>File:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="file"/>
+ </item>
+ <item>
+ <widget class="QToolButton" name="pickfile">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
- <item row="0" column="3">
- <widget class="QToolButton" name="pickfile">
- <property name="text">
- <string>...</string>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Size</string>
</property>
- </widget>
- </item>
- <item row="2" column="0" colspan="4">
- <widget class="QWidget" name="ffmpegOptions" native="true">
<layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>0</number>
- </property>
- <item row="1" column="0">
- <widget class="QLabel" name="label_4">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="sizeOriginal">
<property name="text">
- <string>Profile:</string>
+ <string/>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="1" column="1" colspan="2">
- <widget class="QComboBox" name="profile"/>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="sizeVGA">
+ <property name="text">
+ <string>VGA</string>
+ </property>
+ </widget>
</item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="args"/>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="size720p">
+ <property name="text">
+ <string>720p</string>
+ </property>
+ </widget>
</item>
- <item row="2" column="2">
- <widget class="QToolButton" name="ffmpegHelp">
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="sizeQVGA">
<property name="text">
- <string>Help</string>
+ <string>QVGA</string>
</property>
</widget>
</item>
+ <item row="2" column="0" colspan="3">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QRadioButton" name="sizeCustom">
+ <property name="text">
+ <string>Width:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="sizeWidth">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Height:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="sizeHeight">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
</item>
- <item row="1" column="0" colspan="4">
- <widget class="QWidget" name="rateOptions" native="true">
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>0</number>
- </property>
+ <item>
+ <widget class="QGroupBox" name="rateOptions">
+ <property name="title">
+ <string>Rate</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
- <widget class="QLabel" name="label_2">
+ <widget class="QRadioButton" name="hz60">
<property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
- <string>Rate:</string>
+ <string>60Hz</string>
</property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QRadioButton" name="hz24">
- <property name="text">
- <string>24Hz</string>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="0" column="2">
+ <item row="1" column="0">
<widget class="QRadioButton" name="hz50">
<property name="text">
<string>50Hz</string>
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="0" column="2">
<widget class="QRadioButton" name="hz25">
<property name="text">
<string>25Hz</string>
</property>
</widget>
</item>
- <item row="1" column="2">
- <widget class="QRadioButton" name="hz60">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>60Hz</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="1" colspan="2">
+ <item row="2" column="0" colspan="4">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
@@ -178,6 +239,9 @@
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
+ <property name="sizeType">
+ <enum>QSizePolicy::MinimumExpanding</enum>
+ </property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
@@ -188,31 +252,110 @@
</item>
</layout>
</item>
+ <item row="1" column="2">
+ <widget class="QRadioButton" name="hz24">
+ <property name="text">
+ <string>24Hz</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
</item>
- <item row="4" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
+ <item>
+ <widget class="QGroupBox" name="ffmpegOptions">
+ <property name="title">
+ <string>Profile</string>
</property>
- </spacer>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0" colspan="3">
+ <widget class="QComboBox" name="profile"/>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLineEdit" name="args"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QToolButton" name="ffmpegHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</item>
- <item row="3" column="0" colspan="4">
+ <item>
<widget class="QLabel" name="warning">
<property name="text">
<string/>
</property>
</widget>
</item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
+ <tabstops>
+ <tabstop>file</tabstop>
+ <tabstop>pickfile</tabstop>
+ <tabstop>sizeOriginal</tabstop>
+ <tabstop>sizeVGA</tabstop>
+ <tabstop>size720p</tabstop>
+ <tabstop>sizeQVGA</tabstop>
+ <tabstop>sizeCustom</tabstop>
+ <tabstop>sizeWidth</tabstop>
+ <tabstop>sizeHeight</tabstop>
+ <tabstop>hz60</tabstop>
+ <tabstop>hz25</tabstop>
+ <tabstop>hz50</tabstop>
+ <tabstop>hz24</tabstop>
+ <tabstop>hzCustom</tabstop>
+ <tabstop>hz</tabstop>
+ <tabstop>profile</tabstop>
+ <tabstop>args</tabstop>
+ <tabstop>ffmpegHelp</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
<resources/>
<connections>
<connection>
@@ -222,12 +365,12 @@
<slot>setFocus()</slot>
<hints>
<hint type="sourcelabel">
- <x>54</x>
- <y>104</y>
+ <x>43</x>
+ <y>257</y>
</hint>
<hint type="destinationlabel">
- <x>85</x>
- <y>107</y>
+ <x>129</x>
+ <y>262</y>
</hint>
</hints>
</connection>
@@ -238,12 +381,12 @@
<slot>toggle()</slot>
<hints>
<hint type="sourcelabel">
- <x>138</x>
- <y>102</y>
+ <x>143</x>
+ <y>262</y>
</hint>
<hint type="destinationlabel">
- <x>49</x>
- <y>104</y>
+ <x>43</x>
+ <y>257</y>
</hint>
</hints>
</connection>
@@ -254,12 +397,12 @@
<slot>toggle()</slot>
<hints>
<hint type="sourcelabel">
- <x>110</x>
- <y>105</y>
+ <x>143</x>
+ <y>262</y>
</hint>
<hint type="destinationlabel">
- <x>51</x>
- <y>103</y>
+ <x>43</x>
+ <y>257</y>
</hint>
</hints>
</connection>
@@ -270,8 +413,8 @@
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
- <x>280</x>
- <y>287</y>
+ <x>258</x>
+ <y>424</y>
</hint>
<hint type="destinationlabel">
<x>60</x>
@@ -286,8 +429,8 @@
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
- <x>280</x>
- <y>287</y>
+ <x>258</x>
+ <y>424</y>
</hint>
<hint type="destinationlabel">
<x>92</x>
@@ -302,8 +445,8 @@
<slot>pickProfile(int)</slot>
<hints>
<hint type="sourcelabel">
- <x>72</x>
- <y>132</y>
+ <x>92</x>
+ <y>329</y>
</hint>
<hint type="destinationlabel">
<x>48</x>
@@ -318,8 +461,8 @@
<slot>storeCustomArgs(QString)</slot>
<hints>
<hint type="sourcelabel">
- <x>108</x>
- <y>161</y>
+ <x>128</x>
+ <y>357</y>
</hint>
<hint type="destinationlabel">
<x>102</x>
@@ -327,6 +470,38 @@
</hint>
</hints>
</connection>
+ <connection>
+ <sender>sizeWidth</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>sizeCustom</receiver>
+ <slot>toggle()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>108</x>
+ <y>133</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>48</x>
+ <y>133</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>sizeHeight</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>sizeCustom</receiver>
+ <slot>toggle()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>212</x>
+ <y>133</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>64</x>
+ <y>129</y>
+ </hint>
+ </hints>
+ </connection>
</connections>
<slots>
<signal>filePicked(QString)</signal>