#4920 On Lion, use window restoration on the message log and stats window

This commit is contained in:
Mitchell Livingston 2012-05-27 22:31:58 +00:00
parent ca7654d8cd
commit bcde8ebef6
9 changed files with 211 additions and 126 deletions

View File

@ -2767,7 +2767,6 @@
buildSettings = {
FRAMEWORK_SEARCH_PATHS = macosx;
GCC_PREFIX_HEADER = macosx/Transmission_Prefix.pch;
INFOPLIST_FILE = macosx/Info.plist;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/third-party/curl/lib\"",
@ -2924,7 +2923,6 @@
buildSettings = {
FRAMEWORK_SEARCH_PATHS = macosx;
GCC_PREFIX_HEADER = macosx/Transmission_Prefix.pch;
INFOPLIST_FILE = macosx/Info.plist;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/third-party/curl/lib\"",
@ -3032,7 +3030,6 @@
buildSettings = {
FRAMEWORK_SEARCH_PATHS = macosx;
GCC_PREFIX_HEADER = macosx/Transmission_Prefix.pch;
INFOPLIST_FILE = macosx/Info.plist;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/third-party/curl/lib\"",

View File

@ -57,7 +57,6 @@ typedef enum
PrefsController * fPrefsController;
InfoWindowController * fInfoController;
MessageWindowController * fMessageController;
NSUserDefaults * fDefaults;
@ -135,6 +134,8 @@ typedef enum
- (void) quitSheetDidEnd: (NSWindow *) sheet returnCode: (NSInteger) returnCode contextInfo: (void *) contextInfo;
- (tr_session *) sessionHandle;
- (void) createFile: (id) sender;
- (void) resumeSelectedTorrents: (id) sender;
@ -181,6 +182,7 @@ typedef enum
- (void) resetInfo;
- (void) setInfoTab: (id) sender;
@property (retain, readonly) MessageWindowController * messageWindowController;
- (void) showMessageWindow: (id) sender;
- (void) showStatsWindow: (id) sender;

View File

@ -157,6 +157,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
@implementation Controller
@synthesize messageWindowController = fMessageController;
+ (void) initialize
{
//make sure another Transmission.app isn't running already
@ -732,6 +734,11 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
tr_sessionClose(fLib);
}
- (tr_session *) sessionHandle
{
return fLib;
}
- (void) handleOpenContentsEvent: (NSAppleEventDescriptor *) event replyEvent: (NSAppleEventDescriptor *) replyEvent
{
NSString * urlString = nil;
@ -1744,16 +1751,22 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
[fInfoController setPreviousTab];
}
- (void) showMessageWindow: (id) sender
- (MessageWindowController *) messageWindowController
{
if (!fMessageController)
fMessageController = [[MessageWindowController alloc] init];
[fMessageController showWindow: nil];
return fMessageController;
}
- (void) showMessageWindow: (id) sender
{
[[self messageWindowController] showWindow: nil];
}
- (void) showStatsWindow: (id) sender
{
[[StatsWindowController statsWindow: fLib] showWindow: nil];
[[StatsWindowController statsWindow] showWindow: nil];
}
- (void) updateUI

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">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.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">1617</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSPopUpButton</string>
@ -34,7 +34,10 @@
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="667254319">
<object class="NSCustomObject" id="135867518">
<string key="NSClassName">MessageWindowController</string>
@ -58,7 +61,7 @@
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{550, 200}</string>
<object class="NSView" key="NSWindowView" id="459370864">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="324840191">
@ -66,6 +69,8 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{509, 5}, {82, 25}}</string>
<reference key="NSSuperview" ref="459370864"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="56180972">
<int key="NSCellFlags">67239424</int>
@ -97,6 +102,7 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 5}, {101, 25}}</string>
<reference key="NSSuperview" ref="459370864"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="945411764"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="462670475">
@ -184,6 +190,7 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{129, 5}, {82, 25}}</string>
<reference key="NSSuperview" ref="459370864"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="619449639"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="45431789">
@ -216,13 +223,15 @@
<int key="NSvFlags">4370</int>
<string key="NSFrameSize">{611, 276}</string>
<reference key="NSSuperview" ref="417557193"/>
<reference key="NSNextKeyView" ref="998736021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="546510574"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="956628727">
<reference key="NSNextResponder" ref="449180771"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{611, 17}</string>
<reference key="NSSuperview" ref="449180771"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="417557193"/>
<reference key="NSTableView" ref="422137489"/>
</object>
@ -291,60 +300,61 @@ DiBgDFgGgWBIFg+B4BnyGhSj4HZDhSD4IAmbxuHOeJxm8dp0m6dZ6HGbZ1Hsb5qnGe5pnCeB8HScx5wS
f6BG6jgMATCAfhMBwtGqc58GRpp9G6f2RnsldRvAACYoEeSBzogR+oGfyAgADwEAAAMAAAABAA4AAAEB
AAMAAAABAA4AAAECAAMAAAAEAAADtgEDAAMAAAABAAUAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAA4AAAEXAAQAAAABAAAC9AEcAAMAAAABAAEAAAE9
AAMAAAABAAIAAAFSAAMAAAABAAEAAAFTAAMAAAAEAAADvodzAAcAAAw4AAADxgAAAAAACAAIAAgACAAB
AAEAAQABAAAMOGFwcGwCEAAAbW50clJHQiBYWVogB9sACAAQABIADAAIYWNzcEFQUEwAAAAAAAAAAAAA
AAMAAAABAAIAAAFSAAMAAAABAAEAAAFTAAMAAAAEAAADvodzAAcAAAyYAAADxgAAAAAACAAIAAgACAAB
AAEAAQABAAAMmGFwcGwCEAAAbW50clJHQiBYWVogB9wABQAJABcANgAqYWNzcEFQUEwAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNjbQAAAbQAAAEgY3BydAAAAtQAAAAjd3RwdAAA
AvgAAAAUclhZWgAAAwwAAAAUZ1hZWgAAAyAAAAAUYlhZWgAAAzQAAAAUclRSQwAAA0gAAAgMYWFyZwAA
C1QAAAAgdmNndAAAC3QAAAAwbmRpbgAAC6QAAAA+Y2hhZAAAC+QAAAAsbW1vZAAADBAAAAAoYlRSQwAA
A0gAAAgMZ1RSQwAAA0gAAAgMYWFiZwAAC1QAAAAgYWFnZwAAC1QAAAAgZGVzYwAAAAAAAAAIRGlzcGxh
AAAAAAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNjbQAAAbQAAAGAY3BydAAAAzQAAAAkd3RwdAAA
A1gAAAAUclhZWgAAA2wAAAAUZ1hZWgAAA4AAAAAUYlhZWgAAA5QAAAAUclRSQwAAA6gAAAgMYWFyZwAA
C7QAAAAgdmNndAAAC9QAAAAwbmRpbgAADAQAAAA+Y2hhZAAADEQAAAAsbW1vZAAADHAAAAAoYlRSQwAA
A6gAAAgMZ1RSQwAAA6gAAAgMYWFiZwAAC7QAAAAgYWFnZwAAC7QAAAAgZGVzYwAAAAAAAAAIRGlzcGxh
eQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAFgAAAAxwdEJSAAAACAAAARhpdElUAAAACAAA
ARhodUhVAAAACAAAARh6aFRXAAAACAAAARhuYk5PAAAACAAAARhjc0NaAAAACAAAARhrb0tSAAAACAAA
ARhkZURFAAAACAAAARhzdlNFAAAACAAAARh6aENOAAAACAAAARhqYUpQAAAACAAAARhhcgAAAAAACAAA
ARhwdFBUAAAACAAAARhubE5MAAAACAAAARhmckZSAAAACAAAARhlc0VTAAAACAAAARh0clRSAAAACAAA
ARhmaUZJAAAACAAAARhwbFBMAAAACAAAARhydVJVAAAACAAAARhlblVTAAAACAAAARhkYURLAAAACAAA
ARgAaQBNAGEAY3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDExAFhZWiAAAAAAAADzFgAB
AAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMAALnmAAAT9lhZWiAAAAAAAAAj8gAA
DJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj
AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7
AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ
AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLg
AusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRI
BFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYG
BhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf
CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqY
Cq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5
ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRq
FIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK
GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e
HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yIn
IlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneier
J9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r
LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQr
NGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zst
O2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1
QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrE
SwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf
U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG
XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9
ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CG
cOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtj
e8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLj
k02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L
n/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQ
rUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6
ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk
2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy
6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio
+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZj
Z3QAAAAAAAAAAQABAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAA
p0AAAFWAAABMwAAAnsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAAB
DHIAAAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoAcAAAAAySceAAAA
AAAAAAAAAAAAAAAAAAA</bytes>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAHgAAAAxza1NLAAAACAAAAXhjYUVTAAAACAAA
AXhoZUlMAAAACAAAAXhwdEJSAAAACAAAAXhpdElUAAAACAAAAXhodUhVAAAACAAAAXh1a1VBAAAACAAA
AXhrb0tSAAAACAAAAXhuYk5PAAAACAAAAXhjc0NaAAAACAAAAXh6aFRXAAAACAAAAXhkZURFAAAACAAA
AXhyb1JPAAAACAAAAXhzdlNFAAAACAAAAXh6aENOAAAACAAAAXhqYUpQAAAACAAAAXhhcgAAAAAACAAA
AXhlbEdSAAAACAAAAXhwdFBUAAAACAAAAXhubE5MAAAACAAAAXhmckZSAAAACAAAAXhlc0VTAAAACAAA
AXh0aFRIAAAACAAAAXh0clRSAAAACAAAAXhmaUZJAAAACAAAAXhockhSAAAACAAAAXhwbFBMAAAACAAA
AXhydVJVAAAACAAAAXhlblVTAAAACAAAAXhkYURLAAAACAAAAXgAaQBNAGEAY3RleHQAAAAAQ29weXJp
Z2h0IEFwcGxlLCBJbmMuLCAyMDEyAFhZWiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAA
AWdYWVogAAAAAAAAYSMAALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAK
AA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCf
AKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFF
AUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIv
AjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNm
A3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw
BP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbR
BuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQ
CSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw
C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62
DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxIm
EkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYD
FiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8T
Hz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRN
JHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoC
KjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1
MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp
NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4g
PmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXe
RiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4l
Tm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3
V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBX
YKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpI
ap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTM
dSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/l
gEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuW
i/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfg
mEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTH
pTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBw
wOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83
z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i
3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t
//9wYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEAAAAB
AAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAAnsAAACWAAAAMwAAA
UAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIAAAX4///zHQAAB7oAAP1y///7nf//
/aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoAcAAAAAySceAAAAAAAAAAAAAAAAAAAAAAA</bytes>
</object>
<string key="NSCacheWindowColorSpace">NSCalibratedRGBColorSpace</string>
<int key="NSCacheWindowBPS">8</int>
@ -530,6 +540,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</array>
<string key="NSFrame">{{1, 17}, {611, 276}}</string>
<reference key="NSSuperview" ref="104571253"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="422137489"/>
<reference key="NSDocView" ref="422137489"/>
<reference key="NSBGColor" ref="211157132"/>
@ -540,6 +551,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{597, 17}, {15, 276}}</string>
<reference key="NSSuperview" ref="104571253"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="539084345"/>
<reference key="NSTarget" ref="104571253"/>
<string key="NSAction">_doScroller:</string>
@ -550,6 +562,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {596, 15}}</string>
<reference key="NSSuperview" ref="104571253"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="449180771"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="104571253"/>
@ -564,6 +577,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</array>
<string key="NSFrame">{{1, 0}, {611, 17}}</string>
<reference key="NSSuperview" ref="104571253"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="956628727"/>
<reference key="NSDocView" ref="956628727"/>
<reference key="NSBGColor" ref="211157132"/>
@ -572,7 +586,8 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</array>
<string key="NSFrame">{{-1, 35}, {613, 294}}</string>
<reference key="NSSuperview" ref="459370864"/>
<reference key="NSNextKeyView" ref="417557193"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="998736021"/>
<int key="NSsFlags">133138</int>
<reference key="NSVScroller" ref="546510574"/>
<reference key="NSHScroller" ref="998736021"/>
@ -585,6 +600,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{351, 7}, {150, 22}}</string>
<reference key="NSSuperview" ref="459370864"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="324840191"/>
<bool key="NSEnabled">YES</bool>
<object class="NSSearchFieldCell" key="NSCell" id="788421673">
@ -640,12 +656,14 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</object>
</array>
<string key="NSFrameSize">{611, 328}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="104571253"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSScreenRect">{{0, 0}, {2560, 1440}}</string>
<string key="NSMinSize">{550, 222}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">NO</bool>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
@ -690,22 +708,6 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</object>
<int key="connectionID">25</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="422137489"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">38</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="422137489"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">40</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fMessageTable</string>
@ -714,14 +716,6 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</object>
<int key="connectionID">42</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="905673783"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">67</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fSaveButton</string>
@ -754,6 +748,30 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="905673783"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">67</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="422137489"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">38</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="422137489"/>
<reference key="destination" ref="135867518"/>
</object>
<int key="connectionID">40</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@ -1001,6 +1019,7 @@ AAAAAAAAAAAAAAAAAAA</bytes>
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBWindowTemplateEditedContentRect">{{215, 593}, {611, 328}}</string>
<string key="5.userInterfaceItemIdentifier">MessageWindow</string>
<string key="55.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -1076,13 +1095,13 @@ AAAAAAAAAAAAAAAAAAA</bytes>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
<real value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NSMenuCheckmark">{9, 8}</string>
<string key="NSMenuMixedState">{7, 2}</string>
<string key="NSMenuCheckmark">{11, 11}</string>
<string key="NSMenuMixedState">{10, 3}</string>
<string key="PurpleDot">{16, 16}</string>
<string key="RedDot">{16, 16}</string>
<string key="YellowDot">{16, 16}</string>

