summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <ghub@derf.homelinux.org>2011-10-02 11:34:54 -0700
committerDaniel Friesel <ghub@derf.homelinux.org>2011-10-02 11:34:54 -0700
commitb467f5f01ce15f24f786cc10dc3fc543d44871dd (patch)
treebf1c198e248205d31af6b47a9b696644741ef081
parentf55de5185347da52e7cd282491afdc7114418e50 (diff)
parent31288506d2f5639e9e7348ef34a6bc917c9a294b (diff)
Merge pull request #66 from Ferada/master
Perform actions on thumbnails.
-rw-r--r--Makefile3
-rw-r--r--src/keyevents.c19
-rw-r--r--src/thumbnail.c7
-rw-r--r--src/thumbnail.h1
4 files changed, 25 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index a5d5ddd..16c15e2 100644
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,8 @@ install-doc:
@echo installing docs to ${doc_dir}
@mkdir -p ${doc_dir}
@cp AUTHORS ChangeLog README TODO ${doc_dir}
- @chmod 644 ${doc_dir}/*
+ @chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README \
+ ${doc_dir}/TODO
install-bin:
@echo installing executables to ${bin_dir}
diff --git a/src/keyevents.c b/src/keyevents.c
index 827ab24..64194da 100644
--- a/src/keyevents.c
+++ b/src/keyevents.c
@@ -345,10 +345,21 @@ void feh_event_invoke_action(winwidget winwid, unsigned char action)
feh_reload_image(winwid, 1, 1);
else
winwidget_destroy(winwid);
- } else if (winwid->type == WIN_TYPE_THUMBNAIL)
- fputs("actions from the main thumb window aren't currently supported!\n"
- "For now, open the image to perform the action on it.\n",
- stdout);
+ } else if (winwid->type == WIN_TYPE_THUMBNAIL) {
+ feh_file *thumbfile;
+ /* also see events.c:306 */
+ thumbfile = feh_thumbnail_get_selected_file();
+
+ if (thumbfile) {
+ feh_action_run(thumbfile, opt.actions[action]);
+
+ /* so, reload/regenerate the thumbnail here? */
+ if (!opt.hold_actions[action])
+ winwidget_destroy(winwid);
+ }
+ else
+ fputs("no thumbnail selected\n", stderr);
+ }
}
return;
}
diff --git a/src/thumbnail.c b/src/thumbnail.c
index 86d254b..42e2a82 100644
--- a/src/thumbnail.c
+++ b/src/thumbnail.c
@@ -902,6 +902,13 @@ inline void feh_thumbnail_show_selected()
feh_thumbnail_show_fullsize(td.selected->file);
}
+inline feh_file* feh_thumbnail_get_selected_file()
+{
+ if (td.selected)
+ return td.selected->file;
+ return NULL;
+}
+
int feh_thumbnail_setup_thumbnail_dir(void)
{
int status = 0;
diff --git a/src/thumbnail.h b/src/thumbnail.h
index a70b603..9b95726 100644
--- a/src/thumbnail.h
+++ b/src/thumbnail.h
@@ -86,6 +86,7 @@ void feh_thumbnail_select(winwidget winwid, feh_thumbnail *thumbnail);
void feh_thumbnail_select_next(winwidget winwid, int jump);
void feh_thumbnail_select_prev(winwidget winwid, int jump);
void feh_thumbnail_show_selected();
+feh_file *feh_thumbnail_get_selected_file();
int feh_thumbnail_setup_thumbnail_dir(void);