Added a couple callbacks to the contextual menu
This commit is contained in:
parent
683488d6df
commit
d386203faa
|
@ -916,6 +916,7 @@ static void _context_menu_document(GHtml * ghtml, GtkWidget * menu)
|
||||||
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||||
surfer_go_forward), ghtml->surfer);
|
surfer_go_forward), ghtml->surfer);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||||
|
/* refresh */
|
||||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, NULL);
|
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, NULL);
|
||||||
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||||
surfer_refresh), ghtml->surfer);
|
surfer_refresh), ghtml->surfer);
|
||||||
|
@ -928,6 +929,8 @@ static void _context_menu_document(GHtml * ghtml, GtkWidget * menu)
|
||||||
_("_Save page as..."));
|
_("_Save page as..."));
|
||||||
image = gtk_image_new_from_stock(GTK_STOCK_SAVE_AS, GTK_ICON_SIZE_MENU);
|
image = gtk_image_new_from_stock(GTK_STOCK_SAVE_AS, GTK_ICON_SIZE_MENU);
|
||||||
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
|
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
|
||||||
|
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||||
|
surfer_save_dialog), ghtml->surfer);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||||
/* separator */
|
/* separator */
|
||||||
menuitem = gtk_separator_menu_item_new();
|
menuitem = gtk_separator_menu_item_new();
|
||||||
|
|
34
src/surfer.c
34
src/surfer.c
|
@ -1498,7 +1498,6 @@ void surfer_save(Surfer * surfer, char const * filename)
|
||||||
{
|
{
|
||||||
GtkWidget * view;
|
GtkWidget * view;
|
||||||
char const * source;
|
char const * source;
|
||||||
GtkWidget * dialog;
|
|
||||||
size_t len;
|
size_t len;
|
||||||
FILE * fp;
|
FILE * fp;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
@ -1509,16 +1508,7 @@ void surfer_save(Surfer * surfer, char const * filename)
|
||||||
return; /* XXX report error */
|
return; /* XXX report error */
|
||||||
if(filename == NULL)
|
if(filename == NULL)
|
||||||
{
|
{
|
||||||
dialog = gtk_file_chooser_dialog_new(_("Save file as..."),
|
surfer_save_dialog(surfer);
|
||||||
GTK_WINDOW(surfer->window),
|
|
||||||
GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL,
|
|
||||||
GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE,
|
|
||||||
GTK_RESPONSE_ACCEPT, NULL);
|
|
||||||
if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
|
|
||||||
filename = gtk_file_chooser_get_filename(
|
|
||||||
GTK_FILE_CHOOSER(dialog));
|
|
||||||
gtk_widget_destroy(dialog);
|
|
||||||
if(filename == NULL)
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(_surfer_filename_confirm(surfer, filename) != TRUE)
|
if(_surfer_filename_confirm(surfer, filename) != TRUE)
|
||||||
|
@ -1539,6 +1529,28 @@ void surfer_save(Surfer * surfer, char const * filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* surfer_save_dialog */
|
||||||
|
void surfer_save_dialog(Surfer * surfer)
|
||||||
|
{
|
||||||
|
GtkWidget * dialog;
|
||||||
|
gchar * filename = NULL;
|
||||||
|
|
||||||
|
dialog = gtk_file_chooser_dialog_new(_("Save file as..."),
|
||||||
|
GTK_WINDOW(surfer->window),
|
||||||
|
GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL,
|
||||||
|
GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE,
|
||||||
|
GTK_RESPONSE_ACCEPT, NULL);
|
||||||
|
if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
|
||||||
|
filename = gtk_file_chooser_get_filename(
|
||||||
|
GTK_FILE_CHOOSER(dialog));
|
||||||
|
gtk_widget_destroy(dialog);
|
||||||
|
if(filename == NULL)
|
||||||
|
return;
|
||||||
|
surfer_save(surfer, filename);
|
||||||
|
g_free(filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* surfer_select_all */
|
/* surfer_select_all */
|
||||||
void surfer_select_all(Surfer * surfer)
|
void surfer_select_all(Surfer * surfer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -102,6 +102,7 @@ void surfer_close_tab(Surfer * surfer, GtkWidget * widget);
|
||||||
void surfer_print(Surfer * surfer);
|
void surfer_print(Surfer * surfer);
|
||||||
|
|
||||||
void surfer_save(Surfer * surfer, char const * filename);
|
void surfer_save(Surfer * surfer, char const * filename);
|
||||||
|
void surfer_save_dialog(Surfer * surfer);
|
||||||
|
|
||||||
void surfer_find(Surfer * surfer, char const * text);
|
void surfer_find(Surfer * surfer, char const * text);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user