summaryrefslogtreecommitdiffstats
path: root/tests/auto/qtwidgets
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qtwidgets')
-rw-r--r--tests/auto/qtwidgets/.gitignore1
-rw-r--r--tests/auto/qtwidgets/advanced.ui319
-rw-r--r--tests/auto/qtwidgets/icons/big.pngbin0 -> 1323 bytes
-rw-r--r--tests/auto/qtwidgets/icons/folder.pngbin0 -> 4069 bytes
-rw-r--r--tests/auto/qtwidgets/icons/icon.bmpbin0 -> 246 bytes
-rw-r--r--tests/auto/qtwidgets/icons/icon.pngbin0 -> 344 bytes
-rw-r--r--tests/auto/qtwidgets/mainwindow.cpp314
-rw-r--r--tests/auto/qtwidgets/mainwindow.h80
-rw-r--r--tests/auto/qtwidgets/qtstyles.qrc8
-rw-r--r--tests/auto/qtwidgets/qtwidgets.pro9
-rw-r--r--tests/auto/qtwidgets/standard.ui1207
-rw-r--r--tests/auto/qtwidgets/system.ui658
-rw-r--r--tests/auto/qtwidgets/tst_qtwidgets.cpp96
13 files changed, 2692 insertions, 0 deletions
diff --git a/tests/auto/qtwidgets/.gitignore b/tests/auto/qtwidgets/.gitignore
new file mode 100644
index 0000000..d8e55c3
--- /dev/null
+++ b/tests/auto/qtwidgets/.gitignore
@@ -0,0 +1 @@
+tst_qtwidgets
diff --git a/tests/auto/qtwidgets/advanced.ui b/tests/auto/qtwidgets/advanced.ui
new file mode 100644
index 0000000..ce27374
--- /dev/null
+++ b/tests/auto/qtwidgets/advanced.ui
@@ -0,0 +1,319 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>Advanced</class>
+ <widget class="QWidget" name="Advanced" >
+ <property name="objectName" >
+ <string notr="true" >Advanced</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="pushButton" >
+ <property name="objectName" >
+ <string notr="true" >pushButton</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>80</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_2" >
+ <property name="objectName" >
+ <string notr="true" >pushButton_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>87</x>
+ <y>1</y>
+ <width>80</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Text</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox" >
+ <property name="objectName" >
+ <string notr="true" >checkBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>173</x>
+ <y>6</y>
+ <width>23</width>
+ <height>13</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton" >
+ <property name="objectName" >
+ <string notr="true" >radioButton</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>202</x>
+ <y>6</y>
+ <width>22</width>
+ <height>12</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_2" >
+ <property name="objectName" >
+ <string notr="true" >checkBox_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>230</x>
+ <y>3</y>
+ <width>44</width>
+ <height>18</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Text</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_2" >
+ <property name="objectName" >
+ <string notr="true" >radioButton_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>280</x>
+ <y>3</y>
+ <width>43</width>
+ <height>18</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Text</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item row="0" column="0" >
+ <widget class="QListWidget" name="listWidget" >
+ <property name="objectName" >
+ <string notr="true" >listWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>186</width>
+ <height>91</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QListWidget" name="listWidget_3" >
+ <property name="objectName" >
+ <string notr="true" >listWidget_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>193</x>
+ <y>96</y>
+ <width>188</width>
+ <height>60</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QTreeWidget" name="treeWidget_2" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>96</y>
+ <width>186</width>
+ <height>60</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QListWidget" name="listWidget_2" >
+ <property name="objectName" >
+ <string notr="true" >listWidget_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>186</width>
+ <height>43</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTreeWidget" name="treeWidget" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>48</y>
+ <width>186</width>
+ <height>43</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget" >
+ <property name="objectName" >
+ <string notr="true" >tabWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>9</x>
+ <y>201</y>
+ <width>382</width>
+ <height>90</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>90</height>
+ </size>
+ </property>
+ <property name="tabPosition" >
+ <enum>QTabWidget::North</enum>
+ </property>
+ <property name="tabShape" >
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>380</width>
+ <height>63</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 1</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>459</width>
+ <height>66</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 2</string>
+ </attribute>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <connections/>
+</ui>
diff --git a/tests/auto/qtwidgets/icons/big.png b/tests/auto/qtwidgets/icons/big.png
new file mode 100644
index 0000000..6032804
--- /dev/null
+++ b/tests/auto/qtwidgets/icons/big.png
Binary files differ
diff --git a/tests/auto/qtwidgets/icons/folder.png b/tests/auto/qtwidgets/icons/folder.png
new file mode 100644
index 0000000..981a25d
--- /dev/null
+++ b/tests/auto/qtwidgets/icons/folder.png
Binary files differ
diff --git a/tests/auto/qtwidgets/icons/icon.bmp b/tests/auto/qtwidgets/icons/icon.bmp
new file mode 100644
index 0000000..196de6a
--- /dev/null
+++ b/tests/auto/qtwidgets/icons/icon.bmp
Binary files differ
diff --git a/tests/auto/qtwidgets/icons/icon.png b/tests/auto/qtwidgets/icons/icon.png
new file mode 100644
index 0000000..8f9c562
--- /dev/null
+++ b/tests/auto/qtwidgets/icons/icon.png
Binary files differ
diff --git a/tests/auto/qtwidgets/mainwindow.cpp b/tests/auto/qtwidgets/mainwindow.cpp
new file mode 100644
index 0000000..e3a4f3a
--- /dev/null
+++ b/tests/auto/qtwidgets/mainwindow.cpp
@@ -0,0 +1,314 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include "mainwindow.h"
+#include <QSplitter>
+#include <QHeaderView>
+
+StyleWidget::StyleWidget(QWidget *parent, Qt::WFlags f)
+ : QWidget(parent, f)
+{
+ QHBoxLayout *hbox = new QHBoxLayout(this);
+ QSplitter *spl = new QSplitter(this);
+
+ // standard widgets
+ QWidget *leftWidget = new QWidget(this);
+ m_staWidget.setupUi(leftWidget);
+
+ // advanced/system widgets
+ QGroupBox *rightWidget = new QGroupBox("Advanced", this);
+ QVBoxLayout *vbox = new QVBoxLayout(rightWidget);
+ QWidget *adv = new QWidget(rightWidget);
+ m_advWidget.setupUi(adv);
+ QWidget *sys = new QWidget(rightWidget);
+ m_sysWidget.setupUi(sys);
+ vbox->addWidget(adv);
+ vbox->addWidget(sys);
+
+ spl->addWidget(leftWidget);
+ spl->addWidget(rightWidget);
+
+ hbox->setMargin(4);
+ hbox->addWidget(spl);
+
+ m_small1 = QIcon(":/icons/icon.bmp");
+ m_small2 = QIcon(":/icons/icon.png");
+ m_big = QIcon(":/icons/big.png");
+
+ addComboBoxItems();
+ addTreeItems();
+ addTreeListItems();
+ addListItems();
+ addTextEdit();
+ setupOtherWidgets();
+ setupButtons();
+
+ foreach(QWidget *w, qFindChildren<QWidget *>(parentWidget()))
+ w->setWhatsThis(w->metaObject()->className());
+}
+
+StyleWidget::~StyleWidget()
+{
+
+}
+
+void StyleWidget::addTextEdit()
+{
+ m_staWidget.textEdit->setPlainText(
+ "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text");
+ m_staWidget.textEdit_2->setPlainText(
+ "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text");
+ m_staWidget.textEdit_3->setPlainText(
+ "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text" \
+ "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\n");
+}
+
+void StyleWidget::addComboBoxItems()
+{
+ m_staWidget.comboBox->addItem("Item 1");
+ m_staWidget.comboBox->addItem("Item 2");
+ m_staWidget.comboBox->addItem("Item 3");
+ m_staWidget.comboBox->addItem("Item 4");
+ m_staWidget.comboBox->addItem("Item 5");
+}
+
+void StyleWidget::addListItems()
+{
+ m_staWidget.listWidget->addItem("Item 1");
+ m_staWidget.listWidget->addItem("Item 2");
+ m_staWidget.listWidget->addItem("Item 3");
+ m_staWidget.listWidget->addItem("Item 4");
+ m_staWidget.listWidget->addItem("Item 5");
+
+ QListWidgetItem *tmp = new QListWidgetItem("Item 1", m_staWidget.listWidget_2);
+ tmp->setCheckState(Qt::Checked);
+ tmp = new QListWidgetItem("Item 2", m_staWidget.listWidget_2);
+ tmp->setCheckState(Qt::Checked);
+ tmp = new QListWidgetItem("Item 3", m_staWidget.listWidget_2);
+ tmp->setCheckState(Qt::Checked);
+ tmp = new QListWidgetItem("Item 4", m_staWidget.listWidget_2);
+ tmp->setCheckState(Qt::Checked);
+ tmp = new QListWidgetItem("Item 5", m_staWidget.listWidget_2);
+ tmp->setCheckState(Qt::Checked);
+
+ tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_3);
+ tmp->setCheckState(Qt::Checked);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_3);
+ tmp->setCheckState(Qt::Checked);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_3);
+ tmp->setCheckState(Qt::Checked);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_3);
+ tmp->setCheckState(Qt::Checked);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_3);
+ tmp->setCheckState(Qt::Checked);
+ tmp->setIcon(m_small1);
+
+ m_advWidget.listWidget->setViewMode(QListView::IconMode);
+ QIcon folder(":/icons/folder.png");
+ tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget);
+ tmp->setIcon(folder);
+ tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget);
+ tmp->setIcon(folder);
+ tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget);
+ tmp->setIcon(folder);
+ tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget);
+ tmp->setIcon(folder);
+ tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget);
+ tmp->setIcon(folder);
+
+ tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_2);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_2);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_2);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_2);
+ tmp->setIcon(m_small1);
+ tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_2);
+ tmp->setIcon(m_small1);
+}
+
+void StyleWidget::setupOtherWidgets()
+{
+ m_sysWidget.tableWidget->setRowCount(100);
+ m_sysWidget.tableWidget->setColumnCount(100);
+}
+
+void StyleWidget::addTreeItems()
+{
+ //standard tree
+ m_staWidget.treeWidget_2->setColumnCount(1);
+ m_staWidget.treeWidget_2->header()->hide();
+
+ QTreeWidgetItem *tmp;
+ QTreeWidgetItem *subtmp;
+ QTreeWidgetItem *root1 = new QTreeWidgetItem(m_staWidget.treeWidget_2);
+ root1->setText(0, "Root 1");
+ QTreeWidgetItem *root2 = new QTreeWidgetItem(m_staWidget.treeWidget_2);
+ root2->setText(0, "Root 2");
+
+ for (int i=1; i<=10; ++i)
+ {
+ tmp = new QTreeWidgetItem(root1);
+ tmp->setText(0, QString("Item %1").arg(i));
+ for (int j=1; j<=5; ++j)
+ {
+ subtmp = new QTreeWidgetItem(tmp);
+ subtmp->setText(0, QString("Sub Item %1").arg(j));
+ }
+ }
+
+ // standard checked tree
+ m_staWidget.treeWidget_4->setColumnCount(1);
+ m_staWidget.treeWidget_4->header()->hide();
+
+ root1 = new QTreeWidgetItem(m_staWidget.treeWidget_4);
+ root1->setText(0, "Root 1");
+ root1->setCheckState(0, Qt::Checked);
+ root2 = new QTreeWidgetItem(m_staWidget.treeWidget_4);
+ root2->setText(0, "Root 2");
+ root2->setCheckState(0, Qt::Checked);
+
+ for (int i=1; i<=10; ++i)
+ {
+ tmp = new QTreeWidgetItem(root1);
+ tmp->setText(0, QString("Item %1").arg(i));
+ tmp->setCheckState(0, Qt::Checked);
+ for (int j=1; j<=5; ++j)
+ {
+ subtmp = new QTreeWidgetItem(tmp);
+ subtmp->setText(0, QString("Sub Item %1").arg(j));
+ subtmp->setCheckState(0, Qt::Checked);
+ }
+ }
+
+ // advanced (images) tree
+ m_advWidget.treeWidget_2->setColumnCount(1);
+ m_advWidget.treeWidget_2->header()->hide();
+
+ root1 = new QTreeWidgetItem(m_advWidget.treeWidget_2);
+ root1->setText(0, "Root 1");
+ root1->setIcon(0, m_small1);
+ root2 = new QTreeWidgetItem(m_advWidget.treeWidget_2);
+ root2->setText(0, "Root 2");
+ root2->setIcon(0, m_small1);
+
+ for (int i=1; i<=10; ++i)
+ {
+ tmp = new QTreeWidgetItem(root1);
+ tmp->setText(0, QString("Item %1").arg(i));
+ tmp->setIcon(0, m_small2);
+ for (int j=1; j<=5; ++j)
+ {
+ subtmp = new QTreeWidgetItem(tmp);
+ subtmp->setText(0, QString("Sub Item %1").arg(j));
+ tmp->setIcon(0, m_small1);
+ }
+ }
+
+}
+
+void StyleWidget::addTreeListItems()
+{
+ //standard list
+ QTreeWidgetItem *tmp;
+ m_staWidget.treeWidget->setColumnCount(3);
+ m_staWidget.treeWidget->headerItem()->setText(0, "Col1");
+ m_staWidget.treeWidget->headerItem()->setText(1, "Col2");
+ m_staWidget.treeWidget->headerItem()->setText(2, "Col3");
+
+ for (int i=1; i<10; ++i)
+ {
+ tmp = new QTreeWidgetItem(m_staWidget.treeWidget);
+ tmp->setText(0, QString("Item%1").arg(i));
+ tmp->setText(1, QString("Item%11").arg(i));
+ tmp->setText(2, QString("Item%12").arg(i));
+ }
+
+ //standard checked list
+ m_staWidget.treeWidget_3->setColumnCount(3);
+ m_staWidget.treeWidget_3->headerItem()->setText(0, "Col1");
+ m_staWidget.treeWidget_3->headerItem()->setText(1, "Col2");
+ m_staWidget.treeWidget_3->headerItem()->setText(2, "Col3");
+
+ for (int i=1; i<10; ++i)
+ {
+ tmp = new QTreeWidgetItem(m_staWidget.treeWidget_3);
+ tmp->setText(0, QString("Item%1").arg(i));
+ tmp->setCheckState(0, Qt::Checked);
+ tmp->setText(1, QString("Item%11").arg(i));
+ tmp->setText(2, QString("Item%12").arg(i));
+ }
+
+ //with images
+ m_advWidget.treeWidget->setColumnCount(2);
+ m_advWidget.treeWidget->headerItem()->setText(0, "Col1");
+ m_advWidget.treeWidget->headerItem()->setIcon(0, m_small2);
+ m_advWidget.treeWidget->headerItem()->setText(1, "Col2");
+ m_advWidget.treeWidget->headerItem()->setIcon(1, m_small2);
+
+ for (int i=1; i<10; ++i)
+ {
+ tmp = new QTreeWidgetItem(m_advWidget.treeWidget);
+ tmp->setText(0, QString("Item%1").arg(i));
+ tmp->setIcon(0, m_small1);
+ tmp->setText(1, QString("Item%11").arg(i));
+ }
+}
+
+void StyleWidget::setupButtons()
+{
+ m_advWidget.pushButton->setIcon(m_small1);
+ m_advWidget.pushButton_2->setIcon(m_small1);
+ m_advWidget.checkBox->setIcon(m_small2);
+ m_advWidget.checkBox_2->setIcon(m_small2);
+ m_advWidget.radioButton->setIcon(m_small2);
+ m_advWidget.radioButton_2->setIcon(m_small2);
+
+ // tab page images
+ m_advWidget.tabWidget->setTabIcon(0, m_small2);
+ m_advWidget.tabWidget->setTabIcon(1, m_small2);
+}
diff --git a/tests/auto/qtwidgets/mainwindow.h b/tests/auto/qtwidgets/mainwindow.h
new file mode 100644
index 0000000..9a5cc33
--- /dev/null
+++ b/tests/auto/qtwidgets/mainwindow.h
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QWidget>
+#include <QWhatsThis>
+#include "ui_standard.h"
+#include "ui_advanced.h"
+#include "ui_system.h"
+
+class StyleWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ StyleWidget(QWidget *parent = 0, Qt::WFlags f = 0);
+ ~StyleWidget();
+
+public slots:
+ void onWhatsThis() { QWhatsThis::enterWhatsThisMode(); }
+
+private:
+ void addComboBoxItems();
+ void addListItems();
+ void addTextEdit();
+ void setupOtherWidgets();
+ void setupButtons();
+ void addTreeItems();
+ void addTreeListItems();
+
+ Ui::Standard m_staWidget;
+ Ui::Advanced m_advWidget;
+ Ui::System m_sysWidget;
+
+ QIcon m_small1;
+ QIcon m_small2;
+ QIcon m_big;
+};
+
+#endif //MAINWINDOW_H
+
diff --git a/tests/auto/qtwidgets/qtstyles.qrc b/tests/auto/qtwidgets/qtstyles.qrc
new file mode 100644
index 0000000..772891d
--- /dev/null
+++ b/tests/auto/qtwidgets/qtstyles.qrc
@@ -0,0 +1,8 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/">
+ <file name="icon.png">./icons/icon.png</file>
+ <file name="icon.bmp">./icons/icon.bmp</file>
+ <file name="big.png">./icons/big.png</file>
+ <file name="folder.png">./icons/folder.png</file>
+</qresource>
+</RCC>
diff --git a/tests/auto/qtwidgets/qtwidgets.pro b/tests/auto/qtwidgets/qtwidgets.pro
new file mode 100644
index 0000000..ad5e7ac
--- /dev/null
+++ b/tests/auto/qtwidgets/qtwidgets.pro
@@ -0,0 +1,9 @@
+load(qttest_p4)
+
+SOURCES += tst_qtwidgets.cpp mainwindow.cpp
+HEADERS += mainwindow.h
+QT += network
+RESOURCES = qtstyles.qrc
+FORMS += advanced.ui system.ui standard.ui
+
+
diff --git a/tests/auto/qtwidgets/standard.ui b/tests/auto/qtwidgets/standard.ui
new file mode 100644
index 0000000..9764a66
--- /dev/null
+++ b/tests/auto/qtwidgets/standard.ui
@@ -0,0 +1,1207 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>Standard</class>
+ <widget class="QWidget" name="Standard" >
+ <property name="objectName" >
+ <string notr="true" >Standard</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="objectName" >
+ <string notr="true" >groupBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>Standard</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="checkBox" >
+ <property name="objectName" >
+ <string notr="true" >checkBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>114</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Enabled &amp;CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_2" >
+ <property name="objectName" >
+ <string notr="true" >checkBox_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>121</x>
+ <y>1</y>
+ <width>116</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Disabled Check&amp;Box</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>243</x>
+ <y>1</y>
+ <width>80</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="comboBox" >
+ <property name="objectName" >
+ <string notr="true" >comboBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>41</width>
+ <height>3</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_2" >
+ <property name="objectName" >
+ <string notr="true" >comboBox_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>48</x>
+ <y>1</y>
+ <width>41</width>
+ <height>3</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_3" >
+ <property name="objectName" >
+ <string notr="true" >comboBox_3</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>95</x>
+ <y>1</y>
+ <width>41</width>
+ <height>3</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="pushButton" >
+ <property name="objectName" >
+ <string notr="true" >pushButton</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>80</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>&amp;Enabled</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_2" >
+ <property name="objectName" >
+ <string notr="true" >pushButton_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>87</x>
+ <y>1</y>
+ <width>80</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Di&amp;sabled</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>173</x>
+ <y>1</y>
+ <width>150</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="objectName" >
+ <string notr="true" >label</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>99</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="text" >
+ <string>Label with some text.</string>
+ </property>
+ <property name="textFormat" >
+ <enum>Qt::AutoText</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="objectName" >
+ <string notr="true" >label_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>106</x>
+ <y>1</y>
+ <width>139</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="text" >
+ <string>Disabled label with some text.</string>
+ </property>
+ <property name="textFormat" >
+ <enum>Qt::AutoText</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>251</x>
+ <y>1</y>
+ <width>72</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="lineEdit" >
+ <property name="objectName" >
+ <string notr="true" >lineEdit</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>135</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Enabled</string>
+ </property>
+ <property name="echoMode" >
+ <enum>QLineEdit::Normal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_2" >
+ <property name="objectName" >
+ <string notr="true" >lineEdit_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>142</x>
+ <y>1</y>
+ <width>134</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Disabled</string>
+ </property>
+ <property name="echoMode" >
+ <enum>QLineEdit::Normal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox" >
+ <property name="objectName" >
+ <string notr="true" >spinBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>282</x>
+ <y>1</y>
+ <width>41</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="buttonSymbols" >
+ <enum>QAbstractSpinBox::UpDownArrows</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="radioButton" >
+ <property name="objectName" >
+ <string notr="true" >radioButton</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>123</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Enabled RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_2" >
+ <property name="objectName" >
+ <string notr="true" >radioButton_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>130</x>
+ <y>1</y>
+ <width>125</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Disabled RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>261</x>
+ <y>1</y>
+ <width>62</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QScrollBar" name="horizontalScrollBar" >
+ <property name="objectName" >
+ <string notr="true" >horizontalScrollBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>90</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>90</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollBar" name="horizontalScrollBar_2" >
+ <property name="objectName" >
+ <string notr="true" >horizontalScrollBar_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>97</x>
+ <y>1</y>
+ <width>30</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QScrollBar" name="verticalScrollBar" >
+ <property name="objectName" >
+ <string notr="true" >verticalScrollBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>333</x>
+ <y>1</y>
+ <width>17</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider" >
+ <property name="objectName" >
+ <string notr="true" >slider</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>356</x>
+ <y>1</y>
+ <width>21</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval" >
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="slider_2" >
+ <property name="objectName" >
+ <string notr="true" >slider_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>6</y>
+ <width>90</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::NoTicks</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider_3" >
+ <property name="objectName" >
+ <string notr="true" >slider_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>97</x>
+ <y>3</y>
+ <width>89</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider_4" >
+ <property name="objectName" >
+ <string notr="true" >slider_4</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>192</x>
+ <y>3</y>
+ <width>90</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksAbove</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider_5" >
+ <property name="objectName" >
+ <string notr="true" >slider_5</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>288</x>
+ <y>1</y>
+ <width>89</width>
+ <height>26</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksBothSides</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QTextEdit" name="textEdit" >
+ <property name="objectName" >
+ <string notr="true" >textEdit</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>89</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="verticalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit_2" >
+ <property name="objectName" >
+ <string notr="true" >textEdit_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>96</x>
+ <y>1</y>
+ <width>90</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="verticalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit_3" >
+ <property name="objectName" >
+ <string notr="true" >textEdit_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>192</x>
+ <y>1</y>
+ <width>89</width>
+ <height>100</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="verticalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit_4" >
+ <property name="objectName" >
+ <string notr="true" >textEdit_4</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>287</x>
+ <y>1</y>
+ <width>90</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="verticalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAsNeeded</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy" >
+ <enum>Qt::ScrollBarAsNeeded</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="objectName" >
+ <string notr="true" >groupBox_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>132</y>
+ <width>378</width>
+ <height>39</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>GroupBox</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QProgressBar" name="progressBar" >
+ <property name="objectName" >
+ <string notr="true" >progressBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>20</y>
+ <width>356</width>
+ <height>8</height>
+ </rect>
+ </property>
+ <property name="value" >
+ <number>50</number>
+ </property>
+ <property name="textVisible" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QListWidget" name="listWidget" >
+ <property name="objectName" >
+ <string notr="true" >listWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>107</width>
+ <height>37</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="listWidget_2" >
+ <property name="objectName" >
+ <string notr="true" >listWidget_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>114</x>
+ <y>1</y>
+ <width>107</width>
+ <height>37</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget" >
+ <property name="objectName" >
+ <string notr="true" >tabWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>227</x>
+ <y>1</y>
+ <width>150</width>
+ <height>37</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="tabPosition" >
+ <enum>QTabWidget::North</enum>
+ </property>
+ <property name="tabShape" >
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <widget class="QWidget" name="" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>148</width>
+ <height>10</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 1</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>116</width>
+ <height>56</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 2</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>116</width>
+ <height>56</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 3</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>146</width>
+ <height>36</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 4</string>
+ </attribute>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget_2" >
+ <property name="objectName" >
+ <string notr="true" >tabWidget_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>214</y>
+ <width>378</width>
+ <height>90</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>90</height>
+ </size>
+ </property>
+ <property name="tabPosition" >
+ <enum>QTabWidget::North</enum>
+ </property>
+ <property name="tabShape" >
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>376</width>
+ <height>63</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 1</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>424</width>
+ <height>66</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 2</string>
+ </attribute>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item row="0" column="1" >
+ <widget class="QTreeWidget" name="treeWidget_2" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget_2</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>192</x>
+ <y>1</y>
+ <width>185</width>
+ <height>18</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QTreeWidget" name="treeWidget_3" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>20</y>
+ <width>185</width>
+ <height>18</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" >
+ <widget class="QTreeWidget" name="treeWidget" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>185</width>
+ <height>18</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QTreeWidget" name="treeWidget_4" >
+ <property name="objectName" >
+ <string notr="true" >treeWidget_4</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>192</x>
+ <y>20</y>
+ <width>185</width>
+ <height>18</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <connections/>
+</ui>
diff --git a/tests/auto/qtwidgets/system.ui b/tests/auto/qtwidgets/system.ui
new file mode 100644
index 0000000..a641e0e
--- /dev/null
+++ b/tests/auto/qtwidgets/system.ui
@@ -0,0 +1,658 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>System</class>
+ <widget class="QWidget" name="System" >
+ <property name="objectName" >
+ <string notr="true" >System</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>604</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item row="1" column="1" >
+ <widget class="QToolButton" name="toolButton" >
+ <property name="objectName" >
+ <string notr="true" >toolButton</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>340</x>
+ <y>138</y>
+ <width>15</width>
+ <height>19</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QFrame" name="horizontalLine" >
+ <property name="objectName" >
+ <string notr="true" >horizontalLine</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>146</y>
+ <width>333</width>
+ <height>3</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::HLine</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QFrame" name="verticalLine" >
+ <property name="objectName" >
+ <string notr="true" >verticalLine</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>361</x>
+ <y>1</y>
+ <width>3</width>
+ <height>131</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::VLine</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="2" >
+ <layout class="QGridLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item row="1" column="0" >
+ <widget class="QDateTimeEdit" name="dateTimeEdit_2" >
+ <property name="objectName" >
+ <string notr="true" >dateTimeEdit_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>108</y>
+ <width>113</width>
+ <height>20</height>
+ </rect>
+ </property>
+ <property name="buttonSymbols" >
+ <enum>QAbstractSpinBox::UpDownArrows</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" >
+ <widget class="QDateTimeEdit" name="dateTimeEdit" >
+ <property name="objectName" >
+ <string notr="true" >dateTimeEdit</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>41</y>
+ <width>113</width>
+ <height>20</height>
+ </rect>
+ </property>
+ <property name="buttonSymbols" >
+ <enum>QAbstractSpinBox::UpDownArrows</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QDial" name="dial" >
+ <property name="objectName" >
+ <string notr="true" >dial</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>120</x>
+ <y>1</y>
+ <width>114</width>
+ <height>100</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QLCDNumber" name="lcdNumber" >
+ <property name="objectName" >
+ <string notr="true" >lcdNumber</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>120</x>
+ <y>107</y>
+ <width>114</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="mode" >
+ <enum>QLCDNumber::Dec</enum>
+ </property>
+ <property name="segmentStyle" >
+ <enum>QLCDNumber::Outline</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QLCDNumber" name="lcdNumber_2" >
+ <property name="objectName" >
+ <string notr="true" >lcdNumber_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>240</x>
+ <y>107</y>
+ <width>113</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="mode" >
+ <enum>QLCDNumber::Dec</enum>
+ </property>
+ <property name="segmentStyle" >
+ <enum>QLCDNumber::Outline</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QDial" name="dial_2" >
+ <property name="objectName" >
+ <string notr="true" >dial_2</string>
+ </property>
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>240</x>
+ <y>1</y>
+ <width>113</width>
+ <height>100</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QTableWidget" name="tableWidget" >
+ <property name="objectName" >
+ <string notr="true" >tableWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>256</width>
+ <height>193</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolBox" name="toolBox" >
+ <property name="objectName" >
+ <string notr="true" >toolBox</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>263</x>
+ <y>1</y>
+ <width>118</width>
+ <height>193</height>
+ </rect>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="currentIndex" >
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>98</width>
+ <height>119</height>
+ </rect>
+ </property>
+ <attribute name="label" >
+ <string>Tool Page 1</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>115</width>
+ <height>56</height>
+ </rect>
+ </property>
+ <attribute name="label" >
+ <string>Tool Page 2</string>
+ </attribute>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget" >
+ <property name="objectName" >
+ <string notr="true" >tabWidget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>9</x>
+ <y>375</y>
+ <width>382</width>
+ <height>220</height>
+ </rect>
+ </property>
+ <property name="tabShape" >
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>378</width>
+ <height>196</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 1</string>
+ </attribute>
+ <layout class="QGridLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item row="0" column="0" >
+ <layout class="QVBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="comboBox_3" >
+ <property name="objectName" >
+ <string notr="true" >comboBox_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>332</width>
+ <height>20</height>
+ </rect>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="pushButton_5" >
+ <property name="objectName" >
+ <string notr="true" >pushButton_5</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>80</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>&amp;Enabled</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_6" >
+ <property name="objectName" >
+ <string notr="true" >pushButton_6</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>87</x>
+ <y>1</y>
+ <width>80</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Di&amp;sabled</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>173</x>
+ <y>1</y>
+ <width>158</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="margin" >
+ <number>1</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="radioButton_3" >
+ <property name="objectName" >
+ <string notr="true" >radioButton_3</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>2</y>
+ <width>123</width>
+ <height>18</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Enabled RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_4" >
+ <property name="objectName" >
+ <string notr="true" >radioButton_4</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>130</x>
+ <y>2</y>
+ <width>125</width>
+ <height>18</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>Disabled RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>261</x>
+ <y>1</y>
+ <width>70</width>
+ <height>20</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar" >
+ <property name="objectName" >
+ <string notr="true" >progressBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>86</y>
+ <width>332</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="value" >
+ <number>24</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollBar" name="horizontalScrollBar" >
+ <property name="objectName" >
+ <string notr="true" >horizontalScrollBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>1</x>
+ <y>114</y>
+ <width>332</width>
+ <height>17</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QScrollBar" name="verticalScrollBar" >
+ <property name="objectName" >
+ <string notr="true" >verticalScrollBar</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>349</x>
+ <y>9</y>
+ <width>17</width>
+ <height>132</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <spacer>
+ <property name="objectName" >
+ <string notr="true" />
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>9</x>
+ <y>147</y>
+ <width>334</width>
+ <height>40</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="widget" >
+ <property name="objectName" >
+ <string notr="true" >widget</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>377</width>
+ <height>187</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Tab Page 2</string>
+ </attribute>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <connections/>
+</ui>
diff --git a/tests/auto/qtwidgets/tst_qtwidgets.cpp b/tests/auto/qtwidgets/tst_qtwidgets.cpp
new file mode 100644
index 0000000..a6a3be1
--- /dev/null
+++ b/tests/auto/qtwidgets/tst_qtwidgets.cpp
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtGui>
+#include <QtNetwork>
+
+#include <QtTest/QtTest>
+
+
+#include "mainwindow.h"
+
+class tst_QtWidgets: public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void snapshot();
+};
+
+
+void tst_QtWidgets::snapshot()
+{
+ StyleWidget widget(0, Qt::X11BypassWindowManagerHint);
+ widget.show();
+
+ QPixmap pix = QPixmap::grabWidget(&widget);
+
+ QVERIFY(!pix.isNull());
+
+ QBuffer buf;
+ pix.save(&buf, "PNG");
+ QVERIFY(buf.size() > 0);
+
+ QString filename = "qtwidgets_" + QHostInfo::localHostName() + "_" + QDateTime::currentDateTime().toString("yyyy.MM.dd_hh.mm.ss") + ".png";
+
+ QFtp ftp;
+ ftp.connectToHost("kramer.troll.no");
+ ftp.login("anonymous");
+ ftp.cd("pics");
+ ftp.put(buf.data(), filename, QFtp::Binary);
+ ftp.close();
+
+ int i = 0;
+ while (i < 100 && ftp.hasPendingCommands()) {
+ QCoreApplication::instance()->processEvents();
+ QTest::qWait(250);
+ ++i;
+ }
+ QVERIFY2(ftp.error() == QFtp::NoError, ftp.errorString().toLocal8Bit().constData());
+ QVERIFY(!ftp.hasPendingCommands());
+}
+
+
+
+QTEST_MAIN(tst_QtWidgets)
+
+#include "tst_qtwidgets.moc"