📄 callbacks.c
字号:
/* * Copyright (c) 2004 Nokia. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. * * Neither the name of Nokia nor the names of its contributors may be * used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */#ifdef HAVE_CONFIG_H# include <config.h>#endif#include <assert.h>#include <glib.h>/* #include <glib/gi18n.h> */#include <gtk/gtk.h>#include <glade/glade.h>#include <gdk/gdkkeysyms.h> /* for GDK_Escape */#include <gtk-khtml.h>#include "callbacks.h"#include "osb-browser.h"#include "osb-browser-private.h"#include "osb-browserglobal-private.h"#ifndef _#define _(x) (x)#endifvoidon_file_new_window_activate (GtkMenuItem *menuitem, gpointer user_data){ OSBBrowser* self = OSB_BROWSER (user_data); GtkWidget* new_window = osb_browser_new (self->_priv->global); gtk_widget_show (new_window);}voidon_file_new_tab_activate (GtkMenuItem *menuitem, gpointer user_data){ OSBBrowser* self = OSB_BROWSER (user_data); GtkKHTML *engine = GTK_KHTML (gtk_khtml_new ()); const gchar* title = gtk_khtml_get_title (engine); gint page; osb_browser_set_settings(self, GTK_KHTML (engine)); if (!title) title = _("Untitled"); gtk_notebook_append_page (self->_priv->tab, GTK_WIDGET (engine), gtk_label_new(title)); gtk_notebook_set_tab_label_packing (self->_priv->tab, GTK_WIDGET (engine), TRUE, TRUE, GTK_PACK_START); gtk_widget_show (GTK_WIDGET (engine)); /* gtk_notebook_append_page returns new page only in 2.4 */ page = gtk_notebook_page_num (self->_priv->tab, GTK_WIDGET (engine) ); if (page == -1) { /* XXX: cant create new tab */ g_warning ("couldn't create new tab"); return; } gtk_notebook_set_current_page (self->_priv->tab, page); gtk_notebook_set_show_tabs (self->_priv->tab, TRUE); osb_browser_connect_engine_signals (self, engine); }voidon_file_open_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_file_close_activate (GtkMenuItem *menuitem, gpointer user_data){ OSBBrowser* self = OSB_BROWSER (user_data); int i = gtk_notebook_get_n_pages (self->_priv->tab); if (i == 1) { gtk_widget_destroy (GTK_WIDGET (self)); } else { gtk_notebook_remove_page (self->_priv->tab, gtk_notebook_get_current_page (self->_priv->tab)); if (i == 2) gtk_notebook_set_show_tabs(self->_priv->tab, FALSE); }}voidon_file_quit_activate (GtkMenuItem *menuitem, gpointer user_data){ OSBBrowser* self = OSB_BROWSER (user_data); gtk_widget_destroy (GTK_WIDGET (self));}voidon_cut1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_copy1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_paste1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_edit_profiles1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_go1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_history1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_bookmarks1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_add1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_manage1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_tools1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_preferences1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_dom_tree1_activate (GtkMenuItem *menuitem, gpointer user_data){ return;}voidon_about1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_stop_activate (GtkButton *button, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_exec_activate (GtkButton *button, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_quit2_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_new1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_delete1_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_cut2_activate (GtkMenuItem *menuitem, gpointer user_data){ g_warning ("%s, user_data: %x", __PRETTY_FUNCTION__, (guint) user_data);}voidon_back_clicked (GtkButton *button, gpointer user_data){ OSBBrowser* self = OSB_BROWSER (user_data); GtkKHTML *engine = osb_browser_get_active_engine (self); gtk_khtml_go_back (engine); osb_browser_update_ui(self, engine);}voidon_forward_clicked (GtkButton *button, gpointer user_data)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -