diff --git a/src/widgets/conflictresolvedialog.cpp b/src/widgets/conflictresolvedialog.cpp --- a/src/widgets/conflictresolvedialog.cpp +++ b/src/widgets/conflictresolvedialog.cpp @@ -28,11 +28,14 @@ #include #include #include +#include +#include #include #include #include #include +#include using namespace Akonadi; @@ -217,6 +220,18 @@ mainLayout->addWidget(mView); mainLayout->addWidget(buttonBox); + // default size is tiny, and there's usually lots of text, so make it much bigger + create(); // ensure a window is created + const QSize availableSize = windowHandle()->screen()->availableSize(); + windowHandle()->resize(availableSize.width() * 0.7, availableSize.height() * 0.5); + KWindowConfig::restoreWindowSize(windowHandle(), KSharedConfig::openConfig()->group("ConflictResolveDialog")); + resize(windowHandle()->size()); // workaround for QTBUG-40584 +} + +ConflictResolveDialog::~ConflictResolveDialog() +{ + KConfigGroup group(KSharedConfig::openConfig()->group("ConflictResolveDialog")); + KWindowConfig::saveWindowSize(windowHandle(), group); } void ConflictResolveDialog::setConflictingItems(const Akonadi::Item &localItem, const Akonadi::Item &otherItem) diff --git a/src/widgets/conflictresolvedialog_p.h b/src/widgets/conflictresolvedialog_p.h --- a/src/widgets/conflictresolvedialog_p.h +++ b/src/widgets/conflictresolvedialog_p.h @@ -47,6 +47,8 @@ */ explicit ConflictResolveDialog(QWidget *parent = nullptr); + ~ConflictResolveDialog(); + /** * Sets the items that causes the conflict. *