Diff for /np2/macos9/dialog/d_disk.cpp between versions 1.1 and 1.3

version 1.1, 2003/10/23 10:57:49 version 1.3, 2004/01/22 04:59:49
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 // #include     "strres.h"  #include        "strres.h"
 #include        "resource.h"  #include        "resource.h"
 // #include     "sysmng.h"  #include        "dosio.h"
 #include        "dialog.h"  #include        "dialog.h"
 #include        "dialogs.h"  #include        "dialogs.h"
 #include        "pccore.h"  #include        "pccore.h"
Line 35  void dialog_changehdd(BYTE drv) { Line 35  void dialog_changehdd(BYTE drv) {
   
 // ---- newdisk  // ---- newdisk
   
 #if 0  static const char str_newdisk[] = "newdisk.d88";
   
 static const char str_newdisk[] = "newdisk";  typedef struct {
 static const UINT32 hddsizetbl[5] = {20, 41, 65, 80, 128};          BYTE    fdtype;
           char    label[16+1];
 static  BYTE    makefdtype = DISKTYPE_2HD << 4;  } NEWDISK;
 static  char    disklabel[16+1];  
 static  UINT    hddsize;  static int NewHddDlgProc(UINT *hddsize) {
   
 static LRESULT CALLBACK NewHddDlgProc(HWND hWnd, UINT msg,          DialogPtr       hDlg;
                                                                                                         WPARAM wp, LPARAM lp) {          Str255          sizestr;
           int                     done;
         UINT    val;          short           item;
         char    work[32];          char            work[16];
   
         switch (msg) {          hDlg = GetNewDialog(IDD_NEWHDDDISK, NULL, (WindowPtr)-1);
                 case WM_INITDIALOG:          if (!hDlg) {
                         SETLISTUINT32(hWnd, IDC_HDDSIZE, hddsizetbl);                  return(0);
                         SetFocus(GetDlgItem(hWnd, IDC_HDDSIZE));          }
                         return(FALSE);  
           mkstr255(sizestr, "41");
                 case WM_COMMAND:          SetDialogItemText(GetDlgItem(hDlg, IDC_HDDSIZE), sizestr);
                         switch (LOWORD(wp)) {          SelectDialogItemText(hDlg, IDC_HDDSIZE, 0x0000, 0x7fff);
                                 case IDOK:          SetDialogDefaultItem(hDlg, IDOK);
                                         GetWindowText(GetDlgItem(hWnd, IDC_HDDSIZE),          SetDialogCancelItem(hDlg, IDCANCEL);
                                                                                                         work, sizeof(work));  
                                         val = (UINT)milstr_solveINT(work);          done = 0;
                                         if (val < 0) {          while(!done) {
                                                 val = 0;                  ModalDialog(NULL, &item);
                                         }                  switch(item) {
                                         else if (val > 512) {                          case IDOK:
                                                 val = 512;                                  GetDialogItemText(GetDlgItem(hDlg, IDC_HDDSIZE), sizestr);
                                         }                                  mkcstr(work, sizeof(work), sizestr);
                                         hddsize = val;                                  *hddsize = milstr_solveINT(work);
                                         EndDialog(hWnd, IDOK);                                  done = IDOK;
                                         break;                                  break;
   
                                 case IDCANCEL:                          case IDCANCEL:
                                         EndDialog(hWnd, IDCANCEL);                                  done = IDCANCEL;
                                         break;                                  break;
                   }
                                 default:  
                                         return(FALSE);  
                         }  
                         break;  
   
                 case WM_CLOSE:  
                         PostMessage(hWnd, WM_COMMAND, IDCANCEL, 0);  
                         break;  
   
                 default:  
                         return(FALSE);  
         }          }
         return(TRUE);          DisposeDialog(hDlg);
           return(done);
 }  }
   
 static LRESULT CALLBACK NewdiskDlgProc(HWND hWnd, UINT msg,  static int NewdiskDlgProc(NEWDISK *newdisk) {
                                                                                                         WPARAM wp, LPARAM lp) {  
   
         WORD    res;  
   
         switch (msg) {  
                 case WM_INITDIALOG:  
                         switch(makefdtype) {  
                                 case (DISKTYPE_2DD << 4):  
                                         res = IDC_MAKE2DD;  
                                         break;  
   
                                 case (DISKTYPE_2HD << 4):  
                                         res = IDC_MAKE2HD;  
                                         break;  
   
                                 default:  
                                         res = IDC_MAKE144;  
                                         break;  
                         }  
                         SetDlgItemCheck(hWnd, res, 1);  
                         SetFocus(GetDlgItem(hWnd, IDC_DISKLABEL));  
                         return(FALSE);  
   
                 case WM_COMMAND:  
                         switch (LOWORD(wp)) {  
                                 case IDOK:  
                                         GetWindowText(GetDlgItem(hWnd, IDC_DISKLABEL),  
                                                                                         disklabel, sizeof(disklabel));  
                                         if (milstr_kanji1st(disklabel, sizeof(disklabel) - 1)) {  
                                                 disklabel[sizeof(disklabel) - 1] = '\0';  
                                         }  
                                         if (GetDlgItemCheck(hWnd, IDC_MAKE2DD)) {  
                                                 makefdtype = (DISKTYPE_2DD << 4);  
                                         }  
                                         else if (GetDlgItemCheck(hWnd, IDC_MAKE2HD)) {  
                                                 makefdtype = (DISKTYPE_2HD << 4);  
                                         }  
                                         else {  
                                                 makefdtype = (DISKTYPE_2HD << 4) + 1;  
                                         }  
                                         EndDialog(hWnd, IDOK);  
                                         break;  
   
                                 case IDCANCEL:  
                                         EndDialog(hWnd, IDCANCEL);  
                                         break;  
   
                                 default:  
                                         return(FALSE);  
                         }  
                         break;  
   
                 case WM_CLOSE:  
                         PostMessage(hWnd, WM_COMMAND, IDCANCEL, 0);  
                         break;  
   
                 default:          DialogPtr               hDlg;
                         return(FALSE);          int                             media;
           int                             done;
           short                   item;
           Str255                  disklabel;
           ControlHandle   btn[2];
   
           hDlg = GetNewDialog(IDD_NEWFDDDISK, NULL, (WindowPtr)-1);
           if (!hDlg) {
                   return(0);
           }
   
           SelectDialogItemText(hDlg, IDC_DISKLABEL, 0x0000, 0x7fff);
           btn[0] = (ControlHandle)GetDlgItem(hDlg, IDC_MAKE2DD);
           btn[1] = (ControlHandle)GetDlgItem(hDlg, IDC_MAKE2HD);
           SetControlValue(btn[0], 0);
           SetControlValue(btn[1], 1);
           media = 1;
           SetDialogDefaultItem(hDlg, IDOK);
           SetDialogCancelItem(hDlg, IDCANCEL);
   
           done = 0;
           while(!done) {
                   ModalDialog(NULL, &item);
                   switch(item) {
                           case IDOK:
                                   if (media == 0) {
                                           newdisk->fdtype = (DISKTYPE_2DD << 4);
                                   }
                                   else if (media == 1) {
                                           newdisk->fdtype = (DISKTYPE_2HD << 4);
                                   }
                                   else {
                                           newdisk->fdtype = (DISKTYPE_2HD << 4) + 1;
                                   }
                                   GetDialogItemText(GetDlgItem(hDlg, IDC_DISKLABEL), disklabel);
                                   mkcstr(newdisk->label, sizeof(newdisk->label), disklabel);
                                   done = IDOK;
                                   break;
   
                           case IDCANCEL:
                                   done = IDCANCEL;
                                   break;
   
                           case IDC_DISKLABEL:
                                   break;
   
                           case IDC_MAKE2DD:
                                   SetControlValue(btn[0], 1);
                                   SetControlValue(btn[1], 0);
                                   media = 0;
                                   break;
   
                           case IDC_MAKE2HD:
                                   SetControlValue(btn[0], 0);
                                   SetControlValue(btn[1], 1);
                                   media = 1;
                                   break;
                   }
         }          }
         return(TRUE);          DisposeDialog(hDlg);
           return(done);
 }  }
   
 void dialog_newdisk(HWND hWnd) {  void dialog_newdisk(void) {
   
         char            path[MAX_PATH];          char    path[MAX_PATH];
 const char              *p;          UINT    hddsize;
         HINSTANCE       hinst;          NEWDISK disk;
   
         file_cpyname(path, fddfolder, sizeof(path));  
         file_cutname(path);  
         file_catname(path, str_newdisk, sizeof(path));  
   
         p = dlgs_selectwritefile(hWnd, &newdiskui, path, NULL, 0);          if (!dlgs_selectwritefile(path, sizeof(path), str_newdisk)) {
         if (p == NULL) {  
                 return;                  return;
         }          }
         hinst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);          if (!file_cmpname(file_getext(path), str_thd)) {
         if (!file_cmpname(file_getext((char *)p), str_thd)) {                  hddsize = 0;
                   if (NewHddDlgProc(&hddsize) == IDOK) {
                           newdisk_thd(path, hddsize);
                   }
           }
           else if (!file_cmpname(file_getext(path), str_hdd)) {
                 hddsize = 0;                  hddsize = 0;
                 if (DialogBox(hinst, MAKEINTRESOURCE(IDD_NEWHDDDISK),                  if (NewHddDlgProc(&hddsize) == IDOK) {
                                                                         hWnd, (DLGPROC)NewHddDlgProc) == IDOK) {                          newdisk_vhd(path, hddsize);
                         newdisk_hdd(p, hddsize);        // (hddsize < 5) || (hddsize > 256)  
                 }                  }
         }          }
         else {          else {
                 if (DialogBox(hinst,                  if (NewdiskDlgProc(&disk) == IDOK) {
                                 MAKEINTRESOURCE(np2cfg.usefd144?IDD_NEWDISK2:IDD_NEWDISK),                          newdisk_fdd(path, disk.fdtype, disk.label);
                                                                         hWnd, (DLGPROC)NewdiskDlgProc) == IDOK) {  
                         newdisk_fdd(p, makefdtype, disklabel);  
                 }                  }
         }          }
 }  }
 #endif  
   

Removed from v.1.1  
changed lines
  Added in v.1.3


RetroPC.NET-CVS <cvs@retropc.net>