12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //
- // KMPropertiesViewPopController.m
- // PDF Reader Pro Edition
- //
- // Created by 丁林圭 on 2020/1/2.
- //
- #import "KMPropertiesViewPopController.h"
- #import "NSButton+TitleColor.h"
- @interface KMPropertiesViewPopController ()
- @property (nonatomic,assign) IBOutlet NSTextField *titleLabel;
- @property (nonatomic,assign) IBOutlet NSTextField *titlesubLabel;
- @property (nonatomic,assign) IBOutlet NSButton *closeBtn;
- @property (nonatomic,retain) NSPopover *popOver;
- @end
- @implementation KMPropertiesViewPopController
- + (KMPropertiesViewPopController *)defaultManager;
- {
- static KMPropertiesViewPopController *singleton = nil;
- static dispatch_once_t pred;
- dispatch_once(&pred, ^{
- singleton = [[KMPropertiesViewPopController alloc] init];
- });
- return singleton;
- }
- + (BOOL)showChangeColorDetails
- {
- BOOL isOpenConvertDetails = [[NSUserDefaults standardUserDefaults] boolForKey:@"KMPropertiesHaveChangeColorDetails"];
- if (!isOpenConvertDetails) {
- return YES;
- }
- return NO;
- }
- - (void)showChangeColorDetailsView:(NSView *)view
- {
- KMPropertiesViewPopController *popViewController = [[KMPropertiesViewPopController alloc] init];
- popViewController.block = ^{
- [self.popOver close];
- };
- self.popOver = [[NSPopover alloc] init];
- self.popOver.contentViewController = popViewController;
- self.popOver.animates = NO;
- self.popOver.behavior = NSPopoverBehaviorTransient;
- self.popOver.appearance = NSPopoverAppearanceMinimal;
- self.popOver.contentSize = popViewController.view.frame.size;
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- if (![view.superview window]) {
- return;
- }
- [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"KMPropertiesHaveChangeColorDetails"];
- [[NSUserDefaults standardUserDefaults] synchronize];
- [self.popOver showRelativeToRect:view.bounds ofView:view preferredEdge:NSRectEdgeMaxY];
- });
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- self.view.wantsLayer = YES;
-
- self.view.layer.backgroundColor = [NSColor grayColor].CGColor;
- self.titleLabel.stringValue = NSLocalizedString(@"Customize colors", nil);
- self.titlesubLabel.stringValue = NSLocalizedString(@"Right click a color and select \"Change Color...\".", nil);
- [self.closeBtn setTitle:NSLocalizedString(@"Close", nil)];
- self.closeBtn.wantsLayer = YES;
- self.closeBtn.layer.cornerRadius = 1.0;
- self.closeBtn.layer.backgroundColor = [NSColor grayColor].CGColor;
- [self.closeBtn setTitleColor:[NSColor whiteColor]];
- }
- - (IBAction)buttonItemClick_Close:(id)sender
- {
- if (self.block) {
- self.block();
- self.block = nil;
- }
- }
- @end
|