mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
Type picker refactor: use SCI_USERLISTSHOW, fix coordinate handling
- Switch type picker from SCI_AUTOCSHOW to SCI_USERLISTSHOW for proper
signal handling (userListActivated now fires correctly)
- Fix coordinate system mixing by using posFromCol() consistently
- Skip 0x prefix in value/base address edit selection
- Dynamic hint positioning: 2 spaces after value with // prefix
- Clearer validation errors ("too large! max=0x..." instead of "max")
- Green colored hint text using IND_BASE_ADDR indicator
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,7 @@ private:
|
||||
bool m_cursorOverridden = false;
|
||||
uint64_t m_hoveredNodeId = 0;
|
||||
QSet<uint64_t> m_currentSelIds;
|
||||
int m_hoverSpanLine = -1; // Line with hover span indicator
|
||||
// ── Drag selection ──
|
||||
bool m_dragging = false;
|
||||
bool m_dragStarted = false; // true once drag threshold exceeded
|
||||
@@ -87,6 +88,8 @@ private:
|
||||
int spanStart = 0;
|
||||
int linelenAfterReplace = 0;
|
||||
QString original;
|
||||
long posStart = 0; // Scintilla position of edit start
|
||||
long posEnd = 0; // Scintilla position of edit end
|
||||
NodeKind editKind = NodeKind::Int32;
|
||||
int commentCol = -1; // fixed comment column (stored at edit start)
|
||||
bool lastValidationOk = true; // track state to avoid redundant updates
|
||||
@@ -104,12 +107,15 @@ private:
|
||||
void applyMarkers(const QVector<LineMeta>& meta);
|
||||
void applyFoldLevels(const QVector<LineMeta>& meta);
|
||||
void applyHexDimming(const QVector<LineMeta>& meta);
|
||||
void applyBaseAddressColoring(const QVector<LineMeta>& meta);
|
||||
|
||||
void commitInlineEdit();
|
||||
int editEndCol() const;
|
||||
bool handleNormalKey(QKeyEvent* ke);
|
||||
bool handleEditKey(QKeyEvent* ke);
|
||||
void showTypeAutocomplete();
|
||||
void showTypeListFiltered(const QString& filter);
|
||||
void updateTypeListFilter();
|
||||
void paintEditableSpans(int line);
|
||||
void updateEditableIndicators(int line);
|
||||
void applyHoverCursor();
|
||||
|
||||
Reference in New Issue
Block a user