Ping? I'd like to apply this. Corinna, is that what you were
envisioning? Would you like me to make a pre-compiled version available
on the web to let people test without having to build?
Igor
On Wed, 28 Mar 2007, Igor Peshansky wrote:
On Thu, 22 Mar 2007, Brian Dessent wrote:
Corinna Vinschen wrote:
Question to the setup.exe maintainers:
Do we really need the Installation finished. message box at the end?
I find it increasingly annoying that I have to confirm the end of the
installation on a centered button when all the rest of the OK buttons
were at the bottom right of the prevous dialogs.
Wouldn't it suffice to rename the OK button in the last dialog to
Finish?
You're right, I hate that too and it's been on the todo list to remove
this for a long time.
And here is a patch. It does a bit more than remove the final mbox -- it
also moves the status information into the Create Icons dialog. It
should handle the resizing of that dialog correctly, but please test it
anyway. ChangeLog is below. Comments welcome.
Igor
==
ChangeLog:
2007-03-28 Igor Peshansky [EMAIL PROTECTED]
* LogFile.cc (LogFile::exit): Write exit_msg directly to log, without
the message box.
* resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New
control ids.
* res.rc (IDD_DESKTOP): Change the caption. Add status information.
* desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor
in the implementation.
* desktop.cc (DesktopControlsInfo): Position specifiers for status
information items.
(DesktopSetupPage::DesktopSetupPage): Register position specifiers.
(set_status): New static method.
(load_dialog): Set status information, if available.
(DesktopSetupPage::OnInit): Set status header font.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_[EMAIL PROTECTED] | [EMAIL PROTECTED]
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 JoplinIndex: LogFile.cc
===
RCS file: /cvs/cygwin-apps/setup/LogFile.cc,v
retrieving revision 2.15
diff -u -p -r2.15 LogFile.cc
--- LogFile.cc 15 Apr 2006 21:21:25 - 2.15
+++ LogFile.cc 28 Mar 2007 14:50:38 -
@@ -24,6 +24,7 @@ static const char *cvsid =
#include io_stream.h
#include win32.h
#include msg.h
+#include dialog.h
#include resource.h
#include iostream
#include sstream
@@ -126,7 +127,14 @@ LogFile::exit (int const exit_code)
been_here = 1;
if (exit_msg)
-note (NULL, exit_msg, backslash(getFileName(LOG_BABBLE)).c_str());
+{
+ char buf[1000], fmt[1000];
+ if (LoadString (hinstance, exit_msg, fmt, sizeof (fmt)) 0)
+{
+ snprintf (buf, 1000, fmt,
backslash(getFileName(LOG_BABBLE)).c_str());
+ log (LOG_PLAIN) note: buf endLog;
+}
+}
log (LOG_TIMESTAMP) Ending cygwin install endLog;
Index: desktop.cc
===
RCS file: /cvs/cygwin-apps/setup/desktop.cc,v
retrieving revision 2.46
diff -u -p -r2.46 desktop.cc
--- desktop.cc 28 Feb 2007 00:55:04 - 2.46
+++ desktop.cc 28 Mar 2007 14:50:38 -
@@ -45,6 +45,7 @@ static const char *cvsid =
#include io_stream.h
#include getopt++/BoolOption.h
#include PackageSpecification.h
+#include LogFile.h
static BoolOption NoShortcutsOption (false, 'n', no-shortcuts, Disable
creation of desktop and start menu shortcuts);
static BoolOption NoStartMenuOption (false, 'N', no-startmenu, Disable
creation of start menu shortcut);
@@ -61,6 +62,18 @@ static BoolOption NoDesktopOption (false
static std::string batname;
static std::string iconname;
+static ControlAdjuster::ControlInfo DesktopControlsInfo[] = {
+ {IDC_DESKTOP_SEPARATOR, CP_STRETCH, CP_BOTTOM},
+ {IDC_STATUS, CP_LEFT, CP_BOTTOM},
+ {IDC_STATUS_HEADER, CP_LEFT, CP_BOTTOM},
+ {0, CP_LEFT, CP_TOP}
+};
+
+DesktopSetupPage::DesktopSetupPage ()
+{
+ sizeProcessor.AddControlInfo (DesktopControlsInfo);
+}
+
static void
make_link (const std::string linkpath,
const std::string title,
@@ -223,12 +236,26 @@ check_if_enable_next (HWND h)
EnableWindow (GetDlgItem (h, IDOK), 1);
}
+extern LogFile * theLog;
+
+static void
+set_status (HWND h)
+{
+ char buf[1000], fmt[1000];
+ 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);
+}
+}
+