#include "exif.h"
#include "filedata.h"
#include "fullscreen.h"
+#include "history_list.h"
#include "image.h"
#include "image-overlay.h"
#include "img-view.h"
static GtkWidget *layout_image_pop_menu(LayoutWindow *lw);
static void layout_image_set_buttons(LayoutWindow *lw);
-static void layout_image_animate_stop(LayoutWindow *lw);
static gboolean layout_image_animate_new_file(LayoutWindow *lw);
static void layout_image_animate_update_image(LayoutWindow *lw);
return TRUE;
}
-static void layout_image_animate_stop(LayoutWindow *lw)
-{
- if (!layout_valid(&lw)) return;
-
- if(lw->options.animate && lw->animation)
- {
- lw->animation->valid = FALSE;
- lw->animation = NULL;
- }
-}
-
static void layout_image_animate_update_image(LayoutWindow *lw)
{
if (!layout_valid(&lw)) return;
return list;
}
+/**
+ * @brief Add file selection list to a collection
+ * @param[in] widget
+ * @param[in] data Index to the collection list menu item selected, or -1 for new collection
+ *
+ *
+ */
+static void layout_pop_menu_collections_cb(GtkWidget *widget, gpointer data)
+{
+ LayoutWindow *lw;
+ GList *selection_list = NULL;
+
+ lw = submenu_item_get_data(widget);
+ selection_list = g_list_append(selection_list, layout_image_get_fd(lw));
+ pop_menu_collections(selection_list, data);
+
+ filelist_free(selection_list);
+}
+
static GtkWidget *layout_image_pop_menu(LayoutWindow *lw)
{
GtkWidget *menu;
if (!path) gtk_widget_set_sensitive(item, FALSE);
item = menu_item_add(menu, _("_Rename..."), G_CALLBACK(li_pop_menu_rename_cb), lw);
if (!path) gtk_widget_set_sensitive(item, FALSE);
- item = menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(li_pop_menu_delete_cb), lw);
- if (!path) gtk_widget_set_sensitive(item, FALSE);
-
item = menu_item_add(menu, _("_Copy path"), G_CALLBACK(li_pop_menu_copy_path_cb), lw);
if (!path) gtk_widget_set_sensitive(item, FALSE);
+ item = menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(li_pop_menu_delete_cb), lw);
+ if (!path) gtk_widget_set_sensitive(item, FALSE);
+ menu_item_add_divider(menu);
+ submenu = submenu_add_collections(menu, &item,
+ G_CALLBACK(layout_pop_menu_collections_cb), lw);
+ gtk_widget_set_sensitive(item, TRUE);
menu_item_add_divider(menu);
if (layout_image_slideshow_active(lw))
GtkTreePath *tpath;
FileData *fd_n;
GtkTreeIter iter;
- IconData *id;
if (!lw || !lw->vf) return;
{
if (lw->vf->type == FILEVIEW_ICON)
{
- id = work->data;
- fd_n = id->fd;
+ fd_n = work->data;
work = work->next;
}
else
GtkTreePath *tpath;
FileData *fd_n;
GtkTreeIter iter;
- IconData *id;
if (!lw || !lw->vf) return;
{
if (lw->vf->type == FILEVIEW_ICON)
{
- id = work->data;
- fd_n = id->fd;
+ fd_n = work->data;
work = work->next;
}
else
{
LayoutWindow *lw = data;
GtkWidget *menu;
+ FileData *dir_fd;
switch (event->button)
{
case MOUSE_BUTTON_LEFT:
- if (options->image_lm_click_nav && lw->split_mode == SPLIT_NONE)
+ if (options->image_l_click_video && options->image_l_click_video_editor && imd->image_fd && imd->image_fd->format_class == FORMAT_CLASS_VIDEO)
+ {
+ start_editor_from_file(options->image_l_click_video_editor, imd->image_fd);
+ }
+ else if (options->image_lm_click_nav && lw->split_mode == SPLIT_NONE)
layout_image_next(lw);
break;
case MOUSE_BUTTON_MIDDLE:
}
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, event->time);
break;
+ case MOUSE_BUTTON_BACK:
+ dir_fd = file_data_new_dir(history_chain_back());
+ layout_set_fd(lw, dir_fd);
+ file_data_unref(dir_fd);
+ break;
+ case MOUSE_BUTTON_FORWARD:
+ dir_fd = file_data_new_dir(history_chain_forward());
+ layout_set_fd(lw, dir_fd);
+ file_data_unref(dir_fd);
+ break;
default:
break;
}