diff options
| author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-15 15:51:23 +0000 | 
|---|---|---|
| committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-15 15:51:23 +0000 | 
| commit | 073f8a91054a0b84fc2a3c6feaada832d2818bf7 (patch) | |
| tree | db50876cd427e92a1173013500373b04e40e4778 | |
| parent | fix indent (diff) | |
| download | w3m-073f8a91054a0b84fc2a3c6feaada832d2818bf7.tar.gz w3m-073f8a91054a0b84fc2a3c6feaada832d2818bf7.zip | |
[w3m-dev 03435] save image with SAVE
* buffer.c (discardBuffer): check image
* file.c (loadImageBuffer): add st
		IMG_FLAG_DONE_REMOVE
		s/sourcefile/mailcap_source/
* fm.h (IMG_FLAG_DONT_REMOVE): added
* image.c (drawImage): & IMG_FLAG_LOADED
	(deleteImage): & IMG_FLAG_DONT_REMOVE
	(showImageProgress): & IMG_FLAG_LOADED
	(getImage): & IMG_FLAG_LOADED
	(getImageSize): & IMG_FLAG_LOADED
* main.c (vmSrc): delete ifdef USE_IMAGE
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
| -rw-r--r-- | ChangeLog | 17 | ||||
| -rw-r--r-- | buffer.c | 5 | ||||
| -rw-r--r-- | file.c | 22 | ||||
| -rw-r--r-- | fm.h | 3 | ||||
| -rw-r--r-- | image.c | 11 | ||||
| -rw-r--r-- | main.c | 6 | 
6 files changed, 38 insertions, 26 deletions
| @@ -1,5 +1,20 @@  2002-11-16  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +	* [w3m-dev 03435] save image with SAVE +	* buffer.c (discardBuffer): check image +	* file.c (loadImageBuffer): add st +			IMG_FLAG_DONE_REMOVE +			s/sourcefile/mailcap_source/ +	* fm.h (IMG_FLAG_DONT_REMOVE): added +	* image.c (drawImage): & IMG_FLAG_LOADED +		(deleteImage): & IMG_FLAG_DONT_REMOVE +		(showImageProgress): & IMG_FLAG_LOADED +		(getImage): & IMG_FLAG_LOADED +		(getImageSize): & IMG_FLAG_LOADED +	* main.c (vmSrc): delete ifdef USE_IMAGE + +2002-11-16  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +  	* [w3m-dev 03434] Re: cygwin console on Win9X  	* terms.c (cygwin_mouse_btn_swapped): ifdef USE_MOUSE  		(lastConMouse): deleted @@ -4751,4 +4766,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.518 2002/11/15 15:44:36 ukai Exp $ +$Id: ChangeLog,v 1.519 2002/11/15 15:51:23 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: buffer.c,v 1.14 2002/11/08 15:54:46 ukai Exp $ */ +/* $Id: buffer.c,v 1.15 2002/11/15 15:51:23 ukai Exp $ */  #include "fm.h"  #ifdef USE_MOUSE @@ -97,7 +97,8 @@ discardBuffer(Buffer *buf)  	return;      if (buf->pagerSource)  	ISclose(buf->pagerSource); -    if (buf->sourcefile) { +    if (buf->sourcefile && +	(!buf->real_type || strncasecmp(buf->real_type, "image/", 6))) {  	if (buf->real_scheme != SCM_LOCAL || buf->bufferprop & BP_FRAME)  	    unlink(buf->sourcefile);      } @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.117 2002/11/15 15:21:07 ukai Exp $ */ +/* $Id: file.c,v 1.118 2002/11/15 15:51:23 ukai Exp $ */  #include "fm.h"  #include <sys/types.h>  #include "myctype.h" @@ -6569,6 +6569,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)      FILE *src = NULL;      URLFile f;      MySignalHandler(*prevtrap) (); +    struct stat st;      loadImage(IMG_FLAG_STOP);      image = New(Image); @@ -6577,7 +6578,8 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)      image->width = -1;      image->height = -1;      cache = getImage(image, cur_baseURL, IMG_FLAG_AUTO); -    if (!cur_baseURL->is_nocache && cache->loaded == IMG_FLAG_LOADED) +    if (!cur_baseURL->is_nocache && cache->loaded & IMG_FLAG_LOADED && +	!stat(cache->file, &st))  	goto image_buffer;      prevtrap = signal(SIGINT, KeyAbort); @@ -6597,24 +6599,20 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)      cache->loaded = IMG_FLAG_LOADED;      cache->index = 0; -    /* -     * getImageSize(cache); -     */    image_buffer: +    cache->loaded |= IMG_FLAG_DONT_REMOVE; +    if (uf->scheme != SCM_LOCAL) +	newBuf->sourcefile = cache->file; +      tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image->url));      if (newBuf == NULL)  	newBuf = newBuffer(INIT_BUFFER_WIDTH); -    /* -     * if (frame_source) { -     */      tmpf = tmpfname(TMPF_SRC, ".html");      src = fopen(tmpf->ptr, "w"); -    newBuf->sourcefile = tmpf->ptr; +    newBuf->mailcap_source = tmpf->ptr;      pushText(fileToDelete, tmpf->ptr); -    /* -     * } -     */ +      init_stream(&f, SCM_LOCAL, newStrStream(tmp));      loadHTMLstream(&f, newBuf, src, TRUE);      if (src) @@ -1,4 +1,4 @@ -/* $Id: fm.h,v 1.77 2002/11/15 15:19:44 ukai Exp $ */ +/* $Id: fm.h,v 1.78 2002/11/15 15:51:24 ukai Exp $ */  /*    * w3m: WWW wo Miru utility   *  @@ -238,6 +238,7 @@ extern int REV_LB[];  #define IMG_FLAG_UNLOADED	0  #define IMG_FLAG_LOADED		1  #define IMG_FLAG_ERROR		2 +#define IMG_FLAG_DONT_REMOVE	4  /*    * Macros. @@ -1,4 +1,4 @@ -/* $Id: image.c,v 1.16 2002/11/09 21:55:24 ukai Exp $ */ +/* $Id: image.c,v 1.17 2002/11/15 15:51:24 ukai Exp $ */  #include "fm.h"  #include <sys/types.h> @@ -203,7 +203,7 @@ drawImage()  	return;      for (j = 0; j < n_terminal_image; j++) {  	i = &terminal_image[j]; -	if (!(i->cache->loaded == IMG_FLAG_LOADED && +	if (!(i->cache->loaded & IMG_FLAG_LOADED &&  	      i->width > 0 && i->height > 0))  	    continue;  	if (!(Imgdisplay_rf && Imgdisplay_wf)) { @@ -319,6 +319,7 @@ deleteImage(Buffer *buf)      for (i = 0, a = al->anchors; i < al->nanchor; i++, a++) {  	if (a->image && a->image->cache &&  	    a->image->cache->loaded != IMG_FLAG_UNLOADED && +	    !(a->image->cache->loaded & IMG_FLAG_DONT_REMOVE) &&  	    a->image->cache->index < 0)  	    unlink(a->image->cache->file);      } @@ -360,7 +361,7 @@ showImageProgress(Buffer *buf)      for (i = 0, l = 0, n = 0, a = al->anchors; i < al->nanchor; i++, a++) {  	if (a->image && a->hseq >= 0) {  	    n++; -	    if (a->image->cache && a->image->cache->loaded == IMG_FLAG_LOADED) +	    if (a->image->cache && a->image->cache->loaded & IMG_FLAG_LOADED)  		l++;  	}      } @@ -587,7 +588,7 @@ getImage(Image * image, ParsedURL *current, int flag)  	if (!cache->index)  	    cache->index = ++image_index;      } -    if (cache->loaded == IMG_FLAG_LOADED) +    if (cache->loaded & IMG_FLAG_LOADED)  	getImageSize(cache);      return cache;  } @@ -600,7 +601,7 @@ getImageSize(ImageCache * cache)      if (!activeImage)  	return FALSE; -    if (!cache || cache->loaded != IMG_FLAG_LOADED || +    if (!cache || !(cache->loaded & IMG_FLAG_LOADED) ||  	(cache->width > 0 && cache->height > 0))  	return FALSE;      tmp = Strnew(); @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.134 2002/11/15 15:36:48 ukai Exp $ */ +/* $Id: main.c,v 1.135 2002/11/15 15:51:24 ukai Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -4230,10 +4230,6 @@ vwSrc(void)      if (Currentbuf->type == NULL || Currentbuf->bufferprop & BP_FRAME)  	return; -#ifdef USE_IMAGE -    if (!strncasecmp(Currentbuf->real_type, "image/", 6)) -	return; -#endif      if ((buf = Currentbuf->linkBuffer[LB_SOURCE]) != NULL ||  	(buf = Currentbuf->linkBuffer[LB_N_SOURCE]) != NULL) {  	Currentbuf = buf; | 
