]> granicus.if.org Git - handbrake/commitdiff
MacGui: improve localized progress number formats, use a monospace string to avoid...
authorDamiano Galassi <damiog@gmail.com>
Thu, 28 Mar 2019 11:22:29 +0000 (12:22 +0100)
committerDamiano Galassi <damiog@gmail.com>
Thu, 28 Mar 2019 11:22:29 +0000 (12:22 +0100)
macosx/Base.lproj/Video.xib
macosx/HBController.h
macosx/HBController.m
macosx/HBFilters+UIAdditions.m
macosx/HBQueueController.m
macosx/HBStateFormatter.m

index 28a7734ea7866f990a47d7c5cbeeae603f74a576..529bf0a0fe8352af1102f8920e94c08b79dee5a7 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.59" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.59"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -79,7 +79,7 @@
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="50" translatesAutoresizingMaskIntoConstraints="NO" id="Pai-3Q-Gs3">
                     <rect key="frame" x="521" y="282" width="11" height="14"/>
                     <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="left" title="0" id="bvD-W7-O0N">
-                        <numberFormatter key="formatter" formatterBehavior="default10_4" localizesFormat="NO" numberStyle="decimal" minimumIntegerDigits="1" maximumIntegerDigits="309" maximumFractionDigits="3" id="efn-Vj-Jp7"/>
+                        <numberFormatter key="formatter" formatterBehavior="default10_4" numberStyle="decimal" minimumIntegerDigits="1" maximumIntegerDigits="2000000000" maximumFractionDigits="3" id="wYW-16-bWA"/>
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
index 75494f1a0aa899ce2a39a561e16812050095cad9..8fb6cfbc7069e18b1294b382e9a5f1a6d9221d11 100644 (file)
@@ -28,7 +28,7 @@
 - (IBAction)addToQueue:(id)sender;
 - (IBAction)addAllTitlesToQueue:(id)sender;
 
-- (void)setQueueInfo:(NSString *)info progress:(double)progress hidden:(BOOL)hidden;
+- (void)setQueueInfo:(NSAttributedString *)info progress:(double)progress hidden:(BOOL)hidden;
 
 - (IBAction)rip:(id)sender;
 - (IBAction)pause:(id)sender;
index af4d88b452647b1070486fd9eef3dd6cb4f6c381..dd69c6834f622538e68885f1482c8a8a596e28c5 100644 (file)
@@ -130,7 +130,7 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
 @property (nonatomic) BOOL visible;
 
 /// Queue progress info
-@property (nonatomic, copy) NSString *progressInfo;
+@property (nonatomic, copy) NSAttributedString *progressInfo;
 @property (nonatomic) double progress;
 
 @property (nonatomic, readwrite) NSColor *labelColor;
@@ -177,7 +177,7 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
         _scanSpecificTitleIdx = 1;
 
         // Progress
-        _progressInfo = @"";
+        _progressInfo = [[NSAttributedString alloc] initWithString:@""];
 
         // Check to see if the last destination has been set, use if so, if not, use Movies
 #ifdef __SANDBOX_ENABLED__
@@ -1001,11 +1001,11 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
 
 - (void)updateProgress
 {
-    fStatusField.stringValue = self.progressInfo;
+    fStatusField.attributedStringValue = self.progressInfo;
     fRipIndicator.doubleValue = self.progress;
 }
 
-- (void)setQueueInfo:(NSString *)info progress:(double)progress hidden:(BOOL)hidden
+- (void)setQueueInfo:(NSAttributedString *)info progress:(double)progress hidden:(BOOL)hidden
 {
     self.progressInfo = info;
     self.progress = progress;
index 461073cd6021926c87f51701305b4bf3b4ad854e..9fd9115f49c16f3c7d1b9d72e1896b98170ffca1 100644 (file)
@@ -358,7 +358,7 @@ static NSDictionary *sharpenTypesDict = nil;
     {
         sharpenTypesDict = @{HBKitLocalizedString(@"Off", @"HBFilters -> filter display name"):      @"off",
                              HBKitLocalizedString(@"Unsharp", @"HBFilters -> filter display name"):  @"unsharp",
-                             HBKitLocalizedString(@"Lapsharp", @"HBFilters -> filter display name"): @"lapsharp"};;
+                             HBKitLocalizedString(@"Lapsharp", @"HBFilters -> filter display name"): @"lapsharp"};
     }
     return sharpenTypesDict;
 }
index f42067f6c84f2d7aefc1721aa7456e998e8ebedd..bd8564dedabe29ee8f0c93a15ba6e554d6c04fe1 100644 (file)
@@ -40,7 +40,8 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
 @property (nonatomic) BOOL visible;
 
 // Progress
-@property (nonatomic, strong) NSString *progressInfo;
+@property (nonatomic, strong) NSAttributedString *progressInfo;
+@property (nonatomic, strong) NSDictionary *monospacedAttr;
 
 @property (nonatomic, readonly) HBDockTile *dockTile;
 @property (nonatomic, readwrite) double dockIconProgress;
@@ -93,7 +94,8 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
         _core.automaticallyPreventSleep = NO;
 
         // Progress
