diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-01-22 22:41:46 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-01-22 22:41:46 +0000 |
commit | 36481d7c1aa02701586810a7f35072baaaee9402 (patch) | |
tree | 53f4cca007d5dfc46d6675f664b59260cd29a956 /libnautilus-extension | |
parent | df8c3f3896d4d59f9cc7226896653a779d696dc5 (diff) | |
download | nautilus-36481d7c1aa02701586810a7f35072baaaee9402.tar.gz |
Add attribute_q property that is the Quark of the attribute property.
2008-01-22 Alexander Larsson <alexl@redhat.com>
* libnautilus-extension/nautilus-column.c:
Add attribute_q property that is the Quark
of the attribute property.
* src/file-manager/fm-icon-container.c:
* src/file-manager/fm-list-model.[ch]:
* src/file-manager/fm-list-view.c:
Use the quark versions of the string attribute
calls for better performance.
svn path=/trunk/; revision=13642
Diffstat (limited to 'libnautilus-extension')
-rw-r--r-- | libnautilus-extension/nautilus-column.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/libnautilus-extension/nautilus-column.c b/libnautilus-extension/nautilus-column.c index 9532c2ebe..a5af0c49f 100644 --- a/libnautilus-extension/nautilus-column.c +++ b/libnautilus-extension/nautilus-column.c @@ -30,6 +30,7 @@ enum { PROP_0, PROP_NAME, PROP_ATTRIBUTE, + PROP_ATTRIBUTE_Q, PROP_LABEL, PROP_DESCRIPTION, PROP_XALIGN, @@ -38,7 +39,7 @@ enum { struct _NautilusColumnDetails { char *name; - char *attribute; + GQuark attribute; char *label; char *description; float xalign; @@ -84,7 +85,10 @@ nautilus_column_get_property (GObject *object, g_value_set_string (value, column->details->name); break; case PROP_ATTRIBUTE : - g_value_set_string (value, column->details->attribute); + g_value_set_string (value, g_quark_to_string (column->details->attribute)); + break; + case PROP_ATTRIBUTE_Q : + g_value_set_uint (value, column->details->attribute); break; case PROP_LABEL : g_value_set_string (value, column->details->label); @@ -118,9 +122,9 @@ nautilus_column_set_property (GObject *object, g_object_notify (object, "name"); break; case PROP_ATTRIBUTE : - g_free (column->details->attribute); - column->details->attribute = g_strdup (g_value_get_string (value)); + column->details->attribute = g_quark_from_string (g_value_get_string (value)); g_object_notify (object, "attribute"); + g_object_notify (object, "attribute_q"); break; case PROP_LABEL : g_free (column->details->label); @@ -150,7 +154,6 @@ nautilus_column_finalize (GObject *object) column = NAUTILUS_COLUMN (object); g_free (column->details->name); - g_free (column->details->attribute); g_free (column->details->label); g_free (column->details->description); @@ -190,6 +193,13 @@ nautilus_column_class_init (NautilusColumnClass *class) NULL, G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (class), + PROP_ATTRIBUTE_Q, + g_param_spec_uint ("attribute_q", + "Attribute quark", + "The attribute name to display, in quark form", + 0, G_MAXUINT, 0, + G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (class), PROP_LABEL, g_param_spec_string ("label", "Label", |