0001-windows-Add-menu-bars-to-the-hotlist-cookies-and-glo.patch (17,634 bytes)
2022-02-18 22:27
From 275a3c04db4638e98ba0b7f22c096bb0d87b0eb7 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <ccawley2011@gmail.com>
Date: Fri, 18 Feb 2022 22:17:45 +0000
Subject: [PATCH] windows: Add menu bars to the hotlist, cookies and global
history windows
---
frontends/windows/cookies.c | 56 +++++++++++++++++
frontends/windows/corewindow.c | 22 ++++++-
frontends/windows/corewindow.h | 16 ++++-
frontends/windows/global_history.c | 87 ++++++++++++++++++++++++++
frontends/windows/hotlist.c | 88 ++++++++++++++++++++++++++
frontends/windows/res/resource.rc | 99 ++++++++++++++++++++++++++++++
frontends/windows/resourceid.h | 42 +++++++++++++
7 files changed, 408 insertions(+), 2 deletions(-)
diff --git a/frontends/windows/cookies.c b/frontends/windows/cookies.c
index ee754bc3f..54b8314c6 100644
--- a/frontends/windows/cookies.c
+++ b/frontends/windows/cookies.c
@@ -35,6 +35,7 @@
#include "windows/corewindow.h"
#include "windows/cookies.h"
#include "windows/gui.h"
+#include "windows/resourceid.h"
struct nsw32_cookie_window {
@@ -43,6 +44,59 @@ struct nsw32_cookie_window {
static struct nsw32_cookie_window *cookie_window = NULL;
+/**
+ * callback for menu selection in cookie window
+ *
+ * \param nsw32_cw The nsw32 core window structure.
+ * \param nskey The netsurf key code
+ * \return NSERROR_OK on success otherwise apropriate error code
+ */
+static nserror
+nsw32_cookie_command(struct nsw32_corewindow *nsw32_cw, int identifier)
+{
+ switch (identifier) {
+ case IDM_COOKIES_EDIT_DELETE_SELECTED:
+ cookie_manager_keypress(NS_KEY_DELETE_LEFT);
+ break;
+ case IDM_COOKIES_EDIT_DELETE_ALL:
+ cookie_manager_keypress(NS_KEY_ESCAPE);
+ cookie_manager_keypress(NS_KEY_ESCAPE);
+ cookie_manager_keypress(NS_KEY_SELECT_ALL);
+ cookie_manager_keypress(NS_KEY_DELETE_LEFT);
+ break;
+ case IDM_COOKIES_EDIT_SELECT_ALL:
+ cookie_manager_keypress(NS_KEY_ESCAPE);
+ cookie_manager_keypress(NS_KEY_ESCAPE);
+ cookie_manager_keypress(NS_KEY_SELECT_ALL);
+ break;
+ case IDM_COOKIES_EDIT_CLEAR_SELECTION:
+ cookie_manager_keypress(NS_KEY_CLEAR_SELECTION);
+ break;
+ case IDM_COOKIES_VIEW_EXPAND_ALL:
+ cookie_manager_expand(false);
+ break;
+ case IDM_COOKIES_VIEW_EXPAND_DOMAINS:
+ cookie_manager_expand(true);
+ break;
+ case IDM_COOKIES_VIEW_EXPAND_COOKIES:
+ cookie_manager_expand(false);
+ break;
+ case IDM_COOKIES_VIEW_COLLAPSE_ALL:
+ cookie_manager_contract(true);
+ break;
+ case IDM_COOKIES_VIEW_COLLAPSE_DOMAINS:
+ cookie_manager_contract(true);
+ break;
+ case IDM_COOKIES_VIEW_COLLAPSE_COOKIES:
+ cookie_manager_contract(false);
+ break;
+ default:
+ return NSERROR_NOT_IMPLEMENTED;
+ }
+
+ return NSERROR_OK;
+}
+
/**
* callback for keypress on cookie window
*
@@ -143,7 +197,9 @@ static nserror nsw32_cookie_init(HINSTANCE hInstance)
}
ncwin->core.title = "NetSurf Cookies";
+ ncwin->core.menu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_COOKIES));
ncwin->core.draw = nsw32_cookie_draw;
+ ncwin->core.command = nsw32_cookie_command;
ncwin->core.key = nsw32_cookie_key;
ncwin->core.mouse = nsw32_cookie_mouse;
ncwin->core.close = nsw32_cookie_close;
diff --git a/frontends/windows/corewindow.c b/frontends/windows/corewindow.c
index 7d6dc69b0..9a26efb43 100644
--- a/frontends/windows/corewindow.c
+++ b/frontends/windows/corewindow.c
@@ -147,6 +147,20 @@ nsw32_corewindow_paint(struct nsw32_corewindow *nsw32_cw, HWND hwnd)
return 0;
}
+static LRESULT
+nsw32_corewindow_command(struct nsw32_corewindow *nsw32_cw,
+ HWND hwnd,
+ WPARAM wparam,
+ LPARAM lparam)
+{
+ if (!nsw32_cw->command)
+ return 1;
+
+ nsw32_cw->command(nsw32_cw, LOWORD(wparam));
+
+ return 0; /* control message handled */
+}
+
static LRESULT
nsw32_corewindow_vscroll(struct nsw32_corewindow *nsw32_cw,
HWND hwnd,
@@ -353,6 +367,12 @@ nsw32_window_corewindow_event_callback(HWND hwnd,
case WM_PAINT: /* redraw the exposed part of the window */
return nsw32_corewindow_paint(nsw32_cw, hwnd);
+ case WM_COMMAND:
+ if (nsw32_corewindow_command(nsw32_cw, hwnd, wparam, lparam) == 0) {
+ return 0;
+ }
+ break;
+
case WM_SIZE:
update_scrollbars(nsw32_cw);
break;
@@ -551,7 +571,7 @@ nsw32_corewindow_init(HINSTANCE hInstance,
500,
400,
hWndParent,
- NULL,
+ nsw32_cw->menu,
hInstance,
NULL);
if (nsw32_cw->hWnd == NULL) {
diff --git a/frontends/windows/corewindow.h b/frontends/windows/corewindow.h
index cffae3cbd..b91787a85 100644
--- a/frontends/windows/corewindow.h
+++ b/frontends/windows/corewindow.h
@@ -36,7 +36,10 @@ struct nsw32_corewindow {
/** window title */
const char *title;
-
+
+ /** window menu */
+ HMENU menu;
+
/** drag status set by core */
core_window_drag_status drag_status;
@@ -52,6 +55,17 @@ struct nsw32_corewindow {
*/
nserror (*draw)(struct nsw32_corewindow *nsw32_cw, int scrollx, int scrolly, struct rect *r);
+ /**
+ * callback for menu selection in nsw32 core window
+ *
+ * \param nsw32_cw The nsw32 core window structure.
+ * \param nskey The netsurf key code.
+ * \return NSERROR_OK if key processed,
+ * NSERROR_NOT_IMPLEMENTED if command not processed
+ * otherwise apropriate error code
+ */
+ nserror (*command)(struct nsw32_corewindow *nsw32_cw, int identifier);
+
/**
* callback for keypress on nsw32 core window
*
diff --git a/frontends/windows/global_history.c b/frontends/windows/global_history.c
index dcc75ba21..c26fad3b8 100644
--- a/frontends/windows/global_history.c
+++ b/frontends/windows/global_history.c
@@ -34,6 +34,7 @@
#include "windows/plot.h"
#include "windows/corewindow.h"
#include "windows/global_history.h"
+#include "windows/resourceid.h"
struct nsw32_global_history_window {
@@ -42,6 +43,90 @@ struct nsw32_global_history_window {
static struct nsw32_global_history_window *global_history_window = NULL;
+/**
+ * callback for menu selection in global history window
+ *
+ * \param nsw32_cw The nsw32 core window structure.
+ * \param nskey The netsurf key code
+ * \return NSERROR_OK on success otherwise apropriate error code
+ */
+static nserror
+nsw32_global_history_command(struct nsw32_corewindow *nsw32_cw, int identifier)
+{
+ switch (identifier) {
+ case IDM_GLOBAL_HISTORY_FILE_EXPORT:
+ {
+ OPENFILENAMEA ofn;
+ char filename[260];
+
+ memset(&ofn, 0, sizeof(ofn));
+ ofn.lStructSize = sizeof(ofn);
+ ofn.hwndOwner = nsw32_cw->hWnd;
+ ofn.lpstrFile = filename;
+ ofn.lpstrFile[0] = 0;
+ ofn.nMaxFile = sizeof(filename);
+ ofn.lpstrFilter = "HTML document (*.html)\0*.html\0";
+ ofn.nFilterIndex = 1;
+ ofn.lpstrFileTitle = NULL;
+ ofn.nMaxFileTitle = 0;
+ ofn.Flags = OFN_PATHMUSTEXIST;
+ ofn.lpstrDefExt = "html";
+
+ strncat(ofn.lpstrFile, "history.html", ofn.nMaxFile);
+
+ if (GetSaveFileNameA(&ofn)) {
+ global_history_export(ofn.lpstrFile, NULL);
+ }
+
+ break;
+ }
+ case IDM_GLOBAL_HISTORY_EDIT_DELETE_SELECTED:
+ global_history_keypress(NS_KEY_DELETE_LEFT);
+ break;
+ case IDM_GLOBAL_HISTORY_EDIT_DELETE_ALL:
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_SELECT_ALL);
+ global_history_keypress(NS_KEY_DELETE_LEFT);
+ break;
+ case IDM_GLOBAL_HISTORY_EDIT_SELECT_ALL:
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_SELECT_ALL);
+ break;
+ case IDM_GLOBAL_HISTORY_EDIT_CLEAR_SELECTION:
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_ESCAPE);
+ global_history_keypress(NS_KEY_CLEAR_SELECTION);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_EXPAND_ALL:
+ global_history_expand(false);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_EXPAND_DIRECTORIES:
+ global_history_expand(true);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_EXPAND_ADDRESSES:
+ global_history_expand(false);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ALL:
+ global_history_contract(true);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_DIRECTORIES:
+ global_history_contract(true);
+ break;
+ case IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ADDRESSES:
+ global_history_contract(false);
+ break;
+ case IDM_GLOBAL_HISTORY_LAUNCH:
+ global_history_keypress(NS_KEY_CR);
+ break;
+ default:
+ return NSERROR_NOT_IMPLEMENTED;
+ }
+
+ return NSERROR_OK;
+}
+
/**
* callback for keypress on global_history window
*
@@ -132,7 +217,9 @@ static nserror nsw32_global_history_init(HINSTANCE hInstance)
}
ncwin->core.title = "NetSurf Global History";
+ ncwin->core.menu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_GLOBAL_HISTORY));
ncwin->core.draw = nsw32_global_history_draw;
+ ncwin->core.command = nsw32_global_history_command;
ncwin->core.key = nsw32_global_history_key;
ncwin->core.mouse = nsw32_global_history_mouse;
ncwin->core.close = nsw32_global_history_close;
diff --git a/frontends/windows/hotlist.c b/frontends/windows/hotlist.c
index e8dd90b34..d4e82074d 100644
--- a/frontends/windows/hotlist.c
+++ b/frontends/windows/hotlist.c
@@ -34,6 +34,7 @@
#include "windows/plot.h"
#include "windows/corewindow.h"
#include "windows/hotlist.h"
+#include "windows/resourceid.h"
/**
@@ -46,6 +47,91 @@ struct nsw32_hotlist_window {
/** hotlist window singleton */
static struct nsw32_hotlist_window *hotlist_window = NULL;
+/**
+ * callback for menu selection in hotlist window
+ *
+ * \param nsw32_cw The nsw32 core window structure.
+ * \param nskey The netsurf key code
+ * \return NSERROR_OK on success otherwise apropriate error code
+ */
+static nserror
+nsw32_hotlist_command(struct nsw32_corewindow *nsw32_cw, int identifier)
+{
+ switch (identifier) {
+ case IDM_HOTLIST_FILE_EXPORT:
+ {
+ OPENFILENAMEA ofn;
+ char filename[260];
+
+ memset(&ofn, 0, sizeof(ofn));
+ ofn.lStructSize = sizeof(ofn);
+ ofn.hwndOwner = nsw32_cw->hWnd;
+ ofn.lpstrFile = filename;
+ ofn.lpstrFile[0] = 0;
+ ofn.nMaxFile = sizeof(filename);
+ ofn.lpstrFilter = "HTML document (*.html)\0*.html\0";
+ ofn.nFilterIndex = 1;
+ ofn.lpstrFileTitle = NULL;
+ ofn.nMaxFileTitle = 0;
+ ofn.Flags = OFN_PATHMUSTEXIST;
+ ofn.lpstrDefExt = "html";
+
+ strncat(ofn.lpstrFile, "hotlist.html", ofn.nMaxFile);
+
+ if (GetSaveFileNameA(&ofn)) {
+ hotlist_export(ofn.lpstrFile, NULL);
+ }
+
+ break;
+ }
+ case IDM_HOTLIST_FILE_NEW_FOLDER:
+ hotlist_add_folder(NULL, false, 0);
+ break;
+ case IDM_HOTLIST_FILE_NEW_ENTRY:
+ hotlist_add_entry(NULL, NULL, false, 0);
+ break;
+ case IDM_HOTLIST_EDIT_EDIT:
+ hotlist_edit_selection();
+ break;
+ case IDM_HOTLIST_EDIT_DELETE:
+ hotlist_keypress(NS_KEY_DELETE_LEFT);
+ break;
+ case IDM_HOTLIST_EDIT_SELECT_ALL:
+ hotlist_keypress(NS_KEY_ESCAPE);
+ hotlist_keypress(NS_KEY_ESCAPE);
+ hotlist_keypress(NS_KEY_SELECT_ALL);
+ break;
+ case IDM_HOTLIST_EDIT_CLEAR_SELECTION:
+ hotlist_keypress(NS_KEY_CLEAR_SELECTION);
+ break;
+ case IDM_HOTLIST_VIEW_EXPAND_ALL:
+ hotlist_expand(false);
+ break;
+ case IDM_HOTLIST_VIEW_EXPAND_DIRECTORIES:
+ hotlist_expand(true);
+ break;
+ case IDM_HOTLIST_VIEW_EXPAND_ADDRESSES:
+ hotlist_expand(false);
+ break;
+ case IDM_HOTLIST_VIEW_COLLAPSE_ALL:
+ hotlist_contract(true);
+ break;
+ case IDM_HOTLIST_VIEW_COLLAPSE_DIRECTORIES:
+ hotlist_contract(true);
+ break;
+ case IDM_HOTLIST_VIEW_COLLAPSE_ADDRESSES:
+ hotlist_contract(false);
+ break;
+ case IDM_HOTLIST_LAUNCH:
+ hotlist_keypress(NS_KEY_CR);
+ break;
+ default:
+ return NSERROR_NOT_IMPLEMENTED;
+ }
+
+ return NSERROR_OK;
+}
+
/**
* callback for keypress on hotlist window
*
@@ -136,7 +222,9 @@ static nserror nsw32_hotlist_init(HINSTANCE hInstance)
}
ncwin->core.title = "NetSurf Bookmarks";
+ ncwin->core.menu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_HOTLIST));
ncwin->core.draw = nsw32_hotlist_draw;
+ ncwin->core.command = nsw32_hotlist_command;
ncwin->core.key = nsw32_hotlist_key;
ncwin->core.mouse = nsw32_hotlist_mouse;
ncwin->core.close = nsw32_hotlist_close;
diff --git a/frontends/windows/res/resource.rc b/frontends/windows/res/resource.rc
index 9e9927b0c..d6cf87590 100644
--- a/frontends/windows/res/resource.rc
+++ b/frontends/windows/res/resource.rc
@@ -162,6 +162,105 @@ IDR_MENU_MAIN MENU
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDR_MENU_HOTLIST MENU
+{
+ POPUP "&File"
+ {
+ MENUITEM "Export", IDM_HOTLIST_FILE_EXPORT
+ MENUITEM "New folder", IDM_HOTLIST_FILE_NEW_FOLDER
+ MENUITEM "New entry", IDM_HOTLIST_FILE_NEW_ENTRY
+ }
+ POPUP "&Edit"
+ {
+ MENUITEM "Edit", IDM_HOTLIST_EDIT_EDIT
+ MENUITEM "Delete", IDM_HOTLIST_EDIT_DELETE
+ MENUITEM "Select all", IDM_HOTLIST_EDIT_SELECT_ALL
+ MENUITEM "Clear selection", IDM_HOTLIST_EDIT_CLEAR_SELECTION
+ }
+ POPUP "&View"
+ {
+ POPUP "Expand"
+ {
+ MENUITEM "All", IDM_HOTLIST_VIEW_EXPAND_ALL
+ MENUITEM "Directories", IDM_HOTLIST_VIEW_EXPAND_DIRECTORIES
+ MENUITEM "Addresses", IDM_HOTLIST_VIEW_EXPAND_ADDRESSES
+ }
+ POPUP "Collapse"
+ {
+ MENUITEM "All", IDM_HOTLIST_VIEW_COLLAPSE_ALL
+ MENUITEM "Directories", IDM_HOTLIST_VIEW_COLLAPSE_DIRECTORIES
+ MENUITEM "Addresses", IDM_HOTLIST_VIEW_COLLAPSE_ADDRESSES
+ }
+ }
+ MENUITEM "&Launch", IDM_HOTLIST_LAUNCH
+}
+
+
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDR_MENU_COOKIES MENU
+{
+ POPUP "&Edit"
+ {
+ MENUITEM "Delete", IDM_COOKIES_EDIT_DELETE_SELECTED
+ MENUITEM "Delete all", IDM_COOKIES_EDIT_DELETE_ALL
+ MENUITEM "Select all", IDM_COOKIES_EDIT_SELECT_ALL
+ MENUITEM "Clear selection", IDM_COOKIES_EDIT_CLEAR_SELECTION
+ }
+ POPUP "&View"
+ {
+ POPUP "Expand"
+ {
+ MENUITEM "All", IDM_COOKIES_VIEW_EXPAND_ALL
+ MENUITEM "Domains", IDM_COOKIES_VIEW_EXPAND_DOMAINS
+ MENUITEM "Cookies", IDM_COOKIES_VIEW_EXPAND_COOKIES
+ }
+ POPUP "Collapse"
+ {
+ MENUITEM "All", IDM_COOKIES_VIEW_COLLAPSE_ALL
+ MENUITEM "Domains", IDM_COOKIES_VIEW_COLLAPSE_DOMAINS
+ MENUITEM "Cookies", IDM_COOKIES_VIEW_COLLAPSE_COOKIES
+ }
+ }
+}
+
+
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDR_MENU_GLOBAL_HISTORY MENU
+{
+ POPUP "&File"
+ {
+ MENUITEM "Export", IDM_GLOBAL_HISTORY_FILE_EXPORT
+ }
+ POPUP "&Edit"
+ {
+ MENUITEM "Delete", IDM_GLOBAL_HISTORY_EDIT_DELETE_SELECTED
+ MENUITEM "Delete all", IDM_GLOBAL_HISTORY_EDIT_DELETE_ALL
+ MENUITEM "Select all", IDM_GLOBAL_HISTORY_EDIT_SELECT_ALL
+ MENUITEM "Clear selection", IDM_GLOBAL_HISTORY_EDIT_CLEAR_SELECTION
+ }
+ POPUP "&View"
+ {
+ POPUP "Expand"
+ {
+ MENUITEM "All", IDM_GLOBAL_HISTORY_VIEW_EXPAND_ALL
+ MENUITEM "Directories", IDM_GLOBAL_HISTORY_VIEW_EXPAND_DIRECTORIES
+ MENUITEM "Addresses", IDM_GLOBAL_HISTORY_VIEW_EXPAND_ADDRESSES
+ }
+ POPUP "Collapse"
+ {
+ MENUITEM "All", IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ALL
+ MENUITEM "Directories", IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_DIRECTORIES
+ MENUITEM "Addresses", IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ADDRESSES
+ }
+ }
+ MENUITEM "&Launch", IDM_GLOBAL_HISTORY_LAUNCH
+}
+
+
+
//
// Dialog resources
//
diff --git a/frontends/windows/resourceid.h b/frontends/windows/resourceid.h
index db275913b..7f4cdc578 100644
--- a/frontends/windows/resourceid.h
+++ b/frontends/windows/resourceid.h
@@ -138,4 +138,46 @@
#define IDR_MENU_CONTEXT 11000
+#define IDR_MENU_HOTLIST 12000
+#define IDM_HOTLIST_FILE_EXPORT 12101
+#define IDM_HOTLIST_FILE_NEW_FOLDER 12102
+#define IDM_HOTLIST_FILE_NEW_ENTRY 12103
+#define IDM_HOTLIST_EDIT_EDIT 12201
+#define IDM_HOTLIST_EDIT_DELETE 12202
+#define IDM_HOTLIST_EDIT_SELECT_ALL 12203
+#define IDM_HOTLIST_EDIT_CLEAR_SELECTION 12204
+#define IDM_HOTLIST_VIEW_EXPAND_ALL 12301
+#define IDM_HOTLIST_VIEW_EXPAND_DIRECTORIES 12302
+#define IDM_HOTLIST_VIEW_EXPAND_ADDRESSES 12303
+#define IDM_HOTLIST_VIEW_COLLAPSE_ALL 12304
+#define IDM_HOTLIST_VIEW_COLLAPSE_DIRECTORIES 12305
+#define IDM_HOTLIST_VIEW_COLLAPSE_ADDRESSES 12306
+#define IDM_HOTLIST_LAUNCH 12400
+
+#define IDR_MENU_COOKIES 13000
+#define IDM_COOKIES_EDIT_DELETE_SELECTED 13101
+#define IDM_COOKIES_EDIT_DELETE_ALL 13102
+#define IDM_COOKIES_EDIT_SELECT_ALL 13103
+#define IDM_COOKIES_EDIT_CLEAR_SELECTION 13104
+#define IDM_COOKIES_VIEW_EXPAND_ALL 13201
+#define IDM_COOKIES_VIEW_EXPAND_DOMAINS 13202
+#define IDM_COOKIES_VIEW_EXPAND_COOKIES 13203
+#define IDM_COOKIES_VIEW_COLLAPSE_ALL 13204
+#define IDM_COOKIES_VIEW_COLLAPSE_DOMAINS 13205
+#define IDM_COOKIES_VIEW_COLLAPSE_COOKIES 13206
+
+#define IDR_MENU_GLOBAL_HISTORY 14000
+#define IDM_GLOBAL_HISTORY_FILE_EXPORT 14101
+#define IDM_GLOBAL_HISTORY_EDIT_DELETE_SELECTED 14201
+#define IDM_GLOBAL_HISTORY_EDIT_DELETE_ALL 14202
+#define IDM_GLOBAL_HISTORY_EDIT_SELECT_ALL 14203
+#define IDM_GLOBAL_HISTORY_EDIT_CLEAR_SELECTION 14204
+#define IDM_GLOBAL_HISTORY_VIEW_EXPAND_ALL 14301
+#define IDM_GLOBAL_HISTORY_VIEW_EXPAND_DIRECTORIES 14302
+#define IDM_GLOBAL_HISTORY_VIEW_EXPAND_ADDRESSES 14303
+#define IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ALL 14304
+#define IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_DIRECTORIES 14305
+#define IDM_GLOBAL_HISTORY_VIEW_COLLAPSE_ADDRESSES 14306
+#define IDM_GLOBAL_HISTORY_LAUNCH 14401
+
#endif
--
2.30.2