[PATCH] Setup: adjust copyright and fix the "installation finished" behavior for download-only mode
Igor Peshansky
pechtcha@cs.nyu.edu
Mon Apr 9 14:49:00 GMT 2007
The attached patch fixes the seemingly abrupt exit in download-only mode
reported in <http://cygwin.com/ml/cygwin/2007-04/msg00251.html> (and also
adds 2007 to the copyright range). The ChangeLog is below. Comments
welcome. Please let me know if it's ok to commit.
Igor
==============================================================================
ChangeLog:
2007-04-09 Igor Peshansky <pechtcha@cs.nyu.edu>
* resource.h (IDC_STATIC_HEADER): New control id.
* res.rc (IDD_SPLASH): Adjust the copyright.
(IDD_DESKTOP): Make header text accessible as a separate control.
* desktop.cc (set_status): Use eset() instead of SetWindowText().
(load_dialog): Disable checkboxes and change dialog text in
download-only mode.
(DesktopSetupPage::OnInit): Disable checkboxes in download-only
mode.
* threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the
default fallthrough.
* download.cc (do_download_thread): Explicitly return the next
dialog.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
Freedom is just another word for "nothing left to lose"... -- Janis Joplin
-------------- next part --------------
Index: desktop.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/desktop.cc,v
retrieving revision 2.47
diff -u -p -r2.47 desktop.cc
--- desktop.cc 30 Mar 2007 22:18:34 -0000 2.47
+++ desktop.cc 9 Apr 2007 14:34:32 -0000
@@ -245,15 +245,26 @@ set_status (HWND h)
if (LoadString (hinstance, exit_msg, fmt, sizeof (fmt)) > 0)
{
snprintf (buf, 1000, fmt, backslash(theLog->getFileName(LOG_BABBLE)).c_str());
- ::SetWindowText (GetDlgItem (h, IDC_STATUS), buf);
+ eset(h, IDC_STATUS, buf);
}
}
static void
load_dialog (HWND h)
{
- rbset (h, da, root_desktop);
- rbset (h, ma, root_menu);
+ if (source == IDC_SOURCE_DOWNLOAD)
+ {
+ // Don't need the checkboxes
+ EnableWindow (GetDlgItem (h, IDC_ROOT_DESKTOP), 0);
+ EnableWindow (GetDlgItem (h, IDC_ROOT_MENU), 0);
+ eset (h, IDC_STATIC_HEADER_TITLE, "Installation complete");
+ eset (h, IDC_STATIC_HEADER, "Shows installation status in download-only mode.");
+ }
+ else
+ {
+ rbset (h, da, root_desktop);
+ rbset (h, ma, root_menu);
+ }
check_if_enable_next (h);
set_status (h);
}
@@ -359,7 +370,7 @@ DesktopSetupPage::OnInit ()
// FIXME: This CoInitialize() feels like it could be moved to startup in main.cc.
CoInitialize (NULL);
- if (NoShortcutsOption)
+ if (NoShortcutsOption || source == IDC_SOURCE_DOWNLOAD)
{
root_desktop = root_menu = 0;
}
Index: download.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/download.cc,v
retrieving revision 2.48
diff -u -p -r2.48 download.cc
--- download.cc 16 Apr 2006 15:37:49 -0000 2.48
+++ download.cc 9 Apr 2007 14:34:32 -0000
@@ -287,7 +287,7 @@ do_download_thread (HINSTANCE h, HWND ow
exit_msg = IDS_DOWNLOAD_INCOMPLETE;
else if (!unattended_mode)
exit_msg = IDS_DOWNLOAD_COMPLETE;
- return 0;
+ return IDD_DESKTOP;
}
else
return IDD_S_INSTALL;
Index: res.rc
===================================================================
RCS file: /cvs/cygwin-apps/setup/res.rc,v
retrieving revision 2.72
diff -u -p -r2.72 res.rc
--- res.rc 30 Mar 2007 22:18:34 -0000 2.72
+++ res.rc 9 Apr 2007 14:34:33 -0000
@@ -265,7 +265,7 @@ BEGIN
"necessary.",IDC_SPLASH_TEXT,115,25,195,90
ICON IDI_CYGWIN,IDC_SPLASH_ICON,114,114,21,20,WS_GROUP
LTEXT "Version (unknown)",IDC_VERSION,115,137,195,10
- LTEXT "Copyright 2000-2006",IDC_SPLASH_COPYR,115,150,195,8
+ LTEXT "Copyright 2000-2007",IDC_SPLASH_COPYR,115,150,195,8
LTEXT "http://www.cygwin.com/",IDC_SPLASH_URL,115,162,90,8
END
@@ -283,7 +283,7 @@ BEGIN
CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28,
317,1
LTEXT "Tell setup if you want it to create a few icons for convenient access to the Cygwin environment.",
- IDC_STATIC,21,9,239,16,NOT WS_GROUP
+ IDC_STATIC_HEADER,21,9,239,16,NOT WS_GROUP
LTEXT "Create Icons",IDC_STATIC_HEADER_TITLE,7,0,258,8,NOT
WS_GROUP
CONTROL "",IDC_DESKTOP_SEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,
Index: resource.h
===================================================================
RCS file: /cvs/cygwin-apps/setup/resource.h,v
retrieving revision 2.34
diff -u -p -r2.34 resource.h
--- resource.h 30 Mar 2007 22:18:34 -0000 2.34
+++ resource.h 9 Apr 2007 14:34:33 -0000
@@ -158,3 +158,4 @@
#define IDC_DESKTOP_SEPARATOR 581
#define IDC_STATUS_HEADER 582
#define IDC_STATUS 583
+#define IDC_STATIC_HEADER 584
Index: threebar.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/threebar.cc,v
retrieving revision 2.11
diff -u -p -r2.11 threebar.cc
--- threebar.cc 30 Mar 2006 20:30:50 -0000 2.11
+++ threebar.cc 9 Apr 2007 14:34:33 -0000
@@ -179,13 +179,12 @@ ThreeBarProgressPage::OnMessageApp (UINT
}
else if (lParam != 0)
{
- // Download failed for some reason, go back to site selection page
+ // Download either failed or completed in download-only mode.
GetOwner ()->SetActivePageByID (lParam);
}
else
{
- // Was a download-only, and is complete or failed.
- GetOwner ()->PressButton (PSBTN_CANCEL);
+ fatal("Unexpected fallthrough from the download thread", NO_ERROR);
}
break;
}
More information about the Cygwin-apps
mailing list