Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/540c6ee0ef432dfad375d64afa2c67d410f826d5
...commit
http://git.netsurf-browser.org/netsurf.git/commit/540c6ee0ef432dfad375d64afa2c67d410f826d5
...tree
http://git.netsurf-browser.org/netsurf.git/tree/540c6ee0ef432dfad375d64afa2c67d410f826d5
The branch, master has been updated
via 540c6ee0ef432dfad375d64afa2c67d410f826d5 (commit)
via cd3720d5b63147fb97f3b7cdd056d3e8e6cc5586 (commit)
from 3f88c12315556d6f5f928c7e6a5e56357899ece7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=540c6ee0ef432dfad375d64afa2c67d410f826d5
commit 540c6ee0ef432dfad375d64afa2c67d410f826d5
Author: François Revol <[email protected]>
Commit: François Revol <[email protected]>
haiku: use logging instead of fprintf
diff --git a/frontends/beos/gui.cpp b/frontends/beos/gui.cpp
index c1b1536..d3321b5 100644
--- a/frontends/beos/gui.cpp
+++ b/frontends/beos/gui.cpp
@@ -1038,7 +1038,7 @@ int main(int argc, char** argv)
char path[12];
sprintf(path,"%.2s/Messages", getenv("LC_MESSAGES"));
- fprintf(stderr, "Loading messages from resource %s\n", path);
+ LOG("Loading messages from resource %s\n", path);
const uint8_t* res = (const uint8_t*)resources.LoadResource('data',
path, &size);
if (size > 0 && res != NULL) {
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=cd3720d5b63147fb97f3b7cdd056d3e8e6cc5586
commit cd3720d5b63147fb97f3b7cdd056d3e8e6cc5586
Author: François Revol <[email protected]>
Commit: François Revol <[email protected]>
haiku: Fix popup menu
Only the reload entry is enabled for now.
diff --git a/frontends/beos/scaffolding.cpp b/frontends/beos/scaffolding.cpp
index a79cf91..5e386bd 100644
--- a/frontends/beos/scaffolding.cpp
+++ b/frontends/beos/scaffolding.cpp
@@ -133,6 +133,9 @@ struct beos_scaffolding {
int being_destroyed;
bool fullscreen;
+
+ /** Object under menu, or 0 if no object. */
+ struct hlcache_handle *current_menu_object;
};
struct beos_history_window {
@@ -1254,6 +1257,11 @@ void
nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m
case BROWSER_OBJECT_INFO:
break;
case BROWSER_OBJECT_RELOAD:
+ if (scaffold->current_menu_object != NULL) {
+
content_invalidate_reuse_data(scaffold->current_menu_object);
+ browser_window_reload(bw, false);
+ scaffold->current_menu_object = NULL;
+ }
break;
case BROWSER_OBJECT_SAVE:
break;
@@ -1514,6 +1522,8 @@ void nsbeos_attach_toplevel_view(nsbeos_scaffolding *g,
BView *view)
nsbeos_scaffolding_update_colors(g);
+ recursively_set_menu_items_target(g->popup_menu, view);
+
if (g->window) {
recursively_set_menu_items_target(g->menu_bar, view);
@@ -1720,6 +1730,7 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
BMessage *message;
BRect rect;
+ BMenuItem *item;
g->window = NULL;
g->menu_bar = NULL;
@@ -1767,7 +1778,6 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
g->window->AddChild(g->menu_bar);
BMenu *menu;
- BMenuItem *item;
// App menu
//XXX: use icon item ?
@@ -2071,7 +2081,22 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
g->top_view->SetScaffolding(g);
// build popup menu
- g->popup_menu = new BPopUpMenu("");
+ g->popup_menu = new BPopUpMenu("popup", false, false);
+
+#if 0
+ message = new BMessage(BROWSER_OBJECT_INFO);
+ item = make_menu_item("ObjInfo", message);
+ g->popup_menu->AddItem(item);
+
+ message = new BMessage(BROWSER_OBJECT_SAVE);
+ item = make_menu_item("ObjSave", message);
+ g->popup_menu->AddItem(item);
+ // XXX: submenu: Sprite ?
+#endif
+
+ message = new BMessage(BROWSER_OBJECT_RELOAD);
+ item = make_menu_item("ObjReload", message, true);
+ g->popup_menu->AddItem(item);
#ifdef ENABLE_DRAGGER
@@ -2335,8 +2360,19 @@ void gui_window_set_icon(struct gui_window *_g,
hlcache_handle *icon)
}
-void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *g, BPoint where)
+void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *scaffold, struct
browser_window *bw, BPoint where, BPoint screenWhere)
{
- g->popup_menu->Go(where);
+ struct browser_window_features cont;
+
+ browser_window_get_features(bw, (int)where.x, (int)where.y, &cont);
+
+ scaffold->current_menu_object = cont.object;
+ bool enabled = !!scaffold->current_menu_object;
+
+ for (int i = 0; scaffold->popup_menu->ItemAt(i); i++) {
+ scaffold->popup_menu->ItemAt(i)->SetEnabled(enabled);
+ }
+
+ scaffold->popup_menu->Go(screenWhere, true, false, true);
}
diff --git a/frontends/beos/scaffolding.h b/frontends/beos/scaffolding.h
index 3fdca57..04cc3fa 100644
--- a/frontends/beos/scaffolding.h
+++ b/frontends/beos/scaffolding.h
@@ -198,7 +198,7 @@ void nsbeos_scaffolding_destroy(nsbeos_scaffolding
*scaffold);
//void nsbeos_window_destroy_event(NSBrowserWindow *window, nsbeos_scaffolding
*g, BMessage *event);
-void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *g, BPoint where);
+void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *scaffold, struct
browser_window *bw, BPoint where, BPoint screenWhere);
void gui_window_set_title(struct gui_window *_g, const char *title);
nserror gui_window_set_url(struct gui_window *_g, struct nsurl *url);
diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index 07d6af2..fbf7b16 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -545,8 +545,7 @@ void nsbeos_dispatch_event(BMessage *message)
if (buttons & B_SECONDARY_MOUSE_BUTTON) {
/* 2 == right button on BeOS */
-
- nsbeos_scaffolding_popup_menu(gui->scaffold,
screenWhere);
+ nsbeos_scaffolding_popup_menu(gui->scaffold,
gui->bw, where, screenWhere);
break;
}
-----------------------------------------------------------------------
Summary of changes:
frontends/beos/gui.cpp | 2 +-
frontends/beos/scaffolding.cpp | 44 ++++++++++++++++++++++++++++++++++++----
frontends/beos/scaffolding.h | 2 +-
frontends/beos/window.cpp | 3 +--
4 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/frontends/beos/gui.cpp b/frontends/beos/gui.cpp
index c1b1536..d3321b5 100644
--- a/frontends/beos/gui.cpp
+++ b/frontends/beos/gui.cpp
@@ -1038,7 +1038,7 @@ int main(int argc, char** argv)
char path[12];
sprintf(path,"%.2s/Messages", getenv("LC_MESSAGES"));
- fprintf(stderr, "Loading messages from resource %s\n", path);
+ LOG("Loading messages from resource %s\n", path);
const uint8_t* res = (const uint8_t*)resources.LoadResource('data',
path, &size);
if (size > 0 && res != NULL) {
diff --git a/frontends/beos/scaffolding.cpp b/frontends/beos/scaffolding.cpp
index a79cf91..5e386bd 100644
--- a/frontends/beos/scaffolding.cpp
+++ b/frontends/beos/scaffolding.cpp
@@ -133,6 +133,9 @@ struct beos_scaffolding {
int being_destroyed;
bool fullscreen;
+
+ /** Object under menu, or 0 if no object. */
+ struct hlcache_handle *current_menu_object;
};
struct beos_history_window {
@@ -1254,6 +1257,11 @@ void
nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m
case BROWSER_OBJECT_INFO:
break;
case BROWSER_OBJECT_RELOAD:
+ if (scaffold->current_menu_object != NULL) {
+
content_invalidate_reuse_data(scaffold->current_menu_object);
+ browser_window_reload(bw, false);
+ scaffold->current_menu_object = NULL;
+ }
break;
case BROWSER_OBJECT_SAVE:
break;
@@ -1514,6 +1522,8 @@ void nsbeos_attach_toplevel_view(nsbeos_scaffolding *g,
BView *view)
nsbeos_scaffolding_update_colors(g);
+ recursively_set_menu_items_target(g->popup_menu, view);
+
if (g->window) {
recursively_set_menu_items_target(g->menu_bar, view);
@@ -1720,6 +1730,7 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
BMessage *message;
BRect rect;
+ BMenuItem *item;
g->window = NULL;
g->menu_bar = NULL;
@@ -1767,7 +1778,6 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
g->window->AddChild(g->menu_bar);
BMenu *menu;
- BMenuItem *item;
// App menu
//XXX: use icon item ?
@@ -2071,7 +2081,22 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct
gui_window *toplevel)
g->top_view->SetScaffolding(g);
// build popup menu
- g->popup_menu = new BPopUpMenu("");
+ g->popup_menu = new BPopUpMenu("popup", false, false);
+
+#if 0
+ message = new BMessage(BROWSER_OBJECT_INFO);
+ item = make_menu_item("ObjInfo", message);
+ g->popup_menu->AddItem(item);
+
+ message = new BMessage(BROWSER_OBJECT_SAVE);
+ item = make_menu_item("ObjSave", message);
+ g->popup_menu->AddItem(item);
+ // XXX: submenu: Sprite ?
+#endif
+
+ message = new BMessage(BROWSER_OBJECT_RELOAD);
+ item = make_menu_item("ObjReload", message, true);
+ g->popup_menu->AddItem(item);
#ifdef ENABLE_DRAGGER
@@ -2335,8 +2360,19 @@ void gui_window_set_icon(struct gui_window *_g,
hlcache_handle *icon)
}
-void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *g, BPoint where)
+void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *scaffold, struct
browser_window *bw, BPoint where, BPoint screenWhere)
{
- g->popup_menu->Go(where);
+ struct browser_window_features cont;
+
+ browser_window_get_features(bw, (int)where.x, (int)where.y, &cont);
+
+ scaffold->current_menu_object = cont.object;
+ bool enabled = !!scaffold->current_menu_object;
+
+ for (int i = 0; scaffold->popup_menu->ItemAt(i); i++) {
+ scaffold->popup_menu->ItemAt(i)->SetEnabled(enabled);
+ }
+
+ scaffold->popup_menu->Go(screenWhere, true, false, true);
}
diff --git a/frontends/beos/scaffolding.h b/frontends/beos/scaffolding.h
index 3fdca57..04cc3fa 100644
--- a/frontends/beos/scaffolding.h
+++ b/frontends/beos/scaffolding.h
@@ -198,7 +198,7 @@ void nsbeos_scaffolding_destroy(nsbeos_scaffolding
*scaffold);
//void nsbeos_window_destroy_event(NSBrowserWindow *window, nsbeos_scaffolding
*g, BMessage *event);
-void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *g, BPoint where);
+void nsbeos_scaffolding_popup_menu(nsbeos_scaffolding *scaffold, struct
browser_window *bw, BPoint where, BPoint screenWhere);
void gui_window_set_title(struct gui_window *_g, const char *title);
nserror gui_window_set_url(struct gui_window *_g, struct nsurl *url);
diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index 07d6af2..fbf7b16 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -545,8 +545,7 @@ void nsbeos_dispatch_event(BMessage *message)
if (buttons & B_SECONDARY_MOUSE_BUTTON) {
/* 2 == right button on BeOS */
-
- nsbeos_scaffolding_popup_menu(gui->scaffold,
screenWhere);
+ nsbeos_scaffolding_popup_menu(gui->scaffold,
gui->bw, where, screenWhere);
break;
}
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org