Double click on thumbnail to open image
This commit is contained in:
parent
304fd382db
commit
ed69b483ed
18
main.c
18
main.c
|
@ -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();
|
redraw();
|
||||||
break;
|
} 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Button3:
|
case Button3:
|
||||||
|
|
3
types.h
3
types.h
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue