summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2010-02-14 14:00:33 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2010-02-14 14:00:33 +0000
commita380b15070de56bfa08465b0d0cfc44a63302d75 (patch)
tree8118c5ed3b91cfe4ee6d5162cd12366382d685dc /amiga
parente1c41ba7121435a454b766ccfcba8bed905047bf (diff)
downloadnetsurf-a380b15070de56bfa08465b0d0cfc44a63302d75.tar.gz
netsurf-a380b15070de56bfa08465b0d0cfc44a63302d75.tar.bz2
Add an Add Tab button.
Could probably do with an image for this for the default theme (currently falls back to a textual "+") svn path=/trunk/netsurf/; revision=10053
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/gui.c68
-rwxr-xr-xamiga/gui.h3
-rwxr-xr-xamiga/resources/Themes/AISS/Theme3
-rwxr-xr-xamiga/resources/Themes/Default/Theme3
4 files changed, 65 insertions, 12 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index 02f68d70d..f1666579f 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1174,6 +1174,10 @@ void ami_handle_msg(void)
browser_window_destroy(gwin->bw);
break;
+ case GID_ADDTAB:
+ browser_window_create(NULL, gwin->bw, 0, true, true);
+ break;
+
case GID_URL:
GetAttr(STRINGA_TextVal,
(Object *)gwin->objects[GID_URL],
@@ -2110,6 +2114,10 @@ void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
if(show)
{
+ SetAttrs(gwin->objects[GID_TABLAYOUT],
+ LAYOUT_Inverted, TRUE,
+ TAG_DONE);
+
gwin->objects[GID_TABS] = ClickTabObject,
GA_ID, GID_TABS,
GA_RelVerify, TRUE,
@@ -2120,13 +2128,27 @@ void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
CLICKTAB_FlagImage, gwin->objects[GID_TABS_FLAG],
ClickTabEnd;
+ gwin->objects[GID_ADDTAB] = ButtonObject,
+ GA_ID, GID_ADDTAB,
+ GA_RelVerify, TRUE,
+ GA_Text, "+",
+ BUTTON_Transparent, TRUE,
+ BUTTON_RenderImage, gwin->objects[GID_ADDTAB_BM],
+ ButtonEnd;
+
IDoMethod(gwin->objects[GID_TABLAYOUT], LM_ADDCHILD,
gwin->win, gwin->objects[GID_TABS], NULL);
+
+ IDoMethod(gwin->objects[GID_ADDTABLAYOUT], LM_ADDCHILD,
+ gwin->win, gwin->objects[GID_ADDTAB], NULL);
}
else
{
IDoMethod(gwin->objects[GID_TABLAYOUT], LM_REMOVECHILD,
gwin->win, gwin->objects[GID_TABS]);
+
+ IDoMethod(gwin->objects[GID_ADDTABLAYOUT], LM_REMOVECHILD,
+ gwin->win, gwin->objects[GID_ADDTAB]);
}
FlushLayoutDomainCache((struct Gadget *)gwin->objects[GID_MAIN]);
@@ -2152,6 +2174,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
char reload[100],reload_s[100],reload_g[100];
char home[100],home_s[100],home_g[100];
char closetab[100],closetab_s[100],closetab_g[100];
+ char addtab[100],addtab_s[100],addtab_g[100];
char tabthrobber[100];
if((bw->browser_window_type == BROWSER_WINDOW_IFRAME) && option_no_iframes) return NULL;
@@ -2343,8 +2366,19 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
ami_get_theme_filename(closetab,"theme_closetab");
ami_get_theme_filename(closetab_s,"theme_closetab_s");
ami_get_theme_filename(closetab_g,"theme_closetab_g");
+ ami_get_theme_filename(addtab,"theme_addtab");
+ ami_get_theme_filename(addtab_s,"theme_addtab_s");
+ ami_get_theme_filename(addtab_g,"theme_addtab_g");
ami_get_theme_filename(tabthrobber,"theme_tab_loading");
+ gwin->shared->objects[GID_ADDTAB_BM] = BitMapObject,
+ BITMAP_SourceFile, addtab,
+ BITMAP_SelectSourceFile, addtab_s,
+ BITMAP_DisabledSourceFile, addtab_g,
+ BITMAP_Screen, scrn,
+ BITMAP_Masking, TRUE,
+ BitMapEnd;
+
gwin->shared->objects[GID_CLOSETAB_BM] = BitMapObject,
BITMAP_SourceFile, closetab,
BITMAP_SelectSourceFile, closetab_s,
@@ -2353,12 +2387,6 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
BITMAP_Masking, TRUE,
BitMapEnd;
- gwin->shared->objects[GID_TABS_FLAG] = BitMapObject,
- BITMAP_SourceFile, tabthrobber,
- BITMAP_Screen,scrn,
- BITMAP_Masking,TRUE,
- BitMapEnd;
-
if(ClickTabBase->lib_Version < 53)
{
addtabclosegadget = LAYOUT_AddChild;
@@ -2375,13 +2403,23 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
GA_Underscore,13, // disable kb shortcuts
CLICKTAB_Labels,&gwin->shared->tab_list,
CLICKTAB_LabelTruncate,TRUE,
- CLICKTAB_CloseImage, gwin->shared->objects[GID_CLOSETAB_BM],
- CLICKTAB_FlagImage, BitMapObject,
- BITMAP_SourceFile, tabthrobber,
- BITMAP_Screen,scrn,
- BITMAP_Masking,TRUE,
- BitMapEnd,
ClickTabEnd;
+
+ gwin->shared->objects[GID_ADDTAB] = ButtonObject,
+ GA_ID, GID_ADDTAB,
+ GA_RelVerify, TRUE,
+ GA_Text, "+",
+ BUTTON_Transparent, TRUE,
+ BUTTON_RenderImage, gwin->shared->objects[GID_ADDTAB_BM],
+ ButtonEnd;
+ }
+ else
+ {
+ gwin->shared->objects[GID_TABS_FLAG] = BitMapObject,
+ BITMAP_SourceFile, tabthrobber,
+ BITMAP_Screen,scrn,
+ BITMAP_Masking,TRUE,
+ BitMapEnd;
}
gwin->shared->objects[OID_MAIN] = WindowObject,
@@ -2565,6 +2603,12 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
addtabclosegadget, gwin->shared->objects[GID_TABS],
CHILD_CacheDomain,FALSE,
+
+ LAYOUT_AddChild, gwin->shared->objects[GID_ADDTABLAYOUT] = HGroupObject,
+ addtabclosegadget, gwin->shared->objects[GID_ADDTAB],
+ LayoutEnd,
+ CHILD_WeightedWidth,0,
+ CHILD_WeightedHeight,0,
LayoutEnd,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, gwin->shared->objects[GID_BROWSER] = SpaceObject,
diff --git a/amiga/gui.h b/amiga/gui.h
index 154178959..01f2d9843 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -48,6 +48,9 @@ enum
GID_SEARCH_ICON,
GID_CLOSETAB,
GID_CLOSETAB_BM,
+ GID_ADDTAB,
+ GID_ADDTAB_BM,
+ GID_ADDTABLAYOUT,
GID_TABS,
GID_TABS_FLAG,
GID_USER,
diff --git a/amiga/resources/Themes/AISS/Theme b/amiga/resources/Themes/AISS/Theme
index a5a74dad2..8f3dd8aec 100755
--- a/amiga/resources/Themes/AISS/Theme
+++ b/amiga/resources/Themes/AISS/Theme
@@ -21,6 +21,9 @@ theme_home_g:*TBImages:home_g
theme_closetab:*TBImages:list_cancel
theme_closetab_s:*TBImages:list_cancel
theme_closetab_g:*TBImages:list_cancel
+theme_addtab:*TBImages:list_add
+theme_addtab_s:*TBImages:list_add
+theme_addtab_g:*TBImages:list_add
theme_list_folder_closed:*TBImages:list_folderfold
theme_list_folder_open:*TBImages:list_folderunfold
theme_list_bookmark:*TBImages:list_bookmark
diff --git a/amiga/resources/Themes/Default/Theme b/amiga/resources/Themes/Default/Theme
index f1ae80605..fbe596e84 100755
--- a/amiga/resources/Themes/Default/Theme
+++ b/amiga/resources/Themes/Default/Theme
@@ -34,6 +34,9 @@ theme_home_g:home_g.png
theme_closetab:closetab.png
theme_closetab_s:closetab.png
theme_closetab_g:closetab_g.png
+theme_addtab:
+theme_addtab_s:
+theme_addtab_g:
theme_list_folder_closed:
theme_list_folder_open:
theme_list_bookmark: