From a7a8ca26350e0a3b0e5dc756b4c40e3f5b0f872c Mon Sep 17 00:00:00 2001 From: Bert Date: Wed, 17 Aug 2011 22:13:53 +0200 Subject: Do not change view when reloading file. --- apps/pdfapp.c | 15 ++++++++++----- apps/pdfapp.h | 2 +- apps/win_main.c | 4 ++-- apps/x11_main.c | 4 ++-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/pdfapp.c b/apps/pdfapp.c index c42ba856..41cc13f8 100644 --- a/apps/pdfapp.c +++ b/apps/pdfapp.c @@ -179,7 +179,7 @@ static void pdfapp_open_xps(pdfapp_t *app, char *filename, int fd) app->pagecount = xps_count_pages(app->xps); } -void pdfapp_open(pdfapp_t *app, char *filename, int fd) +void pdfapp_open(pdfapp_t *app, char *filename, int fd, int reload) { if (strstr(filename, ".xps") || strstr(filename, ".XPS") || strstr(filename, ".rels")) pdfapp_open_xps(app, filename, fd); @@ -188,7 +188,6 @@ void pdfapp_open(pdfapp_t *app, char *filename, int fd) app->cache = fz_new_glyph_cache(); - app->shrinkwrap = 1; if (app->pageno < 1) app->pageno = 1; if (app->pageno > app->pagecount) @@ -197,9 +196,14 @@ void pdfapp_open(pdfapp_t *app, char *filename, int fd) app->resolution = MINRES; if (app->resolution > MAXRES) app->resolution = MAXRES; - app->rotate = 0; - app->panx = 0; - app->pany = 0; + + if (!reload) + { + app->shrinkwrap = 1; + app->rotate = 0; + app->panx = 0; + app->pany = 0; + } pdfapp_showpage(app, 1, 1, 1); } @@ -889,6 +893,7 @@ void pdfapp_onkey(pdfapp_t *app, int c) */ case 'r': + panto = DONT_PAN; oldpage = -1; winreloadfile(app); break; diff --git a/apps/pdfapp.h b/apps/pdfapp.h index f884f05a..23f66658 100644 --- a/apps/pdfapp.h +++ b/apps/pdfapp.h @@ -89,7 +89,7 @@ struct pdfapp_s }; void pdfapp_init(pdfapp_t *app); -void pdfapp_open(pdfapp_t *app, char *filename, int fd); +void pdfapp_open(pdfapp_t *app, char *filename, int fd, int reload); void pdfapp_close(pdfapp_t *app); char *pdfapp_version(pdfapp_t *app); diff --git a/apps/win_main.c b/apps/win_main.c index d98a6742..fc772aa7 100644 --- a/apps/win_main.c +++ b/apps/win_main.c @@ -607,7 +607,7 @@ void winreloadfile(pdfapp_t *app) if (fd < 0) winerror(&gapp, fz_throw("cannot reload file '%s'", filename)); - pdfapp_open(app, filename, fd); + pdfapp_open(app, filename, fd, 1); } void winopenuri(pdfapp_t *app, char *buf) @@ -869,7 +869,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShow if (code == 0) win32error("cannot convert filename to utf-8"); - pdfapp_open(&gapp, filename, fd); + pdfapp_open(&gapp, filename, fd, 0); while (GetMessage(&msg, NULL, 0, 0)) { diff --git a/apps/x11_main.c b/apps/x11_main.c index fd689736..d693591c 100644 --- a/apps/x11_main.c +++ b/apps/x11_main.c @@ -477,7 +477,7 @@ void winreloadfile(pdfapp_t *app) if (fd < 0) winerror(app, fz_throw("cannot reload file '%s'", filename)); - pdfapp_open(app, filename, fd); + pdfapp_open(app, filename, fd, 1); } void winopenuri(pdfapp_t *app, char *buf) @@ -618,7 +618,7 @@ int main(int argc, char **argv) if (fd < 0) winerror(&gapp, fz_throw("cannot open file '%s'", filename)); - pdfapp_open(&gapp, filename, fd); + pdfapp_open(&gapp, filename, fd, 0); winresettmo(&tmo, &tmo_at); -- cgit v1.2.3