All pastes #634474 Raw Edit

Stuff

public diff v1 · immutable
#634474 ·published 2007-07-26 12:38 UTC
rendered paste body
Index: macosx/Controller.mm===================================================================--- macosx/Controller.mm        (revision 741)+++ macosx/Controller.mm        (working copy)@@ -38,7 +38,6 @@ /* We setup the toolbar values here */ static NSString*       MyDocToolbarIdentifier          = @"My Document Toolbar Identifier"; static NSString*       ToggleDrawerIdentifier  = @"Toggle Drawer Item Identifier";-//static NSString*       ToggleDrawerIdentifier  = @"Toggle Presets Item Identifier"; static NSString*       StartEncodingIdentifier         = @"Start Encoding Item Identifier"; static NSString*       PauseEncodingIdentifier         = @"Pause Encoding Item Identifier"; static NSString*       ShowQueueIdentifier     = @"Show Queue Item Identifier";@@ -111,7 +110,9 @@ - (NSApplicationTerminateReply) applicationShouldTerminate:     (NSApplication *) app {-    if( [[fRipButton title] isEqualToString: _( @"Cancel" )] )++       //if( [[fRipButton title] isEqualToString: _( @"Cancel" )] )+       if( HBState == HB_STATE_WORKING || HBState == HB_STATE_PAUSED )     {         [self Cancel: NULL];         return NSTerminateCancel;@@ -267,26 +268,15 @@     //[fRipButton setEnabled: NO];        /* Use new Toolbar start and pause here */ -       pauseButtonEnabled = NO;-       startButtonEnabled = NO;-       [self setupToolbar];-       /* In Ritsuka's patch, this goes below the Turbo stuff below-          Lets try to keep it all together */-       startButtonEnabled = NO;-       stopOrStart = NO;-       AddToQueueButtonEnabled = NO;-       pauseButtonEnabled = NO;-       resumeOrPause = NO;+       [self setupToolbar];         /* We disable the Turbo 1st pass checkbox since we are not x264 */        [fVidTurboPassCheck setEnabled: NO];        [fVidTurboPassCheck setState: NSOffState]; } -// ============================================================-// NSToolbar Related Methods-// ============================================================-+// NSToolbar Related Methods ------------------------------------------------------------------------------------------------------------+#pragma mark ToolBar - (void) setupToolbar {     // Create a new toolbar instance, and attach it to our document window      NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier: MyDocToolbarIdentifier] autorelease];@@ -326,47 +316,36 @@        } else if ([itemIdent isEqual: StartEncodingIdentifier]) {         toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease]; -        // Set the text label to be displayed in the toolbar and customization palette                 [toolbarItem setLabel: @"Start"];                [toolbarItem setPaletteLabel: @"Start Encoding"]; -               // Set up a reasonable tooltip, and image   Note, these aren't localized, but you will likely want to localize many of the item's properties                 [toolbarItem setToolTip: @"Start Encoding"];                [toolbarItem setImage: [NSImage imageNamed: @"Play"]]; -               // Tell the item what message to send when it is clicked                 [toolbarItem setTarget: self];                [toolbarItem setAction: @selector(Rip:)]; --        } else if ([itemIdent isEqual: ShowQueueIdentifier]) {         toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease]; -        // Set the text label to be displayed in the toolbar and customization palette                 [toolbarItem setLabel: @"Show Queue"];                [toolbarItem setPaletteLabel: @"Show Queue"]; -               // Set up a reasonable tooltip, and image   Note, these aren't localized, but you will likely want to localize many of the item's properties                 [toolbarItem setToolTip: @"Show Queue"];                [toolbarItem setImage: [NSImage imageNamed: @"Brushed Window"]]; -               // Tell the item what message to send when it is clicked                 [toolbarItem setTarget: self];                [toolbarItem setAction: @selector(ShowQueuePanel:)];         } else if ([itemIdent isEqual: AddToQueueIdentifier]) {         toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease]; -        // Set the text label to be displayed in the toolbar and customization palette                 [toolbarItem setLabel: @"Add to Queue"];                [toolbarItem setPaletteLabel: @"Add to Queue"]; -               // Set up a reasonable tooltip, and image   Note, these aren't localized, but you will likely want to localize many of the item's properties                 [toolbarItem setToolTip: @"Add to Queue"];                [toolbarItem setImage: [NSImage imageNamed: @"Add"]]; -               // Tell the item what message to send when it is clicked                 [toolbarItem setTarget: self];                [toolbarItem setAction: @selector(AddToQueue:)]; @@ -374,36 +353,28 @@        } else if ([itemIdent isEqual: PauseEncodingIdentifier]) {         toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease]; -        // Set the text label to be displayed in the toolbar and customization palette                 [toolbarItem setLabel: @"Pause"];                [toolbarItem setPaletteLabel: @"Pause Encoding"]; -               // Set up a reasonable tooltip, and image   Note, these aren't localized, but you will likely want to localize many of the item's properties                 [toolbarItem setToolTip: @"Pause Encoding"];                [toolbarItem setImage: [NSImage imageNamed: @"Pause"]]; -               // Tell the item what message to send when it is clicked                 [toolbarItem setTarget: self];                [toolbarItem setAction: @selector(Pause:)];         } else if ([itemIdent isEqual: DebugOutputIdentifier]) {         toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease]; -        // Set the text label to be displayed in the toolbar and customization palette                 [toolbarItem setLabel: @"Activity Window"];                [toolbarItem setPaletteLabel: @"Show Activity Window"]; -               // Set up a reasonable tooltip, and image   Note, these aren't localized, but you will likely want to localize many of the item's properties                 [toolbarItem setToolTip: @"Show Activity Window"];                [toolbarItem setImage: [NSImage imageNamed: @"Terminal"]]; -               // Tell the item what message to send when it is clicked                 [toolbarItem setTarget: self];                [toolbarItem setAction: @selector(showDebugOutputPanel:)];      } else {-        //itemIdent refered to a toolbar item that is not provide or supported by us or cocoa -        //Returning nil will inform the toolbar this kind of item is not supported                 toolbarItem = nil;     } @@ -429,57 +400,58 @@     // does not assume any items are allowed, even the separator.  So, every allowed item must be explicitly listed        // The set of allowed items is used to construct the customization palette      return [NSArray arrayWithObjects:  StartEncodingIdentifier, PauseEncodingIdentifier, AddToQueueIdentifier, ShowQueueIdentifier,-               DebugOutputIdentifier, NSToolbarCustomizeToolbarItemIdentifier,+               DebugOutputIdentifier, ToggleDrawerIdentifier, NSToolbarCustomizeToolbarItemIdentifier,                NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier,-               NSToolbarSeparatorItemIdentifier,ToggleDrawerIdentifier, nil];+               NSToolbarSeparatorItemIdentifier, nil]; }  - (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem {     // Optional method:  This message is sent to us since we are the target of some toolbar item actions      BOOL enable = NO;-    if ([[toolbarItem itemIdentifier] isEqual: ToggleDrawerIdentifier]) {-               enable = YES;-       }-       if ([[toolbarItem itemIdentifier] isEqual: StartEncodingIdentifier]) {-               enable = startButtonEnabled;-               if(stopOrStart) {-                       [toolbarItem setImage: [NSImage imageNamed: @"Stop"]];-                       [toolbarItem setLabel: @"Cancel"];-                       [toolbarItem setPaletteLabel: @"Cancel"];-                       [toolbarItem setToolTip: @"Cancel Encoding"];-               }-               else {-                       [toolbarItem setImage: [NSImage imageNamed: @"Play"]];-                       [toolbarItem setLabel: @"Start"];-                       [toolbarItem setPaletteLabel: @"Start Encoding"];-                       [toolbarItem setToolTip: @"Start Encoding"];-               }+    if (fHandle && HBState != 0) { -       }-       if ([[toolbarItem itemIdentifier] isEqual: PauseEncodingIdentifier]) {-               enable = pauseButtonEnabled;-               if(resumeOrPause) {-                       [toolbarItem setImage: [NSImage imageNamed: @"Play"]];-                       [toolbarItem setLabel: @"Resume"];-                       [toolbarItem setPaletteLabel: @"Resume Encoding"];-                       [toolbarItem setToolTip: @"Resume Encoding"];+               if ([[toolbarItem itemIdentifier] isEqual: StartEncodingIdentifier]) {+                       enable = YES;+                       if (HBState == HB_STATE_WORKING && [[toolbarItem label] isEqualToString:@"Start"]) {+                               [toolbarItem setImage: [NSImage imageNamed: @"Stop"]];+                               [toolbarItem setLabel: @"Cancel"];+                               [toolbarItem setPaletteLabel: @"Cancel"];+                               [toolbarItem setToolTip: @"Cancel Encoding"];+                       }+                       else if (HBState == HB_STATE_WORKDONE && [[toolbarItem label] isEqualToString:@"Cancel"]) {+                               [toolbarItem setImage: [NSImage imageNamed: @"Play"]];+                               [toolbarItem setLabel: @"Start"];+                               [toolbarItem setPaletteLabel: @"Start Encoding"];+                               [toolbarItem setToolTip: @"Start Encoding"];++                       }                }-               else {-                       [toolbarItem setImage: [NSImage imageNamed: @"Pause"]];-                       [toolbarItem setLabel: @"Pause"];-                       [toolbarItem setPaletteLabel: @"Pause Encoding"];-                       [toolbarItem setToolTip: @"Pause Encoding"];+               if ([[toolbarItem itemIdentifier] isEqual: PauseEncodingIdentifier]) {+                       if (HBState == HB_STATE_WORKING) {+                               [toolbarItem setImage: [NSImage imageNamed: @"Pause"]];+                               [toolbarItem setLabel: @"Pause"];+                               [toolbarItem setPaletteLabel: @"Pause Encoding"];+                               [toolbarItem setToolTip: @"Pause Encoding"];+                               enable =YES;+                       }+                       else if (HBState == HB_STATE_PAUSED) {+                               [toolbarItem setImage: [NSImage imageNamed: @"Play"]];+                               [toolbarItem setLabel: @"Resume"];+                               [toolbarItem setPaletteLabel: @"Resume Encoding"];+                               [toolbarItem setToolTip: @"Resume Encoding"];+                               enable = YES;+                       }                }++               if ([[toolbarItem itemIdentifier] isEqual: AddToQueueIdentifier])+                       enable = YES;        }-       if ([[toolbarItem itemIdentifier] isEqual: DebugOutputIdentifier]) {+       if ([[toolbarItem itemIdentifier] isEqual: ShowQueueIdentifier])+                       enable = YES;+       if ([[toolbarItem itemIdentifier] isEqual: DebugOutputIdentifier])                enable = YES;-       }-       if ([[toolbarItem itemIdentifier] isEqual: ShowQueueIdentifier]) {+       if ([[toolbarItem itemIdentifier] isEqual: ToggleDrawerIdentifier])                enable = YES;-       }-       if ([[toolbarItem itemIdentifier] isEqual: AddToQueueIdentifier]) {-               enable = AddToQueueButtonEnabled;-       }     return enable; } @@ -615,8 +587,7 @@      hb_state_t s;     hb_get_state( fHandle, &s );--+     switch( s.state )     {         case HB_STATE_IDLE:@@ -663,10 +634,7 @@             [self UpdateDockIcon: progress_total];              /* new toolbar controls */-            pauseButtonEnabled = YES;-            resumeOrPause = NO;-            startButtonEnabled = YES;-            stopOrStart = YES;+                       HBState = s.state;              break;         }@@ -693,6 +661,8 @@             //[fPauseButton setTitle: _( @"Pause" )];             //[fRipButton setEnabled: YES];                        // [fRipButton setTitle: _( @"Cancel" )];++                       HBState = s.state;             break;         } #undef p@@ -704,10 +674,9 @@             //[fRipButton setEnabled: YES];             //[fRipButton setTitle: _( @"Cancel" )];                        /* new toolbar controls */-            pauseButtonEnabled = YES;-            resumeOrPause = YES;-            startButtonEnabled = YES;-            stopOrStart = YES;++                       HBState = s.state;+             break;          case HB_STATE_WORKDONE:@@ -725,10 +694,9 @@                        // [fRipButton setEnabled: YES];                        // [fRipButton setTitle: _( @"Start" )];                        /* new toolbar controls */-            pauseButtonEnabled = NO;-            resumeOrPause = NO;-            startButtonEnabled = YES;-            stopOrStart = NO;++                       HBState = s.state;+                        NSRect frame = [fWindow frame];                        if (frame.size.width <= 591)                                frame.size.width = 591;@@ -908,11 +876,8 @@             [self EnableUI: YES];             //[fPauseButton setEnabled: NO];             //[fRipButton   setEnabled: YES];-               startButtonEnabled = YES;-       stopOrStart = NO;-       AddToQueueButtonEnabled = YES;-       pauseButtonEnabled = NO;-       resumeOrPause = NO;+          +                       HBState = HB_STATE_IDLE; }  @@ -1000,16 +965,14 @@  - (IBAction) OpenMainWindow: (id) sender {-[fWindow  makeKeyAndOrderFront:nil];-[fWindow setReleasedWhenClosed: YES];+       [fWindow  makeKeyAndOrderFront:nil];+       [fWindow setReleasedWhenClosed: YES]; } - (BOOL) windowShouldClose: (id) sender {         /* See if we are currently running */-       hb_state_t s;-       hb_get_state( fHandle, &s );-       if ( s.state ==  HB_STATE_WORKING)+       if (HBState ==  HB_STATE_WORKING || HBState == HB_STATE_PAUSED)        {           /* If we are running, leave in memory when closing main window */           [fWindow setReleasedWhenClosed: NO];@@ -1025,6 +988,12 @@  } +- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender {+       /* Open the main window if the dock icon is clicked and there is no open window */+       [fWindow  makeKeyAndOrderFront:nil];+       [fWindow setReleasedWhenClosed: YES];+}+ - (IBAction) VideoMatrixChanged: (id) sender; {     bool target, bitrate, quality;@@ -1332,7 +1301,7 @@ {     /* Rip or Cancel ? */  //   if( [[fRipButton title] isEqualToString: _( @"Cancel" )] )-    if(stopOrStart)+    if(HBState == HB_STATE_WORKING || HBState == HB_STATE_PAUSED)        {         [self Cancel: sender];         return;@@ -1410,8 +1379,6 @@        //[self EnableUI: NO];        // [fPauseButton setEnabled: NO];        // [fRipButton   setEnabled: NO];-       pauseButtonEnabled = NO;-       startButtonEnabled = NO;        NSRect frame = [fWindow frame];     if (frame.size.width <= 591)         frame.size.width = 591;@@ -1436,8 +1403,6 @@         hb_stop( fHandle );        // [fPauseButton setEnabled: NO];        // [fRipButton   setEnabled: NO];-          pauseButtonEnabled = NO;-       startButtonEnabled = NO;                /*set the fEncodeState State */             fEncodeState = 2;     }@@ -1447,18 +1412,16 @@ {    // [fPauseButton setEnabled: NO];    // [fRipButton   setEnabled: NO];-    // if( [[fPauseButton title] isEqualToString: _( @"Resume" )] )-          pauseButtonEnabled = NO;-       startButtonEnabled = NO; -    if(resumeOrPause)+    if(HBState == HB_STATE_PAUSED)     {         hb_resume( fHandle );     }     else     {         hb_pause( fHandle );+               HBState = HB_STATE_PAUSED;     } } Index: macosx/Controller.h===================================================================--- macosx/Controller.h (revision 741)+++ macosx/Controller.h (working copy)@@ -208,11 +208,7 @@        NSString                      * currentSource;        HBOutputPanelController *outputPanel; -       BOOL                         startButtonEnabled;-    BOOL                         pauseButtonEnabled;-    BOOL                         AddToQueueButtonEnabled;-       BOOL                         stopOrStart;-       BOOL                         resumeOrPause;+       int                                                      HBState; }  - (void)     TranslateStrings;