瀏覽代碼

【综合】页面编辑插入内容取消页面选择框,图片添加链接区分阅读模式。

niehaoyu 8 月之前
父節點
當前提交
bfa9418119

+ 18 - 14
PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift

@@ -1191,18 +1191,19 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
         openPanel.beginSheetModal(for: NSWindow.currentWindow()) { [self] (result) in
             if result == NSApplication.ModalResponse.OK {
                 if let fileURL = openPanel.urls.first {
-                    self.choosePositionWindow {[weak self] index in
-                        /// 插入位置
+//                    self.choosePositionWindow {[weak self] index in
+//                        /// 插入位置
                         if let imag = NSImage(contentsOfFile: fileURL.path ) {
+                            let index = self.getInsertIndex()
                             let document = CPDFDocument()
                             _ = document?.km_insertPage(imag.size, withImage: fileURL.path , at: 0)
                             if let page: CPDFPage = (document?.page(at: 0)) {
-                                self?.insertPages(pages: [page], at: IndexSet(integer: index))
+                                self.insertPages(pages: [page], at: IndexSet(integer: index))
                             }
                             let ips: Set<IndexPath> = [IndexPath(item: index, section: 0)]
-                            self?.thumbnailView.collectionView.scrollToItems(at: ips, scrollPosition: .centeredVertically)
+                            self.thumbnailView.collectionView.scrollToItems(at: ips, scrollPosition: .centeredVertically)
                         }
-                    }
+//                    }
                 }
             }
         }
@@ -1229,18 +1230,19 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     }
     
     @objc func item_insertFromClipboard(sender: NSMenuItem?) {
-        self.choosePositionWindow {[weak self] index in
+//        self.choosePositionWindow {[weak self] index in
             /// 插入位置
             var error: NSError?
-            guard let document: CPDFDocument = self?.openDocumentWithImageFromPasteboard(NSPasteboard.general, error: &error) else {
+            guard let document: CPDFDocument = self.openDocumentWithImageFromPasteboard(NSPasteboard.general, error: &error) else {
                 return
             }
+        let index = self.getInsertIndex()
             if let page: CPDFPage = (document.page(at: 0)) {
-                self?.insertPages(pages: [page], at: IndexSet(integer: index))
+                self.insertPages(pages: [page], at: IndexSet(integer: index))
             }
             let ips: Set<IndexPath> = [IndexPath(item: index, section: 0)]
-            self?.thumbnailView.collectionView.scrollToItems(at: ips, scrollPosition: .centeredVertically)
-        } 
+            self.thumbnailView.collectionView.scrollToItems(at: ips, scrollPosition: .centeredVertically)
+//        } 
     }
     
     func openDocumentWithImageFromPasteboard(_ pboard: NSPasteboard, error outError: AutoreleasingUnsafeMutablePointer<NSError?>?) -> CPDFDocument? {
@@ -1292,18 +1294,20 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
         let vc = KMDeviceBrowserWindowController.shared
         vc.type = .scanner
         vc.importScannerFileCallback = { [weak self](url: NSURL) -> Void in  
-            self?.choosePositionWindow {[weak self] index in
+//            self?.choosePositionWindow {[weak self] index in
                 /// 插入位置
                 if let imag = NSImage(contentsOfFile: url.path! ) {
+                    let index = self?.getInsertIndex()
                     let document = CPDFDocument()
                     _ = document?.km_insertPage(imag.size, withImage: url.path! , at: 0)
                     if let page: CPDFPage = (document?.page(at: 0)) {
-                        self?.insertPages(pages: [page], at: IndexSet(integer: index))
+                        self?.insertPages(pages: [page], at: IndexSet(integer: index!))
                     }
-                    let ips: Set<IndexPath> = [IndexPath(item: index, section: 0)]
+                    let ips: Set<IndexPath> = [IndexPath(item: index!, section: 0)]
                     self?.thumbnailView.collectionView.scrollToItems(at: ips, scrollPosition: .centeredVertically)
                 }
-            }
+//            }
+            vc.close()
         }
         vc.showWindow(NSApp.mainWindow)
     }

+ 2 - 0
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListView.h

@@ -342,4 +342,6 @@ enum {
 
 - (void)pdfListViewDidAddLinkToSelectedImage:(CPDFListView *)pdfView ;
 
+- (BOOL)pdfListViewIsPDFReadMode;//当前是否是阅读模式
+
 @end

+ 8 - 2
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Event.m

@@ -844,9 +844,15 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
                     [menu insertItem:exportImageItem atIndex:0];
                 }
                 //                [menu insertItem:[NSMenuItem separatorItem] atIndex:0];
+                BOOL isReadMode = NO;
+                if (self.pdfListViewDelegate && [self.pdfListViewDelegate respondsToSelector:@selector(pdfListViewIsPDFReadMode)]) {
+                    isReadMode = [self.pdfListViewDelegate pdfListViewIsPDFReadMode];
+                }
                 
-                NSMenuItem *addLinkItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Add Link", nil) action:@selector(menuItemClick_addImageLink:) keyEquivalent:@""];
-                [menu insertItem:addLinkItem atIndex:0];
+                if (isReadMode == NO) {
+                    NSMenuItem *addLinkItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Add Link", nil) action:@selector(menuItemClick_addImageLink:) keyEquivalent:@""];
+                    [menu insertItem:addLinkItem atIndex:0];
+                }
                 
             }
             if ([[NSPasteboard generalPasteboard] canReadObjectForClasses:[NSArray arrayWithObjects:[CPDFAnnotation class], [NSString class],[NSImage class], nil] options:[NSDictionary dictionary]]) {

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

@@ -2027,5 +2027,9 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
         self.rightSideViewController.eidtPDFTextProperty.fontColorChangeAction()
 
     }
+    
+    func pdfListViewIsPDFReadMode() -> Bool {
+        return self.isReadMode
+    }
 }