SF.net SVN: geany:[5795] trunk
colombanw at users.sourceforge.net
colombanw at xxxxx
Tue May 10 23:51:01 UTC 2011
Revision: 5795
http://geany.svn.sourceforge.net/geany/?rev=5795&view=rev
Author: colombanw
Date: 2011-05-10 23:51:01 +0000 (Tue, 10 May 2011)
Log Message:
-----------
Cleanup GeanyWrapLabel a bit
* Do all mandatory initializations in _init() rather than _new();
* Drop geany_wrap_label_set_text() in favor of plain
gtk_label_set_text(), making the widget a little simpler and more
transparent to the caller.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/geanywraplabel.c
trunk/src/geanywraplabel.h
trunk/src/keybindings.c
trunk/src/plugins.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-05-10 23:50:21 UTC (rev 5794)
+++ trunk/ChangeLog 2011-05-10 23:51:01 UTC (rev 5795)
@@ -2,6 +2,9 @@
* src/plugins.c:
Improve the plugin manager dialog a little.
+ * src/geanywraplabel.c, src/geanywraplabel.h, src/keybindings.c,
+ src/plugins.c:
+ Cleanup GeanyWrapLabel a bit.
2011-05-09 Colomban Wendling <colomban(at)geany(dot)org>
Modified: trunk/src/geanywraplabel.c
===================================================================
--- trunk/src/geanywraplabel.c 2011-05-10 23:50:21 UTC (rev 5794)
+++ trunk/src/geanywraplabel.c 2011-05-10 23:51:01 UTC (rev 5795)
@@ -56,6 +56,7 @@
static void geany_wrap_label_size_request (GtkWidget *widget, GtkRequisition *req);
static void geany_wrap_label_size_allocate (GtkWidget *widget, GtkAllocation *alloc);
static void geany_wrap_label_set_wrap_width (GtkWidget *widget, gsize width);
+static void geany_wrap_label_label_notify (GObject *object, GParamSpec *pspec, gpointer data);
G_DEFINE_TYPE(GeanyWrapLabel, geany_wrap_label, GTK_TYPE_LABEL)
@@ -80,6 +81,10 @@
priv = self->priv;
priv->wrap_width = 0;
+
+ g_signal_connect(self, "notify::label", G_CALLBACK(geany_wrap_label_label_notify), NULL);
+ pango_layout_set_wrap(gtk_label_get_layout(GTK_LABEL(self)), PANGO_WRAP_WORD_CHAR);
+ gtk_misc_set_alignment(GTK_MISC(self), 0.0, 0.0);
}
@@ -106,6 +111,15 @@
}
+/* updates the wrap width when the label text changes */
+static void geany_wrap_label_label_notify(GObject *object, GParamSpec *pspec, gpointer data)
+{
+ GeanyWrapLabelPrivate *priv = GEANY_WRAP_LABEL_GET_PRIVATE(object);
+
+ geany_wrap_label_set_wrap_width(GTK_WIDGET(object), priv->wrap_width);
+}
+
+
/* Forces the height to be the size necessary for the Pango layout, while allowing the
* width to be flexible. */
static void geany_wrap_label_size_request(GtkWidget *widget, GtkRequisition *req)
@@ -128,24 +142,7 @@
}
-void geany_wrap_label_set_text(GtkLabel *label, const gchar *text)
-{
- GeanyWrapLabelPrivate *priv = GEANY_WRAP_LABEL_GET_PRIVATE(label);
-
- gtk_label_set_text(label, text);
- geany_wrap_label_set_wrap_width(GTK_WIDGET(label), priv->wrap_width);
-}
-
-
GtkWidget *geany_wrap_label_new(const gchar *text)
{
- GtkWidget *l = g_object_new(GEANY_WRAP_LABEL_TYPE, NULL);
-
- if (NZV(text))
- gtk_label_set_text(GTK_LABEL(l), text);
-
- pango_layout_set_wrap(gtk_label_get_layout(GTK_LABEL(l)), PANGO_WRAP_WORD_CHAR);
- gtk_misc_set_alignment(GTK_MISC(l), 0.0, 0.0);
-
- return l;
+ return g_object_new(GEANY_WRAP_LABEL_TYPE, "label", text, NULL);
}
Modified: trunk/src/geanywraplabel.h
===================================================================
--- trunk/src/geanywraplabel.h 2011-05-10 23:50:21 UTC (rev 5794)
+++ trunk/src/geanywraplabel.h 2011-05-10 23:51:01 UTC (rev 5795)
@@ -43,7 +43,6 @@
GType geany_wrap_label_get_type (void);
GtkWidget* geany_wrap_label_new (const gchar *text);
-void geany_wrap_label_set_text (GtkLabel *label, const gchar *text);
G_END_DECLS
Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c 2011-05-10 23:50:21 UTC (rev 5794)
+++ trunk/src/keybindings.c 2011-05-10 23:51:01 UTC (rev 5795)
@@ -1788,8 +1788,7 @@
gtk_widget_show_all(switch_dialog);
}
- geany_wrap_label_set_text(GTK_LABEL(switch_dialog_label),
- DOC_FILENAME(document_get_current()));
+ gtk_label_set_text(GTK_LABEL(switch_dialog_label), DOC_FILENAME(document_get_current()));
}
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2011-05-10 23:50:21 UTC (rev 5794)
+++ trunk/src/plugins.c 2011-05-10 23:51:01 UTC (rev 5795)
@@ -1129,9 +1129,9 @@
pi = &p->info;
/* Translators: <plugin name> <plugin version> */
text = g_strdup_printf(_("%s %s"), pi->name, pi->version);
- geany_wrap_label_set_text(GTK_LABEL(pm_widgets.plugin_label), text);
- geany_wrap_label_set_text(GTK_LABEL(pm_widgets.description_label), pi->description);
- geany_wrap_label_set_text(GTK_LABEL(pm_widgets.author_label), pi->author);
+ gtk_label_set_text(GTK_LABEL(pm_widgets.plugin_label), text);
+ gtk_label_set_text(GTK_LABEL(pm_widgets.description_label), pi->description);
+ gtk_label_set_text(GTK_LABEL(pm_widgets.author_label), pi->author);
g_free(text);
pm_update_buttons(p);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list