Add cycling function hints ability by ALT-UP/DOWN shortcuts

Fix #11950, close #12017
This commit is contained in:
VinsWorldcom 2022-08-15 14:45:40 -04:00 committed by Don Ho
parent 30f027b6a5
commit 851900334c
8 changed files with 29 additions and 1 deletions

View File

@ -356,6 +356,8 @@ The comments are here for explanation, it's not necessary to translate them.
<Item id="50000" name="Function Completion"/> <Item id="50000" name="Function Completion"/>
<Item id="50001" name="Word Completion"/> <Item id="50001" name="Word Completion"/>
<Item id="50002" name="Function Parameters Hint"/> <Item id="50002" name="Function Parameters Hint"/>
<Item id="50010" name="Function Parameters Previous Hint"/>
<Item id="50011" name="Function Parameters Next Hint"/>
<Item id="50005" name="Toggle macro record"/> <Item id="50005" name="Toggle macro record"/>
<Item id="50006" name="Path Completion"/> <Item id="50006" name="Path Completion"/>
<Item id="44042" name="Hide Lines"/> <Item id="44042" name="Hide Lines"/>

View File

@ -4663,6 +4663,16 @@ void Notepad_plus::showFunctionComp()
autoC->showFunctionComplete(); autoC->showFunctionComplete();
} }
void Notepad_plus::showFunctionNextHint(bool isNext)
{
bool isFromPrimary = _pEditView == &_mainEditView;
AutoCompletion* autoC = isFromPrimary ? &_autoCompleteMain : &_autoCompleteSub;
if (isNext)
autoC->callTipClick(2);
else
autoC->callTipClick(1);
}
static generic_string extractSymbol(TCHAR firstChar, TCHAR secondChar, const TCHAR *str2extract) static generic_string extractSymbol(TCHAR firstChar, TCHAR secondChar, const TCHAR *str2extract)
{ {
bool found = false; bool found = false;

View File

@ -563,6 +563,7 @@ private:
void autoCompFromCurrentFile(bool autoInsert = true); void autoCompFromCurrentFile(bool autoInsert = true);
void showFunctionComp(); void showFunctionComp();
void showPathCompletion(); void showPathCompletion();
void showFunctionNextHint(bool isNext = true);
//void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText); //void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText);
void setCodePageForInvisibleView(Buffer const* pBuffer); void setCodePageForInvisibleView(Buffer const* pBuffer);

View File

@ -508,6 +508,8 @@ BEGIN
MENUITEM "Function Completion", IDM_EDIT_AUTOCOMPLETE MENUITEM "Function Completion", IDM_EDIT_AUTOCOMPLETE
MENUITEM "Word Completion", IDM_EDIT_AUTOCOMPLETE_CURRENTFILE MENUITEM "Word Completion", IDM_EDIT_AUTOCOMPLETE_CURRENTFILE
MENUITEM "Function Parameters Hint", IDM_EDIT_FUNCCALLTIP MENUITEM "Function Parameters Hint", IDM_EDIT_FUNCCALLTIP
MENUITEM "Function Parameters Previous Hint", IDM_EDIT_FUNCCALLTIP_PREVIOUS
MENUITEM "Function Parameters Next Hint", IDM_EDIT_FUNCCALLTIP_NEXT
MENUITEM "Path Completion", IDM_EDIT_AUTOCOMPLETE_PATH MENUITEM "Path Completion", IDM_EDIT_AUTOCOMPLETE_PATH
END END
POPUP "&EOL Conversion" POPUP "&EOL Conversion"

View File

@ -3345,6 +3345,14 @@ void Notepad_plus::command(int id)
showFunctionComp(); showFunctionComp();
break; break;
case IDM_EDIT_FUNCCALLTIP_PREVIOUS :
showFunctionNextHint(false);
break;
case IDM_EDIT_FUNCCALLTIP_NEXT :
showFunctionNextHint();
break;
case IDM_LANGSTYLE_CONFIG_DLG : case IDM_LANGSTYLE_CONFIG_DLG :
{ {
if (!(NppParameters::getInstance()).isStylerDocLoaded()) if (!(NppParameters::getInstance()).isStylerDocLoaded())

View File

@ -149,6 +149,8 @@ static const WinMenuKeyDefinition winKeyDefs[] =
{ VK_SPACE, IDM_EDIT_AUTOCOMPLETE_PATH, true, true, false, nullptr }, { VK_SPACE, IDM_EDIT_AUTOCOMPLETE_PATH, true, true, false, nullptr },
{ VK_RETURN, IDM_EDIT_AUTOCOMPLETE_CURRENTFILE, true, false, false, nullptr }, { VK_RETURN, IDM_EDIT_AUTOCOMPLETE_CURRENTFILE, true, false, false, nullptr },
{ VK_SPACE, IDM_EDIT_FUNCCALLTIP, true, false, true, nullptr }, { VK_SPACE, IDM_EDIT_FUNCCALLTIP, true, false, true, nullptr },
{ VK_UP, IDM_EDIT_FUNCCALLTIP_PREVIOUS, false, true, false, nullptr },
{ VK_DOWN, IDM_EDIT_FUNCCALLTIP_NEXT, false, true, false, nullptr },
{ VK_NULL, IDM_EDIT_INSERT_DATETIME_SHORT, false, false, false, nullptr }, { VK_NULL, IDM_EDIT_INSERT_DATETIME_SHORT, false, false, false, nullptr },
{ VK_NULL, IDM_EDIT_INSERT_DATETIME_LONG, false, false, false, nullptr }, { VK_NULL, IDM_EDIT_INSERT_DATETIME_LONG, false, false, false, nullptr },
{ VK_NULL, IDM_EDIT_INSERT_DATETIME_CUSTOMIZED, false, false, false, nullptr }, { VK_NULL, IDM_EDIT_INSERT_DATETIME_CUSTOMIZED, false, false, false, nullptr },

View File

@ -1235,7 +1235,8 @@ CommandShortcut::CommandShortcut(const Shortcut& sc, long id) : Shortcut(sc), _i
_category = TEXT("File"); _category = TEXT("File");
else if ( _id < IDM_SEARCH) else if ( _id < IDM_SEARCH)
_category = TEXT("Edit"); _category = TEXT("Edit");
else if (_id >= IDM_EDIT_AUTOCOMPLETE and _id <= IDM_EDIT_AUTOCOMPLETE_PATH) else if (((_id >= IDM_EDIT_AUTOCOMPLETE) && (_id <= IDM_EDIT_AUTOCOMPLETE_PATH)) ||
((_id >= IDM_EDIT_FUNCCALLTIP_PREVIOUS) && (_id <= IDM_EDIT_FUNCCALLTIP_NEXT)))
_category = TEXT("Edit"); _category = TEXT("Edit");
else if ( _id < IDM_VIEW) else if ( _id < IDM_VIEW)
_category = TEXT("Search"); _category = TEXT("Search");

View File

@ -175,6 +175,8 @@
#define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000 + 1) #define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000 + 1)
#define IDM_EDIT_FUNCCALLTIP (50000 + 2) #define IDM_EDIT_FUNCCALLTIP (50000 + 2)
#define IDM_EDIT_AUTOCOMPLETE_PATH (50000 + 6) #define IDM_EDIT_AUTOCOMPLETE_PATH (50000 + 6)
#define IDM_EDIT_FUNCCALLTIP_PREVIOUS (50000 + 10)
#define IDM_EDIT_FUNCCALLTIP_NEXT (50000 + 11)
#define IDM_SEARCH (IDM + 3000) #define IDM_SEARCH (IDM + 3000)