[pim/kmail] /: Fix default load dialog size when scale != 100%

Laurent Montel <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit b2959ceb576378808c7549c187a5b83ab3b3c425 by Laurent Montel.
Committed on 03/08/2026 at 05:18.
Pushed by mlaurent into branch 'master'.

Fix default load dialog size when scale != 100%

M  +1    -1    CMakeLists.txt
M  +2    -3    agents/followupreminderagent/followupremindernoanswerdialog.cpp
M  +2    -4    agents/mailmergeagent/mailmergeconfiguredialog.cpp
M  +2    -4    agents/unifiedmailboxagent/settingsdialog.cpp
M  +2    -4    agents/unifiedmailboxagent/unifiedmailboxeditor.cpp
M  +1    -0    ktnef/src/CMakeLists.txt
M  +2    -4    ktnef/src/attachpropertydialog.cpp
M  +3    -3    ktnef/src/messagepropertydialog.cpp
M  +2    -4    src/configuredialog/configuresecuritypage.cpp
M  +2    -4    src/dialog/addemailtoexistingcontactdialog.cpp
M  +2    -4    src/dialog/kmknotify.cpp
M  +2    -4    src/dialog/spellcheckerconfigdialog.cpp
M  +2    -5    src/editor/potentialphishingemail/potentialphishingdetaildialog.cpp
M  +2    -4    src/searchdialog/incompleteindexdialog.cpp
M  +2    -4    src/tag/tagselectdialog.cpp

https://invent.kde.org/pim/kmail/-/commit/b2959ceb576378808c7549c187a5b83ab3b3c425

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 294a8bbc4..36b81bb4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,7 +123,7 @@ set(GPG_ERROR_REQUIRED_VERSION "1.47")
 set(KDEPIM_LIB_VERSION "${PIM_VERSION}")
 set(KDEPIM_LIB_SOVERSION "6")
 
-set(KTEXTADDONS_MIN_VERSION "2.1.1")
+set(KTEXTADDONS_MIN_VERSION "2.1.2")
 
 find_package(
     Qt6
diff --git a/agents/followupreminderagent/followupremindernoanswerdialog.cpp b/agents/followupreminderagent/followupremindernoanswerdialog.cpp
index c638acab0..c8fc17ba6 100644
--- a/agents/followupreminderagent/followupremindernoanswerdialog.cpp
+++ b/agents/followupreminderagent/followupremindernoanswerdialog.cpp
@@ -12,6 +12,7 @@
 
 #include <KLocalizedString>
 #include <KSharedConfig>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 #include <KConfigGroup>
 #include <KWindowConfig>
@@ -110,10 +111,8 @@ void FollowUpReminderNoAnswerDialog::setInfo(const QList<FollowUpReminder::Follo
 void FollowUpReminderNoAnswerDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(800, 600));
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(DialogGroup), 800, 600);
     const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(DialogGroup));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
     mWidget->restoreTreeWidgetHeader(group.readEntry("HeaderState", QByteArray()));
 }
 
diff --git a/agents/mailmergeagent/mailmergeconfiguredialog.cpp b/agents/mailmergeagent/mailmergeconfiguredialog.cpp
index 21bf958af..05bef00ad 100644
--- a/agents/mailmergeagent/mailmergeconfiguredialog.cpp
+++ b/agents/mailmergeagent/mailmergeconfiguredialog.cpp
@@ -21,6 +21,7 @@
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 using namespace Qt::Literals::StringLiterals;
 namespace
@@ -81,10 +82,7 @@ void MailMergeConfigureDialog::slotSave()
 void MailMergeConfigureDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(800, 600));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myConfigureMailMergeConfigureDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myConfigureMailMergeConfigureDialogGroupName), 800, 600);
 }
 
 void MailMergeConfigureDialog::writeConfig()
diff --git a/agents/unifiedmailboxagent/settingsdialog.cpp b/agents/unifiedmailboxagent/settingsdialog.cpp
index 458e51fb4..a9f8b5fa5 100644
--- a/agents/unifiedmailboxagent/settingsdialog.cpp
+++ b/agents/unifiedmailboxagent/settingsdialog.cpp
@@ -23,6 +23,7 @@
 #include <KWindowConfig>
 #include <QMenu>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 #include <memory>
 
@@ -156,10 +157,7 @@ SettingsDialog::~SettingsDialog()
 void SettingsDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(500, 500));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(DialogGroup));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(DialogGroup), 500, 500);
 }
 
 void SettingsDialog::writeConfig()
