@@ -45,6 +45,7 @@ public static string[] BasicFilters
4545
4646 // rename operation:
4747 bool isRenaming = false ;
48+ bool FinishRenaming = false ;
4849 ScriptableObject ObjectToRename = null ;
4950 string renameText = "" ;
5051
@@ -524,11 +525,21 @@ private void OptionsButton<T>(T Config) where T : ScriptableObject
524525 buttonStyle . padding = new RectOffset ( 2 , 2 , 2 , 2 ) ;
525526 buttonStyle . imagePosition = ImagePosition . ImageOnly ;
526527 }
527-
528- if ( GUILayout . Button ( ConfigOptionsButton , buttonStyle , ConfigOptionsButtonOptions ) )
528+ if ( isRenaming && ObjectToRename != null && ObjectToRename == Config )
529529 {
530- ShowOptionsMenu ( Config ) ;
530+ if ( GUILayout . Button ( checkIcon , buttonStyle , ConfigOptionsButtonOptions ) )
531+ {
532+ FinishRenaming = true ;
533+ }
531534 }
535+ else
536+ {
537+ if ( GUILayout . Button ( ConfigOptionsButton , buttonStyle , ConfigOptionsButtonOptions ) )
538+ {
539+ ShowOptionsMenu ( Config ) ;
540+ }
541+ }
542+
532543 }
533544
534545 private void ShowOptionsMenu < T > ( T Config ) where T : ScriptableObject
@@ -598,7 +609,7 @@ private void PutPropertiesForObject_H<T>(List<T> Configs) where T : ScriptableOb
598609 GUIContent propertyContent = new GUIContent ( fileName , fileName ) ;
599610
600611
601- Rect elementRect = GUILayoutUtility . GetRect ( 120 , 120 , 18 , 18 , GUILayout . Width ( 120 ) ) ;
612+ Rect elementRect = GUILayoutUtility . GetRect ( 120 , 18 , GUILayout . Width ( 120 ) ) ;
602613
603614 if ( isRenaming && ObjectToRename != null && ObjectToRename == Config )
604615 {
@@ -609,28 +620,21 @@ private void PutPropertiesForObject_H<T>(List<T> Configs) where T : ScriptableOb
609620
610621 Event e = Event . current ;
611622
623+ // textfield + confirm button (for mouse event it must also contain the button area)
624+ elementRect . width = 145 ;
612625 if ( isRenaming && e . type == EventType . MouseDown && ! elementRect . Contains ( e . mousePosition ) )
613626 {
614627 isRenaming = false ;
615628 GUI . FocusControl ( null ) ;
616- e . Use ( ) ; // Olayý tüketiyoruz
617- }
618-
619- if ( GUILayout . Button ( checkButton , buttonStyle , ConfigOptionsButtonOptions ) )
620- {
621- AssetDatabase . RenameAsset ( filePath , renameText ) ;
622- AssetDatabase . SaveAssets ( ) ;
623- isRenaming = false ;
624- renameText = "" ;
625- ObjectToRename = null ;
626- GUI . FocusControl ( null ) ;
629+ e . Use ( ) ;
627630 }
628631
629- if ( Event . current . keyCode == KeyCode . Return || Event . current . keyCode == KeyCode . KeypadEnter )
632+ if ( FinishRenaming || Event . current . keyCode == KeyCode . Return || Event . current . keyCode == KeyCode . KeypadEnter )
630633 {
631634 AssetDatabase . RenameAsset ( filePath , renameText ) ;
632635 AssetDatabase . SaveAssets ( ) ;
633636 isRenaming = false ;
637+ FinishRenaming = false ;
634638 renameText = "" ;
635639 ObjectToRename = null ;
636640 GUI . FocusControl ( null ) ;
0 commit comments