| 649 | } |
| 650 | |
| 651 | void QCodeEditor::setCompleter(QCompleter *completer) |
| 652 | { |
| 653 | if (m_completer) |
| 654 | { |
| 655 | disconnect(m_completer, nullptr, this, nullptr); |
| 656 | } |
| 657 | |
| 658 | m_completer = completer; |
| 659 | |
| 660 | if (!m_completer) |
| 661 | { |
| 662 | return; |
| 663 | } |
| 664 | |
| 665 | m_completer->setWidget(this); |
| 666 | m_completer->setCompletionMode(QCompleter::CompletionMode::PopupCompletion); |
| 667 | |
| 668 | // Match the editor's monospace font and colors so the popup looks native |
| 669 | if (m_completer->popup()) |
| 670 | { |
| 671 | m_completer->popup()->setFont(font()); |
| 672 | m_completer->popup()->setPalette(palette()); |
| 673 | } |
| 674 | |
| 675 | connect(m_completer, QOverload<const QString &>::of(&QCompleter::activated), |
| 676 | this, &QCodeEditor::insertCompletion); |
| 677 | } |
| 678 | |
| 679 | void QCodeEditor::focusInEvent(QFocusEvent *e) |
| 680 | { |
no test coverage detected