diff --git a/agents/unifiedmailboxagent/unifiedmailboxeditor.cpp b/agents/unifiedmailboxagent/unifiedmailboxeditor.cpp
index 13dd4dd7e..c258adde4 100644
--- a/agents/unifiedmailboxagent/unifiedmailboxeditor.cpp
+++ b/agents/unifiedmailboxagent/unifiedmailboxeditor.cpp
@@ -24,6 +24,7 @@
 #include <MailCommon/FolderTreeView>
 #include <MailCommon/FolderTreeWidget>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 namespace
 {
@@ -168,10 +169,7 @@ UnifiedMailboxEditor::~UnifiedMailboxEditor()
 void UnifiedMailboxEditor::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 700));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(EditorGroup));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(EditorGroup), 600, 700);
 }
 
 void UnifiedMailboxEditor::writeConfig()
diff --git a/ktnef/src/CMakeLists.txt b/ktnef/src/CMakeLists.txt
index 41f17b17e..0d381aff0 100644
--- a/ktnef/src/CMakeLists.txt
+++ b/ktnef/src/CMakeLists.txt
@@ -53,6 +53,7 @@ target_link_libraries(
     KF6::WidgetsAddons
     KF6::Service
     KF6::KIOWidgets
+    KF6::TextAddonsWidgets
 )
 
 install(
diff --git a/ktnef/src/attachpropertydialog.cpp b/ktnef/src/attachpropertydialog.cpp
index 4cf9a8f90..3fa4a185e 100644
--- a/ktnef/src/attachpropertydialog.cpp
+++ b/ktnef/src/attachpropertydialog.cpp
@@ -36,6 +36,7 @@
 #include <QTreeWidget>
 #include <QVBoxLayout>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 using namespace Qt::Literals::StringLiterals;
 namespace
 {
@@ -74,10 +75,7 @@ AttachPropertyDialog::~AttachPropertyDialog()
 void AttachPropertyDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 700));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myAttachPropertyDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myAttachPropertyDialogGroupName), 600, 700);
 }
 
 void AttachPropertyDialog::writeConfig()
diff --git a/ktnef/src/messagepropertydialog.cpp b/ktnef/src/messagepropertydialog.cpp
index fe8b08fe5..36acc7736 100644
--- a/ktnef/src/messagepropertydialog.cpp
+++ b/ktnef/src/messagepropertydialog.cpp
@@ -28,6 +28,7 @@
 #include <QPushButton>
 #include <QTreeWidget>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 namespace
 {
 const char myMessagePropertyDialogGroupName[] = "MessagePropertyDialog";
@@ -77,10 +78,9 @@ void MessagePropertyDialog::slotSaveProperty()
 void MessagePropertyDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 400));
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myMessagePropertyDialogGroupName), 600, 400);
+
     const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myMessagePropertyDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
     const QByteArray headerState = group.readEntry("HeaderState", QByteArray());
     if (!headerState.isEmpty()) {
         mListView->header()->restoreState(headerState);
diff --git a/src/configuredialog/configuresecuritypage.cpp b/src/configuredialog/configuresecuritypage.cpp
index 180f5b141..ec645317b 100644
--- a/src/configuredialog/configuresecuritypage.cpp
+++ b/src/configuredialog/configuresecuritypage.cpp
@@ -32,6 +32,7 @@ using namespace PimCommon::ConfigureImmutableWidgetUtils;
 #include <QPointer>
 #include <QWhatsThis>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 using namespace Qt::Literals::StringLiterals;
 
 QString SecurityPage::helpAnchor() const
@@ -680,10 +681,7 @@ GpgSettingsDialog::~GpgSettingsDialog()
 void GpgSettingsDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 400));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myGpgSettingsDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myGpgSettingsDialogGroupName), 600, 400);
 }
 
 void GpgSettingsDialog::saveConfig()
diff --git a/src/dialog/addemailtoexistingcontactdialog.cpp b/src/dialog/addemailtoexistingcontactdialog.cpp
index 8ee75108e..08db33bb5 100644
--- a/src/dialog/addemailtoexistingcontactdialog.cpp
+++ b/src/dialog/addemailtoexistingcontactdialog.cpp
@@ -25,6 +25,7 @@
 #include <QTreeView>
 #include <QVBoxLayout>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 namespace
 {
 const char myAddEmailToExistingContactDialogGroupName[] = "AddEmailToExistingContactDialog";
@@ -92,10 +93,7 @@ void AddEmailToExistingContactDialog::slotSelectionChanged()
 void AddEmailToExistingContactDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 400));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myAddEmailToExistingContactDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myAddEmailToExistingContactDialogGroupName), 600, 400);
 }
 
 void AddEmailToExistingContactDialog::writeConfig()