View File

@ -23,6 +23,7 @@
*****************************************************************************/
#import "MessageWindowController.h"
#import "Controller.h"
#import "NSApplicationAdditions.h"
#import "NSMutableArrayAdditions.h"
#import "NSStringAdditions.h"
@ -57,6 +58,8 @@
[window setFrameAutosaveName: @"MessageWindowFrame"];
[window setFrameUsingName: @"MessageWindowFrame"];
[window setRestorationClass: [self class]];
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(resizeColumn)
name: @"NSTableViewColumnDidResizeNotification" object: fMessageTable];
@ -149,8 +152,7 @@
{
if (!fTimer)
{
fTimer = [NSTimer scheduledTimerWithTimeInterval: UPDATE_SECONDS target: self
selector: @selector(updateLog:) userInfo: nil repeats: YES];
fTimer = [NSTimer scheduledTimerWithTimeInterval: UPDATE_SECONDS target: self selector: @selector(updateLog:) userInfo: nil repeats: YES];
[self updateLog: nil];
}
}
@ -161,6 +163,21 @@
fTimer = nil;
}
+ (void) restoreWindowWithIdentifier: (NSString *) identifier state: (NSCoder *) state completionHandler: (void (^)(NSWindow *, NSError *)) completionHandler
{
NSAssert1([identifier isEqualToString: @"MessageWindow"], @"Trying to restore unexpected identifier %@", identifier);
NSWindow * window = [[(Controller *)[NSApp delegate] messageWindowController] window];
completionHandler(window, nil);
}
- (void) window: (NSWindow *) window didDecodeRestorableState: (NSCoder *) coder
{
[fTimer invalidate];
fTimer = [NSTimer scheduledTimerWithTimeInterval: UPDATE_SECONDS target: self selector: @selector(updateLog:) userInfo: nil repeats: YES];
[self updateLog: nil];
}
- (void) updateLog: (NSTimer *) timer
{
tr_msg_list * messages;

View File

@ -65,6 +65,7 @@
@implementation PrefsController
#warning just call method in Controller?
tr_session * fHandle;
+ (void) setHandle: (tr_session *) handle
{

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">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.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">1617</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSTextField</string>
@ -22,7 +22,10 @@
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">StatsWindowController</string>
@ -45,7 +48,7 @@
<string key="NSWindowContentMaxSize">{326, 191}</string>
<string key="NSWindowContentMinSize">{326, 191}</string>
<object class="NSView" key="NSWindowView" id="1006">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextField" id="848189093">
@ -53,6 +56,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 157}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="703685169"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="629427970">
@ -90,6 +94,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 125}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="253460222"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="312992390">
@ -107,6 +112,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 93}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="536006120"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="420769084">
@ -124,6 +130,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 61}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="941353735"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="696962666">
@ -141,6 +148,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 157}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="431969193"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="151460568">
@ -158,6 +166,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 125}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="550850235"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="614134720">
@ -175,6 +184,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 93}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="892058372"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="61598779">
@ -192,6 +202,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 61}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1005247565"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="82355756">
@ -209,6 +220,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 29}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="857281737"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="186010722">
@ -226,6 +238,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 29}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="200761340"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="46835883">
@ -243,6 +256,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 141}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="21891891"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="525326017">
@ -260,6 +274,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 109}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="64479925"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="835967372">
@ -277,6 +292,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 77}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="496824416"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="294338636">
@ -294,6 +310,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{113, 45}, {196, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="586749298"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="29319324">
@ -311,6 +328,8 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{246, 3}, {65, 28}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="992392450">
<int key="NSCellFlags">67239424</int>
@ -332,13 +351,15 @@
</object>
</array>
<string key="NSFrameSize">{326, 191}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="848189093"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSScreenRect">{{0, 0}, {2560, 1440}}</string>
<string key="NSMinSize">{326, 213}</string>
<string key="NSMaxSize">{326, 213}</string>
<string key="NSFrameAutosaveName"/>
<bool key="NSWindowIsRestorable">NO</bool>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
@ -351,14 +372,6 @@
</object>
<int key="connectionID">29</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1005"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fUploadedField</string>
@ -487,6 +500,14 @@
</object>
<int key="connectionID">67</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1005"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">30</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@ -749,6 +770,8 @@
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{612, 485}, {284, 191}}</string>
<integer value="1" key="1.NSWindowTemplate.visibleAtLaunch"/>
<boolean value="NO" key="1.showNotes"/>
<string key="1.userInterfaceItemIdentifier">StatsWindow</string>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -886,7 +909,7 @@
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
<real value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>

View File

@ -34,7 +34,7 @@
NSTimer * fTimer;
}
+ (StatsWindowController *) statsWindow: (tr_session *) lib;
+ (StatsWindowController *) statsWindow;
- (void) resetStats: (id) sender;

View File

@ -23,6 +23,7 @@
*****************************************************************************/
#import "StatsWindowController.h"
#import "Controller.h"
#import "NSStringAdditions.h"
#define UPDATE_SECONDS 1.0
@ -39,28 +40,34 @@
@implementation StatsWindowController
StatsWindowController * fStatsWindowInstance = nil;
tr_session * fLib;
+ (StatsWindowController *) statsWindow: (tr_session *) lib
tr_session * fLib = NULL;
+ (StatsWindowController *) statsWindow
{
if (!fStatsWindowInstance)
{
if ((fStatsWindowInstance = [[self alloc] initWithWindowNibName: @"StatsWindow"]))
if ((fStatsWindowInstance = [[self alloc] init]))
{
fLib = lib;
fLib = [(Controller *)[NSApp delegate] sessionHandle];
}
}
return fStatsWindowInstance;
}
- (id) init
{
return [super initWithWindowNibName: @"StatsWindow"];
}
- (void) awakeFromNib
{
[self updateStats];
fTimer = [NSTimer scheduledTimerWithTimeInterval: UPDATE_SECONDS target: self
selector: @selector(updateStats) userInfo: nil repeats: YES];
fTimer = [NSTimer scheduledTimerWithTimeInterval: UPDATE_SECONDS target: self selector: @selector(updateStats) userInfo: nil repeats: YES];
[[NSRunLoop currentRunLoop] addTimer: fTimer forMode: NSModalPanelRunLoopMode];
[[NSRunLoop currentRunLoop] addTimer: fTimer forMode: NSEventTrackingRunLoopMode];
[[self window] setRestorationClass: [self class]];
[[self window] setTitle: NSLocalizedString(@"Statistics", "Stats window -> title")];
//set label text
@ -68,8 +75,7 @@ tr_session * fLib;
[fDownloadedLabelField setStringValue: [NSLocalizedString(@"Downloaded", "Stats window -> label") stringByAppendingString: @":"]];
[fRatioLabelField setStringValue: [NSLocalizedString(@"Ratio", "Stats window -> label") stringByAppendingString: @":"]];
[fTimeLabelField setStringValue: [NSLocalizedString(@"Running Time", "Stats window -> label") stringByAppendingString: @":"]];
[fNumOpenedLabelField setStringValue: [NSLocalizedString(@"Program Started", "Stats window -> label")
stringByAppendingString: @":"]];
[fNumOpenedLabelField setStringValue: [NSLocalizedString(@"Program Started", "Stats window -> label") stringByAppendingString: @":"]];
//size all elements
const CGFloat oldWidth = [fUploadedLabelField frame].size.width;
@ -130,6 +136,13 @@ tr_session * fLib;
fStatsWindowInstance = nil;
}
+ (void) restoreWindowWithIdentifier: (NSString *) identifier state: (NSCoder *) state completionHandler: (void (^)(NSWindow *, NSError *)) completionHandler
{
NSAssert1([identifier isEqualToString: @"StatsWindow"], @"Trying to restore unexpected identifier %@", identifier);
completionHandler([[StatsWindowController statsWindow] window], nil);
}
- (void) resetStats: (id) sender
{
if (![[NSUserDefaults standardUserDefaults] boolForKey: @"WarningResetStats"])