[nautilus/wip/antoniof/new-list-view-without-expanders: 20/27] view-item: Refine property definitions
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/antoniof/new-list-view-without-expanders: 20/27] view-item: Refine property definitions
- Date: Tue, 21 Jun 2022 18:55:19 +0000 (UTC)
commit d586d4a19a7ea02399d583b5846fc783505c14ce
Author: António Fernandes <antoniof gnome org>
Date: Tue Jun 14 17:51:04 2022 +0100
view-item: Refine property definitions
Optimize code readability using a static param spec array.
Replace useless `nick` and `description` arguments with empty strings
and pass the G_PARAM_STATIC_STRINGS flag.
Lower the minimum icon size to support upcoming list view.
src/nautilus-view-item.c | 51 ++++++++++++++++++++----------------------------
1 file changed, 21 insertions(+), 30 deletions(-)
---
diff --git a/src/nautilus-view-item.c b/src/nautilus-view-item.c
index daf186399..141046963 100644
--- a/src/nautilus-view-item.c
+++ b/src/nautilus-view-item.c
@@ -27,6 +27,8 @@ enum
N_PROPS
};
+static GParamSpec *properties[N_PROPS] = { NULL, };
+
enum
{
FILE_CHANGED,
@@ -152,36 +154,25 @@ nautilus_view_item_class_init (NautilusViewItemClass *klass)
object_class->get_property = nautilus_view_item_get_property;
object_class->set_property = nautilus_view_item_set_property;
- g_object_class_install_property (object_class,
- PROP_ICON_SIZE,
- g_param_spec_int ("icon-size",
- "Icon size",
- "The size in pixels of the icon",
- NAUTILUS_GRID_ICON_SIZE_SMALL,
- NAUTILUS_GRID_ICON_SIZE_LARGEST,
- NAUTILUS_GRID_ICON_SIZE_LARGE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
- g_object_class_install_property (object_class,
- PROP_IS_CUT,
- g_param_spec_boolean ("is-cut",
- "", "",
- FALSE,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_FILE,
- g_param_spec_object ("file",
- "File",
- "The file the icon item represents",
- NAUTILUS_TYPE_FILE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property (object_class,
- PROP_ITEM_UI,
- g_param_spec_object ("item-ui",
- "Item ui",
- "The UI that reprensents the item model",
- GTK_TYPE_WIDGET,
- G_PARAM_READWRITE));
+ properties[PROP_ICON_SIZE] = g_param_spec_int ("icon-size",
+ "", "",
+ NAUTILUS_LIST_ICON_SIZE_SMALL,
+ NAUTILUS_GRID_ICON_SIZE_LARGEST,
+ NAUTILUS_GRID_ICON_SIZE_LARGE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
G_PARAM_STATIC_STRINGS);
+ properties[PROP_IS_CUT] = g_param_spec_boolean ("is-cut",
+ "", "",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ properties[PROP_FILE] = g_param_spec_object ("file",
+ "", "",
+ NAUTILUS_TYPE_FILE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
+ properties[PROP_ITEM_UI] = g_param_spec_object ("item-ui",
+ "", "",
+ GTK_TYPE_WIDGET,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_properties (object_class, N_PROPS, properties);
signals[FILE_CHANGED] = g_signal_new ("file-changed",
G_TYPE_FROM_CLASS (klass),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]