SF.net SVN: geany-plugins:[1967] trunk/geany-plugins/devhelp/src

codebrainz at users.sourceforge.net codebrainz at xxxxx
Wed Mar 9 06:40:46 UTC 2011


Revision: 1967
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1967&view=rev
Author:   codebrainz
Date:     2011-03-09 06:40:46 +0000 (Wed, 09 Mar 2011)

Log Message:
-----------
Add navigation toolbar for webview.

Modified Paths:
--------------
    trunk/geany-plugins/devhelp/src/devhelpplugin.c
    trunk/geany-plugins/devhelp/src/devhelpplugin.h

Modified: trunk/geany-plugins/devhelp/src/devhelpplugin.c
===================================================================
--- trunk/geany-plugins/devhelp/src/devhelpplugin.c	2011-03-08 20:03:34 UTC (rev 1966)
+++ trunk/geany-plugins/devhelp/src/devhelpplugin.c	2011-03-09 06:40:46 UTC (rev 1967)
@@ -57,9 +57,7 @@
 	GObjectClass *g_object_class;
 
 	g_object_class = G_OBJECT_CLASS(klass);
-
 	g_object_class->finalize = devhelp_plugin_finalize;
-
 	g_type_class_add_private((gpointer)klass, sizeof(DevhelpPluginPrivate));
 }
 
@@ -172,7 +170,35 @@
 									plug->webview_tab);
 }
 
+static void on_back_button_clicked(GtkToolButton *btn, gpointer user_data)
+{
+	DevhelpPlugin *plug = user_data;
+	webkit_web_view_go_back(WEBKIT_WEB_VIEW(plug->webview));
+}
 
+static void on_forward_button_clicked(GtkToolButton *btn, gpointer user_data)
+{
+	DevhelpPlugin *plug = user_data;
+	webkit_web_view_go_forward(WEBKIT_WEB_VIEW(plug->webview));
+}
+
+static void on_zoom_in_button_clicked(GtkToolButton *btn, gpointer user_data)
+{
+	DevhelpPlugin *plug = user_data;
+	WebKitWebView *view = WEBKIT_WEB_VIEW(plug->webview);
+	webkit_web_view_zoom_in(view);
+	plug->zoom_level = webkit_web_view_get_zoom_level(view);
+}
+
+static void on_zoom_out_button_clicked(GtkToolButton *btn, gpointer user_data)
+{
+	DevhelpPlugin *plug = user_data;
+	WebKitWebView *view = WEBKIT_WEB_VIEW(plug->webview);
+	webkit_web_view_zoom_out(view);
+	plug->zoom_level = webkit_web_view_get_zoom_level(view);
+}
+
+
 /**
  * devhelp_plugin_new:
  * 
@@ -188,6 +214,9 @@
 	gchar *homepage_uri;
 	GtkWidget *book_tree_sw, *webview_sw, *contents_label;
 	GtkWidget *search_label, *dh_sidebar_label, *doc_label;
+	GtkWidget *vbox, *toolbar;
+	GtkToolItem *btn_back, *btn_forward, *tb_sep, *btn_zoom_in, *btn_zoom_out;
+	
 	DevhelpPlugin *dhplug;
 
 	dhplug = g_object_new(DEVHELP_TYPE_PLUGIN, NULL);
@@ -280,12 +309,24 @@
 	dhplug->sb_notebook_tab = gtk_notebook_page_num(
 		GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook),
 		dhplug->sb_notebook);
-
-	/* put the webview stuff into the main notebook */
-	gtk_notebook_append_page(GTK_NOTEBOOK(dhplug->main_notebook),
-		webview_sw, doc_label);
+	
+	/* put the webview and toolbar stuff into the main notebook */
+	vbox = gtk_vbox_new(FALSE, 0);
+	toolbar = gtk_toolbar_new();
+	btn_back = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
+	btn_forward = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
+	btn_zoom_in = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN);
+	btn_zoom_out = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT);
+	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn_back), -1);
+	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn_forward), -1);
+	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn_zoom_in), -1);
+	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn_zoom_out), -1);
+	gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox), webview_sw, TRUE, TRUE, 0);
+	gtk_notebook_append_page(GTK_NOTEBOOK(dhplug->main_notebook), vbox, doc_label);
 	dhplug->webview_tab = gtk_notebook_page_num(
-							GTK_NOTEBOOK(dhplug->main_notebook), webview_sw);
+							GTK_NOTEBOOK(dhplug->main_notebook), vbox);
+	gtk_widget_show_all(vbox);
 	
 	/* add menu item to editor popup menu */
 	/* todo: make this an image menu item with devhelp icon */
@@ -297,29 +338,45 @@
 	gtk_widget_show(dhplug->editor_menu_item);
 
 	/* connect signals */
-	g_signal_connect(
-			geany->main_widgets->editor_menu, 
-			"show",
-			G_CALLBACK(on_editor_menu_popup), 
-			dhplug);
+	g_signal_connect(geany->main_widgets->editor_menu, 
+					 "show",
+					 G_CALLBACK(on_editor_menu_popup), 
+					 dhplug);
 										
-	g_signal_connect(
-			dhplug->editor_menu_item, 
-			"activate",
-			G_CALLBACK(on_search_help_activate), 
-			dhplug);
+	g_signal_connect(dhplug->editor_menu_item, 
+					 "activate",
+					 G_CALLBACK(on_search_help_activate), 
+					 dhplug);
 										
-	g_signal_connect(
-			dhplug->book_tree, 
-			"link-selected", 
-			G_CALLBACK(on_link_clicked), 
-			dhplug);
+	g_signal_connect(dhplug->book_tree, 
+					 "link-selected", 
+					 G_CALLBACK(on_link_clicked), 
+					 dhplug);
 										
-	g_signal_connect(
-			dhplug->search, 
-			"link-selected",
-			G_CALLBACK(on_link_clicked), 
-			dhplug);	
+	g_signal_connect(dhplug->search, 
+					 "link-selected",
+					 G_CALLBACK(on_link_clicked), 
+					 dhplug);	
+	
+	g_signal_connect(btn_back,
+					 "clicked",
+					 G_CALLBACK(on_back_button_clicked),
+					 dhplug);
+	
+	g_signal_connect(btn_forward,
+					 "clicked",
+					 G_CALLBACK(on_forward_button_clicked),
+					 dhplug);
+	
+	g_signal_connect(btn_zoom_in,
+					 "clicked",
+					 G_CALLBACK(on_zoom_in_button_clicked),
+					 dhplug);
+	
+	g_signal_connect(btn_zoom_out,
+					 "clicked",
+					 G_CALLBACK(on_zoom_out_button_clicked),
+					 dhplug);
 
 	/* toggle state tracking */
 	dhplug->last_main_tab_id = gtk_notebook_get_current_page(

Modified: trunk/geany-plugins/devhelp/src/devhelpplugin.h
===================================================================
--- trunk/geany-plugins/devhelp/src/devhelpplugin.h	2011-03-08 20:03:34 UTC (rev 1966)
+++ trunk/geany-plugins/devhelp/src/devhelpplugin.h	2011-03-09 06:40:46 UTC (rev 1967)
@@ -79,6 +79,7 @@
 	gboolean in_message_window;
 	
 	gchar *last_uri;
+	gfloat zoom_level;
 	
 	DevhelpPluginPrivate *priv;
 };


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list