mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-05 16:22:53 +00:00
Bug 238149 clean up button removal between dialogs
patch by ajschult@mindspring.com r=dveditz sr=bryner
This commit is contained in:
parent
500ceaf953
commit
36a4ef9e96
@ -71,14 +71,11 @@ nsComponentsDlg::Back(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->cdlg->Hide(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
gCtx->cdlg->Hide();
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gCtx->sdlg->Show();
|
||||
|
||||
gCtx->sdlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
gCtx->bMoving = TRUE;
|
||||
// don't set bMoving since setuptype has no "back"
|
||||
}
|
||||
|
||||
void
|
||||
@ -96,14 +93,10 @@ nsComponentsDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
return;
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->cdlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gCtx->cdlg->Hide();
|
||||
|
||||
// show the next dlg
|
||||
gCtx->idlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->idlg->Show();
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
|
||||
@ -275,7 +268,7 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsComponentsDlg::Show(int aDirection)
|
||||
nsComponentsDlg::Show()
|
||||
{
|
||||
int err = OK;
|
||||
int customSTIndex = 0, i;
|
||||
@ -421,26 +414,34 @@ nsComponentsDlg::Show(int aDirection)
|
||||
gCtx->nextID = gtk_signal_connect(GTK_OBJECT(gCtx->next), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsComponentsDlg::Next), gCtx->cdlg);
|
||||
|
||||
// show back btn again after setup type dlg where we couldn't go back
|
||||
// show both back and next buttons
|
||||
gCtx->backLabel = gtk_label_new(gCtx->Res("BACK"));
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->back);
|
||||
|
||||
if (aDirection == nsXInstallerDlg::BACKWARD_MOVE) // from install dlg
|
||||
{
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->installLabel);
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
}
|
||||
gtk_widget_show(gCtx->next);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsComponentsDlg::Hide(int aDirection)
|
||||
nsComponentsDlg::Hide()
|
||||
{
|
||||
gtk_widget_hide(mTable);
|
||||
|
||||
// disconnect and remove this dlg's nav btns
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
|
||||
gtk_widget_hide(gCtx->back);
|
||||
gtk_widget_hide(gCtx->next);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -60,8 +60,8 @@ public:
|
||||
|
||||
int Parse(nsINIParser* aParser);
|
||||
|
||||
int Show(int aDirection);
|
||||
int Hide(int aDirection);
|
||||
int Show();
|
||||
int Hide();
|
||||
|
||||
static void RowSelected(GtkWidget *aWidget, gint aRow, gint aColumn,
|
||||
GdkEventButton *aEvent, gpointer aData);
|
||||
|
@ -106,21 +106,19 @@ nsInstallDlg::Back(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->idlg->Hide(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
|
||||
if (bDownload && sDLTable)
|
||||
gtk_widget_hide(sDLTable);
|
||||
gCtx->idlg->Hide();
|
||||
|
||||
// show the last dlg
|
||||
if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1))
|
||||
gCtx->cdlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
{
|
||||
gCtx->cdlg->Show();
|
||||
// only set bMoving for component dlg since setuptype has no "back"
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
else
|
||||
gCtx->sdlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
gCtx->bMoving = TRUE;
|
||||
{
|
||||
gCtx->sdlg->Show();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@ -383,7 +381,7 @@ nsInstallDlg::RunApps(nsRunApp *aRunAppList, int aSequential)
|
||||
}
|
||||
|
||||
int
|
||||
nsInstallDlg::Show(int aDirection)
|
||||
nsInstallDlg::Show()
|
||||
{
|
||||
int err = OK;
|
||||
int totalComps = 0;
|
||||
@ -512,21 +510,37 @@ nsInstallDlg::Show(int aDirection)
|
||||
gtk_widget_show(gCtx->back);
|
||||
}
|
||||
|
||||
// always change title of next button to "Install"
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
// show back and next button, but make title of next button "Install"
|
||||
gCtx->backLabel = gtk_label_new(gCtx->Res("BACK"));
|
||||
gCtx->installLabel = gtk_label_new(gCtx->Res("INSTALL"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->installLabel);
|
||||
gtk_widget_show(gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->installLabel);
|
||||
gtk_widget_show(gCtx->back);
|
||||
gtk_widget_show(gCtx->next);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsInstallDlg::Hide(int aDirection)
|
||||
nsInstallDlg::Hide()
|
||||
{
|
||||
if (bDownload && sDLTable)
|
||||
gtk_widget_hide(sDLTable);
|
||||
|
||||
gtk_widget_hide(mTable);
|
||||
|
||||
// disconnect and remove this dlg's nav btns
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->installLabel);
|
||||
|
||||
gtk_widget_hide(gCtx->back);
|
||||
gtk_widget_hide(gCtx->next);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -60,8 +60,8 @@ public:
|
||||
|
||||
int Parse(nsINIParser* aParser);
|
||||
|
||||
int Show(int aDirection);
|
||||
int Hide(int aDirection);
|
||||
int Show();
|
||||
int Hide();
|
||||
int ShowTable();
|
||||
int HideTable();
|
||||
|
||||
|
@ -62,22 +62,8 @@ nsLicenseDlg::Back(GtkWidget *aWidget, gpointer aData)
|
||||
return;
|
||||
}
|
||||
|
||||
// XXX call gCtx->me->Shutdown() ?
|
||||
gtk_main_quit();
|
||||
return;
|
||||
|
||||
#if 0
|
||||
// hide this notebook page
|
||||
gCtx->ldlg->Hide(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
|
||||
// show the prev dlg
|
||||
gCtx->wdlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
gCtx->bMoving = TRUE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
@ -92,14 +78,10 @@ nsLicenseDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->ldlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gCtx->ldlg->Hide();
|
||||
|
||||
// show the next dlg
|
||||
gCtx->sdlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->sdlg->Show();
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
|
||||
@ -141,7 +123,7 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsLicenseDlg::Show(int aDirection)
|
||||
nsLicenseDlg::Show()
|
||||
{
|
||||
int err = OK;
|
||||
char *licenseContents = NULL;
|
||||
@ -205,14 +187,7 @@ nsLicenseDlg::Show(int aDirection)
|
||||
gCtx->nextID = gtk_signal_connect(GTK_OBJECT(gCtx->next), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsLicenseDlg::Next), gCtx->ldlg);
|
||||
|
||||
// show back button if we came from the welcome dlg
|
||||
if (aDirection == nsXInstallerDlg::FORWARD_MOVE)
|
||||
if (gCtx->back)
|
||||
gtk_widget_show(gCtx->back);
|
||||
|
||||
// always change the button titles to Accept/Decline
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gCtx->acceptLabel = gtk_label_new(gCtx->Res("ACCEPT"));
|
||||
gCtx->declineLabel = gtk_label_new(gCtx->Res("DECLINE"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->acceptLabel);
|
||||
@ -228,11 +203,21 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsLicenseDlg::Hide(int aDirection)
|
||||
nsLicenseDlg::Hide()
|
||||
{
|
||||
// hide all this dlg's widgets
|
||||
gtk_widget_hide(mTable);
|
||||
|
||||
// disconnect and remove this dlg's nav btns
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->declineLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->acceptLabel);
|
||||
|
||||
gtk_widget_hide(gCtx->back);
|
||||
gtk_widget_hide(gCtx->next);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -57,8 +57,8 @@ public:
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
int Show(int aDirection);
|
||||
int Hide(int aDirection);
|
||||
int Show();
|
||||
int Hide();
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
|
@ -86,30 +86,6 @@ nsSetupTypeDlg::~nsSetupTypeDlg()
|
||||
XI_IF_FREE(mMsg0)
|
||||
}
|
||||
|
||||
void
|
||||
nsSetupTypeDlg::Back(GtkWidget *aWidget, gpointer aData)
|
||||
{
|
||||
DUMP("Back");
|
||||
if (aData != gCtx->sdlg) return;
|
||||
if (gCtx->bMoving)
|
||||
{
|
||||
gCtx->bMoving = FALSE;
|
||||
return;
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->sdlg->Hide(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(sBrowseBtn), sBrowseBtnID);
|
||||
|
||||
// show the next dlg
|
||||
gCtx->ldlg->Show(nsXInstallerDlg::BACKWARD_MOVE);
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
nsSetupTypeDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
{
|
||||
@ -141,18 +117,13 @@ nsSetupTypeDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->sdlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(sBrowseBtn), sBrowseBtnID);
|
||||
gCtx->sdlg->Hide();
|
||||
|
||||
// show the last dlg
|
||||
if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1))
|
||||
gCtx->cdlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->cdlg->Show();
|
||||
else
|
||||
gCtx->idlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->idlg->Show();
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
|
||||
@ -367,7 +338,7 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsSetupTypeDlg::Show(int aDirection)
|
||||
nsSetupTypeDlg::Show()
|
||||
{
|
||||
int err = OK;
|
||||
int numSetupTypes = 0;
|
||||
@ -501,50 +472,31 @@ nsSetupTypeDlg::Show(int aDirection)
|
||||
|
||||
// signal connect the buttons
|
||||
// NOTE: back button disfunctional in this dlg since user accepted license
|
||||
gCtx->backID = gtk_signal_connect(GTK_OBJECT(gCtx->back), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsSetupTypeDlg::Back), gCtx->sdlg);
|
||||
gCtx->nextID = gtk_signal_connect(GTK_OBJECT(gCtx->next), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsSetupTypeDlg::Next), gCtx->sdlg);
|
||||
sBrowseBtnID = gtk_signal_connect(GTK_OBJECT(sBrowseBtn), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsSetupTypeDlg::SelectFolder), NULL);
|
||||
|
||||
if (aDirection == nsXInstallerDlg::FORWARD_MOVE)
|
||||
{
|
||||
// change the button titles back to Back/Next
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->acceptLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->declineLabel);
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gCtx->backLabel = gtk_label_new(gCtx->Res("BACK"));
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->backLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
gtk_widget_show(gCtx->back);
|
||||
}
|
||||
// from install dlg
|
||||
if (aDirection == nsXInstallerDlg::BACKWARD_MOVE &&
|
||||
// not custom setup type
|
||||
gCtx->opt->mSetupType != (gCtx->sdlg->GetNumSetupTypes() - 1))
|
||||
{
|
||||
DUMP("Back from Install to Setup Type");
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->installLabel);
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
}
|
||||
|
||||
gtk_widget_hide(gCtx->back);
|
||||
// set up the next button.
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
nsSetupTypeDlg::Hide(int aDirection)
|
||||
nsSetupTypeDlg::Hide()
|
||||
{
|
||||
gtk_widget_hide(mTable);
|
||||
|
||||
// disconnect and remove this dlg's nav btn
|
||||
gtk_signal_disconnect(GTK_OBJECT(sBrowseBtn), sBrowseBtnID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_hide(gCtx->next);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -874,18 +826,13 @@ nsSetupTypeDlg::CreateDestYes(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->sdlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(sBrowseBtn), sBrowseBtnID);
|
||||
gCtx->sdlg->Hide();
|
||||
|
||||
// show the final dlg
|
||||
if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1))
|
||||
gCtx->cdlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->cdlg->Show();
|
||||
else
|
||||
gCtx->idlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->idlg->Show();
|
||||
}
|
||||
|
||||
void
|
||||
@ -996,18 +943,17 @@ nsSetupTypeDlg::DeleteInstDelete(GtkWidget *aWidget, gpointer aData)
|
||||
wait(NULL);
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->sdlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->sdlg->Hide();
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(sBrowseBtn), sBrowseBtnID);
|
||||
|
||||
// show the final dlg
|
||||
if (gCtx->opt->mSetupType == (gCtx->sdlg->GetNumSetupTypes() - 1))
|
||||
gCtx->cdlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->cdlg->Show();
|
||||
else
|
||||
gCtx->idlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->idlg->Show();
|
||||
|
||||
gtk_widget_destroy(sDelInstDlg);
|
||||
}
|
||||
|
@ -55,13 +55,12 @@ public:
|
||||
/*---------------------------------------------------------------------*
|
||||
* Navigation
|
||||
*---------------------------------------------------------------------*/
|
||||
static void Back(GtkWidget *aWidget, gpointer aData);
|
||||
static void Next(GtkWidget *aWidget, gpointer aData);
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
int Show(int aDirection);
|
||||
int Hide(int aDirection);
|
||||
int Show();
|
||||
int Hide();
|
||||
|
||||
static void SelectFolder(GtkWidget *aWidget, gpointer aData);
|
||||
static void SelectFolderOK(GtkWidget *aWidget,
|
||||
|
@ -53,18 +53,6 @@ nsWelcomeDlg::~nsWelcomeDlg()
|
||||
free (mReadmeFile);
|
||||
}
|
||||
|
||||
void
|
||||
nsWelcomeDlg::Back(GtkWidget *aWidget, gpointer aData)
|
||||
{
|
||||
DUMP("Back");
|
||||
if (aData != gCtx->wdlg) return;
|
||||
if (gCtx->bMoving)
|
||||
{
|
||||
gCtx->bMoving = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
nsWelcomeDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
{
|
||||
@ -77,14 +65,10 @@ nsWelcomeDlg::Next(GtkWidget *aWidget, gpointer aData)
|
||||
}
|
||||
|
||||
// hide this notebook page
|
||||
gCtx->wdlg->Hide(nsXInstallerDlg::FORWARD_MOVE);
|
||||
|
||||
// disconnect this dlg's nav btn signal handlers
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->back), gCtx->backID);
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gCtx->wdlg->Hide();
|
||||
|
||||
// show the next dlg
|
||||
gCtx->ldlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->ldlg->Show();
|
||||
gCtx->bMoving = TRUE;
|
||||
}
|
||||
|
||||
@ -126,7 +110,7 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsWelcomeDlg::Show(int aDirection)
|
||||
nsWelcomeDlg::Show()
|
||||
{
|
||||
int err = 0;
|
||||
char *readmeContents = NULL;
|
||||
@ -184,31 +168,17 @@ nsWelcomeDlg::Show(int aDirection)
|
||||
}
|
||||
|
||||
// signal connect the buttons
|
||||
gCtx->backID = gtk_signal_connect(GTK_OBJECT(gCtx->back), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsWelcomeDlg::Back), gCtx->wdlg);
|
||||
gCtx->nextID = gtk_signal_connect(GTK_OBJECT(gCtx->next), "clicked",
|
||||
GTK_SIGNAL_FUNC(nsWelcomeDlg::Next), gCtx->wdlg);
|
||||
|
||||
if (gCtx->back)
|
||||
gtk_widget_hide(gCtx->back);
|
||||
|
||||
GTK_WIDGET_SET_FLAGS(gCtx->next, GTK_CAN_DEFAULT);
|
||||
gtk_widget_grab_default(gCtx->next);
|
||||
|
||||
if (aDirection == nsXInstallerDlg::BACKWARD_MOVE)
|
||||
{
|
||||
// change the button titles back to Back/Next
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->acceptLabel);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->back), gCtx->declineLabel);
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gCtx->backLabel = gtk_label_new(gCtx->Res("BACK"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
gtk_widget_show(gCtx->back);
|
||||
}
|
||||
// show the Next button
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->next);
|
||||
|
||||
BAIL:
|
||||
XI_IF_FREE(readmeContents);
|
||||
@ -217,11 +187,16 @@ BAIL:
|
||||
}
|
||||
|
||||
int
|
||||
nsWelcomeDlg::Hide(int aDirection)
|
||||
nsWelcomeDlg::Hide()
|
||||
{
|
||||
// hide all this dlg's widgets
|
||||
gtk_widget_hide(mTable);
|
||||
|
||||
// disconnect and remove this dlg's nav btn
|
||||
gtk_signal_disconnect(GTK_OBJECT(gCtx->next), gCtx->nextID);
|
||||
gtk_container_remove(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_widget_hide(gCtx->next);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -52,13 +52,12 @@ public:
|
||||
/*--------------------------------------------------------------------*
|
||||
* Navigation
|
||||
*--------------------------------------------------------------------*/
|
||||
static void Back(GtkWidget *aWidget, gpointer aData);
|
||||
static void Next(GtkWidget *aWidget, gpointer aData);
|
||||
|
||||
int Parse(nsINIParser *aParser);
|
||||
|
||||
int Show(int aDirection);
|
||||
int Hide(int aDirection);
|
||||
int Show();
|
||||
int Hide();
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
|
@ -221,7 +221,7 @@ nsXInstaller::RunWizard(int argc, char **argv)
|
||||
if (gCtx->opt->mMode == nsXIOptions::MODE_DEFAULT)
|
||||
{
|
||||
// show welcome dlg
|
||||
gCtx->wdlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->wdlg->Show();
|
||||
|
||||
// pop over to main event loop
|
||||
gtk_main();
|
||||
@ -231,7 +231,7 @@ nsXInstaller::RunWizard(int argc, char **argv)
|
||||
{
|
||||
// show install dlg
|
||||
if (gCtx->opt->mMode == nsXIOptions::MODE_AUTO)
|
||||
gCtx->idlg->Show(nsXInstallerDlg::FORWARD_MOVE);
|
||||
gCtx->idlg->Show();
|
||||
gCtx->idlg->Next((GtkWidget *)NULL, (gpointer) gCtx->idlg);
|
||||
}
|
||||
|
||||
@ -317,16 +317,8 @@ nsXInstaller::DrawNavButtons()
|
||||
|
||||
gCtx->next = gtk_button_new();
|
||||
gCtx->back = gtk_button_new();
|
||||
gCtx->nextLabel = gtk_label_new(gCtx->Res("NEXT"));
|
||||
gCtx->backLabel = gtk_label_new(gCtx->Res("BACK"));
|
||||
XI_VERIFY(gCtx->next);
|
||||
XI_VERIFY(gCtx->back);
|
||||
gtk_widget_show(gCtx->next);
|
||||
gtk_widget_show(gCtx->back);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->next), gCtx->nextLabel);
|
||||
gtk_container_add(GTK_CONTAINER(gCtx->back), gCtx->backLabel);
|
||||
gtk_widget_show(gCtx->nextLabel);
|
||||
gtk_widget_show(gCtx->backLabel);
|
||||
GTK_WIDGET_SET_FLAGS(gCtx->next, GTK_CAN_DEFAULT);
|
||||
gtk_widget_grab_default(gCtx->next);
|
||||
|
||||
|
@ -68,8 +68,8 @@ public:
|
||||
|
||||
virtual int Parse(nsINIParser *aParser) = 0;
|
||||
|
||||
virtual int Show(int aDirection) = 0;
|
||||
virtual int Hide(int aDirection) = 0;
|
||||
virtual int Show() = 0;
|
||||
virtual int Hide() = 0;
|
||||
|
||||
/*-------------------------------------------------------------------*
|
||||
* INI Properties
|
||||
@ -85,10 +85,7 @@ public:
|
||||
enum
|
||||
{
|
||||
SKIP_DIALOG = 0,
|
||||
SHOW_DIALOG = 1,
|
||||
|
||||
FORWARD_MOVE = 555,
|
||||
BACKWARD_MOVE = -555
|
||||
SHOW_DIALOG = 1
|
||||
};
|
||||
|
||||
protected:
|
||||
|
Loading…
x
Reference in New Issue
Block a user