qcodeedit fix incorrect completer position

This commit is contained in:
2025-06-26 17:43:02 +03:00
parent d403d0a242
commit 0f13cf5196

View File

@@ -4,6 +4,7 @@
#include <QHeaderView> #include <QHeaderView>
#include <QKeyEvent> #include <QKeyEvent>
#include <QScreen>
QCodeEditCompleter::QCodeEditCompleter(QWidget * parent): QTreeWidget(parent) { QCodeEditCompleter::QCodeEditCompleter(QWidget * parent): QTreeWidget(parent) {
@@ -79,8 +80,13 @@ void QCodeEditCompleter::invoke(QPoint global_pos) {
setCurrentItem(topLevelItem(1)); setCurrentItem(topLevelItem(1));
if (isHidden()) move(global_pos); if (isHidden()) move(global_pos);
if (topLevelItemCount() > 0) { if (topLevelItemCount() > 0) {
const auto screen = qApp->screenAt(global_pos);
setVisible(true); setVisible(true);
adjust(); adjust();
if (global_pos.y() + height() > screen->availableSize().height()) {
global_pos.setY(global_pos.y() -height() - fontHeight(this));
}
move(global_pos);
} else { } else {
hide(); hide();
} }