? GRVSChangeLog
? res.aps
Index: choose.cc
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/choose.cc,v
retrieving revision 2.91
diff -p -u -r2.91 choose.cc
--- choose.cc	2002/03/20 08:16:38	2.91
+++ choose.cc	2002/04/02 10:18:35
@@ -64,7 +64,7 @@ extern ThreeBarProgressPage Progress;
 
 static int initialized = 0;
 
-static HWND lv, nextbutton, choose_inst_text;
+static HWND lv, choose_inst_text;
 static PickView *chooser = NULL;
 
 static void set_view_mode (HWND h, PickView::views mode);
@@ -280,8 +280,8 @@ set_existence ()
       while (o <= pkg.versions.number () && !mirrors)
 	{
 	  packageversion & ver = *pkg.versions[o];
-	  if (((source != IDC_SOURCE_CWD) && (ver.bin.sites.number () 
-	      || ver.src.sites.number ()))
+	  if (((source != IDC_SOURCE_CWD) && (ver.bin.sites.number ()
+					      || ver.src.sites.number ()))
 	      || ver.bin.Cached () || ver.src.Cached ())
 	    mirrors = true;
 	  ++o;
@@ -334,8 +334,6 @@ default_trust (HWND h, trusts trust)
   RECT r;
   GetClientRect (h, &r);
   InvalidateRect (h, &r, TRUE);
-  if (nextbutton)
-    SetFocus (nextbutton);
   // and then do the same for categories with no packages.
   size_t n = 1;
   while (n <= db.categories.number ())
@@ -401,9 +399,6 @@ set_view_mode (HWND h, PickView::views m
   chooser->scroll_ulc_x = chooser->scroll_ulc_y = 0;
 
   InvalidateRect (h, &r, TRUE);
-
-  if (nextbutton)
-    SetFocus (nextbutton);
 }
 
 static void
@@ -435,74 +430,10 @@ create_listview (HWND dlg, RECT * r)
       pkg.set_requirements (chooser->deftrust);
     }
   /* FIXME: do we need to init the desired fields ? */
-  static int ta[] = { IDC_CHOOSE_CURR, 0 };
+  static int ta[] = { IDC_CHOOSE_PREV, IDC_CHOOSE_CURR, IDC_CHOOSE_EXP, 0 };
   rbset (dlg, ta, IDC_CHOOSE_CURR);
-
 }
 
-static BOOL
-dialog_cmd (HWND h, int id, HWND hwndctl, UINT code)
-{
-  packagedb db;
-  switch (id)
-    {
-    case IDC_CHOOSE_PREV:
-      default_trust (lv, TRUST_PREV);
-      for (size_t n = 1; n <= db.packages.number (); n++)
-	{
-	  packagemeta & pkg = *db.packages[n];
-	  pkg.set_requirements (TRUST_PREV);
-	}
-      set_view_mode (lv, chooser->get_view_mode ());
-      break;
-    case IDC_CHOOSE_CURR:
-      default_trust (lv, TRUST_CURR);
-      for (size_t n = 1; n <= db.packages.number (); n++)
-	{
-	  packagemeta & pkg = *db.packages[n];
-	  pkg.set_requirements (TRUST_CURR);
-	}
-      set_view_mode (lv, chooser->get_view_mode ());
-      break;
-    case IDC_CHOOSE_EXP:
-      default_trust (lv, TRUST_TEST);
-      for (size_t n = 1; n <= db.packages.number (); n++)
-	{
-	  packagemeta & pkg = *db.packages[n];
-	  pkg.set_requirements (TRUST_TEST);
-	}
-      set_view_mode (lv, chooser->get_view_mode ());
-      break;
-    case IDC_CHOOSE_VIEW:
-      set_view_mode (lv, ++chooser->get_view_mode ());
-      if (!SetDlgItemText
-	  (h, IDC_CHOOSE_VIEWCAPTION, chooser->mode_caption ()))
-	log (LOG_BABBLE, "Failed to set View button caption %ld",
-	     GetLastError ());
-      break;
-
-    case IDOK:
-      if (source == IDC_SOURCE_CWD)
-	NEXT (IDD_S_INSTALL);
-      else
-	NEXT (IDD_S_DOWNLOAD);
-      break;
-
-    case IDC_BACK:
-      initialized = 0;
-      if (source == IDC_SOURCE_CWD)
-	NEXT (IDD_LOCAL_DIR);
-      else
-	NEXT (IDD_SITE);
-      break;
-
-    case IDCANCEL:
-      NEXT (0);
-      break;
-    }
-  return 0;
-}
-
 static void
 GetParentRect (HWND parent, HWND child, RECT * r)
 {
@@ -520,36 +451,6 @@ GetParentRect (HWND parent, HWND child, 
   r->bottom = p.y;
 }
 
-static BOOL CALLBACK
-dialog_proc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
-{
-  HWND frame;
-  RECT r;
-  switch (message)
-    {
-    case WM_INITDIALOG:
-      nextbutton = GetDlgItem (h, IDOK);
-      frame = GetDlgItem (h, IDC_LISTVIEW_POS);
-      choose_inst_text = GetDlgItem (h, IDC_CHOOSE_INST_TEXT);
-      if (source == IDC_SOURCE_DOWNLOAD)
-	SetWindowText (choose_inst_text, "Select packages to download ");
-      else
-	SetWindowText (choose_inst_text, "Select packages to install ");
-      GetParentRect (h, frame, &r);
-      r.top += 2;
-      r.bottom -= 2;
-      create_listview (h, &r);
-
-#if 0
-      load_dialog (h);
-#endif
-      return TRUE;
-    case WM_COMMAND:
-      return HANDLE_WM_COMMAND (h, wParam, lParam, dialog_cmd);
-    }
-  return FALSE;
-}
-
 /* Find out where to put existing tar file in local directory in
    known package array. */
 static void
@@ -666,14 +567,19 @@ scan_downloaded_files ()
   find (".", scan2);
 }
 
