OSDN Git Service

MacGui: Presets Menu now in Main Menu bar
authordynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Apr 2007 16:52:31 +0000 (16:52 +0000)
committerdynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Apr 2007 16:52:31 +0000 (16:52 +0000)
- New "Update Built-in Presets" function automatically deletes existing built in presets and creates new up to date ones
- New "Delete Built-in Presets" deletes all built in presets
- "New Preset ..." accesses the new preset window

git-svn-id: svn://localhost/HandBrake/trunk@480 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/Controller.h
macosx/Controller.mm
macosx/English.lproj/MainMenu.nib/classes.nib
macosx/English.lproj/MainMenu.nib/info.nib
macosx/English.lproj/MainMenu.nib/keyedobjects.nib

index 4d997df..6debbf3 100644 (file)
 
 - (void) savePreset;
 - (IBAction)AddFactoryPresets:(id)sender;
+- (IBAction)DeleteFactoryPresets:(id)sender;
 - (IBAction)AddUserPreset:(id)sender;
 - (void)AddPreset;
 - (IBAction)InsertPreset:(id)sender;
index c6232f3..e4314c4 100644 (file)
@@ -1580,14 +1580,45 @@ the user is using "Custom" settings by determining the sender*/
 {
     [NSApp stopModal];
 }
-
+   /* We use this method to recreate new, updated factory
+   presets */
 - (IBAction)AddFactoryPresets:(id)sender
 {
-    /* Here we create each shipped preset */
+    /* First, we delete any existing built in presets */
+    [self DeleteFactoryPresets: sender];
+    /* Then, we re-create new built in presets programmatically */
        [UserPresets addObject:[self CreateIpodPreset]];
        [UserPresets addObject:[self CreateAppleTVPreset]];
     [self AddPreset];
 }
+- (IBAction)DeleteFactoryPresets:(id)sender
+{
+    //int status;
+    NSEnumerator *enumerator = [UserPresets objectEnumerator];
+       id tempObject;
+    
+       //NSNumber *index;
+    NSMutableArray *tempArray;
+
+
+        tempArray = [NSMutableArray array];
+        /* we look here to see if the preset is we move on to the next one */
+        while ( tempObject = [enumerator nextObject] )  
+               {
+                       /* if the preset is "Factory" then we put it in the array of
+                       presets to delete */
+                       if ([[tempObject objectForKey:@"Type"] intValue] == 0)
+                       {
+                               [tempArray addObject:tempObject];
+                       }
+        }
+        
+        [UserPresets removeObjectsInArray:tempArray];
+        [tableView reloadData];
+        [self savePreset];   
+
+}
+
 - (IBAction)AddUserPreset:(id)sender
 {
     /* Here we create a custom user preset */
@@ -2022,12 +2053,14 @@ id theRecord, theValue;
     
     theRecord = [UserPresets objectAtIndex:rowIndex];
     [theRecord setObject:anObject forKey:[aTableColumn identifier]];
-    
+    /* We Sort the Presets By Factory or Custom */
+       NSSortDescriptor * presetTypeDescriptor=[[[NSSortDescriptor alloc] initWithKey:@"Type" 
+                                                    ascending:YES] autorelease];
                /* We Sort the Presets Alphabetically by name */
-       NSSortDescriptor * lastNameDescriptor=[[[NSSortDescriptor alloc] initWithKey:@"PresetName" 
+       NSSortDescriptor * presetNameDescriptor=[[[NSSortDescriptor alloc] initWithKey:@"PresetName" 
                                                     ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
-       NSArray *sortDescriptors=[NSArray arrayWithObject:lastNameDescriptor];
-       NSArray *sortedArray=[UserPresets sortedArrayUsingDescriptors:sortDescriptors];
+       NSArray *sortDescriptors=[NSArray arrayWithObjects:presetTypeDescriptor,presetNameDescriptor,nil];
+    NSArray *sortedArray=[UserPresets sortedArrayUsingDescriptors:sortDescriptors];
        [UserPresets setArray:sortedArray];
        /* We Reload the New Table data for presets */
     [tableView reloadData];
index 99d4450..cc90ca3 100644 (file)
@@ -13,6 +13,7 @@
                 CloseAddPresetPanel = id; 
                 CodecsPopUpChanged = id; 
                 CustomSettingUsed = id; 
+                DeleteFactoryPresets = id; 
                 DeletePreset = id; 
                 EnableQueue = id; 
                 EncoderPopUpChanged = id; 
index d9bcb81..1247338 100644 (file)
@@ -3,13 +3,13 @@
 <plist version="1.0">
 <dict>
        <key>IBDocumentLocation</key>
-       <string>160 277 630 601 0 0 1440 878 </string>
+       <string>21 277 630 601 0 0 1440 878 </string>
        <key>IBEditorPositions</key>
        <dict>
                <key>1843</key>
                <string>610 276 220 592 0 0 1440 878 </string>
                <key>29</key>
-               <string>102 834 300 44 0 0 1440 878 </string>
+               <string>11 834 365 44 0 0 1440 878 </string>
        </dict>
        <key>IBFramework Version</key>
        <string>446.1</string>
@@ -23,6 +23,7 @@
                <integer>1438</integer>
                <integer>21</integer>
                <integer>1867</integer>
+               <integer>1162</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8P2137</string>
index 2fbc343..635a131 100644 (file)
Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