Revision: 15558
http://sourceforge.net/p/skim-app/code/15558
Author: hofman
Date: 2025-06-28 16:55:23 +0000 (Sat, 28 Jun 2025)
Log Message:
-----------
Display summary of display settings in preferences
Modified Paths:
--------------
trunk/Base.lproj/GeneralPreferences.xib
trunk/NSValueTransformer_SKExtensions.h
trunk/NSValueTransformer_SKExtensions.m
Modified: trunk/Base.lproj/GeneralPreferences.xib
===================================================================
--- trunk/Base.lproj/GeneralPreferences.xib 2025-06-28 09:21:29 UTC (rev
15557)
+++ trunk/Base.lproj/GeneralPreferences.xib 2025-06-28 16:55:23 UTC (rev
15558)
@@ -15,7 +15,7 @@
<customObject id="-1" userLabel="First Responder"
customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
- <rect key="frame" x="0.0" y="0.0" width="340" height="451"/>
+ <rect key="frame" x="0.0" y="0.0" width="412" height="451"/>
<subviews>
<button toolTip="Open the contents pane only when the file has
a table of contents" horizontalHuggingPriority="252"
verticalHuggingPriority="750" imageHugsTitle="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="3">
<rect key="frame" x="18" y="317" width="252" height="18"/>
@@ -38,10 +38,10 @@
</connections>
</button>
<box verticalHuggingPriority="750" boxType="separator"
translatesAutoresizingMaskIntoConstraints="NO" id="5">
- <rect key="frame" x="12" y="372" width="316" height="5"/>
+ <rect key="frame" x="12" y="372" width="388" height="5"/>
</box>
<box verticalHuggingPriority="750" boxType="separator"
translatesAutoresizingMaskIntoConstraints="NO" id="6">
- <rect key="frame" x="12" y="91" width="316" height="5"/>
+ <rect key="frame" x="12" y="91" width="388" height="5"/>
</box>
<textField horizontalHuggingPriority="252"
verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO"
id="7" userLabel="Check for Skim updates:">
<rect key="frame" x="18" y="109" width="153" height="16"/>
@@ -52,7 +52,7 @@
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" boxType="separator"
translatesAutoresizingMaskIntoConstraints="NO" id="8">
- <rect key="frame" x="12" y="136" width="316" height="5"/>
+ <rect key="frame" x="12" y="136" width="388" height="5"/>
</box>
<popUpButton horizontalHuggingPriority="252"
verticalHuggingPriority="750" imageHugsTitle="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="9">
<rect key="frame" x="174" y="102" width="88" height="25"/>
@@ -85,7 +85,7 @@
</connections>
</button>
<box verticalHuggingPriority="750" boxType="separator"
translatesAutoresizingMaskIntoConstraints="NO" id="11">
- <rect key="frame" x="12" y="199" width="316" height="5"/>
+ <rect key="frame" x="12" y="199" width="388" height="5"/>
</box>
<button toolTip="Automatically save a Skim notes file with the
same file name whenever you save a PDF file" horizontalHuggingPriority="252"
verticalHuggingPriority="750" imageHugsTitle="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="12">
<rect key="frame" x="18" y="150" width="265" height="18"/>
@@ -98,7 +98,7 @@
</connections>
</button>
<button toolTip="Choose this to use different PDF view
settings in full screen mode and normal mode" horizontalHuggingPriority="252"
verticalHuggingPriority="750" tag="1" imageHugsTitle="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="13" userLabel="Full Screen
Button">
- <rect key="frame" x="169" y="207" width="68" height="32"/>
+ <rect key="frame" x="204" y="207" width="68" height="32"/>
<buttonCell key="cell" type="push" title="Edit…"
bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="37">
<behavior key="behavior" pushIn="YES"
lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -108,7 +108,7 @@
</connections>
</button>
<button toolTip="Set the initial PDF view settings for newly
opened documents" horizontalHuggingPriority="252" verticalHuggingPriority="750"
imageHugsTitle="YES" translatesAutoresizingMaskIntoConstraints="NO" id="14"
userLabel="Normal Button">
- <rect key="frame" x="169" y="239" width="68" height="32"/>
+ <rect key="frame" x="204" y="239" width="68" height="32"/>
<buttonCell key="cell" type="push" title="Edit…"
bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="36">
<behavior key="behavior" pushIn="YES"
lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -145,7 +145,7 @@
</connections>
</button>
<box verticalHuggingPriority="750" boxType="separator"
translatesAutoresizingMaskIntoConstraints="NO" id="19">
- <rect key="frame" x="12" y="50" width="316" height="5"/>
+ <rect key="frame" x="12" y="50" width="388" height="5"/>
</box>
<textField horizontalHuggingPriority="252"
verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO"
id="20" userLabel="Save passwords in Keychain:">
<rect key="frame" x="18" y="23" width="178" height="16"/>
@@ -234,15 +234,75 @@
<color key="backgroundColor" name="controlColor"
catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
+ <imageView horizontalHuggingPriority="251"
verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO"
id="krj-lQ-Yls">
+ <rect key="frame" x="184" y="250" width="19" height="15"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="15"
id="Fco-v2-LYc"/>
+ <constraint firstAttribute="width" constant="19"
id="ZuU-AQ-CjZ"/>
+ </constraints>
+ <imageCell key="cell" refusesFirstResponder="YES"
alignment="left" id="b6u-6B-WAW"/>
+ <connections>
+ <binding destination="58" name="value"
keyPath="values.SKDefaultPDFDisplaySettings" id="Dcp-T4-6yk">
+ <dictionary key="options">
+ <string
key="NSValueTransformerName">SKDisplayModeImage</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </imageView>
+ <textField horizontalHuggingPriority="251"
verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO"
id="fiY-dG-n4g">
+ <rect key="frame" x="174" y="249" width="4" height="16"/>
+ <textFieldCell key="cell" lineBreakMode="clipping"
id="w0W-AB-7oK">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="labelColor"
catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor"
name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="58" name="value"
keyPath="values.SKDefaultPDFDisplaySettings" id="xBf-SL-3gZ">
+ <dictionary key="options">
+ <string
key="NSValueTransformerName">SKScaleFactor</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </textField>
+ <textField horizontalHuggingPriority="251"
verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO"
id="hdM-1x-c8a">
+ <rect key="frame" x="174" y="217" width="4" height="16"/>
+ <textFieldCell key="cell" lineBreakMode="clipping"
id="JUa-v7-AnV">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="labelColor"
catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor"
name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="58" name="value"
keyPath="values.SKDefaultFullScreenPDFDisplaySettings" id="4vV-z6-pim">
+ <dictionary key="options">
+ <string
key="NSValueTransformerName">SKScaleFactor</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </textField>
+ <imageView horizontalHuggingPriority="251"
verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO"
id="C1M-te-Zg5">
+ <rect key="frame" x="184" y="218" width="19" height="15"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="19"
id="9Id-kP-ZDw"/>
+ <constraint firstAttribute="height" constant="15"
id="GRN-4I-yh1"/>
+ </constraints>
+ <imageCell key="cell" refusesFirstResponder="YES"
alignment="left" id="Mw7-rW-fRV"/>
+ <connections>
+ <binding destination="58" name="value"
keyPath="values.SKDefaultFullScreenPDFDisplaySettings" id="AAS-In-clw">
+ <dictionary key="options">
+ <string
key="NSValueTransformerName">SKDisplayModeImage</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </imageView>
</subviews>
<constraints>
<constraint firstItem="11" firstAttribute="top"
secondItem="13" secondAttribute="bottom" constant="12" id="0FC-yH-TEU"/>
<constraint firstItem="10" firstAttribute="top" secondItem="3"
secondAttribute="bottom" constant="6" symbolic="YES" id="0kE-Qf-IKS"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="18" secondAttribute="trailing"
constant="20" symbolic="YES" id="1dC-9R-56p"/>
- <constraint firstItem="14" firstAttribute="leading"
secondItem="15" secondAttribute="trailing" constant="8" symbolic="YES"
id="1pJ-ZZ-JaA"/>
<constraint firstItem="YMN-MA-BZc" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="20r-lI-K3p"/>
<constraint firstItem="f9u-Df-2s9" firstAttribute="leading"
relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading"
constant="20" symbolic="YES" id="32P-dV-Eex"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="13" secondAttribute="trailing"
constant="20" symbolic="YES" id="3k2-tt-YTb"/>
+ <constraint firstItem="14" firstAttribute="leading"
secondItem="krj-lQ-Yls" secondAttribute="trailing" constant="8" symbolic="YES"
id="4l7-ly-FGP"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="hos-Of-u1Q"
secondAttribute="trailing" constant="20" symbolic="YES" id="6l3-zE-gSM"/>
<constraint firstItem="3" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="7ep-6b-PdA"/>
<constraint firstItem="14" firstAttribute="leading"
secondItem="13" secondAttribute="leading" id="8iP-uW-VDS"/>
@@ -249,8 +309,10 @@
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="9" secondAttribute="trailing"
constant="20" symbolic="YES" id="9zb-Rk-CmA"/>
<constraint firstItem="lVN-xI-ijg" firstAttribute="top"
secondItem="hos-Of-u1Q" secondAttribute="bottom" constant="8" symbolic="YES"
id="A23-MT-CLp"/>
<constraint firstItem="19" firstAttribute="leading"
secondItem="5" secondAttribute="leading" id="CG0-Ds-aXI"/>
+ <constraint firstItem="C1M-te-Zg5" firstAttribute="centerY"
secondItem="f9u-Df-2s9" secondAttribute="centerY" id="CYv-P4-hyq"/>
<constraint firstItem="3" firstAttribute="top"
secondItem="ClK-rQ-vsN" secondAttribute="bottom" constant="8" symbolic="YES"
id="Dcc-qq-NoQ"/>
<constraint firstItem="15" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="Doc-wp-yxY"/>
+ <constraint firstItem="hdM-1x-c8a"
firstAttribute="firstBaseline" secondItem="f9u-Df-2s9"
secondAttribute="firstBaseline" id="EVP-yw-5EN"/>
<constraint firstItem="5" firstAttribute="top"
secondItem="lVN-xI-ijg" secondAttribute="bottom" constant="12" id="EXD-Ez-Qk4"/>
<constraint firstItem="6" firstAttribute="leading"
secondItem="5" secondAttribute="leading" id="GHw-r2-IJp"/>
<constraint firstItem="YMN-MA-BZc" firstAttribute="top"
secondItem="11" secondAttribute="bottom" constant="12" id="GZE-6M-v8w"/>
@@ -263,13 +325,17 @@
<constraint firstItem="f9u-Df-2s9" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="Kj1-8n-wxA"/>
<constraint firstItem="ClK-rQ-vsN" firstAttribute="top"
secondItem="5" secondAttribute="bottom" constant="12" id="Lpu-p7-gyl"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="14" secondAttribute="trailing"
constant="20" symbolic="YES" id="Lyc-Te-X32"/>
+ <constraint firstItem="fiY-dG-n4g" firstAttribute="leading"
secondItem="15" secondAttribute="trailing" constant="8" symbolic="YES"
id="Mem-6q-ZD4"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="15" secondAttribute="trailing"
constant="20" symbolic="YES" id="Nkq-Ax-nJg"/>
<constraint firstItem="lVN-xI-ijg" firstAttribute="leading"
secondItem="1" secondAttribute="leading" constant="32" id="Oje-sg-FbU"/>
<constraint firstItem="15" firstAttribute="leading"
relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading"
constant="20" symbolic="YES" id="P2b-oG-3nq"/>
+ <constraint firstItem="hdM-1x-c8a" firstAttribute="leading"
secondItem="f9u-Df-2s9" secondAttribute="trailing" constant="8" symbolic="YES"
id="PtE-WF-LmK"/>
<constraint firstItem="19" firstAttribute="top" secondItem="4"
secondAttribute="bottom" constant="12" id="Q1S-8k-zDI"/>
<constraint firstItem="8" firstAttribute="top" secondItem="12"
secondAttribute="bottom" constant="12" id="QXC-51-fr8"/>
<constraint firstAttribute="trailing" secondItem="duc-5M-yv6"
secondAttribute="trailing" priority="251" constant="20" symbolic="YES"
id="QpV-2B-8gq"/>
+ <constraint firstItem="13" firstAttribute="leading"
secondItem="C1M-te-Zg5" secondAttribute="trailing" constant="8" symbolic="YES"
id="SGr-qX-I5n"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="3" secondAttribute="trailing"
constant="20" symbolic="YES" id="Sbi-6D-vkH"/>
+ <constraint firstItem="15" firstAttribute="centerY"
secondItem="krj-lQ-Yls" secondAttribute="centerY" id="Scn-9T-dlB"/>
<constraint firstItem="19" firstAttribute="trailing"
secondItem="5" secondAttribute="trailing" id="TSo-3c-YFG"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="4" secondAttribute="trailing"
constant="20" symbolic="YES" id="U8O-JV-nun"/>
<constraint firstItem="9" firstAttribute="leading"
secondItem="7" secondAttribute="trailing" constant="8" symbolic="YES"
id="UHb-CR-xG0"/>
@@ -283,6 +349,8 @@
<constraint firstItem="12" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="bLu-jp-YjC"/>
<constraint firstItem="hos-Of-u1Q" firstAttribute="top"
secondItem="1" secondAttribute="top" constant="20" symbolic="YES"
id="bPi-A8-Wp7"/>
<constraint firstItem="18" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="dt2-ti-H14"/>
+ <constraint firstItem="C1M-te-Zg5" firstAttribute="leading"
secondItem="hdM-1x-c8a" secondAttribute="trailing" constant="8" symbolic="YES"
id="egg-kN-Twa"/>
+ <constraint firstItem="fiY-dG-n4g" firstAttribute="leading"
secondItem="hdM-1x-c8a" secondAttribute="leading" id="fbM-jI-97E"/>
<constraint firstItem="11" firstAttribute="trailing"
secondItem="5" secondAttribute="trailing" id="fmK-oo-I6v"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="20" secondAttribute="trailing"
constant="20" symbolic="YES" id="g4n-FP-2OB"/>
<constraint firstItem="13" firstAttribute="width"
secondItem="14" secondAttribute="width" id="iDb-LY-iDA"/>
@@ -295,14 +363,15 @@
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="duc-5M-yv6"
secondAttribute="trailing" constant="20" symbolic="YES" id="ldM-OS-AyE"/>
<constraint firstItem="18" firstAttribute="top"
secondItem="10" secondAttribute="bottom" constant="6" symbolic="YES"
id="n6b-L7-vO4"/>
<constraint firstItem="13" firstAttribute="top"
secondItem="14" secondAttribute="bottom" constant="12" symbolic="YES"
id="npT-XL-y6y"/>
+ <constraint firstItem="krj-lQ-Yls" firstAttribute="leading"
secondItem="fiY-dG-n4g" secondAttribute="trailing" constant="8" symbolic="YES"
id="obG-T7-WAj"/>
<constraint firstItem="12" firstAttribute="top"
secondItem="YMN-MA-BZc" secondAttribute="bottom" constant="6" symbolic="YES"
id="pRs-P8-idK"/>
<constraint firstAttribute="bottom" secondItem="duc-5M-yv6"
secondAttribute="bottom" constant="20" symbolic="YES" id="prN-jO-7Ys"/>
- <constraint firstItem="13" firstAttribute="leading"
secondItem="f9u-Df-2s9" secondAttribute="trailing" constant="8" symbolic="YES"
id="qPH-G3-xAj"/>
<constraint firstItem="ClK-rQ-vsN"
firstAttribute="firstBaseline" secondItem="16" secondAttribute="firstBaseline"
id="rVj-ct-mRq"/>
<constraint firstItem="5" firstAttribute="leading"
secondItem="1" secondAttribute="leading" constant="12" id="rkP-h4-vkE"/>
<constraint firstItem="duc-5M-yv6" firstAttribute="top"
secondItem="19" secondAttribute="bottom" constant="12" id="rxL-uA-y9K"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="12" secondAttribute="trailing"
constant="20" symbolic="YES" id="sf3-2d-1Yx"/>
<constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="ClK-rQ-vsN"
secondAttribute="trailing" constant="20" symbolic="YES" id="t5G-XJ-g2V"/>
+ <constraint firstItem="fiY-dG-n4g"
firstAttribute="firstBaseline" secondItem="15" secondAttribute="firstBaseline"
id="twR-Yt-ajh"/>
<constraint firstAttribute="trailing" secondItem="5"
secondAttribute="trailing" constant="12" id="uYa-Mh-FS5"/>
<constraint firstItem="10" firstAttribute="leading"
secondItem="hos-Of-u1Q" secondAttribute="leading" id="vK9-EU-mar"/>
<constraint firstItem="13" firstAttribute="firstBaseline"
secondItem="f9u-Df-2s9" secondAttribute="firstBaseline" id="vRB-kQ-LI2"/>
@@ -309,7 +378,7 @@
<constraint firstItem="9" firstAttribute="top" secondItem="8"
secondAttribute="bottom" constant="12" id="wRZ-ah-TXh"/>
<constraint firstItem="9" firstAttribute="firstBaseline"
secondItem="7" secondAttribute="firstBaseline" id="xO9-QM-sbG"/>
</constraints>
- <point key="canvasLocation" x="139.5" y="154.5"/>
+ <point key="canvasLocation" x="139" y="154.5"/>
</customView>
<userDefaultsController representsSharedInstance="YES" id="58"/>
</objects>
Modified: trunk/NSValueTransformer_SKExtensions.h
===================================================================
--- trunk/NSValueTransformer_SKExtensions.h 2025-06-28 09:21:29 UTC (rev
15557)
+++ trunk/NSValueTransformer_SKExtensions.h 2025-06-28 16:55:23 UTC (rev
15558)
@@ -44,6 +44,8 @@
extern NSString *SKUnarchiveColorArrayTransformerName;
extern NSString *SKTypeImageTransformerName;
extern NSString *SKHasWindowImageTransformerName;
+extern NSString *SKDisplayModeImageTransformerName;
+extern NSString *SKScaleFactorTransformerName;
extern NSString *SKIsZeroTransformerName;
extern NSString *SKIsOneTransformerName;
extern NSString *SKIsTwoTransformerName;
Modified: trunk/NSValueTransformer_SKExtensions.m
===================================================================
--- trunk/NSValueTransformer_SKExtensions.m 2025-06-28 09:21:29 UTC (rev
15557)
+++ trunk/NSValueTransformer_SKExtensions.m 2025-06-28 16:55:23 UTC (rev
15558)
@@ -39,11 +39,14 @@
#import "NSValueTransformer_SKExtensions.h"
#import "NSImage_SKExtensions.h"
#import <SkimNotes/SkimNotes.h>
+#import <Quartz/Quartz.h>
NSString *SKUnarchiveColorTransformerName = @"SKUnarchiveColor";
NSString *SKUnarchiveColorArrayTransformerName = @"SKUnarchiveColorArray";
NSString *SKTypeImageTransformerName = @"SKTypeImage";
NSString *SKHasWindowImageTransformerName = @"SKHasWindowImage";
+NSString *SKDisplayModeImageTransformerName = @"SKDisplayModeImage";
+NSString *SKScaleFactorTransformerName = @"SKScaleFactor";
NSString *SKIsZeroTransformerName = @"SKIsZero";
NSString *SKIsOneTransformerName = @"SKIsOne";
NSString *SKIsTwoTransformerName = @"SKIsTwo";
@@ -68,6 +71,16 @@
#pragma mark -
+@interface SKDisplayModeImageTransformer : NSValueTransformer
+@end
+
+#pragma mark -
+
+@interface SKScaleFactorTransformer : NSValueTransformer
+@end
+
+#pragma mark -
+
@interface SKRadioTransformer : NSValueTransformer {
NSInteger targetValue;
}
@@ -83,6 +96,8 @@
[NSValueTransformer setValueTransformer:[[SKUnarchiveColorArrayTransformer
alloc] init] forName:SKUnarchiveColorArrayTransformerName];
[NSValueTransformer setValueTransformer:[[SKTypeImageTransformer alloc]
init] forName:SKTypeImageTransformerName];
[NSValueTransformer setValueTransformer:[[SKHasWindowImageTransformer
alloc] init] forName:SKHasWindowImageTransformerName];
+ [NSValueTransformer setValueTransformer:[[SKDisplayModeImageTransformer
alloc] init] forName:SKDisplayModeImageTransformerName];
+ [NSValueTransformer setValueTransformer:[[SKScaleFactorTransformer alloc]
init] forName:SKScaleFactorTransformerName];
[NSValueTransformer setValueTransformer:[[SKRadioTransformer alloc]
initWithTargetValue:0] forName:SKIsZeroTransformerName];
[NSValueTransformer setValueTransformer:[[SKRadioTransformer alloc]
initWithTargetValue:1] forName:SKIsOneTransformerName];
[NSValueTransformer setValueTransformer:[[SKRadioTransformer alloc]
initWithTargetValue:2] forName:SKIsTwoTransformerName];
@@ -237,6 +252,71 @@
#pragma mark -
+@implementation SKDisplayModeImageTransformer
+
++ (Class)transformedValueClass {
+ return [NSImage class];
+}
+
++ (BOOL)allowsReverseTransformation {
+ return NO;
+}
+
+- (id)transformedValue:(id)settings {
+ NSNumber *displayMode = [settings objectForKey:@"displayMode"];
+ if (displayMode == nil)
+ return nil;
+ switch ([displayMode integerValue]) {
+ case kPDFDisplaySinglePage:
+ return [NSImage imageNamed:SKImageNameToolbarSinglePage];
+ case kPDFDisplaySinglePageContinuous:
+ if ([[settings objectForKey:@"displayDirection"] boolValue])
+ return [NSImage imageNamed:SKImageNameToolbarHorizontal];
+ else
+ return [NSImage
imageNamed:SKImageNameToolbarSinglePageContinuous];
+ case kPDFDisplayTwoUp:
+ return [NSImage imageNamed:SKImageNameToolbarTwoUp];
+ case kPDFDisplayTwoUpContinuous:
+ if ([[settings objectForKey:@"displaysAsBook"] boolValue])
+ return [NSImage imageNamed:SKImageNameToolbarBookMode];
+ else
+ return [NSImage imageNamed:SKImageNameToolbarTwoUpContinuous];
+ default:
+ return nil;
+ }
+}
+
+@end
+
+#pragma mark -
+
+@implementation SKScaleFactorTransformer
+
++ (Class)transformedValueClass {
+ return [NSString class];
+}
+
++ (BOOL)allowsReverseTransformation {
+ return NO;
+}
+
+- (id)transformedValue:(id)settings {
+ if ([settings count] == 0)
+ return nil;
+ if ([[settings objectForKey:@"autoScales"] boolValue])
+ return [[NSBundle mainBundle] localizedStringForKey:@"Auto" value:@""
table:@"ZoomValues"];
+ static NSNumberFormatter *formatter = nil;
+ if (formatter == nil) {
+ formatter = [[NSNumberFormatter alloc] init];
+ [formatter setNumberStyle:NSNumberFormatterPercentStyle];
+ }
+ return [formatter stringFromNumber:[settings objectForKey:@"scaleFactor"]];
+}
+
+@end
+
+#pragma mark -
+
@implementation SKRadioTransformer
+ (Class)transformedValueClass {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit