Esempio n. 1
0
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);
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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;
    }
}
Esempio n. 4
0
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);
}