summaryrefslogtreecommitdiff
path: root/amiga/gui_options.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-09-05 15:37:34 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-09-05 15:37:34 +0100
commit6a002558551b5dd57c062268079aef7a63f444e7 (patch)
treedfa39c0491ebfc59653ed1897431c6c33eec9edd /amiga/gui_options.c
parent63227a214bb8e0f576ecb684313e5f3a3bdcf96f (diff)
downloadnetsurf-6a002558551b5dd57c062268079aef7a63f444e7.tar.gz
netsurf-6a002558551b5dd57c062268079aef7a63f444e7.tar.bz2
Enable control of core/popupmenu select menus in the prefs GUI.
This at least gives the option for people who prefer the popupmenu-based selection menus to easily switch back to the core ones when the options don't all fit on the screen (as popupmenu can't scroll).
Diffstat (limited to 'amiga/gui_options.c')
-rwxr-xr-xamiga/gui_options.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 2f16b9001..c2aaeb1f2 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -71,6 +71,7 @@
#include "amiga/libs.h"
#include "amiga/misc.h"
#include "amiga/object.h"
+#include "amiga/selectmenu.h"
#include "amiga/theme.h"
#include "amiga/utf8.h"
@@ -132,6 +133,7 @@ enum
GID_OPTS_TAB_CLOSE,
GID_OPTS_SEARCH_PROV,
GID_OPTS_CLIPBOARD,
+ GID_OPTS_SELECTMENU,
GID_OPTS_STARTUP_NO_WIN,
GID_OPTS_CLOSE_NO_QUIT,
GID_OPTS_DOCKY,
@@ -327,6 +329,7 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
gadlab[GID_OPTS_TAB_CLOSE] = (char *)ami_utf8_easy((char *)messages_get("TabClose"));
gadlab[GID_OPTS_SEARCH_PROV] = (char *)ami_utf8_easy((char *)messages_get("SearchProvider"));
gadlab[GID_OPTS_CLIPBOARD] = (char *)ami_utf8_easy((char *)messages_get("ClipboardUTF8"));
+ gadlab[GID_OPTS_SELECTMENU] = (char *)ami_utf8_easy((char *)messages_get("PopupMenu"));
gadlab[GID_OPTS_STARTUP_NO_WIN] = (char *)ami_utf8_easy((char *)messages_get("OptionNoWindow"));
gadlab[GID_OPTS_CLOSE_NO_QUIT] = (char *)ami_utf8_easy((char *)messages_get("OptionNoQuit"));
gadlab[GID_OPTS_DOCKY] = (char *)ami_utf8_easy((char *)messages_get("OptionDocky"));
@@ -1364,7 +1367,16 @@ void ami_gui_opts_open(void)
GA_Text, gadlab[GID_OPTS_FASTSCROLL],
GA_Selected, nsoption_bool(faster_scroll),
CheckBoxEnd,
- LayoutEnd, // context menus
+#ifdef __amigaos4__
+ LAYOUT_AddChild, gow->objects[GID_OPTS_SELECTMENU] = CheckBoxObj,
+ GA_ID, GID_OPTS_SELECTMENU,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_SELECTMENU],
+ GA_Selected, nsoption_bool(core_select_menu),
+ GA_Disabled, !ami_selectmenu_is_safe(),
+ CheckBoxEnd,
+#endif
+ LayoutEnd, // misc
CHILD_WeightedHeight, 0,
LayoutEnd, // page vgroup
@@ -1844,6 +1856,13 @@ static void ami_gui_opts_use(bool save)
nsoption_set_bool(clipboard_write_utf8, false);
}
+ GetAttr(GA_Selected,gow->objects[GID_OPTS_SELECTMENU],(ULONG *)&data);
+ if (data) {
+ nsoption_set_bool(core_select_menu, true);
+ } else {
+ nsoption_set_bool(core_select_menu, false);
+ }
+
GetAttr(GA_Selected,gow->objects[GID_OPTS_STARTUP_NO_WIN],(ULONG *)&data);
if (data) {
nsoption_set_bool(startup_no_window, true);