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

Reply via email to