Changeset 3461

Show
Ignore:
Timestamp:
12/15/06 01:21:35 (2 years ago)
Author:
timothy
Message:

The toolbar state is now remembered when switching between different types of panels (like chat room and private chat). #641

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Controllers/JVChatWindowController.m

    r3460 r3461  
    930930                [old release]; 
    931931 
     932                NSToolbar *newToolbar = [_activeViewController toolbar]; 
     933                NSToolbar *oldToolbar = [[self window] toolbar]; 
     934                BOOL toolbarAutoSave = [newToolbar autosavesConfiguration]; 
     935                if( oldToolbar ) { 
     936                        [newToolbar setAutosavesConfiguration:NO]; 
     937                        [newToolbar setDisplayMode:[oldToolbar displayMode]]; 
     938                        [newToolbar setSizeMode:[oldToolbar sizeMode]]; 
     939                        [newToolbar setVisible:[oldToolbar isVisible]]; 
     940                } 
     941 
    932942                [[self window] setContentView:[_activeViewController view]]; 
    933                 [[self window] setToolbar:[_activeViewController toolbar]]; 
     943                [[self window] setToolbar:newToolbar]; 
    934944                [[self window] makeFirstResponder:[[_activeViewController view] nextKeyView]]; 
     945 
     946                if( toolbarAutoSave ) 
     947                        [newToolbar setAutosavesConfiguration:YES]; 
    935948 
    936949                if( [lastActive respondsToSelector:@selector( didUnselect )] ) 
  • trunk/Controllers/JVSidebarChatWindowController.m

    r3261 r3461  
    8282                        [(NSObject *)item willSelect]; 
    8383 
    84                 [_activeViewController autorelease]
     84                id old = _activeViewController
    8585                _activeViewController = [item retain]; 
     86                [old release]; 
     87 
     88                NSToolbar *newToolbar = [_activeViewController toolbar]; 
     89                NSToolbar *oldToolbar = [[self window] toolbar]; 
     90                BOOL toolbarAutoSave = [newToolbar autosavesConfiguration]; 
     91                if( oldToolbar ) { 
     92                        [newToolbar setAutosavesConfiguration:NO]; 
     93                        [newToolbar setDisplayMode:[oldToolbar displayMode]]; 
     94                        [newToolbar setSizeMode:[oldToolbar sizeMode]]; 
     95                        [newToolbar setVisible:[oldToolbar isVisible]]; 
     96                } 
    8697 
    8798                [[[bodyView subviews] lastObject] removeFromSuperview]; 
     
    92103                [bodyView addSubview:newView]; 
    93104 
    94                 [[self window] setToolbar:[_activeViewController toolbar]]; 
     105                [[self window] setToolbar:newToolbar]; 
    95106                [[self window] makeFirstResponder:[[_activeViewController view] nextKeyView]]; 
     107 
     108                if( toolbarAutoSave ) 
     109                        [newToolbar setAutosavesConfiguration:YES]; 
    96110 
    97111                if( [lastActive respondsToSelector:@selector( didUnselect )] ) 
  • trunk/Controllers/JVTabbedChatWindowController.m

    r3452 r3461  
    548548                        [(NSObject *)item willSelect]; 
    549549 
    550                 [_activeViewController autorelease]
     550                id old = _activeViewController
    551551                _activeViewController = [item retain]; 
     552                [old release]; 
     553 
     554                NSToolbar *newToolbar = [_activeViewController toolbar]; 
     555                NSToolbar *oldToolbar = [[self window] toolbar]; 
     556                BOOL toolbarAutoSave = [newToolbar autosavesConfiguration]; 
     557                if( oldToolbar ) { 
     558                        [newToolbar setAutosavesConfiguration:NO]; 
     559                        [newToolbar setDisplayMode:[oldToolbar displayMode]]; 
     560                        [newToolbar setSizeMode:[oldToolbar sizeMode]]; 
     561                        [newToolbar setVisible:[oldToolbar isVisible]]; 
     562                } 
    552563 
    553564                [[self window] setToolbar:[_activeViewController toolbar]]; 
    554565                [[self window] makeFirstResponder:[[_activeViewController view] nextKeyView]]; 
     566 
     567                if( toolbarAutoSave ) 
     568                        [newToolbar setAutosavesConfiguration:YES]; 
    555569 
    556570                if( [lastActive respondsToSelector:@selector( didUnselect )] )