mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-03-11 09:33:04 +03:00
Ensure menu state is correct when switching tabs
svn path=/trunk/netsurf/; revision=10476
This commit is contained in:
parent
ed8759c2f2
commit
90079085bb
39
amiga/gui.c
39
amiga/gui.c
@ -1872,6 +1872,7 @@ void ami_switch_tab(struct gui_window_2 *gwin,bool redraw)
|
||||
}
|
||||
|
||||
ami_update_buttons(gwin);
|
||||
ami_menu_update_disabled(gwin->win, gwin->bw->current_content);
|
||||
|
||||
if(redraw)
|
||||
{
|
||||
@ -3619,43 +3620,7 @@ void gui_window_new_content(struct gui_window *g)
|
||||
if(g->shared->bw->browser_window_type != BROWSER_WINDOW_NORMAL ||
|
||||
option_kiosk_mode == true) return;
|
||||
|
||||
if(content_get_type(c) <= CONTENT_CSS)
|
||||
{
|
||||
OnMenu(g->shared->win,AMI_MENU_SAVEAS_TEXT);
|
||||
OnMenu(g->shared->win,AMI_MENU_SAVEAS_COMPLETE);
|
||||
OnMenu(g->shared->win,AMI_MENU_SAVEAS_PDF);
|
||||
OnMenu(g->shared->win,AMI_MENU_COPY);
|
||||
OnMenu(g->shared->win,AMI_MENU_PASTE);
|
||||
OnMenu(g->shared->win,AMI_MENU_SELECTALL);
|
||||
OnMenu(g->shared->win,AMI_MENU_CLEAR);
|
||||
OnMenu(g->shared->win,AMI_MENU_FIND);
|
||||
OffMenu(g->shared->win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
OffMenu(g->shared->win,AMI_MENU_SAVEAS_TEXT);
|
||||
OffMenu(g->shared->win,AMI_MENU_SAVEAS_COMPLETE);
|
||||
OffMenu(g->shared->win,AMI_MENU_SAVEAS_PDF);
|
||||
OffMenu(g->shared->win,AMI_MENU_PASTE);
|
||||
OffMenu(g->shared->win,AMI_MENU_SELECTALL);
|
||||
OffMenu(g->shared->win,AMI_MENU_CLEAR);
|
||||
OffMenu(g->shared->win,AMI_MENU_FIND);
|
||||
|
||||
#ifdef WITH_NS_SVG
|
||||
if(content_get_bitmap(c) || content_get_type(c) == CONTENT_SVG)
|
||||
#else
|
||||
if(content_get_bitmap(c))
|
||||
#endif
|
||||
{
|
||||
OnMenu(g->shared->win,AMI_MENU_COPY);
|
||||
OnMenu(g->shared->win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
OffMenu(g->shared->win,AMI_MENU_COPY);
|
||||
OffMenu(g->shared->win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
}
|
||||
ami_menu_update_disabled(g->shared->win, c);
|
||||
}
|
||||
|
||||
bool gui_window_scroll_start(struct gui_window *g)
|
||||
|
48
amiga/menu.c
48
amiga/menu.c
@ -49,6 +49,7 @@
|
||||
#include "amiga/gui_options.h"
|
||||
#include "amiga/print.h"
|
||||
#include "amiga/download.h"
|
||||
#include <proto/intuition.h>
|
||||
|
||||
BOOL menualreadyinit;
|
||||
const char * const netsurf_version;
|
||||
@ -819,4 +820,49 @@ static const ULONG ami_asl_mime_hook(struct Hook *mh,struct FileRequester *fr,st
|
||||
|
||||
free(mt);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
void ami_menu_update_disabled(struct Window *win, hlcache_handle *c)
|
||||
{
|
||||
if(content_get_type(c) <= CONTENT_CSS)
|
||||
{
|
||||
OnMenu(win,AMI_MENU_SAVEAS_TEXT);
|
||||
OnMenu(win,AMI_MENU_SAVEAS_COMPLETE);
|
||||
#ifdef WITH_PDF_EXPORT
|
||||
OnMenu(win,AMI_MENU_SAVEAS_PDF);
|
||||
#endif
|
||||
OnMenu(win,AMI_MENU_COPY);
|
||||
OnMenu(win,AMI_MENU_PASTE);
|
||||
OnMenu(win,AMI_MENU_SELECTALL);
|
||||
OnMenu(win,AMI_MENU_CLEAR);
|
||||
OnMenu(win,AMI_MENU_FIND);
|
||||
OffMenu(win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
OffMenu(win,AMI_MENU_SAVEAS_TEXT);
|
||||
OffMenu(win,AMI_MENU_SAVEAS_COMPLETE);
|
||||
#ifdef WITH_PDF_EXPORT
|
||||
OffMenu(win,AMI_MENU_SAVEAS_PDF);
|
||||
#endif
|
||||
OffMenu(win,AMI_MENU_PASTE);
|
||||
OffMenu(win,AMI_MENU_SELECTALL);
|
||||
OffMenu(win,AMI_MENU_CLEAR);
|
||||
OffMenu(win,AMI_MENU_FIND);
|
||||
|
||||
#ifdef WITH_NS_SVG
|
||||
if(content_get_bitmap(c) || content_get_type(c) == CONTENT_SVG)
|
||||
#else
|
||||
if(content_get_bitmap(c))
|
||||
#endif
|
||||
{
|
||||
OnMenu(win,AMI_MENU_COPY);
|
||||
OnMenu(win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
else
|
||||
{
|
||||
OffMenu(win,AMI_MENU_COPY);
|
||||
OffMenu(win,AMI_MENU_SAVEAS_IFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,4 +66,5 @@ struct NewMenu *ami_create_menu(ULONG type);
|
||||
void ami_init_menulabs(void);
|
||||
void ami_free_menulabs(void);
|
||||
void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item);
|
||||
void ami_menu_update_disabled(struct Window *win, hlcache_handle *c);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user