gtkhtml r8806 - in branches/mbarnes-composer: components/html-editor gtkhtml po
- From: mbarnes svn gnome org
- To: svn-commits-list gnome org
- Subject: gtkhtml r8806 - in branches/mbarnes-composer: components/html-editor gtkhtml po
- Date: Tue, 1 Apr 2008 20:44:31 +0100 (BST)
Author: mbarnes
Date: Tue Apr 1 20:44:31 2008
New Revision: 8806
URL: http://svn.gnome.org/viewvc/gtkhtml?rev=8806&view=rev
Log:
Merge revisions 8791:8804 from trunk.
Modified:
branches/mbarnes-composer/components/html-editor/ChangeLog
branches/mbarnes-composer/components/html-editor/paragraph-style.c
branches/mbarnes-composer/components/html-editor/paragraph-style.h
branches/mbarnes-composer/components/html-editor/paragraph.c
branches/mbarnes-composer/gtkhtml/ChangeLog
branches/mbarnes-composer/gtkhtml/gtkhtml-private.h
branches/mbarnes-composer/gtkhtml/gtkhtml.c
branches/mbarnes-composer/po/ChangeLog
branches/mbarnes-composer/po/es.po
branches/mbarnes-composer/po/nn.po
Modified: branches/mbarnes-composer/components/html-editor/paragraph-style.c
==============================================================================
--- branches/mbarnes-composer/components/html-editor/paragraph-style.c (original)
+++ branches/mbarnes-composer/components/html-editor/paragraph-style.c Tue Apr 1 20:44:31 2008
@@ -215,3 +215,12 @@
GTK_TREE_MODEL (store), &iter);
}
}
+
+void
+paragraph_style_combobox_disconnect_html (GtkHTMLControlData *cd, GtkWidget *combo_box)
+{
+ g_return_if_fail (cd != NULL);
+ g_return_if_fail (cd->html != NULL);
+
+ g_signal_handlers_disconnect_by_func (cd->html, G_CALLBACK (current_paragraph_style_changed_cb), combo_box);
+}
Modified: branches/mbarnes-composer/components/html-editor/paragraph-style.h
==============================================================================
--- branches/mbarnes-composer/components/html-editor/paragraph-style.h (original)
+++ branches/mbarnes-composer/components/html-editor/paragraph-style.h Tue Apr 1 20:44:31 2008
@@ -27,5 +27,6 @@
GtkWidget * paragraph_style_combo_box_new (GtkHTMLControlData *cd);
void paragraph_style_update_store (GtkHTMLControlData *cd);
+void paragraph_style_combobox_disconnect_html (GtkHTMLControlData *cd, GtkWidget *combo_box);
#endif /* _PARAGRAPH_STYLE_H */
Modified: branches/mbarnes-composer/components/html-editor/paragraph.c
==============================================================================
--- branches/mbarnes-composer/components/html-editor/paragraph.c (original)
+++ branches/mbarnes-composer/components/html-editor/paragraph.c Tue Apr 1 20:44:31 2008
@@ -101,5 +101,8 @@
void
paragraph_close_cb (GtkHTMLControlData *cd, gpointer get_data)
{
+ g_return_if_fail (get_data != NULL);
+
+ paragraph_style_combobox_disconnect_html (cd, ((GtkHTMLEditParagraphProperties *)get_data)->style_option);
g_free (get_data);
}
Modified: branches/mbarnes-composer/gtkhtml/gtkhtml-private.h
==============================================================================
--- branches/mbarnes-composer/gtkhtml/gtkhtml-private.h (original)
+++ branches/mbarnes-composer/gtkhtml/gtkhtml-private.h Tue Apr 1 20:44:31 2008
@@ -76,6 +76,8 @@
HTMLObject *resize_object;
gboolean in_url_test_mode;
+
+ gboolean in_key_binding;
};
void gtk_html_private_calc_scrollbars (GtkHTML *html,
Modified: branches/mbarnes-composer/gtkhtml/gtkhtml.c
==============================================================================
--- branches/mbarnes-composer/gtkhtml/gtkhtml.c (original)
+++ branches/mbarnes-composer/gtkhtml/gtkhtml.c Tue Apr 1 20:44:31 2008
@@ -1033,8 +1033,11 @@
if (html_class->use_emacs_bindings && html_class->emacs_bindings && !html->binding_handled)
gtk_binding_set_activate (html_class->emacs_bindings, event->keyval, event->state, GTK_OBJECT (widget));
- if (!html->binding_handled)
+ if (!html->binding_handled) {
+ html->priv->in_key_binding = TRUE;
retval = GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event);
+ html->priv->in_key_binding = FALSE;
+ }
retval = retval || html->binding_handled;
update = html->priv->update_styles;
@@ -3300,6 +3303,7 @@
html->priv->in_object_resize = FALSE;
html->priv->resize_cursor = gdk_cursor_new (GDK_BOTTOM_RIGHT_CORNER);
html->priv->in_url_test_mode = FALSE;
+ html->priv->in_key_binding = FALSE;
/* IM Context */
html->priv->im_context = gtk_im_multicontext_new ();
@@ -4829,15 +4833,25 @@
/* printf ("command %d %s\n", com_type, get_value_nick (com_type)); */
html->binding_handled = TRUE;
+ #define ensure_key_binding_not_editable() \
+ if (html->priv->in_key_binding && html_engine_get_editable (e)) { \
+ html->binding_handled = FALSE; \
+ rv = FALSE; \
+ break; \
+ }
+
/* non-editable + editable commands */
switch (com_type) {
case GTK_HTML_COMMAND_ZOOM_IN:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_in (html);
break;
case GTK_HTML_COMMAND_ZOOM_OUT:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_out (html);
break;
case GTK_HTML_COMMAND_ZOOM_RESET:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_reset (html);
break;
case GTK_HTML_COMMAND_SEARCH_INCREMENTAL_FORWARD:
@@ -4913,6 +4927,8 @@
html->binding_handled = FALSE;
}
+ #undef ensure_key_binding_not_editable
+
if (!html_engine_get_editable (e) || html->binding_handled)
return rv;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]