зеркало из https://github.com/mozilla/pjs.git
checking in changes to enable setting up of homepage thru the all-ns.js file
This commit is contained in:
Родитель
6a0e1d15b3
Коммит
a00a9631e0
|
@ -105,7 +105,7 @@ int ReplaceINIFile()
|
||||||
|
|
||||||
CString Src = nscpxpiPath + "\\" +exeName;
|
CString Src = nscpxpiPath + "\\" +exeName;
|
||||||
CString Dst = cdPath + "\\" + exeName;
|
CString Dst = cdPath + "\\" + exeName;
|
||||||
if (!CopyFile(Src, Dst, TRUE))
|
if (!CopyFile(Src, Dst, FALSE))
|
||||||
DWORD e = GetLastError();
|
DWORD e = GetLastError();
|
||||||
|
|
||||||
command = rootPath + "nszip.exe " + exeName + " config.ini";
|
command = rootPath + "nszip.exe " + exeName + " config.ini";
|
||||||
|
@ -116,6 +116,74 @@ int ReplaceINIFile()
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ModifyPref(char *buffer, CString entity, CString newvalue)
|
||||||
|
{
|
||||||
|
CString buf(buffer);
|
||||||
|
|
||||||
|
int i = buf.Find(entity);
|
||||||
|
if (i == -1) return;
|
||||||
|
|
||||||
|
i = buf.Find('"', i+1);
|
||||||
|
if (i == -1) return;
|
||||||
|
i++;
|
||||||
|
|
||||||
|
i = buf.Find('"', i+1);
|
||||||
|
if (i == -1) return;
|
||||||
|
i++;
|
||||||
|
|
||||||
|
int j = buf.Find('"', i);
|
||||||
|
if (j == -1) return;
|
||||||
|
j--;
|
||||||
|
|
||||||
|
buf.Delete(i, j-i+1);
|
||||||
|
buf.Insert(i, newvalue);
|
||||||
|
|
||||||
|
strcpy(buffer, (char *)(LPCTSTR) buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ModifyJS(CString xpifile, CString entity, CString newvalue)
|
||||||
|
{
|
||||||
|
CString newfile = xpifile + ".new";
|
||||||
|
int rv = TRUE;
|
||||||
|
char *fgetsrv;
|
||||||
|
|
||||||
|
// Read in DTD file and make substitutions
|
||||||
|
FILE *srcf = fopen(xpifile, "r");
|
||||||
|
FILE *dstf = fopen(newfile, "w");
|
||||||
|
CString apost = '"';
|
||||||
|
entity.Insert(0,apost);
|
||||||
|
entity.Insert(1000,apost);
|
||||||
|
|
||||||
|
if (!srcf)
|
||||||
|
rv = FALSE;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int done = FALSE;
|
||||||
|
while (!done)
|
||||||
|
{
|
||||||
|
fgetsrv = fgets(buffer, sizeof(buffer), srcf);
|
||||||
|
done = feof(srcf);
|
||||||
|
if (!done)
|
||||||
|
{
|
||||||
|
if (!fgetsrv || ferror(srcf))
|
||||||
|
{
|
||||||
|
rv = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ModifyPref(buffer, entity, newvalue);
|
||||||
|
fputs(buffer, dstf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(srcf);
|
||||||
|
fclose(dstf);
|
||||||
|
}
|
||||||
|
|
||||||
|
remove(xpifile);
|
||||||
|
rename(newfile, xpifile);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
void ModifyEntity(char *buffer, CString entity, CString newvalue)
|
void ModifyEntity(char *buffer, CString entity, CString newvalue)
|
||||||
{
|
{
|
||||||
CString buf(buffer);
|
CString buf(buffer);
|
||||||
|
@ -234,7 +302,8 @@ int interpret(char *cmd)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strcmp(cmdname, "modifyDTD") == 0)
|
else if ((strcmp(cmdname, "modifyDTD") == 0) ||
|
||||||
|
(strcmp(cmdname, "modifyJS") == 0))
|
||||||
{
|
{
|
||||||
char *xpiname = strtok(NULL, ",)");
|
char *xpiname = strtok(NULL, ",)");
|
||||||
char *xpifile = strtok(NULL, ",)");
|
char *xpifile = strtok(NULL, ",)");
|
||||||
|
@ -253,6 +322,9 @@ int interpret(char *cmd)
|
||||||
if (!xpiname || !xpifile || !entity || !newvalue)
|
if (!xpiname || !xpifile || !entity || !newvalue)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
ExtractXPIFile(xpiname, xpifile);
|
ExtractXPIFile(xpiname, xpifile);
|
||||||
|
if(strcmp(cmdname, "modifyJS") == 0)
|
||||||
|
ModifyJS(xpifile,entity,newvalue);
|
||||||
|
else
|
||||||
ModifyDTD(xpifile, entity, newvalue);
|
ModifyDTD(xpifile, entity, newvalue);
|
||||||
}
|
}
|
||||||
else if (strcmp(cmdname, "wrapXPI") == 0)
|
else if (strcmp(cmdname, "wrapXPI") == 0)
|
||||||
|
|
|
@ -3,9 +3,9 @@ configure(GENERAL,Setup Title1,%InstallerScreenText1%)
|
||||||
configure(GENERAL,Setup Title2,%InstallerScreenText2%)
|
configure(GENERAL,Setup Title2,%InstallerScreenText2%)
|
||||||
configure(GENERAL,Program Folder Name,%ProgramFolderName%)
|
configure(GENERAL,Program Folder Name,%ProgramFolderName%)
|
||||||
configure(Dialog Setup Type,Readme Filename,%ReadMeFile%)
|
configure(Dialog Setup Type,Readme Filename,%ReadMeFile%)
|
||||||
replaceXPI(core.xpi,bin/chrome/global/skin/default/animthrob.gif,%SmallAnimPath%)
|
replaceXPI(browser.xpi,bin/chrome/global/skin/default/animthrob.gif,%SmallAnimPath%)
|
||||||
replaceXPI(core.xpi,bin/chrome/global/skin/default/animthrob_single.gif,%SmallStillPath%)
|
replaceXPI(browser.xpi,bin/chrome/global/skin/default/animthrob_single.gif,%SmallStillPath%)
|
||||||
replaceXPI(core.xpi,bin/defaults/profile/bookmarks.html,%CustomBookmarkFile%)
|
replaceXPI(browser.xpi,bin/defaults/profile/bookmarks.html,%CustomBookmarkFile%)
|
||||||
modifyDTD(core.xpi,bin/chrome/navigator/locale/en-US/navigator.dtd,mainWindow.titlemodifier,%CompanyName%)
|
modifyDTD(browser.xpi,bin/chrome/navigator/locale/en-US/navigator.dtd,mainWindow.titlemodifier,%CompanyName%)
|
||||||
modifyDTD(core.xpi,bin/chrome/navigator/locale/en-US/navigator.dtd,throbber.url,%AnimatedLogoURL%)
|
modifyDTD(browser.xpi,bin/chrome/navigator/locale/en-US/navigator.dtd,throbber.url,%AnimatedLogoURL%)
|
||||||
modifyDTD(core.xpi,bin/chrome/navigator/locale/en-US/navigator.dtd,defaultHomepage.url,%HomePageURL%)
|
modifyJS(browser.xpi,bin/defaults/pref/all-ns.js,browser.startup.homepage,%HomePageURL%)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче