1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-22 06:00:41 +00:00

#4922 On Lion, use window restoration on the preferences window

This commit is contained in:
Mitchell Livingston 2012-05-28 17:26:15 +00:00
parent 8e4eea032b
commit 84a7f149a6
4 changed files with 21 additions and 13 deletions

View file

@ -175,6 +175,7 @@ typedef enum
- (void) verifySelectedTorrents: (id) sender;
- (void) verifyTorrents: (NSArray *) torrents;
@property (retain, readonly) PrefsController * prefsController;
- (void) showPreferenceWindow: (id) sender;
- (void) showAboutWindow: (id) sender;

View file

@ -158,6 +158,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
@implementation Controller
#warning remove ivars in header when 64-bit only (or it compiles in 32-bit mode)
@synthesize prefsController = fPrefsController;
@synthesize messageWindowController = fMessageController;
+ (void) initialize
@ -2558,7 +2559,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
NSPopover * popover = [[NSPopoverLion alloc] init];
[popover setBehavior: NSPopoverBehaviorTransient];
GlobalOptionsPopoverViewController * viewController = [[GlobalOptionsPopoverViewController alloc] initWithHandle: [PrefsController handle]];
GlobalOptionsPopoverViewController * viewController = [[GlobalOptionsPopoverViewController alloc] initWithHandle: fLib];
[popover setContentViewController: viewController];
[popover setDelegate: self];

View file

@ -25,6 +25,7 @@
#import "PrefsController.h"
#import "BlocklistDownloaderViewController.h"
#import "BlocklistScheduler.h"
#import "Controller.h"
#import "PortChecker.h"
#import "BonjourController.h"
#import "NSStringAdditions.h"
@ -72,6 +73,7 @@ tr_session * fHandle;
fHandle = handle;
}
#warning elliminate?
+ (tr_session *) handle
{
return fHandle;
@ -170,6 +172,8 @@ tr_session * fHandle;
{
fHasLoaded = YES;
[[self window] setRestorationClass: [self class]];
NSToolbar * toolbar = [[NSToolbar alloc] initWithIdentifier: @"Preferences Toolbar"];
[toolbar setDelegate: self];
[toolbar setAllowsUserCustomization: NO];
@ -335,6 +339,12 @@ tr_session * fHandle;
return [self toolbarAllowedItemIdentifiers: toolbar];
}
+ (void) restoreWindowWithIdentifier: (NSString *) identifier state: (NSCoder *) state completionHandler: (void (^)(NSWindow *, NSError *)) completionHandler
{
NSWindow * window = [[(Controller *)[NSApp delegate] prefsController] window];
completionHandler(window, nil);
}
//for a beta release, always use the beta appcast
#if defined(TR_BETA_RELEASE)
#define SPARKLE_TAG YES
@ -368,7 +378,7 @@ tr_session * fHandle;
- (void) setRandomPortOnStart: (id) sender
{
tr_sessionSetPeerPortRandomOnStart(fHandle, [sender state] == NSOnState);
tr_sessionSetPeerPortRandomOnStart(fHandle, [(NSButton *)sender state] == NSOnState);
}
- (void) setNat: (id) sender

View file

@ -2,13 +2,13 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2177</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2177</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSScroller</string>
@ -76,11 +76,10 @@
<string key="NSFrameSize">{542, 107}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
</object>
<string key="NSScreenRect">{{0, 0}, {2560, 1440}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">NO</bool>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomView" id="249126185">
<nil key="NSNextResponder"/>
@ -548,7 +547,6 @@
<string key="NSFrame">{{13, 10}, {516, 341}}</string>
<reference key="NSSuperview" ref="314557528"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="159788047"/>
<array class="NSMutableArray" key="NSTabViewItems">
<object class="NSTabViewItem" id="73412354">
<object class="NSView" key="NSView" id="833882848">
@ -1896,7 +1894,6 @@
<string key="NSFrame">{{469, 16}, {25, 25}}</string>
<reference key="NSSuperview" ref="159788047"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="590362093">
<int key="NSCellFlags">67239424</int>
@ -2020,7 +2017,7 @@ DOFcNEdIcyBuFIMA1CgCwiD7fopwgQ4iBgOD4GgK4kgTgbAUA8Zw0hqOxG0OYdI4B1jyHAOIdQ9CPD8H
AAAAAQASAAABAgADAAAABAAABRwBAwADAAAAAQAFAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgAD
AAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQASAAABFwAEAAAAAQAABFoBHAADAAAAAQABAAABPQAD
AAAAAQACAAABUgADAAAAAQABAAABUwADAAAABAAABSSHcwAHAAAMmAAABSwAAAAAAAgACAAIAAgAAQAB
AAEAAQAADJhhcHBsAhAAAG1udHJSR0IgWFlaIAfcAAIAAQAWABkAOGFjc3BBUFBMAAAAAAAAAAAAAAAA
AAEAAQAADJhhcHBsAhAAAG1udHJSR0IgWFlaIAfcAAUACQAXADYAKmFjc3BBUFBMAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRzY20AAAG0AAABgGNwcnQAAAM0AAAAJHd0cHQAAANY
AAAAFHJYWVoAAANsAAAAFGdYWVoAAAOAAAAAFGJYWVoAAAOUAAAAFHJUUkMAAAOoAAAIDGFhcmcAAAu0
@ -2993,7 +2990,6 @@ AAABAAAAAQ</bytes>
<string key="NSFrame">{{424, 20}, {86, 27}}</string>
<reference key="NSSuperview" ref="352903881"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSDatePickerCell" key="NSCell" id="283024896">
<int key="NSCellFlags">71433728</int>