Browse Source

Double click on thumbnail to open image

master
Bert Münnich 11 years ago
parent
commit
ed69b483ed
2 changed files with 12 additions and 7 deletions
  1. +10
    -6
      main.c
  2. +2
    -1
      types.h

+ 10
- 6
main.c View File

@@ -553,6 +553,7 @@ void on_keypress(XKeyEvent *kev)
void on_buttonpress(XButtonEvent *bev)
{
int i, sel;
static Time firstclick;

if (bev == NULL)
return;
@@ -580,17 +581,20 @@ void on_buttonpress(XButtonEvent *bev)
switch (bev->button) {
case Button1:
if ((sel = tns_translate(&tns, bev->x, bev->y)) >= 0) {
if (sel == tns.sel) {
if (sel != tns.sel) {
tns_highlight(&tns, tns.sel, false);
tns_highlight(&tns, sel, true);
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 {
tns_highlight(&tns, tns.sel, false);
tns_highlight(&tns, sel, true);
tns.sel = sel;
firstclick = bev->time;
}
redraw();
break;
}
break;
case Button3:


+ 2
- 1
types.h View File

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

typedef void (*timeout_f)(void);


Loading…
Cancel
Save