Changeset 4942 for trunk/src


Ignore:
Timestamp:
Jan 14, 2001, 6:13:11 PM (25 years ago)
Author:
sandervl
Message:

misc comdlg fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comdlg32/filedlg.c

    r4932 r4942  
    126126   
    127127    if (!initialized) {
     128#ifdef __WIN32OS2__
     129        if (!hFolder) hFolder = LoadImageA(0, MAKEINTRESOURCEA(OIC_FOLDER), IMAGE_ICON, 16, 16, LR_SHARED);
     130        if (!hFolder2) hFolder2 = LoadImageA(0, MAKEINTRESOURCEA(OIC_FOLDER2), IMAGE_ICON, 16, 16, LR_SHARED);
     131        if (!hFloppy) hFloppy = LoadImageA(0, MAKEINTRESOURCEA(OIC_FLOPPY), IMAGE_ICON, 16, 16, LR_SHARED);
     132        if (!hHDisk) hHDisk = LoadImageA(0, MAKEINTRESOURCEA(OIC_HDISK), IMAGE_ICON, 16, 16, LR_SHARED);
     133        if (!hCDRom) hCDRom = LoadImageA(0, MAKEINTRESOURCEA(OIC_CDROM), IMAGE_ICON, 16, 16, LR_SHARED);
     134        if (!hNet) hNet = LoadImageA(0, MAKEINTRESOURCEA(OIC_NETWORK), IMAGE_ICON, 16, 16, LR_SHARED);
     135#else
    128136        if (!hFolder) hFolder = LoadIconA(0, MAKEINTRESOURCEA(OIC_FOLDER));
    129137        if (!hFolder2) hFolder2 = LoadIconA(0, MAKEINTRESOURCEA(OIC_FOLDER2));
     
    132140        if (!hCDRom) hCDRom = LoadIconA(0, MAKEINTRESOURCEA(OIC_CDROM));
    133141        if (!hNet) hNet = LoadIconA(0, MAKEINTRESOURCEA(OIC_NETWORK));
     142#endif
    134143        if (hFolder == 0 || hFolder2 == 0 || hFloppy == 0 ||
    135144            hHDisk == 0 || hCDRom == 0 || hNet == 0)
     
    641650    }
    642651  else
     652#ifdef __WIN32OS2__
     653    GetCurrentDirectoryW(BUFFILE, tmpstr);
     654#else
    643655    *tmpstr = 0;
     656#endif
     657
    644658  if (!FILEDLG_ScanDir(hWnd, tmpstr)) {
    645659    *tmpstr = 0;
     
    650664  {
    651665      char dir[MAX_PATH];
     666#ifdef __WIN32OS2__
     667      DWORD drives;
     668#endif
    652669      char str[4] = "a:\\";
    653670      GetCurrentDirectoryA( sizeof(dir), dir );
     671
     672#ifdef __WIN32OS2__
     673      drives = GetLogicalDrives();
     674
     675      //Don't use GetDriveType here. Calling it for a floppy drive causes
     676      //the drive to become active for a brief moment
    654677      for(i = 0, n = -1; i < 26; i++)
    655678      {
    656679          str[0] = 'a' + i;
    657           if (GetDriveTypeA(str) <= DRIVE_NO_ROOT_DIR) n++;
     680          if(drives & (1 << i)) n++;
     681
    658682          if (toupper(str[0]) == toupper(dir[0])) break;
    659683      }
     684#else
     685      for(i = 0, n = -1; i < 26; i++)
     686      {
     687          str[0] = 'a' + i;
     688#ifdef __WIN32OS2__
     689          //bugfix
     690          if (GetDriveTypeA(str) > DRIVE_NO_ROOT_DIR) n++;
     691#else
     692          if (GetDriveTypeA(str) <= DRIVE_NO_ROOT_DIR) n++;
     693#endif
     694          if (toupper(str[0]) == toupper(dir[0])) break;
     695      }
     696#endif
    660697  }
    661698  SendDlgItemMessageW(hWnd, cmb2, CB_SETCURSEL, n, 0);
     
    11481185        ofnW->lpstrFilter = FILEDLG_MapStringPairsToW(ofnA->lpstrFilter, 0);
    11491186    else
     1187#ifdef __WIN32OS2__
     1188        ofnW->lpstrFilter = NULL;
     1189#else
    11501190        ofnW->lpstrFilter = FILEDLG_MapStringPairsToW(defaultfilter, 0);
     1191#endif
    11511192
    11521193    if ((ofnA->lpstrCustomFilter) && (*(ofnA->lpstrCustomFilter)))
Note: See TracChangeset for help on using the changeset viewer.