summaryrefslogtreecommitdiffstats
path: root/src/designer/src/lib/uilib/abstractformbuilder.cpp
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-05-19 07:33:05 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-05-19 07:33:05 +0300
commit6583391282b02d0866975c224852b868a83be01a (patch)
tree4ffcf91ed41e9853f27b7f341c869f47eba70851 /src/designer/src/lib/uilib/abstractformbuilder.cpp
parent53ee43a51b5a3de2877dafffc78e71ff55926708 (diff)
parent8468394ad6b8a1ee12081dcfbbba50dec22b57bf (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.5' into tqtc/lts-5.15-opensourcev5.15.5-lts-lgpl
Diffstat (limited to 'src/designer/src/lib/uilib/abstractformbuilder.cpp')
-rw-r--r--src/designer/src/lib/uilib/abstractformbuilder.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/designer/src/lib/uilib/abstractformbuilder.cpp b/src/designer/src/lib/uilib/abstractformbuilder.cpp
index 4d39cdb5d..48f789687 100644
--- a/src/designer/src/lib/uilib/abstractformbuilder.cpp
+++ b/src/designer/src/lib/uilib/abstractformbuilder.cpp
@@ -1634,24 +1634,28 @@ static void storeItemFlags(const T *item, QList<DomProperty*> *properties)
template<class T>
static void storeItemProps(QAbstractFormBuilder *abstractFormBuilder, const T *item,
- QList<DomProperty*> *properties)
+ QList<DomProperty*> *properties,
+ Qt::Alignment defaultAlign = Qt::AlignLeading | Qt::AlignVCenter)
{
static const QFormBuilderStrings &strings = QFormBuilderStrings::instance();
FriendlyFB * const formBuilder = static_cast<FriendlyFB *>(abstractFormBuilder);
DomProperty *p;
- QVariant v;
for (const QFormBuilderStrings::TextRoleNName &it : strings.itemTextRoles)
if ((p = formBuilder->saveText(it.second, item->data(it.first.second))))
properties->append(p);
- for (const QFormBuilderStrings::RoleNName &it : strings.itemRoles)
- if ((v = item->data(it.first)).isValid() &&
- (p = variantToDomProperty(abstractFormBuilder,
- static_cast<const QMetaObject *>(&QAbstractFormBuilderGadget::staticMetaObject),
- it.second, v)))
+ auto *mo = static_cast<const QMetaObject *>(&QAbstractFormBuilderGadget::staticMetaObject);
+ for (const QFormBuilderStrings::RoleNName &it : strings.itemRoles) {
+ const QVariant v = item->data(it.first);
+ const bool isModified = v.isValid()
+ && (it.first != Qt::TextAlignmentRole || v.toUInt() != uint(defaultAlign));
+ if (isModified &&
+ (p = variantToDomProperty(abstractFormBuilder, mo, it.second, v))) {
properties->append(p);
+ }
+ }
if ((p = formBuilder->saveResource(item->data(Qt::DecorationPropertyRole))))
properties->append(p);
@@ -1809,11 +1813,12 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D
// save the horizontal header
QVector<DomColumn *> columns;
+ auto *header = tableWidget->horizontalHeader();
for (int c = 0; c < tableWidget->columnCount(); c++) {
QList<DomProperty*> properties;
QTableWidgetItem *item = tableWidget->horizontalHeaderItem(c);
if (item)
- storeItemProps(this, item, &properties);
+ storeItemProps(this, item, &properties, header->defaultAlignment());
DomColumn *column = new DomColumn;
column->setElementProperty(properties);
@@ -1823,11 +1828,12 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D
// save the vertical header
QVector<DomRow *> rows;
+ header = tableWidget->verticalHeader();
for (int r = 0; r < tableWidget->rowCount(); r++) {
QList<DomProperty*> properties;
QTableWidgetItem *item = tableWidget->verticalHeaderItem(r);
if (item)
- storeItemProps(this, item, &properties);
+ storeItemProps(this, item, &properties, header->defaultAlignment());
DomRow *row = new DomRow;
row->setElementProperty(properties);