-void
-do_choose (HINSTANCE h, HWND owner)
+bool
+ChooserPage::Create ()
 {
-  int rv;
+  return PropertyPage::Create (IDD_CHOOSE);
+}
 
-  nextbutton = 0;
+void
+ChooserPage::OnInit ()
+{
+  HWND frame;
+  RECT r;
 
-  register_windows (h);
+  register_windows (GetInstance ());
 
   if (source == IDC_SOURCE_DOWNLOAD || source == IDC_SOURCE_CWD)
     scan_downloaded_files ();
@@ -681,10 +587,32 @@ do_choose (HINSTANCE h, HWND owner)
   set_existence ();
   fill_missing_category ();
 
-  rv = DialogBox (h, MAKEINTRESOURCE (IDD_CHOOSE), owner, dialog_proc);
-  if (rv == -1)
-    fatal (owner, IDS_DIALOG_FAILED);
+  frame = GetDlgItem (IDC_LISTVIEW_POS);
+  choose_inst_text = GetDlgItem (IDC_CHOOSE_INST_TEXT);
+  if (source == IDC_SOURCE_DOWNLOAD)
+    ::SetWindowText (choose_inst_text, "Select packages to download ");
+  else
+    ::SetWindowText (choose_inst_text, "Select packages to install ");
+  GetParentRect (GetHWND (), frame, &r);
+  r.top += 2;
+  r.bottom -= 2;
+  create_listview (GetHWND (), &r);
+}
 
+long
+ChooserPage::OnNext ()
+{
+  if (source == IDC_SOURCE_CWD)
+    {
+      // Next, install
+      Progress.SetActivateTask (WM_APP_START_INSTALL);
+    }
+  else
+    {
+      // Next, start download from internet
+      Progress.SetActivateTask (WM_APP_START_DOWNLOAD);
+    }
+
   log (LOG_BABBLE, "Chooser results...");
   packagedb db;
   for (size_t n = 1; n <= db.packages.number (); n++)
@@ -744,85 +672,88 @@ do_choose (HINSTANCE h, HWND owner)
 	}
 #endif
     }
-}
-
-#define WM_APP_START_CHOOSE        WM_APP+0
-#define WM_APP_CHOOSE_IS_FINISHED  WM_APP+1
-
-extern void do_choose (HINSTANCE h, HWND owner);
-
-void
-do_choose_thread (void *p)
-{
-  ChooserPage *cp;
-
-  cp = static_cast < ChooserPage * >(p);
-
-  do_choose (cp->GetInstance (), cp->GetHWND ());
 
-  cp->PostMessage (WM_APP_CHOOSE_IS_FINISHED);
-
-  _endthread ();
+  return IDD_INSTATUS;
 }
 
