OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / macosx / HBQueueController.h
index 4f7cd3f..1afd58f 100644 (file)
@@ -8,12 +8,27 @@
 #include <Cocoa/Cocoa.h>
 
 #include "hb.h"
+@class HBController;
+
+// HB_OUTLINE_QUEUE turns on an outline view for the queue.
+#define HB_OUTLINE_QUEUE 1
+#define HB_OUTLINE_METRIC_CONTROLS 0    // for tweaking the outline cell spacings
+
 
 @interface HBQueueController : NSObject
 {
     hb_handle_t                  *fHandle;
+    HBController                 *fHBController;
     NSViewAnimation              *fAnimation;
     BOOL                         fCurrentJobHidden;  // YES when fCurrentJobPane has been shifted out of view (see showCurrentJobPane)
+    BOOL                         fShowsJobsAsGroups;
+    BOOL                         fShowsDetail;
+#if HB_OUTLINE_QUEUE
+    NSMutableArray               *fEncodes;   // hblib's job list organized in a hierarchy. Contents are NSArrays of HBJobs.
+    NSMutableIndexSet            *fSavedExpandedItems;
+    unsigned int                 fSavedSelectedItem;
+    hb_job_t                     *fLastKnownCurrentJob;
+#endif
     
     //  +---------------fQueueWindow----------------+
     //  |+-------------fCurrentJobPane-------------+|
 
     // fCurrentJobPane - visible only when processing a job
     IBOutlet NSView              *fCurrentJobPane;
+    IBOutlet NSImageView         *fJobIconView;
     IBOutlet NSTextField         *fJobDescTextField;
     IBOutlet NSProgressIndicator *fProgressBar;
-    IBOutlet NSTextField         *fProgressStatus;
-    IBOutlet NSTextField         *fProgressTimeRemaining;
+    IBOutlet NSTextField         *fProgressTextField;
     
     // fQueuePane - always visible; fills entire window when fCurrentJobPane is hidden
     IBOutlet NSView              *fQueuePane;
+#if HB_OUTLINE_QUEUE
+    IBOutlet NSOutlineView       *fOutlineView;
+#else
     IBOutlet NSTableView         *fTaskView;
-    IBOutlet NSButton            *fDetailCheckbox;
+#endif
     IBOutlet NSTextField         *fQueueCountField;
-    IBOutlet NSButton            *fStartPauseButton;
+#if HB_OUTLINE_METRIC_CONTROLS
+    IBOutlet NSSlider            *fIndentation; // debug
+    IBOutlet NSSlider            *fSpacing;     // debug
+#endif
     
 }
 
 - (void)setHandle: (hb_handle_t *)handle;
+- (void)setHBController: (HBController *)controller;
 - (void)updateQueueUI;
 - (void)updateCurrentJobUI;
+
+- (IBAction)showQueueWindow: (id)sender;
 - (IBAction)removeSelectedJob: (id)sender;
 - (IBAction)cancelCurrentJob: (id)sender;
-- (IBAction)detailChanged: (id)sender;
-- (IBAction)showQueueWindow: (id)sender;
-- (IBAction)toggleStartPause: (id)sender;
+- (IBAction)showDetail: (id)sender;
+- (IBAction)hideDetail: (id)sender;
+- (IBAction)showJobsAsGroups: (id)sender;
+- (IBAction)showJobsAsPasses: (id)sender;
+- (IBAction)toggleStartCancel: (id)sender;
+- (IBAction)togglePauseResume: (id)sender;
+
+#if HB_OUTLINE_METRIC_CONTROLS
+- (IBAction)imageSpacingChanged: (id)sender;
+- (IBAction)indentChanged: (id)sender;
+#endif
 
 @end