diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index e37013f95f..54e1fa50b3 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -821,6 +821,7 @@ void KStandardItemListWidget::editedRoleChanged(const QByteArray ¤t, const rect.setWidth(parent->width() - rect.left()); } m_roleEditor->setGeometry(rect.toRect()); + m_roleEditor->autoAdjustSize(); m_roleEditor->show(); m_roleEditor->setFocus(); } diff --git a/src/kitemviews/private/kitemlistroleeditor.cpp b/src/kitemviews/private/kitemlistroleeditor.cpp index f305fadac4..ea03dfa385 100644 --- a/src/kitemviews/private/kitemlistroleeditor.cpp +++ b/src/kitemviews/private/kitemlistroleeditor.cpp @@ -139,6 +139,7 @@ void KItemListRoleEditor::autoAdjustSize() { const qreal frameBorder = 2 * frameWidth(); + document()->adjustSize(); const qreal requiredWidth = document()->size().width(); const qreal availableWidth = size().width() - frameBorder; if (requiredWidth > availableWidth) { diff --git a/src/kitemviews/private/kitemlistroleeditor.h b/src/kitemviews/private/kitemlistroleeditor.h index 18304374d4..eb8a9cb5ed 100644 --- a/src/kitemviews/private/kitemlistroleeditor.h +++ b/src/kitemviews/private/kitemlistroleeditor.h @@ -51,17 +51,17 @@ Q_SIGNALS: void roleEditingFinished(const QByteArray &role, const QVariant &value); void roleEditingCanceled(const QByteArray &role, const QVariant &value); -protected: - bool event(QEvent *event) override; - void keyPressEvent(QKeyEvent *event) override; - -private Q_SLOTS: +public Q_SLOTS: /** * Increases the size of the editor in case if there is not * enough room for the text. */ void autoAdjustSize(); +protected: + bool event(QEvent *event) override; + void keyPressEvent(QKeyEvent *event) override; + private: /** * Emits the signal roleEditingFinished if m_blockFinishedSignal