Browse Source

Merge branch 'develop_PDFReaderProNew' of git.kdan.cc:Mac_PDF/PDF_Office into develop_PDFReaderProNew

tangchao 1 year ago
parent
commit
07cf9280ed

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift

@@ -96,7 +96,7 @@ class KMPrintWindowController: KMBaseWindowController, NetServiceBrowserDelegate
     
     func setup() {
         self.window?.contentView?.wantsLayer = true
-        self.window?.contentView?.layer?.backgroundColor = NSColor.km_init(hex: "#FFFFFF").cgColor
+        self.window?.contentView?.layer?.backgroundColor = KMAppearance.viewBackgroundColor().cgColor
         
         self.titleLabel.font = NSFont.SFProTextSemiboldFont(16.0)
         self.titleLabel.textColor = NSColor.km_init(hex: "#252629")

+ 7 - 8
PDF Office/PDF Master/Class/PDFTools/Print/View/Preview/KMPrintPreviewView.swift

@@ -104,8 +104,8 @@ class KMPrintPreviewView: KMBaseXibView {
     override func setup() {
         super.setup()
         
-        self.previewContentView.wantsLayer = true
-        self.previewContentView.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
+//        self.previewContentView.wantsLayer = true
+//        self.previewContentView.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
         
         self.currentPageTextField.textField.font = NSFont.SFProTextRegularFont(12.0)
         self.currentPageTextField.textField.textColor = NSColor.km_init(hex: "#252629")
@@ -113,25 +113,24 @@ class KMPrintPreviewView: KMBaseXibView {
             self.presenter.toPage(index: Int(string) ?? 0)
         }
         
-        self.partitionLabel.textColor = NSColor.km_init(hex: "#252629")
+//        self.partitionLabel.textColor = NSColor.km_init(hex: "#252629")
         
         self.titleLabel.font = NSFont.SFProTextRegularFont(12.0)
-        self.titleLabel.textColor = NSColor.km_init(hex: "#616469")
+//        self.titleLabel.textColor = NSColor.km_init(hex: "#616469")
         
         self.pageCountLabel.font = NSFont.SFProTextRegularFont(12.0)
-        self.pageCountLabel.textColor = NSColor.km_init(hex: "#252629")
+//        self.pageCountLabel.textColor = NSColor.km_init(hex: "#252629")
         
         self.previousButton.wantsLayer = true
         self.previousButton.layer?.borderWidth = 1
-        self.previousButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
+//        self.previousButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
         self.previousButton.layer?.cornerRadius = 4
         self.previousButton.image = NSImage(named: "icon_btn_pagination_back_norm")
         
         self.nextButton.wantsLayer = true
         self.nextButton.layer?.borderWidth = 1
-        self.nextButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
+//        self.nextButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
         self.nextButton.layer?.cornerRadius = 4
-        self.nextButton.image = NSImage(named: "icon_btn_pagination_back_norm")
         self.nextButton.image = NSImage(named: "icon_btn_pagination_lastpage_dis")
     }
     

+ 28 - 0
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Event.m

@@ -549,6 +549,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         }
         
         [menu insertItem:[NSMenuItem separatorItem] atIndex:0];
+        NSMenuItem *itemPhysical = [menu insertItemWithTitle:NSLocalizedString(@"Physical Size", nil) action:@selector(zoomToPhysicalSize:) target:self atIndex:0];
+        [itemPhysical setKeyEquivalentModifierMask:NSAlternateKeyMask];
+        [itemPhysical setAlternate:YES];
         [menu insertItem:actualSizeItem atIndex:0];
         [menu insertItem:zoomOutItem atIndex:0];
         [menu insertItem:zoomInItem atIndex:0];
@@ -880,6 +883,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             NSArray *pageAnnotationArray = page.annotations;
             return ![annotation isEqual:pageAnnotationArray.firstObject];
         }
+    } else if (action == @selector(zoomToPhysicalSize:)) {
+        [menuItem setState:([self autoScales] || fabs([self physicalScaleFactor] - 1.0 ) > 0.01) ? NSOffState : NSOnState];
+        return YES;
     }
     
     return [super validateMenuItem:menuItem];
@@ -4620,6 +4626,28 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         [self zoomToRect:selRect onPage:page];
 }
 
+- (void)zoomToPhysicalSize:(id)sender {
+    [self setPhysicalScaleFactor:1.0];
+}
+
+static inline CGFloat physicalScaleFactorForView(NSView *view) {
+    NSScreen *screen = [[view window] screen];
+    NSDictionary *deviceDescription = [screen deviceDescription];
+    CGDirectDisplayID displayID = (CGDirectDisplayID)[[deviceDescription objectForKey:@"NSScreenNumber"] unsignedIntValue];
+    CGSize physicalSize = CGDisplayScreenSize(displayID);
+    NSSize resolution = [[deviceDescription objectForKey:NSDeviceResolution] sizeValue];
+    CGFloat backingScaleFactor = [NSScreen instancesRespondToSelector: @selector(backingScaleFactor)] ? [screen backingScaleFactor] : 1.0;
+    return CGSizeEqualToSize(physicalSize, CGSizeZero) ? 1.0 : (physicalSize.width * resolution.width) / (CGDisplayPixelsWide(displayID) * backingScaleFactor * 25.4f);
+}
+
+- (void)setPhysicalScaleFactor:(CGFloat)scale {
+    [self setScaleFactor:scale / physicalScaleFactorForView(self)];
+}
+
+- (CGFloat)physicalScaleFactor {
+    return [self scaleFactor] * physicalScaleFactorForView(self);
+}
+
 - (IBAction)menuItemClick_FitPage:(id)sender {
     CGFloat pageHeight = self.currentPage.size.height;
     CGFloat pdfviewHeight = self.bounds.size.height;

+ 2 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -580,6 +580,7 @@ extension KMMainViewController {
         
         //顶部菜单栏状态清空
         self.toolbarController.toolbarType = .None
+        self.toolbarController.view.isHidden = true
         self.toolbarController.cancelSelected(KMLeftControlToolbarItemIdentifier)
         self.toolbarController.cancelSelected(KMRightControlToolbarItemIdentifier)
         self.toolbarController.lastItemBox.isSelected = false
@@ -637,6 +638,7 @@ extension KMMainViewController {
             
             self.toolbarController.selectItem(readToolbarItemIdentifier)
 //            self.toolbarController.toolbarType = .Annatiton
+            self.toolbarController.view.isHidden = false
             self.listView.toolMode = readToolMode
             self.listView.annotationType = readAnnotationType
         } else {

+ 1 - 0
PDF Office/PDF Master/Class/Purchase/IAPProductsManager.m

@@ -255,6 +255,7 @@ NSString * const KMIAPSubscriptionLoadedNotification = @"KMIAPSubscriptionLoaded
     static dispatch_once_t pred;
     dispatch_once(&pred, ^{
         singleton = [[IAPProductsManager alloc] init];
+        [singleton initIAP];
     });
     return singleton;
 }