diff options
author | Bert <ber.t@gmx.com> | 2011-02-17 17:28:13 +0100 |
---|---|---|
committer | Bert <ber.t@gmx.com> | 2011-02-17 17:28:13 +0100 |
commit | 6adbb3831d889b7a0fa3b69e40843d8b70beaf55 (patch) | |
tree | cabceb1b50489cf92e2f550a9a2025430d0bd08a /main.c | |
parent | f08c24bbb31ae0e3f7001d5d4d0e8f31b0c817f8 (diff) |
Use Button1 to open thumbnail
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 97 |
1 files changed, 56 insertions, 41 deletions
@@ -268,11 +268,11 @@ void redraw() { } void on_keypress(XKeyEvent *kev) { - int sel, x, y; + int x, y; unsigned int w, h; char key; KeySym ksym; - int changed; + int changed, sel; if (!kev) return; @@ -439,7 +439,7 @@ void on_keypress(XKeyEvent *kev) { } void on_buttonpress(XButtonEvent *bev) { - int changed; + int changed, sel; unsigned int mask; if (!bev) @@ -448,46 +448,61 @@ void on_buttonpress(XButtonEvent *bev) { mask = CLEANMASK(bev->state); changed = 0; - switch (bev->button) { - case Button1: - if (fileidx + 1 < filecnt) { - ++fileidx; - changed = load_image(); - } - break; - case Button2: - mox = bev->x; - moy = bev->y; - win_set_cursor(&win, CURSOR_HAND); - break; - case Button3: - if (fileidx > 0) { - --fileidx; - changed = load_image(); - } - break; - case Button4: - if (mask == ControlMask) - changed = img_zoom_in(&img); - else if (mask == ShiftMask) + if (mode == MODE_NORMAL) { + switch (bev->button) { + case Button1: + if (fileidx + 1 < filecnt) { + ++fileidx; + changed = load_image(); + } + break; + case Button2: + mox = bev->x; + moy = bev->y; + win_set_cursor(&win, CURSOR_HAND); + break; + case Button3: + if (fileidx > 0) { + --fileidx; + changed = load_image(); + } + break; + case Button4: + if (mask == ControlMask) + changed = img_zoom_in(&img); + else if (mask == ShiftMask) + changed = img_pan(&img, &win, PAN_LEFT); + else + changed = img_pan(&img, &win, PAN_UP); + break; + case Button5: + if (mask == ControlMask) + changed = img_zoom_out(&img); + else if (mask == ShiftMask) + changed = img_pan(&img, &win, PAN_RIGHT); + else + changed = img_pan(&img, &win, PAN_DOWN); + break; + case 6: changed = img_pan(&img, &win, PAN_LEFT); - else - changed = img_pan(&img, &win, PAN_UP); - break; - case Button5: - if (mask == ControlMask) - changed = img_zoom_out(&img); - else if (mask == ShiftMask) + break; + case 7: changed = img_pan(&img, &win, PAN_RIGHT); - else - changed = img_pan(&img, &win, PAN_DOWN); - break; - case 6: - changed = img_pan(&img, &win, PAN_LEFT); - break; - case 7: - changed = img_pan(&img, &win, PAN_RIGHT); - break; + break; + } + } else { + /* thumbnail mode */ + switch (bev->button) { + case Button1: + if ((sel = tns_translate(&tns, bev->x, bev->y)) >= 0) { + fileidx = sel; + load_image(); + mode = MODE_NORMAL; + changed = 1; + break; + } + break; + } } if (changed) |