Skip to content

Commit b56149a

Browse files
sync: from linuxdeepin/dtkwidget
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#697
1 parent 516ed21 commit b56149a

File tree

1 file changed

+4
-17
lines changed

1 file changed

+4
-17
lines changed

src/widgets/ddialog.cpp

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,10 @@ void DDialogPrivate::updateSize()
218218
if (!q->testAttribute(Qt::WA_Resized)) {
219219
QSize size = q->sizeHint();
220220

221-
size.setWidth(qMax(size.width(), DIALOG::DEFAULT_WIDTH));
221+
size.setWidth(qMin(q->maximumWidth(), qMax(size.width(), DIALOG::DEFAULT_WIDTH)));
222+
if (auto layout = q->layout()) {
223+
size.setHeight(layout->totalHeightForWidth(size.width()));
224+
}
222225
size.setHeight(qMax(size.height(), DIALOG::DEFAULT_HEIGHT));
223226

224227
q->resize(size);
@@ -1191,22 +1194,6 @@ void DDialog::keyPressEvent(QKeyEvent *event)
11911194

11921195
bool DDialog::eventFilter(QObject *watched, QEvent *event)
11931196
{
1194-
Q_D(DDialog);
1195-
1196-
if (watched == d->messageLabel || watched == d->titleLabel) {
1197-
if (event->type() == QEvent::FontChange) {
1198-
QLabel *label = qobject_cast<QLabel *>(watched);
1199-
1200-
if (label && !label->text().isEmpty() && label->wordWrap()) {
1201-
QSize sz = style()->itemTextRect(label->fontMetrics(), label->rect(), Qt::TextWordWrap, false, label->text()).size();
1202-
1203-
label->setMinimumHeight(qMax(sz.height(), label->sizeHint().height()));
1204-
}
1205-
}
1206-
1207-
return false;
1208-
}
1209-
12101197
return DAbstractDialog::eventFilter(watched, event);
12111198
}
12121199

0 commit comments

Comments
 (0)