Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/2437ca84a877391f8988b...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/2437ca84a877391f8988bb1...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/2437ca84a877391f8988bb166...
The branch, master has been updated
via 2437ca84a877391f8988bb166cbdc82e281fe8d2 (commit)
via 4e4bc9c13578ff496d09eb8fac063cb03510d837 (commit)
via 56d5e6963a42aad0e03886496923779ee65fa362 (commit)
via 09bc58f7c2926922e59542e8ca2de2f5941714df (commit)
from 56b521a1258f7b9657c9f7dda0878b789d39f59b (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/commitdiff/2437ca84a877391f898...
commit 2437ca84a877391f8988bb166cbdc82e281fe8d2
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Hotlist toolbar needs to be ABOVE the tab bar
diff --git a/amiga/gui.c b/amiga/gui.c
index 5de64bb..064c49c 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2977,6 +2977,10 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
BEVEL_Style, BVS_SBAR_VERT,
BevelEnd,
CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = HGroupObject,
+ LAYOUT_SpaceInner, FALSE,
+ LayoutEnd,
+ CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_TABLAYOUT] = HGroupObject,
LAYOUT_SpaceInner,FALSE,
addtabclosegadget, g->shared->objects[GID_CLOSETAB],
@@ -2991,10 +2995,6 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
CHILD_WeightedHeight,0,
LayoutEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = HGroupObject,
- LAYOUT_SpaceInner, FALSE,
- LayoutEnd,
- CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
commitdiff
http://git.netsurf-browser.org/netsurf.git/commitdiff/4e4bc9c13578ff496d0...
commit 4e4bc9c13578ff496d09eb8fac063cb03510d837
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Don't force a redraw after adding the toolbar, because we (currently) only add it
immediately at window creation.
diff --git a/amiga/gui.c b/amiga/gui.c
index 0cc0778..5de64bb 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2506,9 +2506,6 @@ void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
RethinkLayout((struct Gadget *)gwin->objects[GID_MAIN],
gwin->win, NULL, TRUE);
-
- gwin->redraw_required = true;
- gwin->bw->reformat_pending = true;
}
void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
commitdiff
http://git.netsurf-browser.org/netsurf.git/commitdiff/56d5e6963a42aad0e03...
commit 56d5e6963a42aad0e03886496923779ee65fa362
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Actually show the toolbar. It looks awful.
diff --git a/amiga/gui.c b/amiga/gui.c
index 3a00435..0cc0778 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2501,6 +2501,14 @@ void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDCHILD,
gwin->win, gwin->objects[GID_HOTLIST], NULL);
}
+
+ FlushLayoutDomainCache((struct Gadget *)gwin->objects[GID_MAIN]);
+
+ RethinkLayout((struct Gadget *)gwin->objects[GID_MAIN],
+ gwin->win, NULL, TRUE);
+
+ gwin->redraw_required = true;
+ gwin->bw->reformat_pending = true;
}
void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
commitdiff
http://git.netsurf-browser.org/netsurf.git/commitdiff/09bc58f7c2926922e59...
commit 09bc58f7c2926922e59542e8ca2de2f5941714df
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Create a toolbar from the "Toolbar" folder within the hotlist. Note: makes
no attempt to either free the toolbar or make the toolbar work.
diff --git a/amiga/gui.c b/amiga/gui.c
index 2933792..3a00435 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -30,6 +30,7 @@
#include "desktop/selection.h"
#include "desktop/textinput.h"
#include "desktop/tree.h"
+#include "desktop/tree_url_node.h"
#include "image/ico.h"
#include "utils/log.h"
#include "utils/messages.h"
@@ -109,6 +110,7 @@
#include <proto/clicktab.h>
#include <proto/layout.h>
#include <proto/space.h>
+#include <proto/speedbar.h>
#include <proto/string.h>
#include <proto/window.h>
@@ -118,6 +120,7 @@
#include <gadgets/layout.h>
#include <gadgets/scroller.h>
#include <gadgets/space.h>
+#include <gadgets/speedbar.h>
#include <gadgets/string.h>
#include <images/bevel.h>
#include <images/bitmap.h>
@@ -1930,7 +1933,7 @@ void ami_handle_msg(void)
if(ami_menu_window_close)
{
- if(ami_menu_window_close == AMI_MENU_WINDOW_CLOSE_ALL)
+ if(ami_menu_window_close == (void *)AMI_MENU_WINDOW_CLOSE_ALL)
ami_quit_netsurf();
else
ami_close_all_tabs(ami_menu_window_close);
@@ -2425,6 +2428,81 @@ void ami_update_buttons(struct gui_window_2 *gwin)
}
}
+void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, uint16
*item,
+ struct List *speed_button_list, struct gui_window_2 *gwin)
+{
+ struct node *tempnode;
+ struct node_element *element=NULL;
+ struct node *node;
+ struct Node *speed_button_node;
+
+ *gen = *gen + 1;
+
+ for (node = root; node; node = tree_node_get_next(node))
+ {
+ if((*gen == 1) && (*item < AMI_GUI_TOOLBAR_MAX)) /* Don't cascade into
sub-dirs */
+ {
+ gwin->hotlist_toolbar_lab[*item] = ami_utf8_easy((char
*)tree_url_node_get_title(node));
+
+ speed_button_node = AllocSpeedButtonNode(*item,
+ SBNA_Text, gwin->hotlist_toolbar_lab[*item],
+ SBNA_UserData, (void *)tree_url_node_get_url(node),
+ TAG_DONE);
+
+ AddTail(speed_button_list, speed_button_node);
+
+ *item = *item + 1;
+ }
+
+ /* Don't need this atm as it cascades into sub-dirs
+ if (tree_node_get_child(node))
+ {
+ ami_gui_hotlist_scan_2(tree, tree_node_get_child(node), gen);
+ }
+ */
+ }
+
+ *gen = *gen - 1;
+}
+
+int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, struct
gui_window_2 *gwin)
+{
+ struct node *root = tree_node_get_child(tree_get_root(tree));
+ struct node *node;
+ struct node_element *element;
+ static WORD gen = 0;
+ static uint16 item = 0;
+
+ for (node = root; node; node = tree_node_get_next(node))
+ {
+ element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL);
+ if(!element) element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL);
+ if(element && (strcmp(tree_node_element_get_text(element), "Toolbar")
== 0))
+ {
+ ami_gui_hotlist_scan_2(tree, tree_node_get_child(node), &gen, &item,
speed_button_list, gwin);
+ }
+ }
+
+ return item;
+}
+
+void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
+{
+ NewList(&gwin->hotlist_toolbar_list);
+
+ if(ami_gui_hotlist_scan(ami_tree_get_tree(hotlist_window),
&gwin->hotlist_toolbar_list, gwin) > 0) {
+ gwin->objects[GID_HOTLIST] =
+ SpeedBarObject,
+ GA_ID, GID_HOTLIST,
+ GA_RelVerify, TRUE,
+ SPEEDBAR_Buttons, &gwin->hotlist_toolbar_list,
+ SpeedBarEnd;
+
+ IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDCHILD,
+ gwin->win, gwin->objects[GID_HOTLIST], NULL);
+ }
+}
+
void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
{
if(ClickTabBase->lib_Version < 53) return;
@@ -2908,6 +2986,10 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
CHILD_WeightedHeight,0,
LayoutEnd,
CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = HGroupObject,
+ LAYOUT_SpaceInner, FALSE,
+ LayoutEnd,
+ CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
@@ -3039,6 +3121,8 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
RefreshGadgets((APTR)g->shared->objects[GID_STATUS],
g->shared->win, NULL);
+
+ ami_gui_hotlist_toolbar_add(g->shared); /* is this the right place for this? */
}
else
{
diff --git a/amiga/gui.h b/amiga/gui.h
index 181bd4f..59c60f4 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -64,6 +64,8 @@ enum
GID_SHOWALL,
GID_CASE,
GID_TOOLBARLAYOUT,
+ GID_HOTLIST,
+ GID_HOTLISTLAYOUT,
GID_HSCROLL,
GID_LAST
};
@@ -71,6 +73,8 @@ enum
struct find_window;
struct history_window;
+#define AMI_GUI_TOOLBAR_MAX 20
+
struct gui_window_2 {
struct nsObject *node;
struct Window *win;
@@ -98,6 +102,8 @@ struct gui_window_2 {
UBYTE *menutype;
struct NewMenu *menu;
ULONG hotlist_items;
+ char *hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
+ struct List hotlist_toolbar_list;
char *svbuffer;
char *status;
char *wintitle;
-----------------------------------------------------------------------
Summary of changes:
amiga/gui.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
amiga/gui.h | 6 ++++
2 files changed, 96 insertions(+), 1 deletions(-)
diff --git a/amiga/gui.c b/amiga/gui.c
index 2933792..064c49c 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -30,6 +30,7 @@
#include "desktop/selection.h"
#include "desktop/textinput.h"
#include "desktop/tree.h"
+#include "desktop/tree_url_node.h"
#include "image/ico.h"
#include "utils/log.h"
#include "utils/messages.h"
@@ -109,6 +110,7 @@
#include <proto/clicktab.h>
#include <proto/layout.h>
#include <proto/space.h>
+#include <proto/speedbar.h>
#include <proto/string.h>
#include <proto/window.h>
@@ -118,6 +120,7 @@
#include <gadgets/layout.h>
#include <gadgets/scroller.h>
#include <gadgets/space.h>
+#include <gadgets/speedbar.h>
#include <gadgets/string.h>
#include <images/bevel.h>
#include <images/bitmap.h>
@@ -1930,7 +1933,7 @@ void ami_handle_msg(void)
if(ami_menu_window_close)
{
- if(ami_menu_window_close == AMI_MENU_WINDOW_CLOSE_ALL)
+ if(ami_menu_window_close == (void *)AMI_MENU_WINDOW_CLOSE_ALL)
ami_quit_netsurf();
else
ami_close_all_tabs(ami_menu_window_close);
@@ -2425,6 +2428,86 @@ void ami_update_buttons(struct gui_window_2 *gwin)
}
}
+void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, uint16
*item,
+ struct List *speed_button_list, struct gui_window_2 *gwin)
+{
+ struct node *tempnode;
+ struct node_element *element=NULL;
+ struct node *node;
+ struct Node *speed_button_node;
+
+ *gen = *gen + 1;
+
+ for (node = root; node; node = tree_node_get_next(node))
+ {
+ if((*gen == 1) && (*item < AMI_GUI_TOOLBAR_MAX)) /* Don't cascade into
sub-dirs */
+ {
+ gwin->hotlist_toolbar_lab[*item] = ami_utf8_easy((char
*)tree_url_node_get_title(node));
+
+ speed_button_node = AllocSpeedButtonNode(*item,
+ SBNA_Text, gwin->hotlist_toolbar_lab[*item],
+ SBNA_UserData, (void *)tree_url_node_get_url(node),
+ TAG_DONE);
+
+ AddTail(speed_button_list, speed_button_node);
+
+ *item = *item + 1;
+ }
+
+ /* Don't need this atm as it cascades into sub-dirs
+ if (tree_node_get_child(node))
+ {
+ ami_gui_hotlist_scan_2(tree, tree_node_get_child(node), gen);
+ }
+ */
+ }
+
+ *gen = *gen - 1;
+}
+
+int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, struct
gui_window_2 *gwin)
+{
+ struct node *root = tree_node_get_child(tree_get_root(tree));
+ struct node *node;
+ struct node_element *element;
+ static WORD gen = 0;
+ static uint16 item = 0;
+
+ for (node = root; node; node = tree_node_get_next(node))
+ {
+ element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL);
+ if(!element) element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL);
+ if(element && (strcmp(tree_node_element_get_text(element), "Toolbar")
== 0))
+ {
+ ami_gui_hotlist_scan_2(tree, tree_node_get_child(node), &gen, &item,
speed_button_list, gwin);
+ }
+ }
+
+ return item;
+}
+
+void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
+{
+ NewList(&gwin->hotlist_toolbar_list);
+
+ if(ami_gui_hotlist_scan(ami_tree_get_tree(hotlist_window),
&gwin->hotlist_toolbar_list, gwin) > 0) {
+ gwin->objects[GID_HOTLIST] =
+ SpeedBarObject,
+ GA_ID, GID_HOTLIST,
+ GA_RelVerify, TRUE,
+ SPEEDBAR_Buttons, &gwin->hotlist_toolbar_list,
+ SpeedBarEnd;
+
+ IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDCHILD,
+ gwin->win, gwin->objects[GID_HOTLIST], NULL);
+ }
+
+ FlushLayoutDomainCache((struct Gadget *)gwin->objects[GID_MAIN]);
+
+ RethinkLayout((struct Gadget *)gwin->objects[GID_MAIN],
+ gwin->win, NULL, TRUE);
+}
+
void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
{
if(ClickTabBase->lib_Version < 53) return;
@@ -2894,6 +2977,10 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
BEVEL_Style, BVS_SBAR_VERT,
BevelEnd,
CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = HGroupObject,
+ LAYOUT_SpaceInner, FALSE,
+ LayoutEnd,
+ CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_TABLAYOUT] = HGroupObject,
LAYOUT_SpaceInner,FALSE,
addtabclosegadget, g->shared->objects[GID_CLOSETAB],
@@ -3039,6 +3126,8 @@ struct gui_window *gui_create_browser_window(struct browser_window
*bw,
RefreshGadgets((APTR)g->shared->objects[GID_STATUS],
g->shared->win, NULL);
+
+ ami_gui_hotlist_toolbar_add(g->shared); /* is this the right place for this? */
}
else
{
diff --git a/amiga/gui.h b/amiga/gui.h
index 181bd4f..59c60f4 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -64,6 +64,8 @@ enum
GID_SHOWALL,
GID_CASE,
GID_TOOLBARLAYOUT,
+ GID_HOTLIST,
+ GID_HOTLISTLAYOUT,
GID_HSCROLL,
GID_LAST
};
@@ -71,6 +73,8 @@ enum
struct find_window;
struct history_window;
+#define AMI_GUI_TOOLBAR_MAX 20
+
struct gui_window_2 {
struct nsObject *node;
struct Window *win;
@@ -98,6 +102,8 @@ struct gui_window_2 {
UBYTE *menutype;
struct NewMenu *menu;
ULONG hotlist_items;
+ char *hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
+ struct List hotlist_toolbar_list;
char *svbuffer;
char *status;
char *wintitle;
--
NetSurf Browser