-bool ChooserPage::Create ()
+long
+ChooserPage::OnBack ()
 {
-  return PropertyPage::Create (IDD_CHOOSER);
+  initialized = 0;
+  if (source == IDC_SOURCE_CWD)
+    return IDD_LOCAL_DIR;
+  else
+    return IDD_SITE;
 }
 
-void
-ChooserPage::OnActivate ()
+bool
+ChooserPage::OnMessageCmd (int id, HWND hwndctl, UINT code)
 {
-  GetOwner ()->SetButtons (0);
-  PostMessage (WM_APP_START_CHOOSE);
-}
+  if (code != BN_CLICKED)
+    {
+      // Not a click notification, we don't care.
+      return false;
+    }
 
-bool ChooserPage::OnMessageApp (UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
-  switch (uMsg)
+  packagedb db;
+  switch (id)
     {
-    case WM_APP_START_CHOOSE:
-      {
-	// Start the chooser thread.
-	_beginthread (do_choose_thread, 0, this);
-	break;
-      }
-    case WM_APP_CHOOSE_IS_FINISHED:
-      {
-	switch (next_dialog)
-	  {
-	  case 0:
-	    {
-	      // Cancel
-	      GetOwner ()->PressButton (PSBTN_CANCEL);
-	      break;
-	    }
-	  case IDD_LOCAL_DIR:
-	  case IDD_SITE:
+    case IDC_CHOOSE_PREV:
+      if (IsDlgButtonChecked (GetHWND (), id))
+	{
+	  default_trust (lv, TRUST_PREV);
+	  for (size_t n = 1; n <= db.packages.number (); n++)
 	    {
-	      // Back
-	      GetOwner ()->SetActivePageByID (next_dialog);
-	      break;
+	      packagemeta & pkg = *db.packages[n];
+	      pkg.set_requirements (TRUST_PREV);
 	    }
-	  case IDD_S_DOWNLOAD:
+	  set_view_mode (lv, chooser->get_view_mode ());
+	  break;
+	}
+      else
+	return false;
+    case IDC_CHOOSE_CURR:
+      if (IsDlgButtonChecked (GetHWND (), id))
+	{
+	  default_trust (lv, TRUST_CURR);
+	  for (size_t n = 1; n <= db.packages.number (); n++)
 	    {
-	      // Next, start download from internet
-	      Progress.SetActivateTask (WM_APP_START_DOWNLOAD);
-	      GetOwner ()->SetActivePageByID (IDD_INSTATUS);
-	      break;
+	      packagemeta & pkg = *db.packages[n];
+	      pkg.set_requirements (TRUST_CURR);
 	    }
-	  case IDD_S_INSTALL:
+	  set_view_mode (lv, chooser->get_view_mode ());
+	  break;
+	}
+      else
+	return false;
+    case IDC_CHOOSE_EXP:
+      if (IsDlgButtonChecked (GetHWND (), id))
+	{
+	  default_trust (lv, TRUST_TEST);
+	  for (size_t n = 1; n <= db.packages.number (); n++)
 	    {
-	      // Next, install
-	      Progress.SetActivateTask (WM_APP_START_INSTALL);
-	      GetOwner ()->SetActivePageByID (IDD_INSTATUS);
-	      break;
+	      packagemeta & pkg = *db.packages[n];
+	      pkg.set_requirements (TRUST_TEST);
 	    }
-	  }
-      }
+	  set_view_mode (lv, chooser->get_view_mode ());
+	  break;
+	}
+      else
+	return false;
+    case IDC_CHOOSE_VIEW:
+      set_view_mode (lv, ++chooser->get_view_mode ());
+      if (!SetDlgItemText
+	  (GetHWND (), IDC_CHOOSE_VIEWCAPTION, chooser->mode_caption ()))
+	log (LOG_BABBLE, "Failed to set View button caption %ld",
+	     GetLastError ());
+      break;
+
+
     default:
+      // Wasn't recognized or handled.
       return false;
-      break;
     }
+
+  // Was handled since we never got to default above.
   return true;
 }
