Began to implement callbacks in the context menu
This commit is contained in:
parent
75c2c87a2b
commit
c769c792fa
@ -1,5 +1,5 @@
|
||||
/* $Id$ */
|
||||
/* Copyright (c) 2006-2012 Pierre Pronchery <khorben@defora.org> */
|
||||
/* Copyright (c) 2006-2013 Pierre Pronchery <khorben@defora.org> */
|
||||
/* This file is part of DeforaOS Desktop Surfer */
|
||||
/* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -250,7 +250,7 @@ void on_view_page_source(gpointer data)
|
||||
{
|
||||
Surfer * surfer = data;
|
||||
|
||||
surfer_view_source(surfer);
|
||||
on_view_source(surfer);
|
||||
}
|
||||
|
||||
|
||||
@ -565,6 +565,15 @@ void on_stop(gpointer data)
|
||||
}
|
||||
|
||||
|
||||
/* on_view_source */
|
||||
void on_view_source(gpointer data)
|
||||
{
|
||||
Surfer * surfer = data;
|
||||
|
||||
surfer_view_source(surfer);
|
||||
}
|
||||
|
||||
|
||||
/* on_zoom_changed */
|
||||
void on_zoom_changed(gpointer data, GtkWidget * widget)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* $Id$ */
|
||||
/* Copyright (c) 2012 Pierre Pronchery <khorben@defora.org> */
|
||||
/* Copyright (c) 2006-2013 Pierre Pronchery <khorben@defora.org> */
|
||||
/* This file is part of DeforaOS Desktop Surfer */
|
||||
/* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -78,6 +78,7 @@ void on_preferences(gpointer data);
|
||||
void on_refresh(gpointer data);
|
||||
void on_security(gpointer data);
|
||||
void on_stop(gpointer data);
|
||||
void on_view_source(gpointer data);
|
||||
void on_zoom_changed(gpointer data, GtkWidget * widget);
|
||||
void on_zoom_in(gpointer data);
|
||||
void on_zoom_out(gpointer data);
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <libintl.h>
|
||||
#include <webkit/webkit.h>
|
||||
#include "callbacks.h"
|
||||
#include "ghtml.h"
|
||||
#include "common/url.c"
|
||||
#include "../config.h"
|
||||
@ -845,11 +846,13 @@ static void _context_menu_separator(GtkWidget * menu, gboolean * separator);
|
||||
static gboolean _on_context_menu(WebKitWebView * view, GtkWidget * menu,
|
||||
WebKitHitTestResult * result, gboolean keyboard, gpointer data)
|
||||
{
|
||||
GHtml * ghtml = data;
|
||||
GtkWidget * widget = data;
|
||||
GHtml * ghtml;
|
||||
WebKitHitTestResultContext context;
|
||||
gboolean separator = FALSE;
|
||||
|
||||
/* FIXME implement the callbacks */
|
||||
/* FIXME implement every callback */
|
||||
ghtml = g_object_get_data(G_OBJECT(widget), "ghtml");
|
||||
menu = gtk_menu_new();
|
||||
g_object_get(result, "context", &context, NULL);
|
||||
if(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)
|
||||
@ -891,14 +894,20 @@ static void _context_menu_document(GHtml * ghtml, GtkWidget * menu)
|
||||
|
||||
/* back */
|
||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_BACK, NULL);
|
||||
if(!ghtml_can_go_back(ghtml))
|
||||
if(!ghtml_can_go_back(ghtml->widget))
|
||||
gtk_widget_set_sensitive(menuitem, FALSE);
|
||||
else
|
||||
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||
on_back), ghtml->surfer);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
/* forward */
|
||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_FORWARD,
|
||||
NULL);
|
||||
if(!ghtml_can_go_forward(ghtml))
|
||||
if(!ghtml_can_go_forward(ghtml->widget))
|
||||
gtk_widget_set_sensitive(menuitem, FALSE);
|
||||
else
|
||||
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||
on_forward), ghtml->surfer);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, NULL);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
@ -930,6 +939,8 @@ static void _context_menu_document(GHtml * ghtml, GtkWidget * menu)
|
||||
menuitem = gtk_image_menu_item_new_with_mnemonic(_("View so_urce"));
|
||||
image = gtk_image_new_from_icon_name("surfer-view-html-source",
|
||||
GTK_ICON_SIZE_MENU);
|
||||
g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(
|
||||
on_view_source), ghtml->surfer);
|
||||
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user