static gboolean
photos_main_window_go_back (PhotosMainWindow *self)
{
  PhotosMainWindowPrivate *priv = self->priv;
  PhotosBaseItem *active_collection;
  PhotosWindowMode mode;
  gboolean handled = TRUE;

  mode = photos_mode_controller_get_window_mode (priv->mode_cntrlr);
  active_collection = photos_item_manager_get_active_collection (PHOTOS_ITEM_MANAGER (priv->item_mngr));

  switch (mode)
    {
    case PHOTOS_WINDOW_MODE_PREVIEW:
      photos_base_manager_set_active_object (priv->item_mngr, NULL);
      photos_mode_controller_go_back (priv->mode_cntrlr);
      break;

    case PHOTOS_WINDOW_MODE_COLLECTIONS:
    case PHOTOS_WINDOW_MODE_FAVORITES:
    case PHOTOS_WINDOW_MODE_SEARCH:
      if (active_collection != NULL)
        photos_item_manager_activate_previous_collection (PHOTOS_ITEM_MANAGER (self->priv->item_mngr));
      break;

    case PHOTOS_WINDOW_MODE_NONE:
    case PHOTOS_WINDOW_MODE_OVERVIEW:
    default:
      handled = FALSE;
      break;
    }

  return handled;
}
static void
photos_preview_nav_buttons_delete (PhotosPreviewNavButtons *self)
{
  GList *items = NULL;
  PhotosBaseItem *item;
  PhotosWindowMode mode;

  mode = photos_mode_controller_get_window_mode (self->mode_cntrlr);
  if (mode != PHOTOS_WINDOW_MODE_PREVIEW)
    return;

  item = PHOTOS_BASE_ITEM (photos_base_manager_get_active_object (self->item_mngr));
  if (item == NULL)
    return;

  if (self->enable_next)
    g_action_activate (self->load_next, NULL);
  else if (self->enable_prev)
    g_action_activate (self->load_previous, NULL);
  else
    photos_mode_controller_go_back (self->mode_cntrlr);

  items = g_list_prepend (items, g_object_ref (item));
  photos_base_manager_remove_object (self->item_mngr, G_OBJECT (item));
  photos_delete_notification_new (items);
  g_list_free_full (items, g_object_unref);
}
Esempio n. 3
0
static gboolean
photos_main_window_handle_key_preview (PhotosMainWindow *self, GdkEventKey *event)
{
  PhotosMainWindowPrivate *priv = self->priv;
  PhotosPreviewView *preview;
  gboolean fullscreen;
  gboolean handled = FALSE;

  preview = photos_embed_get_preview (PHOTOS_EMBED (priv->embed));
  fullscreen = photos_mode_controller_get_fullscreen (priv->mode_cntrlr);

  switch (event->keyval)
    {
    case GDK_KEY_Escape:
      if (fullscreen)
        {
          photos_base_manager_set_active_object (priv->item_mngr, NULL);
          photos_mode_controller_go_back (priv->mode_cntrlr);
        }
      break;

    case GDK_KEY_Left:
      photos_preview_view_load_previous (preview);
      handled = TRUE;
      break;

    case GDK_KEY_Right:
      photos_preview_view_load_next (preview);
      handled = TRUE;
      break;
    }

  return handled;
}
Esempio n. 4
0
static gboolean
photos_main_window_handle_key_preview (PhotosMainWindow *self, GdkEventKey *event)
{
  gboolean fullscreen;
  gboolean handled = FALSE;

  fullscreen = photos_mode_controller_get_fullscreen (self->mode_cntrlr);

  switch (event->keyval)
    {
    case GDK_KEY_Escape:
      if (fullscreen)
        photos_mode_controller_go_back (self->mode_cntrlr);
      break;

    case GDK_KEY_Left:
      g_action_activate (self->load_previous, NULL);
      handled = TRUE;
      break;

    case GDK_KEY_Right:
      g_action_activate (self->load_next, NULL);
      handled = TRUE;
      break;

    default:
      break;
    }

  return handled;
}
Esempio n. 5
0
static gboolean
photos_main_window_go_back (PhotosMainWindow *self)
{
  PhotosWindowMode mode;
  gboolean handled = TRUE;

  mode = photos_mode_controller_get_window_mode (self->mode_cntrlr);

  switch (mode)
    {
    case PHOTOS_WINDOW_MODE_COLLECTION_VIEW:
    case PHOTOS_WINDOW_MODE_PREVIEW:
      photos_mode_controller_go_back (self->mode_cntrlr);
      break;

    case PHOTOS_WINDOW_MODE_NONE:
    case PHOTOS_WINDOW_MODE_COLLECTIONS:
    case PHOTOS_WINDOW_MODE_EDIT:
    case PHOTOS_WINDOW_MODE_FAVORITES:
    case PHOTOS_WINDOW_MODE_IMPORT:
    case PHOTOS_WINDOW_MODE_OVERVIEW:
    case PHOTOS_WINDOW_MODE_SEARCH:
    default:
      handled = FALSE;
      break;
    }

  return handled;
}
static void
photos_dlna_renderers_dialog_row_activated_cb (PhotosDlnaRenderersDialog *self,
                                               GtkListBoxRow             *row,
                                               gpointer                   user_data)
{
  PhotosBaseItem *item;
  PhotosDlnaRenderer *renderer;

  renderer = g_object_get_data (G_OBJECT (row), "renderer");
  item = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (self->item_mngr,
                                                                 self->urn));
  photos_remote_display_manager_set_renderer (self->remote_mngr, renderer);
  photos_remote_display_manager_render (self->remote_mngr, item);

  photos_mode_controller_go_back (self->mode_cntrlr);

  gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_ACCEPT);
}