diff --git a/src/dialog/kmknotify.cpp b/src/dialog/kmknotify.cpp
index 54f307e72..504aaf448 100644
--- a/src/dialog/kmknotify.cpp
+++ b/src/dialog/kmknotify.cpp
@@ -20,6 +20,7 @@
 #include <QStandardPaths>
 #include <QVBoxLayout>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 using namespace KMail;
 using namespace Qt::Literals::StringLiterals;
@@ -129,10 +130,7 @@ void KMKnotify::slotOk()
 void KMKnotify::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 400));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QStringLiteral("KMKnotifyDialog"));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QStringLiteral("KMKnotifyDialog"), 600, 400);
 }
 
 void KMKnotify::writeConfig()
diff --git a/src/dialog/spellcheckerconfigdialog.cpp b/src/dialog/spellcheckerconfigdialog.cpp
index a2c8ac350..044170894 100644
--- a/src/dialog/spellcheckerconfigdialog.cpp
+++ b/src/dialog/spellcheckerconfigdialog.cpp
@@ -16,6 +16,7 @@
 #include <KSharedConfig>
 #include <KWindowConfig>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 SpellCheckerConfigDialog::SpellCheckerConfigDialog(QWidget *parent)
     : Sonnet::ConfigDialog(parent)
@@ -51,10 +52,7 @@ SpellCheckerConfigDialog::~SpellCheckerConfigDialog()
 void SpellCheckerConfigDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(600, 400));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QStringLiteral("SpellCheckerConfigDialog"));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QStringLiteral("SpellCheckerConfigDialog"), 600, 400);
 }
 
 void SpellCheckerConfigDialog::writeConfig()
diff --git a/src/editor/potentialphishingemail/potentialphishingdetaildialog.cpp b/src/editor/potentialphishingemail/potentialphishingdetaildialog.cpp
index 393e10dba..42ab72eb9 100644
--- a/src/editor/potentialphishingemail/potentialphishingdetaildialog.cpp
+++ b/src/editor/potentialphishingemail/potentialphishingdetaildialog.cpp
@@ -16,7 +16,7 @@
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QWindow>
-
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 using namespace Qt::Literals::StringLiterals;
 namespace
 {
@@ -57,10 +57,7 @@ void PotentialPhishingDetailDialog::fillList(const QStringList &lst)
 void PotentialPhishingDetailDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(800, 600));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myPotentialPhishingDetailDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myPotentialPhishingDetailDialogGroupName), 800, 600);
 }
 
 void PotentialPhishingDetailDialog::writeConfig()
diff --git a/src/searchdialog/incompleteindexdialog.cpp b/src/searchdialog/incompleteindexdialog.cpp
index 09a5e139b..b941014fd 100644
--- a/src/searchdialog/incompleteindexdialog.cpp
+++ b/src/searchdialog/incompleteindexdialog.cpp
@@ -18,6 +18,7 @@
 #include <Akonadi/EntityTreeModel>
 
 #include <PimCommonAkonadi/MailUtil>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 
 #include <KConfigGroup>
 #include <KSharedConfig>
@@ -147,10 +148,7 @@ IncompleteIndexDialog::~IncompleteIndexDialog()
 void IncompleteIndexDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(500, 400));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myIncompleteIndexDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myIncompleteIndexDialogGroupName), 500, 400);
 }
 
 void IncompleteIndexDialog::writeConfig()
diff --git a/src/tag/tagselectdialog.cpp b/src/tag/tagselectdialog.cpp
index df10ef93e..d5943d49e 100644
--- a/src/tag/tagselectdialog.cpp
+++ b/src/tag/tagselectdialog.cpp
@@ -26,6 +26,7 @@
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QWindow>
+#include <TextAddonsWidgets/LoadDialogSizeUtils>
 using namespace Qt::Literals::StringLiterals;
 
 namespace
@@ -84,10 +85,7 @@ TagSelectDialog::~TagSelectDialog()
 void TagSelectDialog::readConfig()
 {
     create(); // ensure a window is created
-    windowHandle()->resize(QSize(500, 300));
-    const KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myTagSelectDialogGroupName));
-    KWindowConfig::restoreWindowSize(windowHandle(), group);
-    resize(windowHandle()->size()); // workaround for QTBUG-40584
+    TextAddonsWidgets::LoadDialogSizeUtils::loadDialogSizeScaled(this, QLatin1StringView(myTagSelectDialogGroupName), 500, 300);
 }
 
 void TagSelectDialog::writeConfig()
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.