fix QCodeEdit completer size

This commit is contained in:
2020-09-10 16:20:15 +03:00
parent afcaf063d3
commit 0017c8d036

View File

@@ -68,7 +68,7 @@ QCodeEdit::QCodeEdit(QWidget * parent): QWidget(parent) {
setResizeMode setResizeMode
#endif #endif
(QHeaderView::ResizeToContents); (QHeaderView::ResizeToContents);
completer->header()->setStretchLastSection(true); // completer->header()->setStretchLastSection(true);
ui->textCode->setCursorWidth(qMax<int>(qRound(fontHeight() / 10.), 1)); ui->textCode->setCursorWidth(qMax<int>(qRound(fontHeight() / 10.), 1));
ui->textLines->viewport()->setAutoFillBackground(false); ui->textLines->viewport()->setAutoFillBackground(false);
@@ -1298,9 +1298,14 @@ void QCodeEdit::invokeAutoCompletition(bool force) {
completer->move(ui->textCode->mapToGlobal(ui->textCode->cursorRect().bottomRight())); completer->move(ui->textCode->mapToGlobal(ui->textCode->cursorRect().bottomRight()));
if (completer->topLevelItemCount() > 0) { if (completer->topLevelItemCount() > 0) {
completer->setVisible(true); completer->setVisible(true);
int sz = completer->verticalScrollBar()->isVisible() ? completer->verticalScrollBar()->width() : 0; //qApp->processEvents();
for (int i = 0; i < completer->header()->count(); ++i) int sz = completer->verticalScrollBar()->width();
sz += ((QAbstractItemView*)completer)->sizeHintForColumn(i); sz += completer->sizeHint().width();
// int sz = ((QAbstractItemView*)completer)->viewport()->width();
// for (int i = 0; i < completer->header()->count(); ++i) {
// completer->resizeColumnToContents(i);
// sz += completer->columnWidth(i);
// }
completer->resize(sz, fontHeight() * 16); completer->resize(sz, fontHeight() * 16);
} else } else
completer->hide(); completer->hide();