summaryrefslogtreecommitdiff
path: root/beos/scaffolding.cpp
diff options
context:
space:
mode:
authorAdrien Destugues <pulkomandy@pulkomandy.tk>2015-08-17 22:43:37 +0200
committerVincent Sanders <vince@kyllikki.org>2015-10-12 21:11:48 +0100
commitd97958a9732edce338dcb77f6ed698e429afe038 (patch)
treecd0060b00b2fcfd99790f812c2b710136b10b861 /beos/scaffolding.cpp
parenta182bb55011e786c133c4db20b3de4acbb053593 (diff)
downloadnetsurf-d97958a9732edce338dcb77f6ed698e429afe038.tar.gz
netsurf-d97958a9732edce338dcb77f6ed698e429afe038.tar.bz2
BeOS/Haiku: implement some of the Help menu.
Diffstat (limited to 'beos/scaffolding.cpp')
-rw-r--r--beos/scaffolding.cpp84
1 files changed, 44 insertions, 40 deletions
diff --git a/beos/scaffolding.cpp b/beos/scaffolding.cpp
index 1c954ab9f..2c5d4e961 100644
--- a/beos/scaffolding.cpp
+++ b/beos/scaffolding.cpp
@@ -484,6 +484,7 @@ NSBaseView::MessageReceived(BMessage *message)
case HELP_OPEN_GUIDE:
case HELP_OPEN_INFORMATION:
case HELP_OPEN_ABOUT:
+ case HELP_OPEN_LICENCE:
case HELP_LAUNCH_INTERACTIVE:
case HISTORY_SHOW_LOCAL:
case HISTORY_SHOW_GLOBAL:
@@ -551,7 +552,6 @@ NSBaseView::MessageReceived(BMessage *message)
case TOOLBAR_THROBBER:
case TOOLBAR_EDIT:
case CHOICES_SHOW:
- case ABOUT_BUTTON:
case APPLICATION_QUIT:
if (Window())
Window()->DetachCurrentMessage();
@@ -1102,6 +1102,40 @@ void nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m
case HELP_OPEN_INFORMATION:
break;
case HELP_OPEN_ABOUT:
+ {
+ const char *goto_url = "about:credits";
+ nserror nserr;
+ nsurl *url;
+ nserr = nsurl_create(goto_url, &url);
+ if (nserr == NSERROR_OK) {
+ nserr = browser_window_navigate(bw,
+ url, NULL,
+ (browser_window_nav_flags)(BW_NAVIGATE_HISTORY),
+ NULL, NULL, NULL);
+ nsurl_unref(url);
+ }
+ if (nserr != NSERROR_OK) {
+ warn_user(messages_get_errorcode(nserr), 0);
+ }
+ }
+ break;
+ case HELP_OPEN_LICENCE:
+ {
+ const char *goto_url = "about:licence";
+ nserror nserr;
+ nsurl *url;
+ nserr = nsurl_create(goto_url, &url);
+ if (nserr == NSERROR_OK) {
+ nserr = browser_window_navigate(bw,
+ url, NULL,
+ (browser_window_nav_flags)(BW_NAVIGATE_HISTORY),
+ NULL, NULL, NULL);
+ nsurl_unref(url);
+ }
+ if (nserr != NSERROR_OK) {
+ warn_user(messages_get_errorcode(nserr), 0);
+ }
+ }
break;
case HELP_LAUNCH_INTERACTIVE:
break;
@@ -1247,43 +1281,6 @@ void nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m
break;
case CHOICES_SHOW:
break;
- case ABOUT_BUTTON:
- /* XXX: doesn't work yet! bug in rsrc:/
- BString url("rsrc:/about.en.html,text/html");
- browser_window_create(url.String(), NULL, NULL, true, false);
- */
- {
- int32 button;
- if (message->FindInt32("which", &button) == B_OK) {
- const char *goto_url = NULL;
- nserror nserr;
- nsurl *url;
- switch (button) {
- case 0:
- goto_url = "about:credits";
- break;
- case 1:
- goto_url = "about:licence";
- break;
- default:
- break;
- }
- if (goto_url == NULL)
- break;
- nserr = nsurl_create(goto_url, &url);
- if (nserr == NSERROR_OK) {
- nserr = browser_window_navigate(bw,
- url, NULL,
- (browser_window_nav_flags)(BW_NAVIGATE_HISTORY),
- NULL, NULL, NULL);
- nsurl_unref(url);
- }
- if (nserr != NSERROR_OK) {
- warn_user(messages_get_errorcode(nserr), 0);
- }
- }
- }
- break;
case APPLICATION_QUIT:
nsbeos_done = true;
break;
@@ -1713,7 +1710,6 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
g->window->AddChild(g->menu_bar);
BMenu *menu;
- BMenu *submenu;
BMenuItem *item;
// App menu
@@ -1972,6 +1968,7 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
message = new BMessage(BROWSER_WINDOW_RESET);
item = make_menu_item("WindowReset", message);
submenu->AddItem(item);
+#endif
// Help menu
@@ -1979,6 +1976,7 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
menu = new BMenu(messages_get("Help"));
g->menu_bar->AddItem(menu);
+#if 0
message = new BMessage(HELP_OPEN_CONTENTS);
item = make_menu_item("HelpContent", message);
menu->AddItem(item);
@@ -1990,11 +1988,17 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
message = new BMessage(HELP_OPEN_INFORMATION);
item = make_menu_item("HelpInfo", message);
menu->AddItem(item);
+#endif
message = new BMessage(HELP_OPEN_ABOUT);
- item = make_menu_item("HelpAbout", message);
+ item = make_menu_item("HelpCredits", message, true);
menu->AddItem(item);
+ message = new BMessage(HELP_OPEN_LICENCE);
+ item = make_menu_item("HelpLicence", message, true);
+ menu->AddItem(item);
+
+#if 0
message = new BMessage(HELP_LAUNCH_INTERACTIVE);
item = make_menu_item("HelpInter", message);
menu->AddItem(item);