? 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