ChangeUI can change any dialog. Added UseOuterUIItem
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@656 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
ef05d934d9
commit
329f59cbd1
11 changed files with 247 additions and 106 deletions
61
Contrib/Language files/Spanish.nlf
Normal file
61
Contrib/Language files/Spanish.nlf
Normal file
|
@ -0,0 +1,61 @@
|
|||
# Header, don't edit
|
||||
NLF v1
|
||||
# Language ID
|
||||
1034
|
||||
# Start editing here
|
||||
Sistema de Instalación Nullsoft %s
|
||||
Instalación de %s
|
||||
Desinstalación de %s
|
||||
: Acuerdo de Licencia
|
||||
: Opciones de Instalación
|
||||
: Directorio de Instalación
|
||||
: Instalando Archivos
|
||||
: Completado
|
||||
: Confirmación
|
||||
: Desinstalando
|
||||
: Completado
|
||||
< Atras
|
||||
Siguiente >
|
||||
De acuerdo
|
||||
Instalar
|
||||
Desinstalar
|
||||
Cancelar
|
||||
Cerrar
|
||||
Buscar...
|
||||
Ver detalles
|
||||
Nombre
|
||||
Completado
|
||||
Personalizada
|
||||
Seleccione el tipo de instalación:
|
||||
Seleccione los componentes:
|
||||
O seleccione los componentes opcionales que desea instalar:
|
||||
Seleccione el directorio en el que instalar %s:
|
||||
Espacio disponible:
|
||||
Espacio requerido:
|
||||
Desinstalando desde:
|
||||
Error abriendo archivo para escritura: \r\n\t"$0"\r\nPresione abortar para abortar la instalación,\r\nreintentar para reintentar escribir el archivo, o\r\nignorar para saltarse este archivo
|
||||
No pudo escribirse:
|
||||
Falló la copia
|
||||
Copiar a
|
||||
No pudo encontrarse simbolo:
|
||||
No pudo cargarse:
|
||||
Crear directorio:
|
||||
Crear acceso directo:
|
||||
Crear desinstalador:
|
||||
Borrar archivo:
|
||||
Borrar al reinicio:
|
||||
Error creando acceso directo:
|
||||
Error creando:
|
||||
¡Error descomprimiendo datos! ¿Instalador corrupto?
|
||||
Error registrando DLL
|
||||
Ejecutar comando:
|
||||
Ejecutar:
|
||||
Extraer:
|
||||
Extraer: error escribiendo al archivo
|
||||
Instalador corrupto: código de operación no valido
|
||||
No OLE para:
|
||||
Directorio de salida:
|
||||
Eliminar directorio:
|
||||
Eliminar al reinicio:
|
||||
Renombrar:
|
||||
Saltado:
|
|
@ -227,6 +227,12 @@ CEXEBuild::CEXEBuild()
|
|||
build_header.no_custom_instmode_flag=0;
|
||||
#endif
|
||||
build_header.num_sections=0;
|
||||
build_header.space_avail_id=0;
|
||||
build_header.space_req_id=0;
|
||||
build_header.dir_subtext_id=0;
|
||||
build_header.com_subtext1_id=0;
|
||||
build_header.com_subtext2_id=0;
|
||||
build_header.common.intro_text_id=0;
|
||||
build_header.common.num_entries=0;
|
||||
#ifdef NSIS_CONFIG_SILENT_SUPPORT
|
||||
build_header.common.silent_install=0;
|
||||
|
@ -242,6 +248,8 @@ CEXEBuild::CEXEBuild()
|
|||
uninstall_size=-1;
|
||||
|
||||
memset(&build_uninst,-1,sizeof(build_uninst));
|
||||
build_uninst.uninst_subtext_id=0;
|
||||
build_uninst.common.intro_text_id=0;
|
||||
build_uninst.common.lb_bg=RGB(0,0,0);
|
||||
build_uninst.common.lb_fg=RGB(0,255,0);
|
||||
build_uninst.common.num_entries=0;
|
||||
|
|
|
@ -102,9 +102,32 @@ static int g_page_offs=4;
|
|||
#endif
|
||||
|
||||
static int m_page=-1,m_abort;
|
||||
static HWND m_curwnd;
|
||||
HWND m_curwnd;
|
||||
static int m_whichcfg;
|
||||
|
||||
#ifdef NSIS_CONFIG_VISIBLE_SUPPORT
|
||||
BOOL my_SetDlgItemText(HWND dlg, WORD id, int strtab) {
|
||||
return SetDlgItemText(dlg,id,STR(strtab));
|
||||
}
|
||||
|
||||
BOOL SetUIText(HWND defhw, WORD def, WORD custom, int strtab) {
|
||||
return my_SetDlgItemText(custom?g_hwnd:defhw,custom?custom:def,strtab);
|
||||
}
|
||||
|
||||
// no tab
|
||||
BOOL SetUITextNT(HWND defhw, WORD def, WORD custom, const char *text) {
|
||||
return SetDlgItemText(custom?g_hwnd:defhw,custom?custom:def,text);
|
||||
}
|
||||
|
||||
UINT GetUIText(WORD def, WORD custom, char *str, int max_size) {
|
||||
return GetDlgItemText(custom?g_hwnd:m_curwnd,custom?custom:def,str,max_size);
|
||||
}
|
||||
|
||||
HWND GetUIItem(HWND defhw, WORD def, WORD custom) {
|
||||
return GetDlgItem(custom?g_hwnd:defhw,custom?custom:def);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NSIS_CONFIG_LOG
|
||||
static void build_g_logfile()
|
||||
{
|
||||
|
@ -398,14 +421,14 @@ static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
if (uMsg == WM_INITDIALOG)
|
||||
{
|
||||
g_hwnd=hwndDlg;
|
||||
SetDlgItemText(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
||||
my_SetDlgItemText(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
||||
hIcon=LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_ICON2));
|
||||
SetClassLong(hwndDlg,GCL_HICON,(long)hIcon);
|
||||
SetDlgItemText(hwndDlg,IDCANCEL,LANG_BTN_CANCEL);
|
||||
my_SetDlgItemText(hwndDlg,IDCANCEL,LANG_BTN_CANCEL);
|
||||
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT
|
||||
if (!g_is_uninstaller)
|
||||
#endif
|
||||
SetDlgItemText(hwndDlg,IDC_BACK,LANG_BTN_BACK);
|
||||
my_SetDlgItemText(hwndDlg,IDC_BACK,LANG_BTN_BACK);
|
||||
ShowWindow(hwndDlg,SW_SHOW);
|
||||
}
|
||||
|
||||
|
@ -472,7 +495,7 @@ static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
else if (!m_curwnd)
|
||||
{
|
||||
HWND hwndtmp;
|
||||
SetDlgItemText(hwndDlg,IDOK,
|
||||
my_SetDlgItemText(hwndDlg,IDOK,
|
||||
(m_page == g_max_page) ? LANG_BTN_CLOSE :
|
||||
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT
|
||||
g_is_uninstaller ? LANG_BTN_UNINST :
|
||||
|
@ -570,8 +593,8 @@ static BOOL CALLBACK LicenseProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
|||
SendMessage(hwLicense,EM_AUTOURLDETECT,TRUE,0);
|
||||
SendMessage(hwLicense,EM_SETBKGNDCOLOR,0,g_inst_header->license_bg);
|
||||
SendMessage(hwLicense,EM_SETEVENTMASK,0,ENM_LINK);
|
||||
SetWindowText(hwLicense,LANG_LICENSE_DATA);
|
||||
SetDlgItemText(hwndDlg,IDC_INTROTEXT,LANG_LICENSE_TEXT);
|
||||
SetWindowText(hwLicense,STR(LANG_LICENSE_DATA));
|
||||
SetUIText(hwndDlg,IDC_INTROTEXT,g_inst_header->common.intro_text_id,LANG_LICENSE_TEXT);
|
||||
}
|
||||
else if (uMsg == WM_NOTIFY) {
|
||||
ENLINK *enlink=(ENLINK *)lParam;
|
||||
|
@ -607,8 +630,8 @@ static BOOL CALLBACK UninstProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
{
|
||||
if (uMsg == WM_INITDIALOG)
|
||||
{
|
||||
SetDlgItemText(hwndDlg,IDC_UNINSTFROM,LANG_UNINST_SUBTEXT);
|
||||
SetDlgItemText(hwndDlg,IDC_INTROTEXT,LANG_UNINST_TEXT);
|
||||
SetUIText(hwndDlg,IDC_INTROTEXT,g_inst_header->common.intro_text_id,LANG_UNINST_TEXT);
|
||||
SetUIText(hwndDlg,IDC_UNINSTFROM,g_inst_uninstheader->uninst_subtext_id,LANG_UNINST_SUBTEXT);
|
||||
SetDlgItemText(hwndDlg,IDC_EDIT1,state_install_directory);
|
||||
}
|
||||
return 0;
|
||||
|
@ -645,9 +668,9 @@ static BOOL CALLBACK DirProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
}
|
||||
#endif
|
||||
SetDlgItemText(hwndDlg,IDC_DIR,state_install_directory);
|
||||
SetDlgItemText(hwndDlg,IDC_INTROTEXT,LANG_DIR_TEXT);
|
||||
SetDlgItemText(hwndDlg,IDC_BROWSE,LANG_BTN_BROWSE);
|
||||
SetDlgItemText(hwndDlg,IDC_SELDIRTEXT,LANG_DIR_SUBTEXT);
|
||||
SetUIText(hwndDlg,IDC_INTROTEXT,g_inst_header->common.intro_text_id,LANG_DIR_TEXT);
|
||||
my_SetDlgItemText(hwndDlg,IDC_BROWSE,LANG_BTN_BROWSE);
|
||||
SetUIText(hwndDlg,IDC_SELDIRTEXT,g_inst_header->dir_subtext_id,LANG_DIR_SUBTEXT);
|
||||
SendMessage(hwndDlg,WM_IN_UPDATEMSG,0,0);
|
||||
}
|
||||
if (uMsg == WM_COMMAND)
|
||||
|
@ -664,7 +687,7 @@ static BOOL CALLBACK DirProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
BROWSEINFO bi={0,};
|
||||
ITEMIDLIST *idlist;
|
||||
GetDlgItemText(hwndDlg,IDC_DIR,name,256);
|
||||
GetDlgItemText(hwndDlg,IDC_SELDIRTEXT,str,256);
|
||||
GetUIText(IDC_SELDIRTEXT,g_inst_header->dir_subtext_id,str,256);
|
||||
bi.hwndOwner = hwndDlg;
|
||||
bi.pszDisplayName = name;
|
||||
bi.lpfn=BrowseCallbackProc;
|
||||
|
@ -744,17 +767,17 @@ static BOOL CALLBACK DirProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
// Added by Amir Szekely 24th July 2002
|
||||
// Allows 'SpaceTexts none'
|
||||
if (INSTALL_STR(spacerequired) >= 0) {
|
||||
lstrcpy(s,LANG_SPACE_REQ);
|
||||
lstrcpy(s,STR(LANG_SPACE_REQ));
|
||||
inttosizestr(total,s);
|
||||
SetDlgItemText(hwndDlg,IDC_SPACEREQUIRED,s);
|
||||
SetUITextNT(hwndDlg,IDC_SPACEREQUIRED,g_inst_header->space_req_id,s);
|
||||
if (available != -1)
|
||||
{
|
||||
lstrcpy(s,LANG_SPACE_AVAIL);
|
||||
lstrcpy(s,STR(LANG_SPACE_AVAIL));
|
||||
inttosizestr(available,s);
|
||||
SetDlgItemText(hwndDlg,IDC_SPACEAVAILABLE,s);
|
||||
SetUITextNT(hwndDlg,IDC_SPACEAVAILABLE,g_inst_header->space_avail_id,s);
|
||||
}
|
||||
else
|
||||
SetDlgItemText(hwndDlg,IDC_SPACEAVAILABLE,"");
|
||||
SetUITextNT(hwndDlg,IDC_SPACEAVAILABLE,g_inst_header->space_avail_id,"");
|
||||
}
|
||||
|
||||
EnableWindow(GetDlgItem(GetParent(hwndDlg),IDOK),
|
||||
|
@ -798,9 +821,9 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
hTreeItems=(HTREEITEM*)GlobalAlloc(GPTR,sizeof(HTREEITEM)*g_inst_header->num_sections);
|
||||
|
||||
hBMcheck1=LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
|
||||
SetDlgItemText(hwndDlg,IDC_INTROTEXT,LANG_COMP_TEXT);
|
||||
SetDlgItemText(hwndDlg,IDC_TEXT1,LANG_COMP_SUBTEXT(0));
|
||||
SetDlgItemText(hwndDlg,IDC_TEXT2,LANG_COMP_SUBTEXT(1));
|
||||
SetUIText(hwndDlg,IDC_INTROTEXT,g_inst_header->common.intro_text_id,LANG_COMP_TEXT);
|
||||
SetUIText(hwndDlg,IDC_TEXT1,g_inst_header->com_subtext1_id,LANG_COMP_SUBTEXT(0));
|
||||
SetUIText(hwndDlg,IDC_TEXT2,g_inst_header->com_subtext2_id,LANG_COMP_SUBTEXT(1));
|
||||
|
||||
oldTreeWndProc=GetWindowLong(hwndTree1,GWL_WNDPROC);
|
||||
SetWindowLong(hwndTree1,GWL_WNDPROC,(DWORD)newTreeWndProc);
|
||||
|
@ -826,7 +849,7 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
{
|
||||
SendMessage(hwndCombo1,CB_ADDSTRING,0,(LPARAM)GetStringFromStringTab(g_inst_header->install_types_ptr[m_num_insttypes]));
|
||||
}
|
||||
if (g_inst_header->no_custom_instmode_flag!=1) SendMessage(hwndCombo1,CB_ADDSTRING,0,(LPARAM)LANG_COMP_CUSTOM);
|
||||
if (g_inst_header->no_custom_instmode_flag!=1) SendMessage(hwndCombo1,CB_ADDSTRING,0,(LPARAM)STR(LANG_COMP_CUSTOM));
|
||||
SendMessage(hwndCombo1,CB_SETCURSEL,m_whichcfg,0);
|
||||
}
|
||||
|
||||
|
@ -1084,7 +1107,7 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
{
|
||||
int c=(m_whichcfg == m_num_insttypes && m_num_insttypes)<<3;// SW_SHOWNA=8, SW_HIDE=0
|
||||
ShowWindow(hwndTree1,c);
|
||||
ShowWindow(GetDlgItem(hwndDlg,IDC_TEXT2),c);
|
||||
ShowWindow(GetUIItem(hwndDlg,IDC_TEXT2,g_inst_header->com_subtext2_id),c);
|
||||
}
|
||||
|
||||
if (INSTALL_STR(spacerequired) >= 0) {
|
||||
|
@ -1095,9 +1118,9 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
if (g_inst_section[x].default_state&DFS_SET)
|
||||
total+=g_inst_section[x].size_kb;
|
||||
}
|
||||
lstrcpy(s,LANG_SPACE_REQ);
|
||||
lstrcpy(s,STR(LANG_SPACE_REQ));
|
||||
inttosizestr(total,s);
|
||||
SetDlgItemText(hwndDlg,IDC_SPACEREQUIRED,s);
|
||||
SetUITextNT(hwndDlg,IDC_SPACEREQUIRED,g_inst_header->space_req_id,s);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -1188,7 +1211,7 @@ static BOOL CALLBACK InstProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
LVCOLUMN lvc = {0, 0, -1, 0, 0, -1};
|
||||
|
||||
insthwndbutton=GetDlgItem(hwndDlg,IDC_SHOWDETAILS);
|
||||
insthwnd2=GetDlgItem(hwndDlg,IDC_INTROTEXT);
|
||||
insthwnd2=GetUIItem(hwndDlg,IDC_INTROTEXT,g_inst_header->common.intro_text_id);
|
||||
insthwnd=GetDlgItem(hwndDlg,IDC_LIST1);
|
||||
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT
|
||||
if (g_is_uninstaller)
|
||||
|
@ -1198,7 +1221,7 @@ static BOOL CALLBACK InstProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
else
|
||||
#endif
|
||||
{
|
||||
log_printf3("New install of \"%s\" to \"%s\"",LANG_NAME,state_install_directory);
|
||||
log_printf3("New install of \"%s\" to \"%s\"",STR(LANG_NAME),state_install_directory);
|
||||
for (; x < g_inst_header->num_sections; x ++)
|
||||
{
|
||||
#ifdef NSIS_CONFIG_COMPONENTPAGE
|
||||
|
@ -1214,7 +1237,7 @@ static BOOL CALLBACK InstProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
ListView_SetBkColor(insthwnd, g_inst_cmnheader->lb_bg);
|
||||
ListView_SetTextBkColor(insthwnd, g_inst_cmnheader->lb_bg);
|
||||
ListView_SetTextColor(insthwnd, g_inst_cmnheader->lb_fg);
|
||||
SetWindowText(insthwndbutton,LANG_BTN_DETAILS);
|
||||
SetWindowText(insthwndbutton,STR(LANG_BTN_DETAILS));
|
||||
if (g_inst_cmnheader->show_details)
|
||||
{
|
||||
ShowWindow(insthwndbutton,SW_HIDE);
|
||||
|
@ -1258,7 +1281,7 @@ static BOOL CALLBACK InstProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
ShowWindow(g_hwnd,SW_SHOWNA);
|
||||
lstrcpy(g_tmp,g_caption);
|
||||
process_string_fromtab(g_tmp+lstrlen(g_caption),COMMON_STR(subcaptions[g_max_page+1]));
|
||||
update_status_text(LANG_COMPLETED,"");
|
||||
update_status_text(STR(LANG_COMPLETED),"");
|
||||
SetWindowText(h2,g_tmp);
|
||||
SetFocus(h);
|
||||
}
|
||||
|
|
|
@ -200,7 +200,7 @@
|
|||
// "CallInstDLL dll command" had been invoked.
|
||||
// - When the installer exits any extracted temporary dlls will
|
||||
// be deleted.
|
||||
#define NSIS_CONFIG_PLUGIN_SUPPORT
|
||||
//#define NSIS_CONFIG_PLUGIN_SUPPORT
|
||||
|
||||
|
||||
// fixes
|
||||
|
|
|
@ -37,6 +37,8 @@ static int exec_rebootflag;
|
|||
HBITMAP g_hBrandingBitmap = 0;
|
||||
#endif
|
||||
|
||||
extern HWND m_curwnd;
|
||||
|
||||
static WIN32_FIND_DATA *file_exists(char *buf)
|
||||
{
|
||||
HANDLE h;
|
||||
|
@ -698,8 +700,8 @@ static int ExecuteEntry(entry *entries, int pos)
|
|||
if (IsWindow((HWND)process_string_fromtab_toint(parms[0]))) return parms[1];
|
||||
return parms[2];
|
||||
case EW_SETDLGITEMTEXT:
|
||||
process_string_fromtab(buf,parms[1]);
|
||||
SetDlgItemText(g_hwnd,parms[0],buf);
|
||||
process_string_fromtab(buf,parms[2]);
|
||||
SetDlgItemText(parms[0]?g_hwnd:m_curwnd,parms[1],buf);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef NSIS_SUPPORT_SHELLEXECUTE
|
||||
|
|
|
@ -68,7 +68,7 @@ enum
|
|||
EW_FINDWINDOW, // FindWindow: 5, [outputvar,window class,window name, window_parent, window_after]
|
||||
EW_SENDMESSAGE, // SendMessage: 5 [output, hwnd, msg, lparam, wparam]
|
||||
EW_ISWINDOW, // IsWindow: 3 [hwnd, jump_if_window, jump_if_notwindow]
|
||||
EW_SETDLGITEMTEXT, // SetDlgItemText: 2 [item_id, text]
|
||||
EW_SETDLGITEMTEXT, // SetDlgItemText: 3 [outer? item_id, text]
|
||||
|
||||
EW_SHELLEXEC, // ShellExecute program: 4, [shell action, complete commandline, parameters, showwindow]
|
||||
|
||||
|
@ -252,6 +252,10 @@ typedef struct
|
|||
// additional flags
|
||||
char misc_flags; // auto_close=&1, no_show_dirpage=&2, no_show_icon&4, no_rootdir&8;
|
||||
|
||||
// Added by Amir Szekely 6th August 2002
|
||||
// Adds the ability to make the inner text show up in a dialog item in the outer dialog.
|
||||
WORD intro_text_id;
|
||||
|
||||
} common_header;
|
||||
|
||||
// Strings specific to installers
|
||||
|
@ -322,6 +326,14 @@ typedef struct
|
|||
#endif//NSIS_CONFIG_COMPONENTPAGE
|
||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||
|
||||
// Added by Amir Szekely 6th August 2002
|
||||
// Adds the ability to make the inner text show up in a dialog item in the outer dialog.
|
||||
WORD space_avail_id;
|
||||
WORD space_req_id;
|
||||
WORD dir_subtext_id;
|
||||
WORD com_subtext1_id;
|
||||
WORD com_subtext2_id;
|
||||
|
||||
} header;
|
||||
|
||||
// Strings specific to uninstallers
|
||||
|
@ -347,6 +359,10 @@ typedef struct
|
|||
int code;
|
||||
int code_size;
|
||||
|
||||
// Added by Amir Szekely 6th August 2002
|
||||
// Adds the ability to make the inner text show up in a dialog item in the outer dialog.
|
||||
WORD uninst_subtext_id;
|
||||
|
||||
} uninstall_header;
|
||||
|
||||
typedef struct
|
||||
|
|
|
@ -25,71 +25,73 @@
|
|||
// Now supports more than one language in each installer
|
||||
|
||||
// Please note that all of these define the offset not the string itself.
|
||||
// To get the string it self use process_string_fromtab or GetStringFromStringTab.
|
||||
// To get the string it self use process_string_fromtab, GetStringFromStringTab or STR().
|
||||
|
||||
#define STR(x) GetStringFromStringTab(x)
|
||||
|
||||
#define INSTALL_STR(x) (cur_install_strings_table->x)
|
||||
|
||||
// Installer specific strings
|
||||
#define LANG_BTN_BACK GetStringFromStringTab(INSTALL_STR(backbutton))
|
||||
#define LANG_BTN_NEXT GetStringFromStringTab(INSTALL_STR(nextbutton))
|
||||
#define LANG_BTN_BROWSE GetStringFromStringTab(INSTALL_STR(browse))
|
||||
#define LANG_BTN_INSTALL GetStringFromStringTab(INSTALL_STR(installbutton))
|
||||
#define LANG_SPACE_REQ GetStringFromStringTab(INSTALL_STR(spacerequired))
|
||||
#define LANG_SPACE_AVAIL GetStringFromStringTab(INSTALL_STR(spaceavailable))
|
||||
#define LANG_COMP_CUSTOM GetStringFromStringTab(INSTALL_STR(custom))
|
||||
#define LANG_DIR_TEXT GetStringFromStringTab(INSTALL_STR(text))
|
||||
#define LANG_DIR_SUBTEXT GetStringFromStringTab(INSTALL_STR(dirsubtext))
|
||||
#define LANG_COMP_TEXT GetStringFromStringTab(INSTALL_STR(componenttext))
|
||||
#define LANG_COMP_SUBTEXT(x) GetStringFromStringTab(INSTALL_STR(componentsubtext[x]))
|
||||
#define LANG_LICENSE_TEXT GetStringFromStringTab(INSTALL_STR(licensetext))
|
||||
#define LANG_LICENSE_DATA GetStringFromStringTab(INSTALL_STR(licensedata))
|
||||
#define LANG_BTN_LICENSE GetStringFromStringTab(INSTALL_STR(licensebutton))
|
||||
#define LANG_BTN_BACK (INSTALL_STR(backbutton))
|
||||
#define LANG_BTN_NEXT (INSTALL_STR(nextbutton))
|
||||
#define LANG_BTN_BROWSE (INSTALL_STR(browse))
|
||||
#define LANG_BTN_INSTALL (INSTALL_STR(installbutton))
|
||||
#define LANG_SPACE_REQ (INSTALL_STR(spacerequired))
|
||||
#define LANG_SPACE_AVAIL (INSTALL_STR(spaceavailable))
|
||||
#define LANG_COMP_CUSTOM (INSTALL_STR(custom))
|
||||
#define LANG_DIR_TEXT (INSTALL_STR(text))
|
||||
#define LANG_DIR_SUBTEXT (INSTALL_STR(dirsubtext))
|
||||
#define LANG_COMP_TEXT (INSTALL_STR(componenttext))
|
||||
#define LANG_COMP_SUBTEXT(x) (INSTALL_STR(componentsubtext[x]))
|
||||
#define LANG_LICENSE_TEXT (INSTALL_STR(licensetext))
|
||||
#define LANG_LICENSE_DATA (INSTALL_STR(licensedata))
|
||||
#define LANG_BTN_LICENSE (INSTALL_STR(licensebutton))
|
||||
|
||||
#define UNINSTALL_STR(x) (cur_uninstall_strings_table->x)
|
||||
|
||||
// Uninstall specific strings
|
||||
#define LANG_BTN_UNINST GetStringFromStringTab(UNINSTALL_STR(uninstbutton))
|
||||
#define LANG_UNINST_TEXT GetStringFromStringTab(UNINSTALL_STR(uninstalltext))
|
||||
#define LANG_UNINST_SUBTEXT GetStringFromStringTab(UNINSTALL_STR(uninstalltext2))
|
||||
#define LANG_BTN_UNINST (UNINSTALL_STR(uninstbutton))
|
||||
#define LANG_UNINST_TEXT (UNINSTALL_STR(uninstalltext))
|
||||
#define LANG_UNINST_SUBTEXT (UNINSTALL_STR(uninstalltext2))
|
||||
|
||||
#define COMMON_STR(x) (cur_common_strings_table->x)
|
||||
|
||||
// Common strings
|
||||
#define LANG_BRANDING GetStringFromStringTab(COMMON_STR(branding))
|
||||
#define LANG_BTN_CANCEL GetStringFromStringTab(COMMON_STR(cancelbutton))
|
||||
#define LANG_BTN_DETAILS GetStringFromStringTab(COMMON_STR(showdetailsbutton))
|
||||
#define LANG_COMPLETED GetStringFromStringTab(COMMON_STR(completed))
|
||||
#define LANG_BTN_CLOSE GetStringFromStringTab(COMMON_STR(closebutton))
|
||||
#define LANG_NAME GetStringFromStringTab(COMMON_STR(name))
|
||||
#define LANG_CAPTION GetStringFromStringTab(COMMON_STR(caption))
|
||||
#define LANG_SUBCAPTION(x) GetStringFromStringTab(COMMON_STR(subcaptions[x]))
|
||||
#define LANG_BRANDING (COMMON_STR(branding))
|
||||
#define LANG_BTN_CANCEL (COMMON_STR(cancelbutton))
|
||||
#define LANG_BTN_DETAILS (COMMON_STR(showdetailsbutton))
|
||||
#define LANG_COMPLETED (COMMON_STR(completed))
|
||||
#define LANG_BTN_CLOSE (COMMON_STR(closebutton))
|
||||
#define LANG_NAME (COMMON_STR(name))
|
||||
#define LANG_CAPTION (COMMON_STR(caption))
|
||||
#define LANG_SUBCAPTION(x) (COMMON_STR(subcaptions[x]))
|
||||
|
||||
// instruction strings
|
||||
#define LANG_FILEERR GetStringFromStringTab(COMMON_STR(fileerrtext))
|
||||
#define LANG_DELETEFILE GetStringFromStringTab(COMMON_STR(del_file))
|
||||
#define LANG_DLLREGERROR GetStringFromStringTab(COMMON_STR(err_reg_dll))
|
||||
#define LANG_REMOVEDIR GetStringFromStringTab(COMMON_STR(remove_dir))
|
||||
#define LANG_OUTPUTDIR GetStringFromStringTab(COMMON_STR(output_dir))
|
||||
#define LANG_CREATEDIR GetStringFromStringTab(COMMON_STR(create_dir))
|
||||
#define LANG_RENAME GetStringFromStringTab(COMMON_STR(rename))
|
||||
#define LANG_RENAMEONREBOOT GetStringFromStringTab(COMMON_STR(rename_on_reboot))
|
||||
#define LANG_SKIPPED GetStringFromStringTab(COMMON_STR(skipped))
|
||||
#define LANG_CANTWRITE GetStringFromStringTab(COMMON_STR(cant_write))
|
||||
#define LANG_EXTRACT GetStringFromStringTab(COMMON_STR(extract))
|
||||
#define LANG_ERRORWRITING GetStringFromStringTab(COMMON_STR(err_writing))
|
||||
#define LANG_ERRORDECOMPRESSING GetStringFromStringTab(COMMON_STR(err_decompressing))
|
||||
#define LANG_DELETEONREBOOT GetStringFromStringTab(COMMON_STR(del_on_reboot))
|
||||
#define LANG_EXECSHELL GetStringFromStringTab(COMMON_STR(exec_shell))
|
||||
#define LANG_EXECUTE GetStringFromStringTab(COMMON_STR(exec))
|
||||
#define LANG_CANNOTFINDSYMBOL GetStringFromStringTab(COMMON_STR(symbol_not_found))
|
||||
#define LANG_COULDNOTLOAD GetStringFromStringTab(COMMON_STR(could_not_load))
|
||||
#define LANG_NOOLE GetStringFromStringTab(COMMON_STR(no_ole))
|
||||
#define LANG_ERRORCREATINGSHORTCUT GetStringFromStringTab(COMMON_STR(err_creating_shortcut))
|
||||
#define LANG_CREATESHORTCUT GetStringFromStringTab(COMMON_STR(create_shortcut))
|
||||
#define LANG_COPYTO GetStringFromStringTab(COMMON_STR(copy_to))
|
||||
#define LANG_COPYFAILED GetStringFromStringTab(COMMON_STR(copy_failed))
|
||||
#define LANG_ERRORCREATING GetStringFromStringTab(COMMON_STR(err_creating))
|
||||
#define LANG_CREATEDUNINST GetStringFromStringTab(COMMON_STR(created_uninst))
|
||||
#define LANG_INSTCORRUPTED GetStringFromStringTab(COMMON_STR(inst_corrupted))
|
||||
#define LANG_FILEERR (COMMON_STR(fileerrtext))
|
||||
#define LANG_DELETEFILE (COMMON_STR(del_file))
|
||||
#define LANG_DLLREGERROR (COMMON_STR(err_reg_dll))
|
||||
#define LANG_REMOVEDIR (COMMON_STR(remove_dir))
|
||||
#define LANG_OUTPUTDIR (COMMON_STR(output_dir))
|
||||
#define LANG_CREATEDIR (COMMON_STR(create_dir))
|
||||
#define LANG_RENAME (COMMON_STR(rename))
|
||||
#define LANG_RENAMEONREBOOT (COMMON_STR(rename_on_reboot))
|
||||
#define LANG_SKIPPED (COMMON_STR(skipped))
|
||||
#define LANG_CANTWRITE (COMMON_STR(cant_write))
|
||||
#define LANG_EXTRACT (COMMON_STR(extract))
|
||||
#define LANG_ERRORWRITING (COMMON_STR(err_writing))
|
||||
#define LANG_ERRORDECOMPRESSING (COMMON_STR(err_decompressing))
|
||||
#define LANG_DELETEONREBOOT (COMMON_STR(del_on_reboot))
|
||||
#define LANG_EXECSHELL (COMMON_STR(exec_shell))
|
||||
#define LANG_EXECUTE (COMMON_STR(exec))
|
||||
#define LANG_CANNOTFINDSYMBOL (COMMON_STR(symbol_not_found))
|
||||
#define LANG_COULDNOTLOAD (COMMON_STR(could_not_load))
|
||||
#define LANG_NOOLE (COMMON_STR(no_ole))
|
||||
#define LANG_ERRORCREATINGSHORTCUT (COMMON_STR(err_creating_shortcut))
|
||||
#define LANG_CREATESHORTCUT (COMMON_STR(create_shortcut))
|
||||
#define LANG_COPYTO (COMMON_STR(copy_to))
|
||||
#define LANG_COPYFAILED (COMMON_STR(copy_failed))
|
||||
#define LANG_ERRORCREATING (COMMON_STR(err_creating))
|
||||
#define LANG_CREATEDUNINST (COMMON_STR(created_uninst))
|
||||
#define LANG_INSTCORRUPTED (COMMON_STR(inst_corrupted))
|
||||
|
||||
#endif//_NSIS_LANG_H_
|
|
@ -38,7 +38,7 @@ BEGIN
|
|||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,23
|
||||
CONTROL "",IDC_EDIT1,"RICHEDIT",ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL | WS_BORDER,0,24,266,105
|
||||
WS_BORDER | WS_VSCROLL,0,24,266,105
|
||||
END
|
||||
#endif
|
||||
|
||||
|
@ -77,7 +77,7 @@ FONT 8, "MS Sans Serif"
|
|||
BEGIN
|
||||
COMBOBOX IDC_COMBO1,114,25,152,102,CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,21,20
|
||||
LTEXT "",IDC_TEXT2,0,40,108,21
|
||||
CONTROL "",IDC_TEXT1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,0,27,
|
||||
108,8
|
||||
|
@ -125,8 +125,8 @@ BEGIN
|
|||
CONTROL "",IDC_INTROTEXT,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,
|
||||
24,0,241,8
|
||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL |
|
||||
LVS_NOCOLUMNHEADER | NOT WS_VISIBLE | WS_BORDER |
|
||||
WS_TABSTOP, 0,25,265,104
|
||||
LVS_NOCOLUMNHEADER | NOT WS_VISIBLE | WS_BORDER |
|
||||
WS_TABSTOP,0,25,265,104
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
PUSHBUTTON "",IDC_SHOWDETAILS,0,28,50,14,NOT WS_TABSTOP
|
||||
END
|
||||
|
|
|
@ -1058,7 +1058,6 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
if (!dlg) return PS_ERROR;
|
||||
CDialogTemplate UIDlg(dlg);
|
||||
SEARCH(IDC_EDIT1);
|
||||
SEARCH(IDC_INTROTEXT);
|
||||
re.UpdateResource(RT_DIALOG, IDD_LICENSE, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), dlg, UIDlg.GetSize());
|
||||
}
|
||||
|
||||
|
@ -1066,13 +1065,9 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
dlg = get_dlg(hUIFile, IDD_DIR, line.gettoken_str(2));
|
||||
if (!dlg) return PS_ERROR;
|
||||
CDialogTemplate UIDlg(dlg);
|
||||
SEARCH(IDC_SELDIRTEXT);
|
||||
SEARCH(IDC_INTROTEXT);
|
||||
SEARCH(IDC_DIR);
|
||||
SEARCH(IDC_BROWSE);
|
||||
SEARCH(IDC_CHECK1);
|
||||
SEARCH(IDC_SPACEREQUIRED);
|
||||
SEARCH(IDC_SPACEAVAILABLE);
|
||||
re.UpdateResource(RT_DIALOG, IDD_DIR, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), dlg, UIDlg.GetSize());
|
||||
}
|
||||
|
||||
|
@ -1080,10 +1075,6 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
dlg = get_dlg(hUIFile, IDD_SELCOM, line.gettoken_str(2));
|
||||
if (!dlg) return PS_ERROR;
|
||||
CDialogTemplate UIDlg(dlg);
|
||||
SEARCH(IDC_SPACEREQUIRED);
|
||||
SEARCH(IDC_INTROTEXT);
|
||||
SEARCH(IDC_TEXT1);
|
||||
SEARCH(IDC_TEXT2);
|
||||
SEARCH(IDC_TREE1);
|
||||
SEARCH(IDC_COMBO1);
|
||||
re.UpdateResource(RT_DIALOG, IDD_SELCOM, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), dlg, UIDlg.GetSize());
|
||||
|
@ -1123,7 +1114,6 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
if (!dlg) return PS_ERROR;
|
||||
CDialogTemplate UIDlg(dlg);
|
||||
SEARCH(IDC_LIST1);
|
||||
SEARCH(IDC_INTROTEXT);
|
||||
SEARCH(IDC_PROGRESS1);
|
||||
SEARCH(IDC_PROGRESS2);
|
||||
SEARCH(IDC_SHOWDETAILS);
|
||||
|
@ -1135,8 +1125,6 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
if (!dlg) return PS_ERROR;
|
||||
CDialogTemplate UIDlg(dlg);
|
||||
SEARCH(IDC_EDIT1);
|
||||
SEARCH(IDC_INTROTEXT);
|
||||
SEARCH(IDC_UNINSTFROM);
|
||||
re.UpdateResource(RT_DIALOG, IDD_UNINST, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), dlg, UIDlg.GetSize());
|
||||
}
|
||||
|
||||
|
@ -1147,14 +1135,51 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
ERROR_MSG("can't free library!\n");
|
||||
}
|
||||
|
||||
SCRIPT_MSG("ChangeUI: %s%s\n", line.gettoken_str(1), branding_image_found?" (branding image holder found)":"");
|
||||
SCRIPT_MSG("ChangeUI: %s %s%s\n", line.gettoken_str(1), line.gettoken_str(2), branding_image_found?" (branding image holder found)":"");
|
||||
}
|
||||
catch (exception& err) {
|
||||
ERROR_MSG("Error while changing UI: %s\n", err.what());
|
||||
return PS_ERROR;
|
||||
}
|
||||
return make_sure_not_in_secorfunc(line.gettoken_str(0));
|
||||
case TOK_USEOUTERUIITEM:
|
||||
{
|
||||
int k = line.gettoken_enum(1,"introtext\0spaceavail\0spacereq\0dirsubtext\0comsubtext1\0comsubtext2\0uninstsubtext\0");
|
||||
if (k < 0) PRINTHELP();
|
||||
int id = line.gettoken_int(2);
|
||||
if (!id) {
|
||||
ERROR_MSG("Error: Item id can't be zero!\n");
|
||||
return PS_ERROR;
|
||||
}
|
||||
switch (k) {
|
||||
case 0:
|
||||
build_header.common.intro_text_id=build_uninst.common.intro_text_id=id;
|
||||
break;
|
||||
case 1:
|
||||
build_header.space_avail_id=id;
|
||||
break;
|
||||
case 2:
|
||||
build_header.space_req_id=id;
|
||||
break;
|
||||
case 3:
|
||||
build_header.dir_subtext_id=id;
|
||||
break;
|
||||
case 4:
|
||||
build_header.com_subtext1_id=id;
|
||||
break;
|
||||
case 5:
|
||||
build_header.com_subtext2_id=id;
|
||||
break;
|
||||
case 6:
|
||||
build_uninst.uninst_subtext_id=id;
|
||||
break;
|
||||
}
|
||||
SCRIPT_MSG("%s: %s now uses outer ui item %d\n",line.gettoken_str(0),line.gettoken_str(1),id);
|
||||
}
|
||||
return make_sure_not_in_secorfunc(line.gettoken_str(0));
|
||||
#else
|
||||
case TOK_CHANGEUI:
|
||||
case TOK_USEOUTERUIITEM:
|
||||
ERROR_MSG("Error: %s specified, NSIS_CONFIG_VISIBLE_SUPPORT not defined.\n",line.gettoken_str(0));
|
||||
return PS_ERROR;
|
||||
#endif// NSIS_CONFIG_VISIBLE_SUPPORT
|
||||
|
@ -2168,9 +2193,11 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
|||
return add_entry(&ent);
|
||||
case TOK_SETDLGITEMTEXT:
|
||||
ent.which=EW_SETDLGITEMTEXT;
|
||||
ent.offsets[0]=line.gettoken_int(1);
|
||||
ent.offsets[1]=add_string(line.gettoken_str(2));
|
||||
SCRIPT_MSG("SetDlgItemText: item=%s text=%s\n",line.gettoken_str(1),line.gettoken_str(2));
|
||||
ent.offsets[0]=line.gettoken_enum(1,"inner\0outer\0");
|
||||
if (ent.offsets[0]<0) PRINTHELP();
|
||||
ent.offsets[1]=line.gettoken_int(2);
|
||||
ent.offsets[2]=add_string(line.gettoken_str(3));
|
||||
SCRIPT_MSG("SetDlgItemText: %s dialog item=%s text=%s\n",ent.offsets[0]?"outer":"inner",line.gettoken_str(1),line.gettoken_str(2));
|
||||
return add_entry(&ent);
|
||||
#else//!NSIS_SUPPORT_HWNDS
|
||||
case TOK_ISWINDOW:
|
||||
|
|
|
@ -133,7 +133,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_SETFILEATTRIBUTES,"SetFileAttributes",2,0,"file attribute[|attribute[...]]\n attribute=(NORMAL|ARCHIVE|HIDDEN|OFFLINE|READONLY|SYSTEM|TEMPORARY|0)"},
|
||||
{TOK_SETFONT,"SetFont",2,0,"font_face_name font_size"},
|
||||
{TOK_SETERRORS,"SetErrors",0,0,""},
|
||||
{TOK_SETDLGITEMTEXT,"SetDlgItemText",2,0,"item text"},
|
||||
{TOK_SETDLGITEMTEXT,"SetDlgItemText",3,0,"(outer|inner) item text"},
|
||||
{TOK_SETOUTPATH,"SetOutPath",1,0,"output_path"},
|
||||
{TOK_SETOVERWRITE,"SetOverwrite",1,0,"(on|off|try|ifnewer)"},
|
||||
{TOK_SETREBOOTFLAG,"SetRebootFlag",1,0,"true|false"},
|
||||
|
@ -153,6 +153,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_UNINSTCAPTION,"UninstallCaption",1,1,"[/LANG=lang_id] uninstaller_caption"},
|
||||
{TOK_UNINSTSUBCAPTION,"UninstallSubCaption",2,1,"[/LANG=lang_id] page_number(0-2) new_subcaption"},
|
||||
{TOK_UNREGDLL,"UnRegDLL",1,0,"dll_path_on_target.dll"},
|
||||
{TOK_USEOUTERUIITEM,"UseOuterUIItem",2,0,"item id"},
|
||||
{TOK_WINDOWICON,"WindowIcon",1,0,"on|off"},
|
||||
{TOK_WRITEINISTR,"WriteINIStr",4,0,"ini_file section_name entry_name new_value"},
|
||||
{TOK_WRITEREGBIN,"WriteRegBin",4,0,"rootkey subkey entry_name hex_string_like_12848412AB\n root_key=(HKCR|HKLM|HKCU|HKU|HKCC|HKDD|HKPD)"},
|
||||
|
|
|
@ -40,6 +40,7 @@ enum
|
|||
TOK_INSTPROGRESSFLAGS,
|
||||
TOK_XPSTYLE,
|
||||
TOK_CHANGEUI,
|
||||
TOK_USEOUTERUIITEM,
|
||||
TOK_ADDBRANDINGIMAGE,
|
||||
TOK_SETFONT,
|
||||
TOK_SETCOMPRESSOR,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue