Bug 241424 proxy panel not shown second time if it's not needed first time

patch by ajschult@mindspring.com r=dveditz sr=bryner
This commit is contained in:
timeless%mozdev.org 2004-04-30 04:19:57 +00:00
Родитель 40d304abdb
Коммит bf6068e940
1 изменённых файлов: 39 добавлений и 33 удалений

Просмотреть файл

@ -112,6 +112,9 @@ nsInstallDlg::Back(GtkWidget *aWidget, gpointer aData)
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID); gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID); gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
if (bDownload && sDLTable)
gtk_widget_hide(sDLTable);
// show the last dlg // show the last dlg
if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1)) if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1))
gCtx->cdlg->Show(nsXInstallerDlg::BACKWARD_MOVE); gCtx->cdlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
@ -393,11 +396,6 @@ nsInstallDlg::Show(int aDirection)
if (mWidgetsInit == FALSE) if (mWidgetsInit == FALSE)
{ {
int bCus =
(gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1));
nsComponentList *comps =
gCtx->sdlg->GetSelectedSetupType()->GetComponents();
// create a new table and add it as a page of the notebook // create a new table and add it as a page of the notebook
mTable = gtk_table_new(4, 1, FALSE); mTable = gtk_table_new(4, 1, FALSE);
gtk_notebook_append_page(GTK_NOTEBOOK(gCtx->notebook), mTable, NULL); gtk_notebook_append_page(GTK_NOTEBOOK(gCtx->notebook), mTable, NULL);
@ -414,38 +412,35 @@ nsInstallDlg::Show(int aDirection)
GTK_FILL, 20, 20); GTK_FILL, 20, 20);
gtk_widget_show(sMsg0Label); gtk_widget_show(sMsg0Label);
if (!nsXIEngine::ExistAllXPIs(bCus, comps, &totalComps)) // Proxy Settings
{ // insert a [ x ] heterogenous table
// insert a [ x ] heterogenous table sDLTable = gtk_table_new(2, 2, FALSE);
sDLTable = gtk_table_new(2, 2, FALSE);
gtk_widget_show(sDLTable);
gtk_table_attach(GTK_TABLE(mTable), sDLTable, 0, 1, 1, 4, gtk_table_attach(GTK_TABLE(mTable), sDLTable, 0, 1, 1, 4,
static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND),
GTK_FILL, 20, 20); GTK_FILL, 20, 20);
// download settings groupbox // download settings groupbox
dlFrame = gtk_frame_new(gCtx->Res("DL_SETTINGS")); dlFrame = gtk_frame_new(gCtx->Res("DL_SETTINGS"));
gtk_table_attach_defaults(GTK_TABLE(sDLTable), dlFrame, 0, 2, 0, 2); gtk_table_attach_defaults(GTK_TABLE(sDLTable), dlFrame, 0, 2, 0, 2);
gtk_widget_show(dlFrame); gtk_widget_show(dlFrame);
// save installer modules checkbox and label // save installer modules checkbox and label
dlCheckbox = gtk_check_button_new_with_label( dlCheckbox = gtk_check_button_new_with_label(
gCtx->Res("SAVE_MODULES")); gCtx->Res("SAVE_MODULES"));
gtk_widget_show(dlCheckbox); gtk_widget_show(dlCheckbox);
gtk_table_attach(GTK_TABLE(sDLTable), dlCheckbox, 0, 2, 0, 1, gtk_table_attach(GTK_TABLE(sDLTable), dlCheckbox, 0, 2, 0, 1,
GTK_FILL, GTK_FILL, 10, 20); GTK_FILL, GTK_FILL, 10, 20);
gtk_signal_connect(GTK_OBJECT(dlCheckbox), "toggled", gtk_signal_connect(GTK_OBJECT(dlCheckbox), "toggled",
GTK_SIGNAL_FUNC(SaveModulesToggled), NULL); GTK_SIGNAL_FUNC(SaveModulesToggled), NULL);
// proxy settings button // proxy settings button
dlProxyBtn = gtk_button_new_with_label(gCtx->Res("PROXY_SETTINGS")); dlProxyBtn = gtk_button_new_with_label(gCtx->Res("PROXY_SETTINGS"));
gtk_widget_show(dlProxyBtn); gtk_widget_show(dlProxyBtn);
gtk_table_attach(GTK_TABLE(sDLTable), dlProxyBtn, 0, 1, 1, 2, gtk_table_attach(GTK_TABLE(sDLTable), dlProxyBtn, 0, 1, 1, 2,
GTK_FILL, GTK_FILL, 10, 10); GTK_FILL, GTK_FILL, 10, 10);
gtk_signal_connect(GTK_OBJECT(dlProxyBtn), "clicked", gtk_signal_connect(GTK_OBJECT(dlProxyBtn), "clicked",
GTK_SIGNAL_FUNC(ShowProxySettings), NULL); GTK_SIGNAL_FUNC(ShowProxySettings), NULL);
}
// vbox with two widgets packed in: label0 / progmeter0 (major) // vbox with two widgets packed in: label0 / progmeter0 (major)
vbox = gtk_vbox_new(FALSE, 0); vbox = gtk_vbox_new(FALSE, 0);
@ -494,6 +489,17 @@ nsInstallDlg::Show(int aDirection)
gtk_widget_show(mTable); gtk_widget_show(mTable);
} }
int bCus =
(gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1));
nsComponentList *comps =
gCtx->sdlg->GetSelectedSetupType()->GetComponents();
if (!nsXIEngine::ExistAllXPIs(bCus, comps, &totalComps))
{
bDownload = TRUE;
gtk_widget_show(sDLTable);
}
// signal connect the buttons // signal connect the buttons
gCtx->backID = gtk_signal_connect(GTK_OBJECT(gCtx->back), "clicked", gCtx->backID = gtk_signal_connect(GTK_OBJECT(gCtx->back), "clicked",
GTK_SIGNAL_FUNC(nsInstallDlg::Back), gCtx->idlg); GTK_SIGNAL_FUNC(nsInstallDlg::Back), gCtx->idlg);