-        _progressInfo = @"";
+        _monospacedAttr = @{NSFontAttributeName: [NSFont monospacedDigitSystemFontOfSize:[NSFont smallSystemFontSize] weight:NSFontWeightRegular]};
+        _progressInfo = [[NSAttributedString alloc] initWithString:@""];
 
         // Load the queue from disk.
         _items = [[HBDistributedArray alloc] initWithURL:queueURL class:[HBQueueItem class]];
@@ -582,7 +584,7 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
     if ([self.window occlusionState] & NSWindowOcclusionStateVisible)
     {
         self.visible = YES;
-        self.progressTextField.stringValue = self.progressInfo;
+        self.progressTextField.attributedStringValue = self.progressInfo;
     }
     else
     {
@@ -592,12 +594,12 @@ static void *HBControllerQueueCoreContext = &HBControllerQueueCoreContext;
 
 - (void)updateProgress:(NSString *)info progress:(double)progress hidden:(BOOL)hidden
 {
-    self.progressInfo = info;
+    self.progressInfo = [[NSAttributedString alloc] initWithString:info attributes:_monospacedAttr];
     if (self.visible)
     {
-        self.progressTextField.stringValue = info;
+        self.progressTextField.attributedStringValue = _progressInfo;
     }
-    [self.controller setQueueInfo:info progress:progress hidden:hidden];
+    [self.controller setQueueInfo:_progressInfo progress:progress hidden:hidden];
 }
 
 /**
index 584be2537c3aad99077245330a7cb6a707752333..90919e84f0c28fc69ffc1bb1f5ebe57e33f7522b 100644 (file)
 
         case HB_STATE_SEARCHING:
         {
-            [string appendFormat:
-             HBKitLocalizedString(@"Searching for start point:  %.2f %%", @"HBStateFormatter -> search pass display name"),
+            NSString *desc = [NSString localizedStringWithFormat:HBKitLocalizedString(@"Searching for start point:  %.2f %%", @"HBStateFormatter -> search pass display name"),
              100.0 * p.progress];
+            [string appendString:desc];
 
             if (p.seconds > -1)
             {
-                [string appendFormat:HBKitLocalizedString(@" (ETA %02d:%02d:%02d)", @"HBStateFormatter -> search time format"), p.hours, p.minutes, p.seconds];
+                NSString *eta = [NSString stringWithFormat:@"%02d:%02d:%02d", p.hours, p.minutes, p.seconds];
+                [string appendFormat:HBKitLocalizedString(@" (ETA %@)", @"HBStateFormatter -> search time format"), eta];
             }
 
             break;
             {
                 if (p.pass_id == HB_PASS_SUBTITLE)
                 {
-                    [string appendFormat:
-                     HBKitLocalizedString(@"Pass %d %@ of %d, %.2f %%", @"HBStateFormatter -> work pass number format"),
-                     p.pass,
-                     HBKitLocalizedString(@"(subtitle scan)", @"HBStateFormatter -> work pass type format"),
-                     p.pass_count, 100.0 * p.progress];
+                    NSString *desc = [NSString localizedStringWithFormat:HBKitLocalizedString(@"Pass %d %@ of %d, %.2f %%", @"HBStateFormatter -> work pass number format"),
+                                      p.pass,
+                                      HBKitLocalizedString(@"(subtitle scan)", @"HBStateFormatter -> work pass type format"),
+                                      p.pass_count, 100.0 * p.progress];
+                    [string appendString:desc];
                 }
                 else
                 {
-                    [string appendFormat:
-                     HBKitLocalizedString(@"Pass %d of %d, %.2f %%", @"HBStateFormatter -> work pass number format"),
-                     p.pass, p.pass_count, 100.0 * p.progress];
+                    NSString *desc = [NSString localizedStringWithFormat:HBKitLocalizedString(@"Pass %d of %d, %.2f %%", @"HBStateFormatter -> work pass number format"),
+                                      p.pass, p.pass_count, 100.0 * p.progress];
+                    [string appendString:desc];
                 }
             }
 
             if (p.seconds > -1)
             {
+                NSString *eta = [NSString stringWithFormat:@"%02d:%02d:%02d", p.hours, p.minutes, p.seconds];
+
                 if (p.rate_cur > 0.0)
                 {
-                    [string appendFormat:
-                     HBKitLocalizedString(@" (%.2f fps, avg %.2f fps, ETA %02d:%02d:%02d)", @"HBStateFormatter -> work time format"),
-                     p.rate_cur, p.rate_avg, p.hours, p.minutes, p.seconds];
+                     NSString *desc = [NSString localizedStringWithFormat:HBKitLocalizedString(@" (%.2f fps, avg %.2f fps, ETA %@)", @"HBStateFormatter -> work time format"),
+                                       p.rate_cur, p.rate_avg, eta];
+                    [string appendString:desc];
+
                 }
                 else
                 {
-                    [string appendFormat:
-                     HBKitLocalizedString(@" (ETA %02d:%02d:%02d)", @"HBStateFormatter -> work time format"),
-                     p.hours, p.minutes, p.seconds];
+                    NSString *desc = [NSString localizedStringWithFormat:HBKitLocalizedString(@" (ETA %@)", @"HBStateFormatter -> work time format"),
+                                      eta];
+                    [string appendString:desc];
                 }
             }