Revision: 7594
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7594&view=rev
Author:   hofman
Date:     2011-12-22 13:54:29 +0000 (Thu, 22 Dec 2011)
Log Message:
-----------
restore first responder and selection after committing edits through binding

Modified Paths:
--------------
    trunk/SKPresentationOptionsSheetController.m

Modified: trunk/SKPresentationOptionsSheetController.m
===================================================================
--- trunk/SKPresentationOptionsSheetController.m        2011-12-22 13:11:52 UTC 
(rev 7593)
+++ trunk/SKPresentationOptionsSheetController.m        2011-12-22 13:54:29 UTC 
(rev 7594)
@@ -266,8 +266,23 @@
         NSRect frame = [window frame];
         NSView *scrollView = [tableView enclosingScrollView];
         CGFloat extraWidth;
+        id firstResponder = [window firstResponder];
+        NSTextView *editor = nil;
+        NSRange selection;
         
-        [objectController commitEditing];
+        if ([firstResponder isKindOfClass:[NSTextView class]]) {
+            editor = firstResponder;
+            selection = [editor selectedRange];
+            if ([editor isFieldEditor])
+                firstResponder = [firstResponder delegate];
+        }
+        
+        if ([objectController commitEditing] &&
+            editor && [window firstResponder] != editor && 
+            [window makeFirstResponder:firstResponder] && 
+            [[editor string] length] >= NSMaxRange(selection))
+            [editor setSelectedRange:selection];
+        
         [objectController unbind:CONTENTOBJECT_BINDINGNAME];
         if (separate) {
             [self makeTransitions];

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


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to