home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Other / mCD / Source / PrefsPanel.m < prev    next >
Encoding:
Text File  |  1994-06-26  |  2.1 KB  |  87 lines

  1.  
  2. #import "PrefsPanel.h"
  3. #import "PrefsController.h"
  4. #import "scsi_cd.subproj/ListScsi.h"
  5.  
  6. @implementation PrefsPanel
  7.  
  8. - showPrefsPanel:preferences_ID usingScsiList:scsiList_id
  9. {
  10.     char  tempStr[80];
  11.     int   tempTag, cdTag, tempType;
  12.     id    tempCell;
  13.  
  14.     thePrefs = preferences_ID;
  15.  
  16.     tempTag = [thePrefs rawDevicePrefTag];
  17.     [deviceMatrix selectCellWithTag:tempTag];
  18.     
  19.     cdTag = -1;
  20.     if (scsiList_id != NULL) {
  21.     for (tempTag = 0; tempTag <= 6; tempTag++) {
  22.         tempCell = [deviceMatrix findCellWithTag:tempTag];
  23.         tempType = [scsiList_id getTypeOfDev:tempTag
  24.                     retCharDescription:tempStr];
  25.         [tempCell setTitle:tempStr];
  26.         if (tempType == DEVTYPE_NOTPRESENT) [tempCell setEnabled:NO];
  27.         else [tempCell setEnabled:YES];
  28.         if (tempType == DEVTYPE_CDROM) {
  29.         if (cdTag < 0) cdTag = tempTag;
  30.         }
  31.         }
  32.     sprintf(tempStr, "currently sd%d", cdTag);
  33.     [curFirstDeviceText setStringValue:tempStr];
  34.     }
  35.     else {
  36.         /* listscsi is causing problems */
  37.     for (tempTag = 0; tempTag <= 6; tempTag++) {
  38.         tempCell = [deviceMatrix findCellWithTag:tempTag];
  39.         sprintf(tempStr, "device sd%d", tempTag);
  40.         [tempCell setTitle:tempStr];
  41.         [tempCell setEnabled: YES];
  42.         }
  43.     [curFirstDeviceText setStringValue:"** not known **"];
  44.     [[deviceMatrix findCellWithTag:USE_FIRST_CDDRIVE_TAG]
  45.             setEnabled:NO];
  46.     }
  47.  
  48.     [separateVolSwitch setState:[thePrefs separateVolumes] ];
  49.     
  50.     [preferencePanel makeKeyAndOrderFront:self];    
  51.     return self;
  52. }
  53.  
  54. - setCdromDrivePref:sender
  55. {
  56.     int    tempTag;
  57.     tempTag = [sender selectedTag];
  58.     [thePrefs setRawDevicePrefTag:tempTag andSave:YES];
  59.     return self;
  60. }
  61.  
  62. - setSeparateVolumes:sender
  63. {
  64.     [thePrefs setSeparateVolumes:[sender state] andSave:YES];
  65.     return self;
  66. }
  67.  
  68. - saveCurrentVolumes:sender
  69. {
  70.     BOOL wantSave = NO;        /* "NO" = forget current setting */
  71.  
  72.     wantSave = YES;
  73.     [thePrefs saveVolumes:wantSave];
  74.     return self;
  75. }
  76.  
  77. - saveWindowPositions:sender;
  78. {
  79.     BOOL wantSave = NO;        /* "NO" = forget current setting */
  80.  
  81.     if ( [sender selectedTag] ) wantSave = YES;
  82.     [thePrefs saveControlFrame:wantSave];
  83.     return self;
  84. }
  85.  
  86. @end
  87.