static void photos_base_model_constructed (GObject *object) { PhotosBaseModel *self = PHOTOS_BASE_MODEL (object); G_OBJECT_CLASS (photos_base_model_parent_class)->constructed (object); self->model = g_menu_new (); g_signal_connect_object (self->mngr, "object-added", G_CALLBACK (photos_base_model_refresh), self, G_CONNECT_SWAPPED); g_signal_connect_object (self->mngr, "object-removed", G_CALLBACK (photos_base_model_refresh), self, G_CONNECT_SWAPPED); g_signal_connect_object (self->mngr, "active-changed", G_CALLBACK (photos_base_model_active_changed), self, G_CONNECT_SWAPPED); photos_base_model_refresh (self); }
static void photos_base_model_dispose (GObject *object) { PhotosBaseModel *self = PHOTOS_BASE_MODEL (object); g_clear_object (&self->model); g_clear_object (&self->mngr); G_OBJECT_CLASS (photos_base_model_parent_class)->dispose (object); }
static void photos_base_model_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { PhotosBaseModel *self = PHOTOS_BASE_MODEL (object); switch (prop_id) { case PROP_MANAGER: self->mngr = PHOTOS_BASE_MANAGER (g_value_dup_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void photos_base_model_constructed (GObject *object) { PhotosBaseModel *self = PHOTOS_BASE_MODEL (object); PhotosBaseModelPrivate *priv = self->priv; GApplication *app; const gchar *action_id; gchar *detailed_signal; G_OBJECT_CLASS (photos_base_model_parent_class)->constructed (object); priv->model = g_menu_new (); g_signal_connect_object (priv->mngr, "object-added", G_CALLBACK (photos_base_model_refresh), self, G_CONNECT_SWAPPED); g_signal_connect_object (priv->mngr, "object-removed", G_CALLBACK (photos_base_model_refresh), self, G_CONNECT_SWAPPED); app = g_application_get_default (); action_id = photos_base_manager_get_action_id (priv->mngr); detailed_signal = g_strconcat ("action-state-changed::", action_id, NULL); g_signal_connect_object (app, detailed_signal, G_CALLBACK (photos_base_model_action_state_changed), self, G_CONNECT_SWAPPED); g_free (detailed_signal); g_signal_connect_object (priv->mngr, "active-changed", G_CALLBACK (photos_base_model_active_changed), self, G_CONNECT_SWAPPED); photos_base_model_refresh (self); }