summaryrefslogtreecommitdiff
path: root/libnautilus-extension
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2008-01-22 22:41:46 +0000
committerAlexander Larsson <alexl@src.gnome.org>2008-01-22 22:41:46 +0000
commit36481d7c1aa02701586810a7f35072baaaee9402 (patch)
tree53f4cca007d5dfc46d6675f664b59260cd29a956 /libnautilus-extension
parentdf8c3f3896d4d59f9cc7226896653a779d696dc5 (diff)
downloadnautilus-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.c20
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",