NULL);
g_free (tooltip_escaped);
- g_object_get (row,
- "eject-button", &eject_button,
- "event-box", &event_box,
- NULL);
- g_signal_connect_swapped (eject_button, "clicked", G_CALLBACK (eject_or_unmount_bookmark), row);
- /* Needs event box since GtkListBoxRow doesn't have a GdkWindow associated that can
- * listen events */
- g_signal_connect (event_box, "button-press-event", G_CALLBACK (on_button_press_event), row);
- g_signal_connect (event_box, "button-release-event", G_CALLBACK (on_button_release_event), row);
+ eject_button = gtk_sidebar_row_get_eject_button (GTK_SIDEBAR_ROW (row));
+ event_box = gtk_sidebar_row_get_event_box (GTK_SIDEBAR_ROW (row));
+
+ g_signal_connect_swapped (eject_button, "clicked",
+ G_CALLBACK (eject_or_unmount_bookmark), row);
+ g_signal_connect (event_box, "button-press-event",
+ G_CALLBACK (on_button_press_event), row);
+ g_signal_connect (event_box, "button-release-event",
+ G_CALLBACK (on_button_release_event), row);
gtk_container_add (GTK_CONTAINER (sidebar->list_box), GTK_WIDGET (row));
gtk_widget_show_all (row);
PROP_MOUNT,
PROP_SENSITIVE,
PROP_PLACEHOLDER,
- PROP_EJECT_BUTTON,
- PROP_EVENT_BOX,
LAST_PROP
};
break;
}
- case PROP_EJECT_BUTTON:
- {
- g_value_set_object (value, self->eject_button);
- break;
- }
-
- case PROP_EVENT_BOX:
- {
- g_value_set_object (value, self->event_box);
- break;
- }
-
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
g_object_class_install_property (object_class, PROP_PLACEHOLDER,
gParamSpecs [PROP_PLACEHOLDER]);
- gParamSpecs [PROP_EJECT_BUTTON] =
- g_param_spec_object ("eject-button",
- "Eject Button",
- "Eject button",
- GTK_TYPE_WIDGET,
- (G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property (object_class, PROP_EJECT_BUTTON,
- gParamSpecs [PROP_EJECT_BUTTON]);
-
- gParamSpecs [PROP_EVENT_BOX] =
- g_param_spec_object ("event-box",
- "Event Box",
- "Event Box",
- GTK_TYPE_WIDGET,
- (G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property (object_class, PROP_EVENT_BOX,
- gParamSpecs [PROP_EVENT_BOX]);
-
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gtk/libgtk/ui/gtksidebarrow.ui");
GtkSidebarRow*
gtk_sidebar_row_clone (GtkSidebarRow *self)
{
- return g_object_new (GTK_TYPE_SIDEBAR_ROW,
- "sidebar", self->sidebar,
- "icon", self->icon,
- "label", self->label,
- "tooltip", self->tooltip,
- "ejectable", self->ejectable,
- "order-index", self->order_index,
- "section-type", self->section_type,
- "place-type", self->place_type,
- "uri", self->uri,
- "drive", self->drive,
- "volume", self->volume,
- "mount", self->mount,
- NULL);
+ return g_object_new (GTK_TYPE_SIDEBAR_ROW,
+ "sidebar", self->sidebar,
+ "icon", self->icon,
+ "label", self->label,
+ "tooltip", self->tooltip,
+ "ejectable", self->ejectable,
+ "order-index", self->order_index,
+ "section-type", self->section_type,
+ "place-type", self->place_type,
+ "uri", self->uri,
+ "drive", self->drive,
+ "volume", self->volume,
+ "mount", self->mount,
+ NULL);
+}
+
+GtkWidget *
+gtk_sidebar_row_get_eject_button (GtkSidebarRow *self)
+{
+ return self->eject_button;
+}
+
+GtkWidget *
+gtk_sidebar_row_get_event_box (GtkSidebarRow *self)
+{
+ return self->event_box;
}