Author: rjek
Date: Sun Aug 13 22:30:54 2006
New Revision: 2842
URL:
http://svn.semichrome.net?rev=2842&view=rev
Log:
Zoom-related menu entries are now implemented, but broken.
Modified:
branches/rjek/glade/gtk/gtk_window.c
branches/rjek/glade/gtk/netsurf.glade
Modified: branches/rjek/glade/gtk/gtk_window.c
URL:
http://svn.semichrome.net/branches/rjek/glade/gtk/gtk_window.c?rev=2842&a...
==============================================================================
--- branches/rjek/glade/gtk/gtk_window.c (original)
+++ branches/rjek/glade/gtk/gtk_window.c Sun Aug 13 22:30:54 2006
@@ -113,7 +113,8 @@
static gboolean nsgtk_history_button_press_event(GtkWidget *, GdkEventButton *,
gpointer);
-static void nsgtk_attach_menu_handlers(GladeXML *xml, gpointer g);
+static void nsgtk_attach_menu_handlers(GladeXML *, gpointer);
+static void nsgtk_window_change_scale(struct gui_window *, float);
#define MENUEVENT(x) { #x, G_CALLBACK(nsgtk_on_##x##_activate) }
#define MENUPROTO(x) static gboolean nsgtk_on_##x##_activate( \
@@ -130,6 +131,9 @@
/* view menu */
MENUPROTO(stop);
MENUPROTO(reload);
+MENUPROTO(zoom_in);
+MENUPROTO(normal_size);
+MENUPROTO(zoom_out);
/* navigate menu */
MENUPROTO(back);
@@ -155,6 +159,9 @@
/* view menu */
MENUEVENT(stop),
MENUEVENT(reload),
+ MENUEVENT(zoom_in),
+ MENUEVENT(normal_size),
+ MENUEVENT(zoom_out),
/* navigate menu */
MENUEVENT(back),
@@ -493,6 +500,44 @@
{
gtk_widget_show(GTK_WIDGET(wndChoices));
gdk_window_raise(GDK_WINDOW(wndChoices));
+
+ return TRUE;
+}
+
+void nsgtk_window_change_scale(struct gui_window *g, float scale)
+{
+ g->scale = scale;
+
+ if (g->bw->current_content != NULL)
+ gui_window_set_extent(g, g->bw->current_content->width,
+ g->bw->current_content->height);
+
+ gtk_widget_queue_draw(GTK_WIDGET(g->drawing_area));
+}
+
+MENUHANDLER(zoom_in)
+{
+ struct gui_window *gw = g;
+
+ nsgtk_window_change_scale(gw, gw->scale + 0.05);
+
+ return TRUE;
+}
+
+MENUHANDLER(normal_size)
+{
+ struct gui_window *gw = g;
+
+ nsgtk_window_change_scale(gw, 1.00);
+
+ return TRUE;
+}
+
+MENUHANDLER(zoom_out)
+{
+ struct gui_window *gw = g;
+
+ nsgtk_window_change_scale(gw, gw->scale - 0.05);
return TRUE;
}
Modified: branches/rjek/glade/gtk/netsurf.glade
URL:
http://svn.semichrome.net/branches/rjek/glade/gtk/netsurf.glade?rev=2842&...
==============================================================================
--- branches/rjek/glade/gtk/netsurf.glade (original)
+++ branches/rjek/glade/gtk/netsurf.glade Sun Aug 13 22:30:54 2006
@@ -3282,7 +3282,7 @@
<accelerator key="N" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image350">
+ <widget class="GtkImage" id="image382">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -3316,7 +3316,7 @@
<accelerator key="F" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image351">
+ <widget class="GtkImage" id="image383">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -3338,7 +3338,7 @@
<accelerator key="W" modifiers="GDK_CONTROL_MASK |
GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image352">
+ <widget class="GtkImage" id="image384">
<property name="visible">True</property>
<property name="stock">gtk-close</property>
<property name="icon_size">1</property>
@@ -3367,7 +3367,7 @@
<accelerator key="S" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image353">
+ <widget class="GtkImage" id="image385">
<property name="visible">True</property>
<property name="stock">gtk-save-as</property>
<property name="icon_size">1</property>
@@ -3437,7 +3437,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image354">
+ <widget class="GtkImage" id="image386">
<property name="visible">True</property>
<property name="stock">gtk-print-preview</property>
<property name="icon_size">1</property>
@@ -3460,7 +3460,7 @@
<accelerator key="P" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image355">
+ <widget class="GtkImage" id="image387">
<property name="visible">True</property>
<property name="stock">gtk-print</property>
<property name="icon_size">1</property>
@@ -3584,7 +3584,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image356">
+ <widget class="GtkImage" id="image388">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -3618,7 +3618,7 @@
<accelerator key="Escape" modifiers="0"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image357">
+ <widget class="GtkImage" id="image389">
<property name="visible">True</property>
<property name="stock">gtk-stop</property>
<property name="icon_size">1</property>
@@ -3639,7 +3639,7 @@
<accelerator key="F5" modifiers="0"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image358">
+ <widget class="GtkImage" id="image390">
<property name="visible">True</property>
<property name="stock">gtk-refresh</property>
<property name="icon_size">1</property>
@@ -3667,7 +3667,7 @@
<accelerator key="F11" modifiers="0"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image359">
+ <widget class="GtkImage" id="image391">
<property name="visible">True</property>
<property name="stock">gtk-zoom-in</property>
<property name="icon_size">1</property>
@@ -3682,14 +3682,14 @@
<widget class="GtkMenu" id="scale_view_menu">
<child>
- <widget class="GtkImageMenuItem" id="nsgtk_zoom_in">
+ <widget class="GtkImageMenuItem" id="zoom_in">
<property name="visible">True</property>
<property name="label" translatable="yes">Zoom
_in</property>
<property name="use_underline">True</property>
<accelerator key="plus" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image360">
+ <widget class="GtkImage" id="image392">
<property name="visible">True</property>
<property name="stock">gtk-zoom-in</property>
<property name="icon_size">1</property>
@@ -3710,7 +3710,7 @@
<accelerator key="0" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image361">
+ <widget class="GtkImage" id="image393">
<property name="visible">True</property>
<property name="stock">gtk-zoom-100</property>
<property name="icon_size">1</property>
@@ -3731,7 +3731,7 @@
<accelerator key="minus" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image362">
+ <widget class="GtkImage" id="image394">
<property name="visible">True</property>
<property name="stock">gtk-zoom-out</property>
<property name="icon_size">1</property>
@@ -3869,7 +3869,7 @@
<accelerator key="Left" modifiers="GDK_MOD1_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image363">
+ <widget class="GtkImage" id="image395">
<property name="visible">True</property>
<property name="stock">gtk-go-back</property>
<property name="icon_size">1</property>
@@ -3890,7 +3890,7 @@
<accelerator key="Right" modifiers="GDK_MOD1_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image364">
+ <widget class="GtkImage" id="image396">
<property name="visible">True</property>
<property name="stock">gtk-go-forward</property>
<property name="icon_size">1</property>
@@ -3911,7 +3911,7 @@
<accelerator key="Home" modifiers="GDK_MOD1_MASK"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image365">
+ <widget class="GtkImage" id="image397">
<property name="visible">True</property>
<property name="stock">gtk-home</property>
<property name="icon_size">1</property>
@@ -4001,7 +4001,7 @@
<accelerator key="F1" modifiers="0"
signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image366">
+ <widget class="GtkImage" id="image398">
<property name="visible">True</property>
<property name="stock">gtk-help</property>
<property name="icon_size">1</property>