[gtk+] GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
- Date: Mon, 9 Jun 2014 17:47:38 +0000 (UTC)
commit 6e64bc13de8ef859bc06b5f1109a71b0085bdfc3
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Jun 9 11:48:24 2014 -0400
GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
gtk/gtktextview.c | 147 +++++++++++++++++++++++++++--------------------------
1 files changed, 75 insertions(+), 72 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index f06665e..1e9b969 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -716,88 +716,76 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
g_object_class_install_property (gobject_class,
PROP_PIXELS_ABOVE_LINES,
g_param_spec_int ("pixels-above-lines",
- P_("Pixels Above Lines"),
- P_("Pixels of blank space above paragraphs"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Pixels Above Lines"),
+ P_("Pixels of blank space above paragraphs"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_PIXELS_BELOW_LINES,
g_param_spec_int ("pixels-below-lines",
- P_("Pixels Below Lines"),
- P_("Pixels of blank space below paragraphs"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Pixels Below Lines"),
+ P_("Pixels of blank space below paragraphs"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_PIXELS_INSIDE_WRAP,
g_param_spec_int ("pixels-inside-wrap",
- P_("Pixels Inside Wrap"),
- P_("Pixels of blank space between wrapped lines in a
paragraph"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Pixels Inside Wrap"),
+ P_("Pixels of blank space between wrapped lines in a
paragraph"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_EDITABLE,
g_param_spec_boolean ("editable",
- P_("Editable"),
- P_("Whether the text can be modified by the user"),
- TRUE,
- GTK_PARAM_READWRITE));
+ P_("Editable"),
+ P_("Whether the text can be modified by the user"),
+ TRUE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_WRAP_MODE,
g_param_spec_enum ("wrap-mode",
- P_("Wrap Mode"),
- P_("Whether to wrap lines never, at word boundaries, or
at character boundaries"),
- GTK_TYPE_WRAP_MODE,
- GTK_WRAP_NONE,
- GTK_PARAM_READWRITE));
+ P_("Wrap Mode"),
+ P_("Whether to wrap lines never, at word boundaries,
or at character boundaries"),
+ GTK_TYPE_WRAP_MODE,
+ GTK_WRAP_NONE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_JUSTIFICATION,
g_param_spec_enum ("justification",
- P_("Justification"),
- P_("Left, right, or center justification"),
- GTK_TYPE_JUSTIFICATION,
- GTK_JUSTIFY_LEFT,
- GTK_PARAM_READWRITE));
+ P_("Justification"),
+ P_("Left, right, or center justification"),
+ GTK_TYPE_JUSTIFICATION,
+ GTK_JUSTIFY_LEFT,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_LEFT_MARGIN,
g_param_spec_int ("left-margin",
- P_("Left Margin"),
- P_("Width of the left margin in pixels"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Left Margin"),
+ P_("Width of the left margin in pixels"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_RIGHT_MARGIN,
g_param_spec_int ("right-margin",
- P_("Right Margin"),
- P_("Width of the right margin in pixels"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Right Margin"),
+ P_("Width of the right margin in pixels"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_INDENT,
g_param_spec_int ("indent",
- P_("Indent"),
- P_("Amount to indent the paragraph, in pixels"),
- G_MININT,
- G_MAXINT,
- 0,
- GTK_PARAM_READWRITE));
+ P_("Indent"),
+ P_("Amount to indent the paragraph, in pixels"),
+ G_MININT, G_MAXINT, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_TABS,
@@ -810,10 +798,10 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
g_object_class_install_property (gobject_class,
PROP_CURSOR_VISIBLE,
g_param_spec_boolean ("cursor-visible",
- P_("Cursor Visible"),
- P_("If the insertion cursor is shown"),
- TRUE,
- GTK_PARAM_READWRITE));
+ P_("Cursor Visible"),
+ P_("If the insertion cursor is shown"),
+ TRUE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_BUFFER,
@@ -826,18 +814,18 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
g_object_class_install_property (gobject_class,
PROP_OVERWRITE,
g_param_spec_boolean ("overwrite",
- P_("Overwrite mode"),
- P_("Whether entered text overwrites existing
contents"),
- FALSE,
- GTK_PARAM_READWRITE));
+ P_("Overwrite mode"),
+ P_("Whether entered text overwrites existing
contents"),
+ FALSE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_ACCEPTS_TAB,
g_param_spec_boolean ("accepts-tab",
- P_("Accepts tab"),
- P_("Whether Tab will result in a tab character being
entered"),
- TRUE,
- GTK_PARAM_READWRITE));
+ P_("Accepts tab"),
+ P_("Whether Tab will result in a tab character
being entered"),
+ TRUE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkTextView:im-module:
@@ -876,7 +864,8 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
P_("Purpose of the text field"),
GTK_TYPE_INPUT_PURPOSE,
GTK_INPUT_PURPOSE_FREE_FORM,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
+
/**
* GtkTextView:input-hints:
@@ -893,7 +882,7 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
P_("Hints for the text field behaviour"),
GTK_TYPE_INPUT_HINTS,
GTK_INPUT_HINT_NONE,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkTextView:populate-all:
@@ -909,7 +898,7 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
P_("Populate all"),
P_("Whether to emit ::populate-popup for touch
popups"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/* GtkScrollable interface */
@@ -2620,9 +2609,8 @@ gtk_text_view_set_wrap_mode (GtkTextView *text_view,
priv->layout->default_style->wrap_mode = wrap_mode;
gtk_text_layout_default_style_changed (priv->layout);
}
+ g_object_notify (G_OBJECT (text_view), "wrap-mode");
}
-
- g_object_notify (G_OBJECT (text_view), "wrap-mode");
}
/**
@@ -3387,13 +3375,21 @@ gtk_text_view_set_property (GObject *object,
break;
case PROP_HSCROLL_POLICY:
- priv->hscroll_policy = g_value_get_enum (value);
- gtk_widget_queue_resize (GTK_WIDGET (text_view));
+ if (priv->hscroll_policy != g_value_get_enum (value))
+ {
+ priv->hscroll_policy = g_value_get_enum (value);
+ gtk_widget_queue_resize (GTK_WIDGET (text_view));
+ g_object_notify_by_pspec (object, pspec);
+ }
break;
case PROP_VSCROLL_POLICY:
- priv->vscroll_policy = g_value_get_enum (value);
- gtk_widget_queue_resize (GTK_WIDGET (text_view));
+ if (priv->vscroll_policy != g_value_get_enum (value))
+ {
+ priv->vscroll_policy = g_value_get_enum (value);
+ gtk_widget_queue_resize (GTK_WIDGET (text_view));
+ g_object_notify_by_pspec (object, pspec);
+ }
break;
case PROP_INPUT_PURPOSE:
@@ -3405,7 +3401,11 @@ gtk_text_view_set_property (GObject *object,
break;
case PROP_POPULATE_ALL:
- text_view->priv->populate_all = g_value_get_boolean (value);
+ if (text_view->priv->populate_all != g_value_get_boolean (value))
+ {
+ text_view->priv->populate_all = g_value_get_boolean (value);
+ g_object_notify_by_pspec (object, pspec);
+ }
break;
default:
@@ -9360,6 +9360,9 @@ text_window_invalidate_rect (GtkTextWindow *win,
{
GdkRectangle window_rect;
+ if (!win->bin_window)
+ return;
+
gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW (win->widget),
win->type,
rect->x,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]