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