diff options
author | nirav <nirav@teisuu.com> | 2018-09-30 21:39:59 +0530 |
---|---|---|
committer | Dandelion <nirav@teisuu.com> | 2018-09-30 21:39:59 +0530 |
commit | fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4 (patch) | |
tree | 68cbae9ac3e84cce4a4b6402d046e2a31bb4e188 /src/input.c | |
parent | 51d91d63181f82f605a8b9de6d280622ef697630 (diff) | |
download | im-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.tar.gz im-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.zip |
Added async file loading
Diffstat (limited to 'src/input.c')
-rw-r--r-- | src/input.c | 64 |
1 files changed, 18 insertions, 46 deletions
diff --git a/src/input.c b/src/input.c index 6e78a84..76b61a9 100644 --- a/src/input.c +++ b/src/input.c @@ -10,34 +10,6 @@ int grabbed = 0; gdouble start_x, start_y; -void next() -{ - char *name; - if ((name = get_next_file()) != NULL) - load_image(name); -} - -void prev() -{ - char *name; - if ((name = get_prev_file()) != NULL) - load_image(name); -} - -void first() -{ - char *name; - if ((name = get_first_file()) != NULL) - load_image(name); -} - -void last() -{ - char *name; - if ((name = get_last_file()) != NULL) - load_image(name); -} - void handle_key_press(GdkEvent *event) { GdkModifierType state; @@ -62,78 +34,78 @@ void handle_key_press(GdkEvent *event) zoom(0); break; case GDK_KEY_n: - next(); + next_file(); break; case GDK_KEY_p: - prev(); + prev_file(); break; case GDK_KEY_Up: if (get_current_scale_mode() == fit || state & GDK_SHIFT_MASK) - prev(); + prev_file(); else scroll_window(0, -SCROLLAMMOUNT); break; case GDK_KEY_Down: if (get_current_scale_mode() == fit || state & GDK_SHIFT_MASK) - next(); + next_file(); else scroll_window(0, SCROLLAMMOUNT); break; case GDK_KEY_Right: if (get_current_scale_mode() == fit || state & GDK_SHIFT_MASK) - next(); + next_file(); else scroll_window(SCROLLAMMOUNT, 0); break; case GDK_KEY_Left: if (get_current_scale_mode() == fit || state & GDK_SHIFT_MASK) - prev(); + prev_file(); else scroll_window(-SCROLLAMMOUNT, 0); break; case GDK_KEY_j: if (get_current_scale_mode() == fit) - next(); + next_file(); else scroll_window(0, SCROLLAMMOUNT); break; case GDK_KEY_J: - next(); + next_file(); break; case GDK_KEY_k: if (get_current_scale_mode() == fit) - prev(); + prev_file(); else scroll_window(0, -SCROLLAMMOUNT); break; case GDK_KEY_K: - prev(); + prev_file(); break; case GDK_KEY_l: if (get_current_scale_mode() == fit) - next(); + next_file(); else scroll_window(SCROLLAMMOUNT, 0); break; case GDK_KEY_L: - next(); + next_file(); break; case GDK_KEY_h: if (get_current_scale_mode() == fit) - prev(); + prev_file(); else scroll_window(-SCROLLAMMOUNT, 0); break; case GDK_KEY_H: - prev(); + prev_file(); break; case GDK_KEY_g: case GDK_KEY_Home: - first(); + first_file(); break; case GDK_KEY_G: case GDK_KEY_End: - last(); + last_file(); break; case GDK_KEY_f: toggle_fullscreen(); @@ -180,14 +152,14 @@ void handle_scroll(GdkEvent *event) if (state & GDK_CONTROL_MASK) { zoom(1); } else { - prev(); + prev_file(); } break; case GDK_SCROLL_DOWN: if (state & GDK_CONTROL_MASK) { zoom(-1); } else { - next(); + next_file(); } break; default: |