mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-19 18:52:39 +03:00
clean up some more handler code and remove button push
This commit is contained in:
parent
ff64341ed3
commit
b24b28e40e
@ -87,22 +87,16 @@ static gboolean nsgtk_on_##q##_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;\
|
||||
return nsgtk_on_##q##_activate(g);\
|
||||
}\
|
||||
static gboolean nsgtk_on_##q##_activate_button(GtkButton *widget, gpointer data)\
|
||||
{\
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;\
|
||||
return nsgtk_on_##q##_activate(g);\
|
||||
}\
|
||||
static gboolean nsgtk_on_##q##_activate(struct nsgtk_scaffolding *g)
|
||||
|
||||
/** Macro to define a handler for menu events. */
|
||||
#define MENUHANDLER(q)\
|
||||
static gboolean nsgtk_on_##q##_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
|
||||
/** Macro to define a handler for button events. */
|
||||
#define BUTTONHANDLER(q)\
|
||||
static gboolean nsgtk_on_##q##_activate(GtkButton *widget, gpointer data)
|
||||
|
||||
|
||||
/**
|
||||
* menu entry context
|
||||
*/
|
||||
struct nsgtk_menu {
|
||||
GtkWidget *main; /* main menu entry */
|
||||
GtkWidget *rclick; /* right click menu */
|
||||
@ -111,7 +105,9 @@ struct nsgtk_menu {
|
||||
bool sensitivity; /* menu item is sensitive */
|
||||
};
|
||||
|
||||
/** Core scaffolding structure. */
|
||||
/**
|
||||
* Core scaffolding structure.
|
||||
*/
|
||||
struct nsgtk_scaffolding {
|
||||
/** global linked list of scaffolding for gui interface adjustments */
|
||||
struct nsgtk_scaffolding *next, *prev;
|
||||
@ -146,7 +142,9 @@ struct nsgtk_scaffolding {
|
||||
struct nsgtk_menu menus[PLACEHOLDER_BUTTON];
|
||||
};
|
||||
|
||||
/** current scaffold for model dialogue use */
|
||||
/**
|
||||
* current scaffold for model dialogue use
|
||||
*/
|
||||
static struct nsgtk_scaffolding *scaf_current;
|
||||
|
||||
/** global list for interface changes */
|
||||
@ -336,8 +334,6 @@ static void scaffolding_update_context(struct nsgtk_scaffolding *g)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* edit the sensitivity of focused widget
|
||||
*
|
||||
@ -727,16 +723,19 @@ MULTIHANDLER(savepage)
|
||||
if (!browser_window_has_content(nsgtk_get_browser_window(g->top_level)))
|
||||
return FALSE;
|
||||
|
||||
GtkWidget *fc = gtk_file_chooser_dialog_new(
|
||||
GtkWidget *fc;
|
||||
DIR *d;
|
||||
char *path;
|
||||
nserror res;
|
||||
GtkFileFilter *filter;
|
||||
|
||||
fc = gtk_file_chooser_dialog_new(
|
||||
messages_get("gtkcompleteSave"), g->window,
|
||||
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER,
|
||||
NSGTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
NSGTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
|
||||
NULL);
|
||||
DIR *d;
|
||||
char *path;
|
||||
nserror res;
|
||||
GtkFileFilter *filter = gtk_file_filter_new();
|
||||
filter = gtk_file_filter_new();
|
||||
gtk_file_filter_set_name(filter, "Directories");
|
||||
gtk_file_filter_add_custom(filter, GTK_FILE_FILTER_FILENAME,
|
||||
nsgtk_filter_directory, NULL, NULL);
|
||||
@ -1023,7 +1022,9 @@ MULTIHANDLER(quit)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
MENUHANDLER(savelink)
|
||||
|
||||
static gboolean
|
||||
nsgtk_on_savelink_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *) data;
|
||||
struct gui_window *gui = g->top_level;
|
||||
@ -1050,7 +1051,8 @@ MENUHANDLER(savelink)
|
||||
/**
|
||||
* Handler for opening new window from a link. attached to the popup menu.
|
||||
*/
|
||||
MENUHANDLER(link_openwin)
|
||||
static gboolean
|
||||
nsgtk_on_link_openwin_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *) data;
|
||||
struct gui_window *gui = g->top_level;
|
||||
@ -1072,7 +1074,8 @@ MENUHANDLER(link_openwin)
|
||||
/**
|
||||
* Handler for opening new tab from a link. attached to the popup menu.
|
||||
*/
|
||||
MENUHANDLER(link_opentab)
|
||||
static gboolean
|
||||
nsgtk_on_link_opentab_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *) data;
|
||||
struct gui_window *gui = g->top_level;
|
||||
@ -1100,7 +1103,8 @@ MENUHANDLER(link_opentab)
|
||||
/**
|
||||
* Handler for bookmarking a link. attached to the popup menu.
|
||||
*/
|
||||
MENUHANDLER(link_bookmark)
|
||||
static gboolean
|
||||
nsgtk_on_link_bookmark_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
if (current_menu_features.link == NULL)
|
||||
return FALSE;
|
||||
@ -1113,7 +1117,8 @@ MENUHANDLER(link_bookmark)
|
||||
/**
|
||||
* Handler for copying a link. attached to the popup menu.
|
||||
*/
|
||||
MENUHANDLER(link_copy)
|
||||
static gboolean
|
||||
nsgtk_on_link_copy_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
GtkClipboard *clipboard;
|
||||
|
||||
@ -1177,7 +1182,9 @@ MULTIHANDLER(delete)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
MENUHANDLER(customize)
|
||||
|
||||
static gboolean
|
||||
nsgtk_on_customize_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;
|
||||
nsgtk_toolbar_customization_init(g);
|
||||
@ -1272,7 +1279,9 @@ MULTIHANDLER(viewsource)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
MENUHANDLER(menubar)
|
||||
|
||||
static gboolean
|
||||
nsgtk_on_menubar_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
GtkWidget *w;
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;
|
||||
@ -1318,7 +1327,9 @@ MENUHANDLER(menubar)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
MENUHANDLER(toolbar)
|
||||
|
||||
static gboolean
|
||||
nsgtk_on_toolbar_activate_menu(GtkMenuItem *widget, gpointer data)
|
||||
{
|
||||
GtkWidget *w;
|
||||
struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;
|
||||
@ -1751,6 +1762,7 @@ static void nsgtk_menu_connect_signals(struct nsgtk_scaffolding *g)
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create and connect handlers to popup menu.
|
||||
*
|
||||
@ -1769,20 +1781,30 @@ nsgtk_new_scaffolding_popup(struct nsgtk_scaffolding *g, GtkAccelGroup *group)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
g_signal_connect(nmenu->popup_menu, "hide",
|
||||
G_CALLBACK(nsgtk_window_popup_menu_hidden), g);
|
||||
g_signal_connect(nmenu->popup_menu,
|
||||
"hide",
|
||||
G_CALLBACK(nsgtk_window_popup_menu_hidden),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->cut_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_cut_activate_menu), g);
|
||||
g_signal_connect(nmenu->cut_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_cut_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->copy_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_copy_activate_menu), g);
|
||||
g_signal_connect(nmenu->copy_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_copy_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->paste_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_paste_activate_menu), g);
|
||||
g_signal_connect(nmenu->paste_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_paste_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->customize_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_customize_activate_menu), g);
|
||||
g_signal_connect(nmenu->customize_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_customize_activate_menu),
|
||||
g);
|
||||
|
||||
/* set initial popup menu visibility */
|
||||
popup_menu_hide(nmenu, true, false, false, true);
|
||||
@ -1798,7 +1820,8 @@ nsgtk_new_scaffolding_popup(struct nsgtk_scaffolding *g, GtkAccelGroup *group)
|
||||
* \return true on success or false on error.
|
||||
*/
|
||||
static struct nsgtk_link_menu *
|
||||
nsgtk_new_scaffolding_link_popup(struct nsgtk_scaffolding *g, GtkAccelGroup *group)
|
||||
nsgtk_new_scaffolding_link_popup(struct nsgtk_scaffolding *g,
|
||||
GtkAccelGroup *group)
|
||||
{
|
||||
struct nsgtk_link_menu *nmenu;
|
||||
|
||||
@ -1808,20 +1831,30 @@ nsgtk_new_scaffolding_link_popup(struct nsgtk_scaffolding *g, GtkAccelGroup *gro
|
||||
return NULL;
|
||||
}
|
||||
|
||||
g_signal_connect(nmenu->save_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_savelink_activate_menu), g);
|
||||
g_signal_connect(nmenu->save_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_savelink_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->opentab_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_link_opentab_activate_menu), g);
|
||||
g_signal_connect(nmenu->opentab_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_link_opentab_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->openwin_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_link_openwin_activate_menu), g);
|
||||
g_signal_connect(nmenu->openwin_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_link_openwin_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->bookmark_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_link_bookmark_activate_menu), g);
|
||||
g_signal_connect(nmenu->bookmark_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_link_bookmark_activate_menu),
|
||||
g);
|
||||
|
||||
g_signal_connect(nmenu->copy_menuitem, "activate",
|
||||
G_CALLBACK(nsgtk_on_link_copy_activate_menu), g);
|
||||
g_signal_connect(nmenu->copy_menuitem,
|
||||
"activate",
|
||||
G_CALLBACK(nsgtk_on_link_copy_activate_menu),
|
||||
g);
|
||||
|
||||
return nmenu;
|
||||
}
|
||||
|
@ -65,16 +65,16 @@
|
||||
*/
|
||||
struct nsgtk_toolbar_item {
|
||||
GtkToolItem *button;
|
||||
int location; /* in toolbar */
|
||||
bool sensitivity;
|
||||
int location; /* in toolbar */
|
||||
bool sensitivity;
|
||||
|
||||
/**
|
||||
* button clicked handler
|
||||
*/
|
||||
gboolean (*bhandler)(GtkWidget *widget, gpointer data);
|
||||
|
||||
void *dataplus; /* customization -> toolbar */
|
||||
void *dataminus; /* customization -> store */
|
||||
void *dataplus; /* customization -> toolbar */
|
||||
void *dataminus; /* customization -> store */
|
||||
};
|
||||
|
||||
|
||||
@ -225,39 +225,39 @@ nsgtk_theme_image_default(nsgtk_toolbar_button tbbutton,
|
||||
|
||||
switch(tbbutton) {
|
||||
|
||||
#define BUTTON_IMAGE(p, q) \
|
||||
#define BUTTON_IMAGE(p, q) \
|
||||
case p##_BUTTON: \
|
||||
image = GTK_IMAGE(nsgtk_image_new_from_stock(q, iconsize)); \
|
||||
break
|
||||
|
||||
BUTTON_IMAGE(BACK, NSGTK_STOCK_GO_BACK);
|
||||
BUTTON_IMAGE(FORWARD, NSGTK_STOCK_GO_FORWARD);
|
||||
BUTTON_IMAGE(STOP, NSGTK_STOCK_STOP);
|
||||
BUTTON_IMAGE(RELOAD, NSGTK_STOCK_REFRESH);
|
||||
BUTTON_IMAGE(HOME, NSGTK_STOCK_HOME);
|
||||
BUTTON_IMAGE(NEWWINDOW, "gtk-new");
|
||||
BUTTON_IMAGE(NEWTAB, "gtk-new");
|
||||
BUTTON_IMAGE(OPENFILE, NSGTK_STOCK_OPEN);
|
||||
BUTTON_IMAGE(CLOSETAB, NSGTK_STOCK_CLOSE);
|
||||
BUTTON_IMAGE(CLOSEWINDOW, NSGTK_STOCK_CLOSE);
|
||||
BUTTON_IMAGE(SAVEPAGE, NSGTK_STOCK_SAVE_AS);
|
||||
BUTTON_IMAGE(PRINTPREVIEW, "gtk-print-preview");
|
||||
BUTTON_IMAGE(PRINT, "gtk-print");
|
||||
BUTTON_IMAGE(QUIT, "gtk-quit");
|
||||
BUTTON_IMAGE(CUT, "gtk-cut");
|
||||
BUTTON_IMAGE(COPY, "gtk-copy");
|
||||
BUTTON_IMAGE(PASTE, "gtk-paste");
|
||||
BUTTON_IMAGE(DELETE, "gtk-delete");
|
||||
BUTTON_IMAGE(SELECTALL, "gtk-select-all");
|
||||
BUTTON_IMAGE(FIND, NSGTK_STOCK_FIND);
|
||||
BUTTON_IMAGE(PREFERENCES, "gtk-preferences");
|
||||
BUTTON_IMAGE(ZOOMPLUS, "gtk-zoom-in");
|
||||
BUTTON_IMAGE(ZOOMMINUS, "gtk-zoom-out");
|
||||
BUTTON_IMAGE(ZOOMNORMAL, "gtk-zoom-100");
|
||||
BUTTON_IMAGE(FULLSCREEN, "gtk-fullscreen");
|
||||
BUTTON_IMAGE(VIEWSOURCE, "gtk-index");
|
||||
BUTTON_IMAGE(CONTENTS, "gtk-help");
|
||||
BUTTON_IMAGE(ABOUT, "gtk-about");
|
||||
BUTTON_IMAGE(BACK, NSGTK_STOCK_GO_BACK);
|
||||
BUTTON_IMAGE(FORWARD, NSGTK_STOCK_GO_FORWARD);
|
||||
BUTTON_IMAGE(STOP, NSGTK_STOCK_STOP);
|
||||
BUTTON_IMAGE(RELOAD, NSGTK_STOCK_REFRESH);
|
||||
BUTTON_IMAGE(HOME, NSGTK_STOCK_HOME);
|
||||
BUTTON_IMAGE(NEWWINDOW, "gtk-new");
|
||||
BUTTON_IMAGE(NEWTAB, "gtk-new");
|
||||
BUTTON_IMAGE(OPENFILE, NSGTK_STOCK_OPEN);
|
||||
BUTTON_IMAGE(CLOSETAB, NSGTK_STOCK_CLOSE);
|
||||
BUTTON_IMAGE(CLOSEWINDOW, NSGTK_STOCK_CLOSE);
|
||||
BUTTON_IMAGE(SAVEPAGE, NSGTK_STOCK_SAVE_AS);
|
||||
BUTTON_IMAGE(PRINTPREVIEW, "gtk-print-preview");
|
||||
BUTTON_IMAGE(PRINT, "gtk-print");
|
||||
BUTTON_IMAGE(QUIT, "gtk-quit");
|
||||
BUTTON_IMAGE(CUT, "gtk-cut");
|
||||
BUTTON_IMAGE(COPY, "gtk-copy");
|
||||
BUTTON_IMAGE(PASTE, "gtk-paste");
|
||||
BUTTON_IMAGE(DELETE, "gtk-delete");
|
||||
BUTTON_IMAGE(SELECTALL, "gtk-select-all");
|
||||
BUTTON_IMAGE(FIND, NSGTK_STOCK_FIND);
|
||||
BUTTON_IMAGE(PREFERENCES, "gtk-preferences");
|
||||
BUTTON_IMAGE(ZOOMPLUS, "gtk-zoom-in");
|
||||
BUTTON_IMAGE(ZOOMMINUS, "gtk-zoom-out");
|
||||
BUTTON_IMAGE(ZOOMNORMAL, "gtk-zoom-100");
|
||||
BUTTON_IMAGE(FULLSCREEN, "gtk-fullscreen");
|
||||
BUTTON_IMAGE(VIEWSOURCE, "gtk-index");
|
||||
BUTTON_IMAGE(CONTENTS, "gtk-help");
|
||||
BUTTON_IMAGE(ABOUT, "gtk-about");
|
||||
#undef BUTTON_IMAGE
|
||||
|
||||
case HISTORY_BUTTON:
|
||||
@ -411,7 +411,8 @@ void nsgtk_theme_implement(struct nsgtk_scaffolding *g)
|
||||
gtk_widget_show_all(GTK_WIDGET(button->popup));
|
||||
}
|
||||
#endif
|
||||
if ((button->location != -1) && (button->button != NULL) &&
|
||||
if ((button->location != -1) &&
|
||||
(button->button != NULL) &&
|
||||
(theme[IMAGE_SET_BUTTONS] != NULL)) {
|
||||
gtk_tool_button_set_icon_widget(
|
||||
GTK_TOOL_BUTTON(button->button),
|
||||
@ -2017,7 +2018,7 @@ static gboolean websearch_entry_activate_cb(GtkWidget *widget, gpointer data)
|
||||
* \return TRUE
|
||||
*/
|
||||
static gboolean
|
||||
websearch_entry_button_press(GtkWidget *widget,
|
||||
websearch_entry_button_press_cb(GtkWidget *widget,
|
||||
GdkEventFocus *f,
|
||||
gpointer data)
|
||||
{
|
||||
@ -2174,7 +2175,7 @@ toolbar_connect_signal(struct nsgtk_toolbar *tb, nsgtk_toolbar_button itemid)
|
||||
tb);
|
||||
g_signal_connect(GTK_WIDGET(entry),
|
||||
"button-press-event",
|
||||
G_CALLBACK(websearch_entry_button_press),
|
||||
G_CALLBACK(websearch_entry_button_press_cb),
|
||||
tb);
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user