From e3f30f12b51ba5cc84a469524c658817380b42de Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 22 Oct 2008 18:57:11 +0000 Subject: [PATCH] Improved navigator ergonomics git-svn-id: svn://ultimatepp.org/upp/trunk@563 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/Assist.cpp | 10 +++++- uppsrc/ide/Browser/Browser.h | 4 +++ uppsrc/ide/Browser/Browser.iml | 50 ++++++++++++++++++------------ uppsrc/ide/Browser/CodeBrowser.cpp | 22 +++++++++++-- uppsrc/ide/Navigator.cpp | 10 ++++-- 5 files changed, 70 insertions(+), 26 deletions(-) diff --git a/uppsrc/ide/Assist.cpp b/uppsrc/ide/Assist.cpp index deaf509e6..47cf960bf 100644 --- a/uppsrc/ide/Assist.cpp +++ b/uppsrc/ide/Assist.cpp @@ -62,6 +62,7 @@ AssistEditor::AssistEditor() browser.item.NoWantFocus(); browser.item.WhenLeftClick = browser.item.WhenLeftDouble = THISBACK(BrowserGoto); browser.WhenKeyItem = THISBACK(BrowserGotoNF); + browser.WhenClear = THISBACK(SyncCursor); browser.NameStart(); navigator = NAV_BROWSER; @@ -535,8 +536,15 @@ bool AssistEditor::Key(dword key, int count) else if(auto_assist && InCode()) { if(key == '.' || key == '>' && Ch(GetCursor() - 2) == '-' || - key == ':' && Ch(GetCursor() - 2) == ':' || key == '(') + key == ':' && Ch(GetCursor() - 2) == ':') Assist(); + else + if(key == '(') { + int q = GetCursor() - 1; + String id = IdBack(q); + if(id == "THISBACK") + Assist(); + } } if(key == ',') { if(Ch(GetCursor()) == 184) { diff --git a/uppsrc/ide/Browser/Browser.h b/uppsrc/ide/Browser/Browser.h index 6543300e2..2e574bec7 100644 --- a/uppsrc/ide/Browser/Browser.h +++ b/uppsrc/ide/Browser/Browser.h @@ -117,7 +117,9 @@ public: EditString search_scope; EditString search_item; EditString search; + FrameRight