From 3ae5ad8ede5e71b19df8d86e0555cf800019334c Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Tue, 22 Apr 2008 22:00:38 +0200 Subject: [PATCH] winhelp: Enable/Disable prev/next buttons if there's a prev/next page. --- programs/winhelp/macro.c | 7 +++++++ programs/winhelp/winhelp.c | 22 +++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/programs/winhelp/macro.c b/programs/winhelp/macro.c index 2ff1ad27e78..2c38b0164a7 100644 --- a/programs/winhelp/macro.c +++ b/programs/winhelp/macro.c @@ -245,10 +245,17 @@ void CALLBACK MACRO_BookmarkMore(void) void CALLBACK MACRO_BrowseButtons(void) { + HLPFILE_PAGE* page = Globals.active_win->page; + WINE_TRACE("()\n"); MACRO_CreateButton("BTN_PREV", "&<<", "Prev()"); MACRO_CreateButton("BTN_NEXT", "&>>", "Next()"); + + if (!HLPFILE_PageByOffset(page->file, page->browse_bwd)) + MACRO_DisableButton("BTN_PREV"); + if (!HLPFILE_PageByOffset(page->file, page->browse_fwd)) + MACRO_DisableButton("BTN_NEXT"); } void CALLBACK MACRO_ChangeButtonBinding(LPCSTR id, LPCSTR macro) diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c index 13507d9ac1d..0801cd68374 100644 --- a/programs/winhelp/winhelp.c +++ b/programs/winhelp/winhelp.c @@ -614,17 +614,6 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe MACRO_CreateButton("BTN_TOPICS", buffer, "Finder()"); } - /* Initialize file specific pushbuttons */ - if (!(wpage->wininfo->win_style & WS_POPUP) && wpage->page) - { - HLPFILE_MACRO *macro; - for (macro = wpage->page->file->first_macro; macro; macro = macro->next) - MACRO_ExecuteMacro(macro->lpszMacro); - - for (macro = wpage->page->first_macro; macro; macro = macro->next) - MACRO_ExecuteMacro(macro->lpszMacro); - } - if (!bReUsed) { win->hMainWnd = CreateWindowEx((bPopup) ? WS_EX_TOOLWINDOW : 0, MAIN_WIN_CLASS_NAME, @@ -644,6 +633,17 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe 0, 0, 0, 0, win->hMainWnd, (HMENU)CTL_ID_TEXT, Globals.hInstance, win); } + /* Initialize file specific pushbuttons */ + if (!(wpage->wininfo->win_style & WS_POPUP) && wpage->page) + { + HLPFILE_MACRO *macro; + for (macro = wpage->page->file->first_macro; macro; macro = macro->next) + MACRO_ExecuteMacro(macro->lpszMacro); + + for (macro = wpage->page->first_macro; macro; macro = macro->next) + MACRO_ExecuteMacro(macro->lpszMacro); + } + WINHELP_LayoutMainWindow(win); if (bPopup) Globals.hPopupWnd = win->hMainWnd;