Began to implement callbacks in the context menu
This commit is contained in:
parent
75c2c87a2b
commit
c769c792fa
@ -1,5 +1,5 @@
|
|||||||
/* $Id$ */
|
/* $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 file is part of DeforaOS Desktop Surfer */
|
||||||
/* This program is free software: you can redistribute it and/or modify
|
/* 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
|
* 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 * 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 */
|
/* on_zoom_changed */
|
||||||
void on_zoom_changed(gpointer data, GtkWidget * widget)
|
void on_zoom_changed(gpointer data, GtkWidget * widget)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* $Id$ */
|
/* $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 file is part of DeforaOS Desktop Surfer */
|
||||||
/* This program is free software: you can redistribute it and/or modify
|
/* 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
|
* 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_refresh(gpointer data);
|
||||||
void on_security(gpointer data);
|
void on_security(gpointer data);
|
||||||
void on_stop(gpointer data);
|
void on_stop(gpointer data);
|
||||||
|
void on_view_source(gpointer data);
|
||||||
void on_zoom_changed(gpointer data, GtkWidget * widget);
|
void on_zoom_changed(gpointer data, GtkWidget * widget);
|
||||||
void on_zoom_in(gpointer data);
|
void on_zoom_in(gpointer data);
|
||||||
void on_zoom_out(gpointer data);
|
void on_zoom_out(gpointer data);
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <libintl.h>
|
#include <libintl.h>
|
||||||
#include <webkit/webkit.h>
|
#include <webkit/webkit.h>
|
||||||
|
#include "callbacks.h"
|
||||||
#include "ghtml.h"
|
#include "ghtml.h"
|
||||||
#include "common/url.c"
|
#include "common/url.c"
|
||||||
#include "../config.h"
|
#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,
|
static gboolean _on_context_menu(WebKitWebView * view, GtkWidget * menu,
|
||||||
WebKitHitTestResult * result, gboolean keyboard, gpointer data)
|
WebKitHitTestResult * result, gboolean keyboard, gpointer data)
|
||||||
{
|
{
|
||||||
GHtml * ghtml = data;
|
GtkWidget * widget = data;
|
||||||
|
GHtml * ghtml;
|
||||||
WebKitHitTestResultContext context;
|
WebKitHitTestResultContext context;
|
||||||
gboolean separator = FALSE;
|
gboolean separator = FALSE;
|
||||||
|
|
||||||
/* FIXME implement the callbacks */
|
/* FIXME implement every callback */
|
||||||
|
ghtml = g_object_get_data(G_OBJECT(widget), "ghtml");
|
||||||
menu = gtk_menu_new();
|
menu = gtk_menu_new();
|
||||||
g_object_get(result, "context", &context, NULL);
|
g_object_get(result, "context", &context, NULL);
|
||||||
if(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)
|
if(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)
|
||||||
@ -891,14 +894,20 @@ static void _context_menu_document(GHtml * ghtml, GtkWidget * menu)
|
|||||||
|
|
||||||
/* back */
|
/* back */
|
||||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_BACK, NULL);
|
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);
|
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);
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||||
/* forward */
|
/* forward */
|
||||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_FORWARD,
|
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_FORWARD,
|
||||||
NULL);
|
NULL);
|
||||||
if(!ghtml_can_go_forward(ghtml))
|
if(!ghtml_can_go_forward(ghtml->widget))
|
||||||
gtk_widget_set_sensitive(menuitem, FALSE);
|
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);
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||||
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, NULL);
|
menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, NULL);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
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"));
|
menuitem = gtk_image_menu_item_new_with_mnemonic(_("View so_urce"));
|
||||||
image = gtk_image_new_from_icon_name("surfer-view-html-source",
|
image = gtk_image_new_from_icon_name("surfer-view-html-source",
|
||||||
GTK_ICON_SIZE_MENU);
|
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_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user