Double click on thumbnail to open image

This commit is contained in:
Bert Münnich 2014-01-11 22:52:37 +01:00
parent 304fd382db
commit ed69b483ed
2 changed files with 13 additions and 8 deletions

18
main.c
View file

@ -553,6 +553,7 @@ void on_keypress(XKeyEvent *kev)
void on_buttonpress(XButtonEvent *bev) void on_buttonpress(XButtonEvent *bev)
{ {
int i, sel; int i, sel;
static Time firstclick;
if (bev == NULL) if (bev == NULL)
return; return;
@ -580,17 +581,20 @@ void on_buttonpress(XButtonEvent *bev)
switch (bev->button) { switch (bev->button) {
case Button1: case Button1:
if ((sel = tns_translate(&tns, bev->x, bev->y)) >= 0) { if ((sel = tns_translate(&tns, bev->x, bev->y)) >= 0) {
if (sel == tns.sel) { if (sel != tns.sel) {
mode = MODE_IMAGE;
set_timeout(reset_cursor, TO_CURSOR_HIDE, true);
load_image(tns.sel);
} else {
tns_highlight(&tns, tns.sel, false); tns_highlight(&tns, tns.sel, false);
tns_highlight(&tns, sel, true); tns_highlight(&tns, sel, true);
tns.sel = sel; tns.sel = sel;
firstclick = bev->time;
redraw();
} else if (bev->time - firstclick <= TO_DOUBLE_CLICK) {
mode = MODE_IMAGE;
set_timeout(reset_cursor, TO_CURSOR_HIDE, true);
load_image(tns.sel);
redraw();
} else {
firstclick = bev->time;
} }
redraw();
break;
} }
break; break;
case Button3: case Button3:

View file

@ -76,7 +76,8 @@ typedef struct {
enum { enum {
TO_REDRAW_RESIZE = 75, TO_REDRAW_RESIZE = 75,
TO_REDRAW_THUMBS = 200, TO_REDRAW_THUMBS = 200,
TO_CURSOR_HIDE = 1200 TO_CURSOR_HIDE = 1200,
TO_DOUBLE_CLICK = 300
}; };
typedef void (*timeout_f)(void); typedef void (*timeout_f)(void);