summaryrefslogtreecommitdiffstats
path: root/src/designer/src/lib/uilib/abstractformbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/designer/src/lib/uilib/abstractformbuilder.cpp')
-rw-r--r--src/designer/src/lib/uilib/abstractformbuilder.cpp99
1 files changed, 44 insertions, 55 deletions
diff --git a/src/designer/src/lib/uilib/abstractformbuilder.cpp b/src/designer/src/lib/uilib/abstractformbuilder.cpp
index 4d39cdb5d..e9a94c521 100644
--- a/src/designer/src/lib/uilib/abstractformbuilder.cpp
+++ b/src/designer/src/lib/uilib/abstractformbuilder.cpp
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Designer of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:BSD$
+** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
@@ -14,35 +14,24 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
@@ -918,7 +907,7 @@ QLayoutItem *QAbstractFormBuilder::create(DomLayoutItem *ui_layoutItem, QLayout
/*!
\internal
*/
-void QAbstractFormBuilder::applyProperties(QObject *o, const QList<DomProperty*> &properties)
+void QAbstractFormBuilder::applyProperties(QObject *o, const QVector<DomProperty*> &properties)
{
for (DomProperty *p : properties) {
const QVariant v = toVariant(o->metaObject(), p);
@@ -1266,9 +1255,9 @@ void FormBuilderSaveLayoutEntry::setAlignment(Qt::Alignment al)
}
// Create list from standard box layout
-static QList<FormBuilderSaveLayoutEntry> saveLayoutEntries(const QLayout *layout)
+static QVector<FormBuilderSaveLayoutEntry> saveLayoutEntries(const QLayout *layout)
{
- QList<FormBuilderSaveLayoutEntry> rc;
+ QVector<FormBuilderSaveLayoutEntry> rc;
if (const int count = layout->count()) {
rc.reserve(count);
for (int idx = 0; idx < count; ++idx) {
@@ -1282,9 +1271,9 @@ static QList<FormBuilderSaveLayoutEntry> saveLayoutEntries(const QLayout *layout
}
// Create list from grid layout
-static QList<FormBuilderSaveLayoutEntry> saveGridLayoutEntries(QGridLayout *gridLayout)
+static QVector<FormBuilderSaveLayoutEntry> saveGridLayoutEntries(QGridLayout *gridLayout)
{
- QList<FormBuilderSaveLayoutEntry> rc;
+ QVector<FormBuilderSaveLayoutEntry> rc;
if (const int count = gridLayout->count()) {
rc.reserve(count);
for (int idx = 0; idx < count; ++idx) {
@@ -1300,9 +1289,9 @@ static QList<FormBuilderSaveLayoutEntry> saveGridLayoutEntries(QGridLayout *grid
#if QT_CONFIG(formlayout)
// Create list from form layout
-static QList<FormBuilderSaveLayoutEntry> saveFormLayoutEntries(const QFormLayout *formLayout)
+static QVector<FormBuilderSaveLayoutEntry> saveFormLayoutEntries(const QFormLayout *formLayout)
{
- QList<FormBuilderSaveLayoutEntry> rc;
+ QVector<FormBuilderSaveLayoutEntry> rc;
if (const int count = formLayout->count()) {
rc.reserve(count);
for (int idx = 0; idx < count; ++idx) {
@@ -1343,7 +1332,7 @@ DomLayout *QAbstractFormBuilder::createDom(QLayout *layout, DomLayout *ui_layout
lay->setAttributeName(objectName);
lay->setElementProperty(computeProperties(layout));
- QList<FormBuilderSaveLayoutEntry> newList;
+ QVector<FormBuilderSaveLayoutEntry> newList;
if (QGridLayout *gridLayout = qobject_cast<QGridLayout *>(layout)) {
newList = saveGridLayoutEntries(gridLayout);
#if QT_CONFIG(formlayout)
@@ -1405,7 +1394,7 @@ DomSpacer *QAbstractFormBuilder::createDom(QSpacerItem *spacer, DomLayout *ui_la
Q_UNUSED(ui_parentWidget);
DomSpacer *ui_spacer = new DomSpacer();
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
DomProperty *prop = nullptr;
const QFormBuilderStrings &strings = QFormBuilderStrings::instance();
@@ -1441,9 +1430,9 @@ DomProperty *QAbstractFormBuilder::createProperty(QObject *obj, const QString &p
/*!
\internal
*/
-QList<DomProperty*> QAbstractFormBuilder::computeProperties(QObject *obj)
+QVector<DomProperty*> QAbstractFormBuilder::computeProperties(QObject *obj)
{
- QList<DomProperty*> lst;
+ QVector<DomProperty*> lst;
const QMetaObject *meta = obj->metaObject();
@@ -1505,7 +1494,7 @@ QList<DomProperty*> QAbstractFormBuilder::computeProperties(QObject *obj)
/*!
\internal
*/
-QAbstractFormBuilder::DomPropertyHash QAbstractFormBuilder::propertyMap(const QList<DomProperty*> &properties)
+QAbstractFormBuilder::DomPropertyHash QAbstractFormBuilder::propertyMap(const QVector<DomProperty*> &properties)
{
DomPropertyHash map;
@@ -1618,7 +1607,7 @@ public:
};
template<class T>
-static void storeItemFlags(const T *item, QList<DomProperty*> *properties)
+static void storeItemFlags(const T *item, QVector<DomProperty*> *properties)
{
static const QFormBuilderStrings &strings = QFormBuilderStrings::instance();
static const Qt::ItemFlags defaultFlags = T().flags();
@@ -1634,7 +1623,7 @@ static void storeItemFlags(const T *item, QList<DomProperty*> *properties)
template<class T>
static void storeItemProps(QAbstractFormBuilder *abstractFormBuilder, const T *item,
- QList<DomProperty*> *properties)
+ QVector<DomProperty*> *properties)
{
static const QFormBuilderStrings &strings = QFormBuilderStrings::instance();
FriendlyFB * const formBuilder = static_cast<FriendlyFB *>(abstractFormBuilder);
@@ -1659,7 +1648,7 @@ static void storeItemProps(QAbstractFormBuilder *abstractFormBuilder, const T *i
template<class T>
static void storeItemPropsNFlags(QAbstractFormBuilder *abstractFormBuilder, const T *item,
- QList<DomProperty*> *properties)
+ QVector<DomProperty*> *properties)
{
storeItemProps<T>(abstractFormBuilder, item, properties);
storeItemFlags<T>(item, properties);
@@ -1725,7 +1714,7 @@ void QAbstractFormBuilder::saveTreeWidgetExtraInfo(QTreeWidget *treeWidget, DomW
for (int c = 0; c<treeWidget->columnCount(); ++c) {
DomColumn *column = new DomColumn;
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
for (const QFormBuilderStrings::TextRoleNName &it : strings.itemTextRoles) {
p = saveText(it.second, treeWidget->headerItem()->data(c, it.first.second));
@@ -1769,7 +1758,7 @@ void QAbstractFormBuilder::saveTreeWidgetExtraInfo(QTreeWidget *treeWidget, DomW
DomItem *currentDomItem = new DomItem;
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
for (int c = 0; c < treeWidget->columnCount(); c++) {
for (const QFormBuilderStrings::TextRoleNName &it : strings.itemTextRoles)
if ((p = saveText(it.second, item->data(c, it.first.second))))
@@ -1810,7 +1799,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D
// save the horizontal header
QVector<DomColumn *> columns;
for (int c = 0; c < tableWidget->columnCount(); c++) {
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
QTableWidgetItem *item = tableWidget->horizontalHeaderItem(c);
if (item)
storeItemProps(this, item, &properties);
@@ -1824,7 +1813,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D
// save the vertical header
QVector<DomRow *> rows;
for (int r = 0; r < tableWidget->rowCount(); r++) {
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
QTableWidgetItem *item = tableWidget->verticalHeaderItem(r);
if (item)
storeItemProps(this, item, &properties);
@@ -1840,7 +1829,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D
for (int c = 0; c < tableWidget->columnCount(); c++) {
QTableWidgetItem *item = tableWidget->item(r, c);
if (item) {
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
storeItemPropsNFlags(this, item, &properties);
DomItem *domItem = new DomItem;
@@ -1863,7 +1852,7 @@ void QAbstractFormBuilder::saveListWidgetExtraInfo(QListWidget *listWidget, DomW
auto ui_items = ui_widget->elementItem();
for (int i=0; i<listWidget->count(); ++i) {
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
storeItemPropsNFlags(this, listWidget->item(i), &properties);
DomItem *ui_item = new DomItem();
@@ -1890,7 +1879,7 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget
comboBox->itemData(i, Qt::DisplayPropertyRole));
DomProperty *iconProperty = saveResource(comboBox->itemData(i, Qt::DecorationPropertyRole));
if (textProperty || iconProperty) {
- QList<DomProperty*> properties;
+ QVector<DomProperty*> properties;
if (textProperty)
properties.push_back(textProperty);
if (iconProperty)
@@ -1912,7 +1901,7 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget
void QAbstractFormBuilder::saveButtonExtraInfo(const QAbstractButton *widget, DomWidget *ui_widget, DomWidget *)
{
- using DomPropertyList = QList<DomProperty *>;
+ using DomPropertyList = QVector<DomProperty *>;
if (const QButtonGroup *buttonGroup = widget->group()) {
DomPropertyList attributes = ui_widget->elementAttribute();
DomString *domString = new DomString();
@@ -2326,7 +2315,7 @@ void QAbstractFormBuilder::loadItemViewExtraInfo(DomWidget *ui_widget, QAbstract
if (QTreeView *treeView = qobject_cast<QTreeView*>(itemView)) {
const auto &allAttributes = ui_widget->elementAttribute();
- QList<DomProperty *> headerProperties;
+ QVector<DomProperty *> headerProperties;
for (const QString &realPropertyName : realPropertyNames) {
const QString upperPropertyName = realPropertyName.at(0).toUpper()
+ realPropertyName.mid(1);
@@ -2346,7 +2335,7 @@ void QAbstractFormBuilder::loadItemViewExtraInfo(DomWidget *ui_widget, QAbstract
const auto &allAttributes = ui_widget->elementAttribute();
for (const QString &headerPrefix : headerPrefixes) {
- QList<DomProperty*> headerProperties;
+ QVector<DomProperty*> headerProperties;
for (const QString &realPropertyName : realPropertyNames) {
const QString upperPropertyName = realPropertyName.at(0).toUpper()
+ realPropertyName.mid(1);