[w3m-dev 03446] Open download list panel on new tab

* fm.h (open_tab_dl_list): added
* main.c (download_action): buffer delete when download done
	(ldDL): open buf in new tab if open_tab_dl_list
* rc.c (CMT_OPEN_TAB_DL_LIST): added
	(open_tab_dl_list): added
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-11-18 17:26:01 +00:00
parent c2b1e4fa70
commit 285d4c762f
4 changed files with 42 additions and 9 deletions
+10 -1
View File
@@ -1,3 +1,12 @@
2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03446] Open download list panel on new tab
* fm.h (open_tab_dl_list): added
* main.c (download_action): buffer delete when download done
(ldDL): open buf in new tab if open_tab_dl_list
* rc.c (CMT_OPEN_TAB_DL_LIST): added
(open_tab_dl_list): added
2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> 2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03445] download list for "w3m foo.tar.gz" * [w3m-dev 03445] download list for "w3m foo.tar.gz"
@@ -4836,4 +4845,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1 * release-0-2-1
* import w3m-0.2.1 * import w3m-0.2.1
$Id: ChangeLog,v 1.528 2002/11/18 16:46:48 ukai Exp $ $Id: ChangeLog,v 1.529 2002/11/18 17:26:01 ukai Exp $
+2 -1
View File
@@ -1,4 +1,4 @@
/* $Id: fm.h,v 1.82 2002/11/15 16:14:25 ukai Exp $ */ /* $Id: fm.h,v 1.83 2002/11/18 17:26:06 ukai Exp $ */
/* /*
* w3m: WWW wo Miru utility * w3m: WWW wo Miru utility
* *
@@ -804,6 +804,7 @@ global TabBuffer *CurrentTab;
global TabBuffer *FirstTab; global TabBuffer *FirstTab;
global TabBuffer *LastTab; global TabBuffer *LastTab;
global int open_tab_blank init(FALSE); global int open_tab_blank init(FALSE);
global int open_tab_dl_list init(FALSE);
global int close_tab_back init(FALSE); global int close_tab_back init(FALSE);
global int nTab; global int nTab;
global int TabCols init(10); global int TabCols init(10);
+24 -5
View File
@@ -1,4 +1,4 @@
/* $Id: main.c,v 1.141 2002/11/18 16:46:52 ukai Exp $ */ /* $Id: main.c,v 1.142 2002/11/18 17:26:07 ukai Exp $ */
#define MAINPROGRAM #define MAINPROGRAM
#include "fm.h" #include "fm.h"
#include <signal.h> #include <signal.h>
@@ -5934,8 +5934,15 @@ download_action(struct parsed_tagarg *arg)
} }
if (FirstDL) if (FirstDL)
ldDL(); ldDL();
else {
if (Currentbuf == Firstbuf && Currentbuf->nextBuffer == NULL) {
if (nTab > 1)
deleteTab(CurrentTab);
}
else else
backBf(); delBuffer(Currentbuf);
displayBuffer(Currentbuf, B_FORCE_REDRAW);
}
} }
void void
@@ -5958,7 +5965,7 @@ void
ldDL(void) ldDL(void)
{ {
Buffer *prev = Currentbuf; Buffer *prev = Currentbuf;
int delete = FALSE; int delete = FALSE, new_tab = FALSE;
#ifdef USE_ALARM #ifdef USE_ALARM
int reload; int reload;
#endif #endif
@@ -5968,14 +5975,26 @@ ldDL(void)
if (Currentbuf->bufferprop & BP_INTERNAL && if (Currentbuf->bufferprop & BP_INTERNAL &&
!strcmp(Currentbuf->buffername, DOWNLOAD_LIST_TITLE)) !strcmp(Currentbuf->buffername, DOWNLOAD_LIST_TITLE))
delete = TRUE; delete = TRUE;
else if (open_tab_dl_list) {
_newT();
prev = Currentbuf;
delete = TRUE;
new_tab = TRUE;
}
#ifdef USE_ALARM #ifdef USE_ALARM
reload = checkDownloadList(); reload = checkDownloadList();
#endif #endif
cmd_loadBuffer(DownloadListBuffer(), BP_NO_URL, LB_NOLINK); cmd_loadBuffer(DownloadListBuffer(), BP_NO_URL, LB_NOLINK);
if (delete && Currentbuf != prev) if (Currentbuf == prev) {
if (new_tab)
deleteTab(CurrentTab);
displayBuffer(Currentbuf, B_FORCE_REDRAW);
return;
}
if (delete)
deletePrevBuf(); deletePrevBuf();
#ifdef USE_ALARM #ifdef USE_ALARM
if (reload && Currentbuf != prev) { if (reload) {
Currentbuf->bufferprop |= BP_RELOAD; Currentbuf->bufferprop |= BP_RELOAD;
setAlarmEvent(1, AL_IMPLICIT, FUNCNAME_reload, NULL); setAlarmEvent(1, AL_IMPLICIT, FUNCNAME_reload, NULL);
} }
+5 -1
View File
@@ -1,4 +1,4 @@
/* $Id: rc.c,v 1.63 2002/11/14 16:56:24 ukai Exp $ */ /* $Id: rc.c,v 1.64 2002/11/18 17:26:10 ukai Exp $ */
/* /*
* Initialization file etc. * Initialization file etc.
*/ */
@@ -66,6 +66,7 @@ static char *config_file = NULL;
#define CMT_ARGV_IS_URL "scheme のない引数も URL とみなす" #define CMT_ARGV_IS_URL "scheme のない引数も URL とみなす"
#define CMT_TSELF "targetが未指定の場合に_selfを使用する" #define CMT_TSELF "targetが未指定の場合に_selfを使用する"
#define CMT_OPEN_TAB_BLANK "targetが_blankか_newの場合は新しいタブで開く" #define CMT_OPEN_TAB_BLANK "targetが_blankか_newの場合は新しいタブで開く"
#define CMT_OPEN_TAB_DL_LIST "Download list panel を新しいタブで開く"
#define CMT_DISPLINK "リンク先の自動表示" #define CMT_DISPLINK "リンク先の自動表示"
#define CMT_DISPLINEINFO "現在の行番号の表示" #define CMT_DISPLINEINFO "現在の行番号の表示"
#define CMT_DISP_IMAGE "インライン画像を表示" #define CMT_DISP_IMAGE "インライン画像を表示"
@@ -218,6 +219,7 @@ static char *config_file = NULL;
#define CMT_ARGV_IS_URL "Treat argument without scheme as URL" #define CMT_ARGV_IS_URL "Treat argument without scheme as URL"
#define CMT_TSELF "Use _self as default target" #define CMT_TSELF "Use _self as default target"
#define CMT_OPEN_TAB_BLANK "Open link on new tab if target is _blank or _new" #define CMT_OPEN_TAB_BLANK "Open link on new tab if target is _blank or _new"
#define CMT_OPEN_TAB_DL_LIST "Open download list panel on new tab"
#define CMT_DISPLINK "Display link URL automatically" #define CMT_DISPLINK "Display link URL automatically"
#define CMT_DISPLINEINFO "Display current line number" #define CMT_DISPLINEINFO "Display current line number"
#define CMT_DISP_IMAGE "Display inline images" #define CMT_DISP_IMAGE "Display inline images"
@@ -499,6 +501,8 @@ struct param_ptr params1[] = {
{"target_self", P_CHARINT, PI_ONOFF, (void *)&TargetSelf, CMT_TSELF, NULL}, {"target_self", P_CHARINT, PI_ONOFF, (void *)&TargetSelf, CMT_TSELF, NULL},
{"open_tab_blank", P_INT, PI_ONOFF, (void *)&open_tab_blank, {"open_tab_blank", P_INT, PI_ONOFF, (void *)&open_tab_blank,
CMT_OPEN_TAB_BLANK, NULL}, CMT_OPEN_TAB_BLANK, NULL},
{"open_tab_dl_list", P_INT, PI_ONOFF, (void *)&open_tab_dl_list,
CMT_OPEN_TAB_DL_LIST, NULL},
{"display_link", P_INT, PI_ONOFF, (void *)&displayLink, CMT_DISPLINK, {"display_link", P_INT, PI_ONOFF, (void *)&displayLink, CMT_DISPLINK,
NULL}, NULL},
{"display_lineinfo", P_INT, PI_ONOFF, (void *)&displayLineInfo, {"display_lineinfo", P_INT, PI_ONOFF, (void *)&displayLineInfo,