Revision: 29465
          http://sourceforge.net/p/bibdesk/svn/29465
Author:   hofman
Date:     2025-08-25 09:33:37 +0000 (Mon, 25 Aug 2025)
Log Message:
-----------
bind back/forward buttons target and enabled

Modified Paths:
--------------
    trunk/bibdesk/BDSKTextImportController.m
    trunk/bibdesk/Base.lproj/TextImport.xib

Modified: trunk/bibdesk/BDSKTextImportController.m
===================================================================
--- trunk/bibdesk/BDSKTextImportController.m    2025-08-25 09:18:25 UTC (rev 
29464)
+++ trunk/bibdesk/BDSKTextImportController.m    2025-08-25 09:33:37 UTC (rev 
29465)
@@ -643,22 +643,19 @@
     WKUserScript *script = [[WKUserScript alloc] initWithSource:jsSource 
injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:NO];
     [userController addUserScript:script];
     
+    [self willChangeValueForKey:@"webView"];
+    
     webView = [[BDSKWKWebView alloc] initWithFrame:[webViewBox bounds] 
configuration:config];
     [webView setNavigationDelegate:self];
     [webView setUIDelegate:self];
     
+    [self didChangeValueForKey:@"webView"];
+    
     [webViewBox setEdges:BDSKEveryEdgeMask];
     [webViewBox setBackgroundColors:nil];
     [webViewBox setBackgroundView:nil];
     [webViewBox setContentView:webView];
     
-    [backButton setTarget:webView];
-    [backButton setAction:@selector(goBack:)];
-    [forwardButton setTarget:webView];
-    [forwardButton setAction:@selector(goForward:)];
-    
-    [webView addObserver:self forKeyPath:@"canGoBack" options:0 
context:&BDSKTextImportWebViewObservationContext];
-    [webView addObserver:self forKeyPath:@"canGoForward" options:0 
context:&BDSKTextImportWebViewObservationContext];
     [webView addObserver:self forKeyPath:@"loading" options:0 
context:&BDSKTextImportWebViewObservationContext];
 }
 
@@ -670,11 +667,7 @@
     [[[webView configuration] userContentController] 
removeScriptMessageHandlerForName:@"selectionChanged"];
     [[[webView configuration] userContentController] removeAllUserScripts];
     
-    @try {
-        [webView removeObserver:self forKeyPath:@"canGoBack" 
context:&BDSKTextImportWebViewObservationContext];
-        [webView removeObserver:self forKeyPath:@"canGoForward" 
context:&BDSKTextImportWebViewObservationContext];
-        [webView removeObserver:self forKeyPath:@"loading" 
context:&BDSKTextImportWebViewObservationContext];
-    }
+    @try { [webView removeObserver:self forKeyPath:@"loading" 
context:&BDSKTextImportWebViewObservationContext]; }
     @catch (id e) {}
 }
 
@@ -1629,12 +1622,7 @@
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
     if (context == &BDSKTextImportWebViewObservationContext) {
-        if ([keyPath isEqualToString:@"loading"])
-            [self setLoading:[webView isLoading]];
-        else if ([keyPath isEqualToString:@"canGoBack"])
-            [backButton setEnabled:[webView canGoBack]];
-        else if ([keyPath isEqualToString:@"canGoForward"])
-            [forwardButton setEnabled:[webView canGoForward]];
+        [self setLoading:[webView isLoading]];
     } else {
         [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
     }

Modified: trunk/bibdesk/Base.lproj/TextImport.xib
===================================================================
--- trunk/bibdesk/Base.lproj/TextImport.xib     2025-08-25 09:18:25 UTC (rev 
29464)
+++ trunk/bibdesk/Base.lproj/TextImport.xib     2025-08-25 09:33:37 UTC (rev 
29465)
@@ -518,6 +518,14 @@
                         <string key="keyEquivalent">[</string>
                         <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
                     </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="enabled" 
keyPath="webView.canGoBack" id="qpF-iK-rwS"/>
+                        <binding destination="-2" name="target" 
keyPath="webView" id="023-ur-4YU">
+                            <dictionary key="options">
+                                <string key="NSSelectorName">goBack:</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
                 </button>
                 <progressIndicator toolTip="Page is loading…" wantsLayer="YES" 
horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" 
displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" 
style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="178">
                     <rect key="frame" x="277" y="261" width="16" height="16"/>
@@ -542,6 +550,14 @@
                         <string key="keyEquivalent">]</string>
                         <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
                     </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="enabled" 
keyPath="webView.canGoForward" id="AL1-rf-Z2H"/>
+                        <binding destination="-2" name="target" 
keyPath="webView" id="uf2-VY-M6v">
+                            <dictionary key="options">
+                                <string 
key="NSSelectorName">goForward:</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
                 </button>
             </subviews>
             <constraints>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to