Renamed application modes

This commit is contained in:
Bert 2011-08-19 13:09:22 +02:00
parent 1c68a34463
commit 421f012022
3 changed files with 36 additions and 36 deletions

View file

@ -59,7 +59,7 @@ int timo_cursor;
int timo_redraw; int timo_redraw;
void redraw() { void redraw() {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
img_render(&img, &win); img_render(&img, &win);
if (timo_cursor) if (timo_cursor)
win_set_cursor(&win, CURSOR_ARROW); win_set_cursor(&win, CURSOR_ARROW);
@ -106,7 +106,7 @@ void on_buttonpress(XButtonEvent *bev) {
if (!bev) if (!bev)
return; return;
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
win_set_cursor(&win, CURSOR_ARROW); win_set_cursor(&win, CURSOR_ARROW);
timo_cursor = TO_CURSOR_HIDE; timo_cursor = TO_CURSOR_HIDE;
@ -126,7 +126,7 @@ void on_buttonpress(XButtonEvent *bev) {
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) {
load_image(tns.sel); load_image(tns.sel);
mode = MODE_NORMAL; mode = MODE_IMAGE;
timo_cursor = TO_CURSOR_HIDE; timo_cursor = TO_CURSOR_HIDE;
} else { } else {
tns_highlight(&tns, &win, tns.sel, False); tns_highlight(&tns, &win, tns.sel, False);
@ -152,12 +152,12 @@ void run() {
struct timeval tt, t0, t1; struct timeval tt, t0, t1;
XEvent ev; XEvent ev;
timo_cursor = mode == MODE_NORMAL ? TO_CURSOR_HIDE : 0; timo_cursor = mode == MODE_IMAGE ? TO_CURSOR_HIDE : 0;
redraw(); redraw();
while (1) { while (1) {
if (mode == MODE_THUMBS && tns.cnt < filecnt) { if (mode == MODE_THUMB && tns.cnt < filecnt) {
/* load thumbnails */ /* load thumbnails */
win_set_cursor(&win, CURSOR_WATCH); win_set_cursor(&win, CURSOR_WATCH);
gettimeofday(&t0, 0); gettimeofday(&t0, 0);
@ -221,7 +221,7 @@ void run() {
case ConfigureNotify: case ConfigureNotify:
if (win_configure(&win, &ev.xconfigure)) { if (win_configure(&win, &ev.xconfigure)) {
timo_redraw = TO_WIN_RESIZE; timo_redraw = TO_WIN_RESIZE;
if (mode == MODE_NORMAL) if (mode == MODE_IMAGE)
img.checkpan = 1; img.checkpan = 1;
else else
tns.dirty = 1; tns.dirty = 1;
@ -249,7 +249,7 @@ int it_quit(arg_t a) {
} }
int it_switch_mode(arg_t a) { int it_switch_mode(arg_t a) {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
if (!tns.thumbs) if (!tns.thumbs)
tns_init(&tns, filecnt); tns_init(&tns, filecnt);
img_close(&img, 0); img_close(&img, 0);
@ -257,18 +257,18 @@ int it_switch_mode(arg_t a) {
timo_cursor = 0; timo_cursor = 0;
tns.sel = fileidx; tns.sel = fileidx;
tns.dirty = 1; tns.dirty = 1;
mode = MODE_THUMBS; mode = MODE_THUMB;
} else { } else {
timo_cursor = TO_CURSOR_HIDE; timo_cursor = TO_CURSOR_HIDE;
load_image(tns.sel); load_image(tns.sel);
mode = MODE_NORMAL; mode = MODE_IMAGE;
} }
return 1; return 1;
} }
int it_toggle_fullscreen(arg_t a) { int it_toggle_fullscreen(arg_t a) {
win_toggle_fullscreen(&win); win_toggle_fullscreen(&win);
if (mode == MODE_NORMAL) if (mode == MODE_IMAGE)
img.checkpan = 1; img.checkpan = 1;
else else
tns.dirty = 1; tns.dirty = 1;
@ -277,7 +277,7 @@ int it_toggle_fullscreen(arg_t a) {
} }
int it_reload_image(arg_t a) { int it_reload_image(arg_t a) {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
load_image(fileidx); load_image(fileidx);
} else if (!tns_load(&tns, tns.sel, &files[tns.sel], 0)) { } else if (!tns_load(&tns, tns.sel, &files[tns.sel], 0)) {
remove_file(tns.sel, 0); remove_file(tns.sel, 0);
@ -289,7 +289,7 @@ int it_reload_image(arg_t a) {
} }
int it_remove_image(arg_t a) { int it_remove_image(arg_t a) {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
remove_file(fileidx, 1); remove_file(fileidx, 1);
load_image(fileidx >= filecnt ? filecnt - 1 : fileidx); load_image(fileidx >= filecnt ? filecnt - 1 : fileidx);
return 1; return 1;
@ -307,7 +307,7 @@ int it_remove_image(arg_t a) {
int i_navigate(arg_t a) { int i_navigate(arg_t a) {
int n = (int) a; int n = (int) a;
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
n += fileidx; n += fileidx;
if (n < 0) if (n < 0)
n = 0; n = 0;
@ -323,10 +323,10 @@ int i_navigate(arg_t a) {
} }
int it_first(arg_t a) { int it_first(arg_t a) {
if (mode == MODE_NORMAL && fileidx != 0) { if (mode == MODE_IMAGE && fileidx != 0) {
load_image(0); load_image(0);
return 1; return 1;
} else if (mode == MODE_THUMBS && tns.sel != 0) { } else if (mode == MODE_THUMB && tns.sel != 0) {
tns.sel = 0; tns.sel = 0;
tns.dirty = 1; tns.dirty = 1;
return 1; return 1;
@ -336,10 +336,10 @@ int it_first(arg_t a) {
} }
int it_last(arg_t a) { int it_last(arg_t a) {
if (mode == MODE_NORMAL && fileidx != filecnt - 1) { if (mode == MODE_IMAGE && fileidx != filecnt - 1) {
load_image(filecnt - 1); load_image(filecnt - 1);
return 1; return 1;
} else if (mode == MODE_THUMBS && tns.sel != tns.cnt - 1) { } else if (mode == MODE_THUMB && tns.sel != tns.cnt - 1) {
tns.sel = tns.cnt - 1; tns.sel = tns.cnt - 1;
tns.dirty = 1; tns.dirty = 1;
return 1; return 1;
@ -351,7 +351,7 @@ int it_last(arg_t a) {
int it_move(arg_t a) { int it_move(arg_t a) {
direction_t dir = (direction_t) a; direction_t dir = (direction_t) a;
if (mode == MODE_NORMAL) if (mode == MODE_IMAGE)
return img_pan(&img, &win, dir, 0); return img_pan(&img, &win, dir, 0);
else else
return tns_move_selection(&tns, &win, dir); return tns_move_selection(&tns, &win, dir);
@ -360,7 +360,7 @@ int it_move(arg_t a) {
int i_pan_screen(arg_t a) { int i_pan_screen(arg_t a) {
direction_t dir = (direction_t) a; direction_t dir = (direction_t) a;
if (mode == MODE_NORMAL) if (mode == MODE_IMAGE)
return img_pan(&img, &win, dir, 1); return img_pan(&img, &win, dir, 1);
else else
return 0; return 0;
@ -369,7 +369,7 @@ int i_pan_screen(arg_t a) {
int i_pan_edge(arg_t a) { int i_pan_edge(arg_t a) {
direction_t dir = (direction_t) a; direction_t dir = (direction_t) a;
if (mode == MODE_NORMAL) if (mode == MODE_IMAGE)
return img_pan_edge(&img, &win, dir); return img_pan_edge(&img, &win, dir);
else else
return 0; return 0;
@ -387,7 +387,7 @@ int i_drag(arg_t a) {
XEvent e; XEvent e;
Window w; Window w;
if (mode != MODE_NORMAL) if (mode != MODE_IMAGE)
return 0; return 0;
if (!XQueryPointer(win.env.dpy, win.xwin, &w, &w, &i, &i, &ox, &oy, &ui)) if (!XQueryPointer(win.env.dpy, win.xwin, &w, &w, &i, &i, &ox, &oy, &ui))
return 0; return 0;
@ -433,7 +433,7 @@ int i_drag(arg_t a) {
int i_zoom(arg_t a) { int i_zoom(arg_t a) {
int scale = (int) a; int scale = (int) a;
if (mode != MODE_NORMAL) if (mode != MODE_IMAGE)
return 0; return 0;
if (scale > 0) if (scale > 0)
return img_zoom_in(&img, &win); return img_zoom_in(&img, &win);
@ -446,7 +446,7 @@ int i_zoom(arg_t a) {
int i_fit_to_win(arg_t a) { int i_fit_to_win(arg_t a) {
int ret; int ret;
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
if ((ret = img_fit_win(&img, &win))) if ((ret = img_fit_win(&img, &win)))
img_center(&img, &win); img_center(&img, &win);
return ret; return ret;
@ -459,7 +459,7 @@ int i_fit_to_img(arg_t a) {
int ret, x, y; int ret, x, y;
unsigned int w, h; unsigned int w, h;
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
x = MAX(0, win.x + img.x); x = MAX(0, win.x + img.x);
y = MAX(0, win.y + img.y); y = MAX(0, win.y + img.y);
w = img.w * img.zoom; w = img.w * img.zoom;
@ -477,7 +477,7 @@ int i_fit_to_img(arg_t a) {
int i_rotate(arg_t a) { int i_rotate(arg_t a) {
direction_t dir = (direction_t) a; direction_t dir = (direction_t) a;
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
if (dir == DIR_LEFT) { if (dir == DIR_LEFT) {
img_rotate_left(&img, &win); img_rotate_left(&img, &win);
return 1; return 1;
@ -490,7 +490,7 @@ int i_rotate(arg_t a) {
} }
int i_toggle_antialias(arg_t a) { int i_toggle_antialias(arg_t a) {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
img_toggle_antialias(&img); img_toggle_antialias(&img);
return 1; return 1;
} else { } else {
@ -499,7 +499,7 @@ int i_toggle_antialias(arg_t a) {
} }
int i_toggle_alpha(arg_t a) { int i_toggle_alpha(arg_t a) {
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
img.alpha ^= 1; img.alpha ^= 1;
return 1; return 1;
} else { } else {
@ -516,7 +516,7 @@ int it_open_with(arg_t a) {
if((pid = fork()) == 0) { if((pid = fork()) == 0) {
execlp(prog, prog, execlp(prog, prog,
files[mode == MODE_NORMAL ? fileidx : tns.sel].path, NULL); files[mode == MODE_IMAGE ? fileidx : tns.sel].path, NULL);
warn("could not exec: %s", prog); warn("could not exec: %s", prog);
exit(1); exit(1);
} else if (pid < 0) { } else if (pid < 0) {
@ -543,7 +543,7 @@ int it_shell_cmd(arg_t a) {
fpcnt++; fpcnt++;
if (!fpcnt) if (!fpcnt)
return 0; return 0;
fpath = files[mode == MODE_NORMAL ? fileidx : tns.sel].path; fpath = files[mode == MODE_IMAGE ? fileidx : tns.sel].path;
fplen = strlen(fpath); fplen = strlen(fpath);
cn = cmdline = (char*) s_malloc((strlen(cline) + fpcnt * (fplen + 2)) * cn = cmdline = (char*) s_malloc((strlen(cline) + fpcnt * (fplen + 2)) *
sizeof(char)); sizeof(char));
@ -576,7 +576,7 @@ int it_shell_cmd(arg_t a) {
warn("child exited with non-zero return value: %d. command line was: %s", warn("child exited with non-zero return value: %d. command line was: %s",
WEXITSTATUS(status), cmdline); WEXITSTATUS(status), cmdline);
if (mode == MODE_NORMAL) { if (mode == MODE_IMAGE) {
if (fileidx < tns.cnt) if (fileidx < tns.cnt)
tns_load(&tns, fileidx, &files[fileidx], 1); tns_load(&tns, fileidx, &files[fileidx], 1);
img_close(&img, 1); img_close(&img, 1);
@ -591,7 +591,7 @@ int it_shell_cmd(arg_t a) {
} }
end: end:
if (mode == MODE_THUMBS) if (mode == MODE_THUMB)
win_set_cursor(&win, CURSOR_ARROW); win_set_cursor(&win, CURSOR_ARROW);
/* else: cursor is reset in redraw() */ /* else: cursor is reset in redraw() */

6
main.c
View file

@ -137,7 +137,7 @@ void update_title() {
float size; float size;
const char *unit; const char *unit;
if (mode == MODE_THUMBS) { if (mode == MODE_THUMB) {
n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] %s", n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] %s",
tns.cnt ? tns.sel + 1 : 0, tns.cnt, tns.cnt ? tns.sel + 1 : 0, tns.cnt,
tns.cnt ? files[tns.sel].name : ""); tns.cnt ? files[tns.sel].name : "");
@ -238,13 +238,13 @@ int main(int argc, char **argv) {
img_init(&img, &win); img_init(&img, &win);
if (options->thumbnails) { if (options->thumbnails) {
mode = MODE_THUMBS; mode = MODE_THUMB;
tns_init(&tns, filecnt); tns_init(&tns, filecnt);
while (!tns_load(&tns, 0, &files[0], 0)) while (!tns_load(&tns, 0, &files[0], 0))
remove_file(0, 0); remove_file(0, 0);
tns.cnt = 1; tns.cnt = 1;
} else { } else {
mode = MODE_NORMAL; mode = MODE_IMAGE;
tns.thumbs = NULL; tns.thumbs = NULL;
load_image(fileidx); load_image(fileidx);
} }

View file

@ -2,8 +2,8 @@
#define TYPES_H #define TYPES_H
typedef enum { typedef enum {
MODE_NORMAL, MODE_IMAGE,
MODE_THUMBS MODE_THUMB
} appmode_t; } appmode_t;
typedef enum { typedef enum {