From 5d24a5594f8597a99ddb21bfeedc973d3205bb93 Mon Sep 17 00:00:00 2001 From: sysadmin Date: Wed, 4 Feb 2026 09:10:48 -0700 Subject: [PATCH] Type picker: skip I-beam cursor, set arrow on popup --- src/editor.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/editor.cpp b/src/editor.cpp index 61985da..ebad48e 100644 --- a/src/editor.cpp +++ b/src/editor.cpp @@ -993,12 +993,14 @@ bool RcxEditor::beginInlineEdit(EditTarget target, int line) { m_sci->SendScintilla(QsciScintillaBase::SCI_SETUNDOCOLLECTION, (long)0); m_sci->SendScintilla(QsciScintillaBase::SCI_SETCARETWIDTH, 1); m_sci->setReadOnly(false); - // Switch to I-beam for editing - if (m_cursorOverridden) { - QApplication::changeOverrideCursor(Qt::IBeamCursor); - } else { - QApplication::setOverrideCursor(Qt::IBeamCursor); - m_cursorOverridden = true; + // Switch to I-beam for editing (skip for Type which uses dropdown picker) + if (target != EditTarget::Type) { + if (m_cursorOverridden) { + QApplication::changeOverrideCursor(Qt::IBeamCursor); + } else { + QApplication::setOverrideCursor(Qt::IBeamCursor); + m_cursorOverridden = true; + } } // Re-enable selection rendering for inline edit @@ -1141,6 +1143,16 @@ void RcxEditor::showTypeListFiltered(const QString& filter) { m_sci->SendScintilla(QsciScintillaBase::SCI_AUTOCSETSEPARATOR, (long)' '); m_sci->SendScintilla(QsciScintillaBase::SCI_USERLISTSHOW, (uintptr_t)1, list.constData()); + + // Set arrow cursor on the autocomplete popup (it defaults to pointing hand) + for (QObject* child : m_sci->children()) { + if (auto* w = qobject_cast(child)) { + if (w->isVisible() && w->windowFlags() & Qt::Popup) { + w->setCursor(Qt::ArrowCursor); + break; + } + } + } } void RcxEditor::updateTypeListFilter() {