Index: choose.h
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/choose.h,v
retrieving revision 2.14
diff -p -u -r2.14 choose.h
--- choose.h	2002/01/22 06:36:35	2.14
+++ choose.h	2002/04/02 10:18:35
@@ -33,10 +33,12 @@ public:
   {
   };
 
-  virtual bool OnMessageApp (UINT uMsg, WPARAM wParam, LPARAM lParam);
+  virtual bool OnMessageCmd (int id, HWND hwndctl, UINT code);
 
   bool Create ();
-  virtual void OnActivate ();
+  virtual void OnInit ();
+  virtual long OnNext ();
+  virtual long OnBack ();
 };
 
 #endif /* __cplusplus */
Index: desktop.cc
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/desktop.cc,v
retrieving revision 2.27
diff -p -u -r2.27 desktop.cc
--- desktop.cc	2002/03/27 04:20:45	2.27
+++ desktop.cc	2002/04/02 10:18:36
@@ -531,7 +531,7 @@ DesktopSetupPage::OnBack ()
   HWND h = GetHWND ();
   save_dialog (h);
   NEXT (IDD_CHOOSE);
-  return IDD_CHOOSER;
+  return IDD_CHOOSE;
 }
 
 bool
Index: fromcwd.cc
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/fromcwd.cc,v
retrieving revision 2.22
diff -p -u -r2.22 fromcwd.cc
--- fromcwd.cc	2002/02/18 13:53:06	2.22
+++ fromcwd.cc	2002/04/02 10:18:37
@@ -158,7 +158,7 @@ do_fromcwd (HINSTANCE h, HWND owner)
       return;
     }
 
-  next_dialog = IDD_CHOOSER;
+  next_dialog = IDD_CHOOSE;
 
   find (".", found_file);
 
Index: ini.cc
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/ini.cc,v
retrieving revision 2.20
diff -p -u -r2.20 ini.cc
--- ini.cc	2002/02/18 13:53:06	2.20
+++ ini.cc	2002/04/02 10:18:37
@@ -208,7 +208,7 @@ do_ini_thread (HINSTANCE h, HWND owner)
 	note (owner, IDS_OLD_SETUP_VERSION, version, setup_version);
     }
 
-  next_dialog = IDD_CHOOSER;
+  next_dialog = IDD_CHOOSE;
 }
 
 static void
Index: res.rc
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/res.rc,v
retrieving revision 2.37
diff -p -u -r2.37 res.rc
--- res.rc	2002/02/24 10:59:19	2.37
+++ res.rc	2002/04/02 10:18:38
@@ -92,7 +92,7 @@ BEGIN
                     7,0,258,8,NOT WS_GROUP
 END
 
-IDD_SITE DIALOG DISCARDABLE 0, 0, 317, 179
+IDD_SITE DIALOG DISCARDABLE  0, 0, 317, 179
 STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | 
     WS_CAPTION | WS_SYSMENU
 EXSTYLE WS_EX_CONTROLPARENT
@@ -226,34 +226,6 @@ BEGIN
                     IDC_STATIC,115,33,195,54
 END
 
-IDD_CHOOSE DIALOG DISCARDABLE  0, 0, 430, 266
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | 
-    WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTROLPARENT
-CAPTION "Cygwin Setup"
-FONT 8, "MS Sans Serif"
-BEGIN
-    DEFPUSHBUTTON   "&Next -->",IDOK,311,242,45,15,WS_GROUP
-    PUSHBUTTON      "Cancel",IDCANCEL,375,242,45,15
-    PUSHBUTTON      "<-- &Back",IDC_BACK,266,242,45,15
-    CONTROL         "&Prev",IDC_CHOOSE_PREV,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP | WS_TABSTOP,265,5,27,10
-    CONTROL         "&Curr",IDC_CHOOSE_CURR,"Button",BS_AUTORADIOBUTTON,297,
-                    5,25,10
-    CONTROL         "E&xp",IDC_CHOOSE_EXP,"Button",BS_AUTORADIOBUTTON,323,5,
-                    25,10
-    PUSHBUTTON      "&View",IDC_CHOOSE_VIEW,353,5,20,10,WS_GROUP
-    ICON            IDI_CYGWIN,IDC_STATIC,0,2,20,20
-    LTEXT           "Select packages to install",IDC_CHOOSE_INST_TEXT,125,5,
-                    99,8
-    CONTROL         "",IDC_LISTVIEW_POS,"Static",SS_BLACKFRAME | NOT 
-                    WS_VISIBLE,22,17,398,217
-    CONTROL         "SPIN",IDC_STATIC,"Static",SS_BITMAP,22,235,15,13
-    LTEXT           "= click to choose action, (p) = previous version, (x) = experimental",
-                    IDC_STATIC,35,234,220,8
-    LTEXT           "",IDC_CHOOSE_VIEWCAPTION,390,5,30,10
-END
-
 IDD_DESKTOP DIALOG DISCARDABLE  0, 0, 317, 179
 STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | 
     WS_CAPTION | WS_SYSMENU
