nsxivd1a1e01
Simplified & sped up reloading of all thumbnails
+12 −20
5 files changed
- M README.md +1 −1
- M commands.c +8 −16
- M commands.h +1 −1
- M config.def.h +1 −1
- M sxiv.1 +1 −1
| @@ -93,7 +93,7 @@ The following general key commands are available: | |||
| 93 | 93 | A Toggle visibility of alpha-channel, i.e. transparency | |
| 94 | 94 | ||
| 95 | 95 | r Reload image | |
| 96 | − | R Refresh thumbnails | |
| 96 | + | R Reload all thumbnails | |
| 97 | 97 | D Remove image from file list and go to next image | |
| 98 | 98 | ||
| 99 | 99 | ||
| @@ -94,22 +94,14 @@ bool it_toggle_bar(arg_t a) { | |||
| 94 | 94 | return true; | |
| 95 | 95 | } | |
| 96 | 96 | ||
| 97 | − | bool it_refresh_thumbs(arg_t a) { | |
| 98 | − | int i = 0; | |
| 99 | − | if (mode == MODE_THUMB) { | |
| 100 | − | win_set_cursor(&win, CURSOR_WATCH); | |
| 101 | − | while (i < filecnt) { | |
| 102 | − | if (!tns_load(&tns, i, &files[i], true, false)) { | |
| 103 | − | remove_file(i, false); | |
| 104 | − | tns.dirty = true; | |
| 105 | − | if (tns.sel >= tns.cnt) | |
| 106 | − | tns.sel = tns.cnt - 1; | |
| 107 | − | } else { | |
| 108 | − | i++; | |
| 109 | − | } | |
| 110 | − | } | |
| 111 | − | } | |
| 112 | − | return true; | |
| 97 | + | bool t_reload_all(arg_t a) { | |
| 98 | + | if (mode == MODE_THUMB) { | |
| 99 | + | tns_free(&tns); | |
| 100 | + | tns_init(&tns, filecnt, &win); | |
| 101 | + | return true; | |
| 102 | + | } else { | |
| 103 | + | return false; | |
| 104 | + | } | |
| 113 | 105 | } | |
| 114 | 106 | ||
| 115 | 107 | bool it_reload_image(arg_t a) { | |
| @@ -45,7 +45,7 @@ bool it_quit(arg_t); | |||
| 45 | 45 | bool it_switch_mode(arg_t); | |
| 46 | 46 | bool it_toggle_fullscreen(arg_t); | |
| 47 | 47 | bool it_toggle_bar(arg_t); | |
| 48 | − | bool it_refresh_thumbs(arg_t); | |
| 48 | + | bool t_reload_all(arg_t); | |
| 49 | 49 | bool it_reload_image(arg_t); | |
| 50 | 50 | bool it_remove_image(arg_t); | |
| 51 | 51 | bool i_navigate(arg_t); | |
| @@ -64,7 +64,7 @@ static const keymap_t keys[] = { | |||
| 64 | 64 | { false, XK_b, it_toggle_bar, (arg_t) None }, | |
| 65 | 65 | ||
| 66 | 66 | { false, XK_r, it_reload_image, (arg_t) None }, | |
| 67 | − | { false, XK_R, it_refresh_thumbs, (arg_t) None }, | |
| 67 | + | { false, XK_R, t_reload_all, (arg_t) None }, | |
| 68 | 68 | { false, XK_D, it_remove_image, (arg_t) None }, | |
| 69 | 69 | ||
| 70 | 70 | { false, XK_n, i_navigate, (arg_t) +1 }, | |
| @@ -118,7 +118,7 @@ Toggle visibility of alpha-channel, i.e. image transparency. | |||
| 118 | 118 | Reload image. | |
| 119 | 119 | .TP | |
| 120 | 120 | .B R | |
| 121 | − | Refresh thumbnails. | |
| 121 | + | Reload all thumbnails. | |
| 122 | 122 | .TP | |
| 123 | 123 | .B D | |
| 124 | 124 | Remove current image from file list and go to next image. | |