summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
Diffstat (limited to 'amiga')
-rw-r--r--amiga/context_menu.c1
-rw-r--r--amiga/gui.c90
-rwxr-xr-xamiga/gui.h3
-rw-r--r--amiga/menu.c1
-rwxr-xr-xamiga/resources/Themes/AISS/Theme2
-rwxr-xr-xamiga/resources/Themes/Default/Theme2
6 files changed, 74 insertions, 25 deletions
diff --git a/amiga/context_menu.c b/amiga/context_menu.c
index c951b0147..2ad2b89d9 100644
--- a/amiga/context_menu.c
+++ b/amiga/context_menu.c
@@ -772,6 +772,7 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved
hotlist_add_url(url);
nsurl_unref(url);
+ ami_gui_update_hotlist_button(gwin);
}
break;
diff --git a/amiga/gui.c b/amiga/gui.c
index 5c7acf187..9ea72a35a 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -20,6 +20,7 @@
#include "content/urldb.h"
#include "css/utils.h"
#include "desktop/browser_private.h"
+#include "desktop/hotlist.h"
#include "desktop/local_history.h"
#include "desktop/mouse.h"
#include "desktop/netsurf.h"
@@ -544,9 +545,6 @@ static nserror ami_set_options(struct nsoption_s *defaults)
nsoption_setnull_charp(url_file,
(char *)strdup(temp));
-/* devs:curl-ca-bundle.crt is the default place for the ca bundle on OS4,
- * but we can't rely on it existing, so default to our local one in resources */
-
nsoption_setnull_charp(ca_bundle,
(char *)strdup("PROGDIR:Resources/ca-bundle"));
@@ -2799,6 +2797,31 @@ void gui_quit(void)
FreeVec(current_user);
}
+void ami_gui_update_hotlist_button(struct gui_window_2 *gwin)
+{
+ char image[100];
+ char *url;
+ nsurl *nsurl;
+
+ GetAttr(STRINGA_TextVal,
+ (Object *)gwin->objects[GID_URL],
+ (ULONG *)&url);
+
+ if(nsurl_create(url, &nsurl) == NSERROR_OK) {
+ if(hotlist_has_url(nsurl)) {
+ ami_get_theme_filename(image, "theme_unfave", false);
+ } else {
+ ami_get_theme_filename(image, "theme_fave", false);
+ }
+
+ SetGadgetAttrs((struct Gadget *)gwin->objects[GID_FAVEIMG],
+ gwin->win, NULL, BITMAP_SourceFile, image, TAG_DONE);
+
+ nsurl_unref(nsurl);
+ }
+}
+
+
void ami_update_buttons(struct gui_window_2 *gwin)
{
BOOL back=FALSE,forward=TRUE,tabclose=FALSE,stop=FALSE,reload=FALSE;
@@ -3121,6 +3144,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
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 fave[100];
char tabthrobber[100];
ULONG refresh_mode = WA_SmartRefresh;
ULONG idcmp_sizeverify = IDCMP_SIZEVERIFY;
@@ -3283,28 +3307,29 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
g->shared->helphints[GID_ADDTAB] =
translate_escape_chars(messages_get("HelpToolbarAddTab"));
- ami_get_theme_filename(nav_west,"theme_nav_west",false);
- ami_get_theme_filename(nav_west_s,"theme_nav_west_s",false);
- ami_get_theme_filename(nav_west_g,"theme_nav_west_g",false);
- ami_get_theme_filename(nav_east,"theme_nav_east",false);
- ami_get_theme_filename(nav_east_s,"theme_nav_east_s",false);
- ami_get_theme_filename(nav_east_g,"theme_nav_east_g",false);
- ami_get_theme_filename(stop,"theme_stop",false);
- ami_get_theme_filename(stop_s,"theme_stop_s",false);
- ami_get_theme_filename(stop_g,"theme_stop_g",false);
- ami_get_theme_filename(reload,"theme_reload",false);
- ami_get_theme_filename(reload_s,"theme_reload_s",false);
- ami_get_theme_filename(reload_g,"theme_reload_g",false);
- ami_get_theme_filename(home,"theme_home",false);
- ami_get_theme_filename(home_s,"theme_home_s",false);
- ami_get_theme_filename(home_g,"theme_home_g",false);
- ami_get_theme_filename(closetab,"theme_closetab",false);
- ami_get_theme_filename(closetab_s,"theme_closetab_s",false);
- ami_get_theme_filename(closetab_g,"theme_closetab_g",false);
- ami_get_theme_filename(addtab,"theme_addtab",false);
- ami_get_theme_filename(addtab_s,"theme_addtab_s",false);
- ami_get_theme_filename(addtab_g,"theme_addtab_g",false);
- ami_get_theme_filename(tabthrobber,"theme_tab_loading",false);
+ ami_get_theme_filename(nav_west, "theme_nav_west", false);
+ ami_get_theme_filename(nav_west_s, "theme_nav_west_s", false);
+ ami_get_theme_filename(nav_west_g, "theme_nav_west_g", false);
+ ami_get_theme_filename(nav_east, "theme_nav_east", false);
+ ami_get_theme_filename(nav_east_s, "theme_nav_east_s", false);
+ ami_get_theme_filename(nav_east_g, "theme_nav_east_g", false);
+ ami_get_theme_filename(stop, "theme_stop", false);
+ ami_get_theme_filename(stop_s, "theme_stop_s", false);
+ ami_get_theme_filename(stop_g, "theme_stop_g", false);
+ ami_get_theme_filename(reload, "theme_reload", false);
+ ami_get_theme_filename(reload_s, "theme_reload_s", false);
+ ami_get_theme_filename(reload_g, "theme_reload_g", false);
+ ami_get_theme_filename(home, "theme_home", false);
+ ami_get_theme_filename(home_s, "theme_home_s", false);
+ ami_get_theme_filename(home_g, "theme_home_g", false);
+ ami_get_theme_filename(closetab, "theme_closetab", false);
+ ami_get_theme_filename(closetab_s, "theme_closetab_s", false);
+ ami_get_theme_filename(closetab_g, "theme_closetab_g", false);
+ ami_get_theme_filename(addtab, "theme_addtab", false);
+ ami_get_theme_filename(addtab_s, "theme_addtab_s", false);
+ ami_get_theme_filename(addtab_g, "theme_addtab_g", false);
+ ami_get_theme_filename(tabthrobber, "theme_tab_loading", false);
+ ami_get_theme_filename(fave, "theme_fave", false);
g->shared->objects[GID_ADDTAB_BM] = BitMapObject,
BITMAP_SourceFile, addtab,
@@ -3484,6 +3509,20 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
STRINGVIEW_Header, URLHistory_GetList(),
StringEnd,
+ LAYOUT_AddChild, g->shared->objects[GID_FAVE] = ButtonObject,
+ GA_ID, GID_FAVE,
+ GA_RelVerify, TRUE,
+ // GA_HintInfo, g->shared->helphints[GID_FAVE],
+ BUTTON_RenderImage, g->shared->objects[GID_FAVEIMG] = BitMapObject,
+ BITMAP_SourceFile, fave,
+ // BITMAP_SelectSourceFile, fave_s,
+ BITMAP_Screen, scrn,
+ BITMAP_Masking, TRUE,
+ BitMapEnd,
+ ButtonEnd,
+ CHILD_WeightedWidth,0,
+ CHILD_WeightedHeight,0,
+
// GA_ID, GID_TOOLBARLAYOUT,
// GA_RelVerify, TRUE,
// LAYOUT_RelVerify, TRUE,
@@ -4835,6 +4874,7 @@ void gui_window_new_content(struct gui_window *g)
g->favicon = NULL;
ami_plot_release_pens(&g->shared->shared_pens);
ami_menu_update_disabled(g, c);
+ ami_gui_update_hotlist_button(g->shared);
}
bool gui_window_scroll_start(struct gui_window *g)
diff --git a/amiga/gui.h b/amiga/gui.h
index b1acf3df3..d7d80072d 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -48,6 +48,8 @@ enum
GID_FORWARD,
GID_THROBBER,
GID_SEARCH_ICON,
+ GID_FAVE,
+ GID_FAVEIMG,
GID_CLOSETAB,
GID_CLOSETAB_BM,
GID_ADDTAB,
@@ -160,6 +162,7 @@ void ami_gui_history(struct gui_window_2 *gwin, bool back);
void ami_gui_hotlist_toolbar_update_all(void);
void ami_gui_tabs_toggle_all(void);
bool ami_locate_resource(char *fullpath, const char *file);
+void ami_gui_update_hotlist_button(struct gui_window_2 *gwin);
struct TextFont *origrpfont;
struct MinList *window_list;
diff --git a/amiga/menu.c b/amiga/menu.c
index 8bca4ebef..a9185e823 100644
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -1030,6 +1030,7 @@ static void ami_menu_item_hotlist_add(struct Hook *hook, APTR window, struct Int
return;
hotlist_add_url(hlcache_handle_get_url(bw->current_content));
+ ami_gui_update_hotlist_button(gwin);
}
static void ami_menu_item_hotlist_show(struct Hook *hook, APTR window, struct IntuiMessage *msg)
diff --git a/amiga/resources/Themes/AISS/Theme b/amiga/resources/Themes/AISS/Theme
index f515a89b0..96f84cd07 100755
--- a/amiga/resources/Themes/AISS/Theme
+++ b/amiga/resources/Themes/AISS/Theme
@@ -29,6 +29,8 @@ theme_throbber_frames:13
theme_throbber_delay:100
theme_tab_loading:*TBImages:list_download
theme_search:*TBImages:list_search
+theme_fave:*TBImages:list_favourite
+theme_unfave:*TBImages:list_favouriteadd
ptr_default:*PROGDIR:Resources/Pointers/Default
ptr_point:*PROGDIR:Resources/Pointers/Point
ptr_caret:*PROGDIR:Resources/Pointers/Caret
diff --git a/amiga/resources/Themes/Default/Theme b/amiga/resources/Themes/Default/Theme
index ca6d0ea24..bfd610a19 100755
--- a/amiga/resources/Themes/Default/Theme
+++ b/amiga/resources/Themes/Default/Theme
@@ -42,6 +42,8 @@ theme_throbber_frames:9
theme_throbber_delay:100
theme_tab_loading:
theme_search:search.png
+theme_fave:*PROGDIR:Resources/icons/hotlist-add.png
+theme_fave:*PROGDIR:Resources/icons/hotlist-rmv.png
ptr_default:*PROGDIR:Resources/Pointers/Default
ptr_point:*PROGDIR:Resources/Pointers/Point
ptr_caret:*PROGDIR:Resources/Pointers/Caret