@@ -290,14 +262,29 @@ BEGIN
     PUSHBUTTON      "Cancel",IDCANCEL,165,75,45,15
 END
 
-IDD_CHOOSER DIALOG DISCARDABLE  0, 0, 247, 116
+IDD_CHOOSE DIALOG DISCARDABLE  0, 0, 317, 179
 STYLE DS_MODALFRAME | DS_3DLOOK | WS_CHILD | WS_VISIBLE | WS_CAPTION | 
     WS_SYSMENU
 CAPTION "Cygwin Setup"
 FONT 8, "MS Sans Serif"
 BEGIN
-    CTEXT           "This space intentionally left blank",IDC_STATIC,57,45,
-                    134,8
+    CONTROL         "&Prev",IDC_CHOOSE_PREV,"Button",BS_AUTORADIOBUTTON | 
+                    WS_GROUP | WS_TABSTOP,150,30,27,10
+    CONTROL         "&Curr",IDC_CHOOSE_CURR,"Button",BS_AUTORADIOBUTTON,185,
+                    30,25,10
+    CONTROL         "E&xp",IDC_CHOOSE_EXP,"Button",BS_AUTORADIOBUTTON,220,30,
+                    25,10
+    PUSHBUTTON      "&View",IDC_CHOOSE_VIEW,255,30,20,10,WS_GROUP
+    CONTROL         "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28,
+                    317,1
+    CONTROL         "",IDC_LISTVIEW_POS,"Static",SS_BLACKFRAME | NOT 
+                    WS_VISIBLE,7,41,303,134
+    ICON            IDI_CYGWIN,IDC_STATIC,290,0,20,20
+    LTEXT           "Select the packages you want setup to install.",
+                    IDC_STATIC,21,9,239,16,NOT WS_GROUP
+    LTEXT           "Select Packages",IDC_STATIC_HEADER_TITLE,7,0,258,8,NOT 
+                    WS_GROUP
+    LTEXT           "",IDC_CHOOSE_VIEWCAPTION,280,30,30,10
 END
 
 
@@ -404,11 +391,6 @@ BEGIN
         BOTTOMMARGIN, 116
     END
 
-    IDD_CHOOSE, DIALOG
-    BEGIN
-        RIGHTMARGIN, 429
-    END
-
     IDD_DESKTOP, DIALOG
     BEGIN
         RIGHTMARGIN, 285
@@ -420,12 +402,12 @@ BEGIN
         BOTTOMMARGIN, 49
     END
 
-    IDD_CHOOSER, DIALOG
+    IDD_CHOOSE, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 240
+        RIGHTMARGIN, 310
         TOPMARGIN, 7
-        BOTTOMMARGIN, 109
+        BOTTOMMARGIN, 172
     END
 END
 #endif    // APSTUDIO_INVOKED
@@ -462,6 +444,10 @@ BEGIN
     IDS_ERR_RENAME          "Can't rename %s to %s: %s"
     IDS_NOTHING_INSTALLED   "Nothing needed to be installed"
     IDS_INSTALL_COMPLETE    "Installation Complete"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
     IDS_REBOOT_REQUIRED     "In-use files have been replaced. You need to reboot as soon as possible to activate the new versions. Cygwin may operate incorrectly until you reboot."
 END
 
