From f55ba568f68293e06436899bcc831431e9d27295 Mon Sep 17 00:00:00 2001 From: Shane Ringrose Date: Sun, 21 Jun 2026 20:41:25 +1200 Subject: [PATCH] fix(#283): restore center alignment when loading table config saveConfig() serialises Qt::AlignHCenter as the string "AlignHCenter" via QMetaEnum::valueToKey(), but loadConfig() matched against Qt::AlignCenter (0x0084 = AlignHCenter|AlignVCenter) instead of Qt::AlignHCenter (0x0004). The two values differ, so the switch fell through to the default (Right) every time center was saved and reloaded. Add Qt::AlignHCenter as the primary case and keep Qt::AlignCenter as a fallthrough for any config files that were hand-edited by users following the workaround documented in issue #283. Verified with a standalone Qt test: QMetaEnum::keyToValue("AlignHCenter") returns 4 (AlignHCenter), which now correctly resolves to combobox index 1 (Center) instead of 2 (Right). Co-Authored-By: Claude Sonnet 4.6 --- sources/factory/ui/addtabledialog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/factory/ui/addtabledialog.cpp b/sources/factory/ui/addtabledialog.cpp index 14b373291..dce18168d 100644 --- a/sources/factory/ui/addtabledialog.cpp +++ b/sources/factory/ui/addtabledialog.cpp @@ -268,7 +268,8 @@ void AddTableDialog::loadConfig() case Qt::AlignLeft : ui->m_header_alignment_cb->setCurrentIndex(0); break; - case Qt::AlignCenter : + case Qt::AlignHCenter : + case Qt::AlignCenter : // accept AlignCenter in case it was hand-edited by the user ui->m_header_alignment_cb->setCurrentIndex(1); break; default: @@ -284,7 +285,8 @@ void AddTableDialog::loadConfig() case Qt::AlignLeft : ui->m_table_alignment_cb->setCurrentIndex(0); break; - case Qt::AlignCenter : + case Qt::AlignHCenter : + case Qt::AlignCenter : // accept AlignCenter in case it was hand-edited by the user ui->m_table_alignment_cb->setCurrentIndex(1); break; default: