aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPPrintAccessory.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPPrintAccessory.m')
-rw-r--r--Source/SPPrintAccessory.m46
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/SPPrintAccessory.m b/Source/SPPrintAccessory.m
new file mode 100644
index 00000000..4128e8ad
--- /dev/null
+++ b/Source/SPPrintAccessory.m
@@ -0,0 +1,46 @@
+#import "SPPrintAccessory.h"
+#import <WebKit/WebKit.h>
+
+@implementation SPPrintAccessory
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ defaultsController = [NSUserDefaultsController sharedUserDefaultsController];
+ return [super initWithNibName:@"printAccessory" bundle:nibBundleOrNil];
+}
+
+- (void)awakeFromNib
+{
+ [self setView:printAccessoryView];
+ [defaultsController addObserver:self forKeyPath:@"values.PrintBackground" options:NSKeyValueObservingOptionNew context:@"PrinterSettingsChanged"];
+}
+
+- (NSArray *)localizedSummaryItems
+{
+ return [NSArray arrayWithObject:[NSDictionary dictionary]];
+}
+
+- (NSSet *)keyPathsForValuesAffectingPreview
+{
+ return [NSSet setWithObjects:
+ @"defaultsController.values.PrintBackground",
+// @"defaultsController.values.PrintGrid",
+ nil];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+ if ([(NSString *)context isEqualToString:@"PrinterSettingsChanged"]) {
+ [[WebPreferences standardPreferences] setShouldPrintBackgrounds:[[defaultsController valueForKeyPath:@"values.PrintBackground"] boolValue] ];
+ } else {
+ [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
+ }
+}
+
+- (void)dealloc
+{
+ [defaultsController removeObserver:self forKeyPath:@"values.PrintBackground"];
+ [super dealloc];
+}
+
+@end \ No newline at end of file