diff --git a/NEWS b/NEWS index b550626e1..cd133d226 100644 --- a/NEWS +++ b/NEWS @@ -228,7 +228,7 @@ [http://trac.transmissionbt.com/query?milestone=1.52&group=component&groupdesc=1&order=severity All tickets closed by this release] ==== Mac ==== * Improve interface responsiveness when downloading -==== GTK+ ==== and Daemon +==== GTK+ and Daemon ==== * Always honor the XDG setting for the download directory ==== GTK+ ==== * Fix formatting error when showing speeds measured in MB/s diff --git a/macosx/InfoWindowController.h b/macosx/InfoWindowController.h index 80436e960..9301007f6 100644 --- a/macosx/InfoWindowController.h +++ b/macosx/InfoWindowController.h @@ -59,7 +59,7 @@ NSArray * fPeers, * fWebSeeds; IBOutlet NSTableView * fPeerTable, * fWebSeedTable; - IBOutlet NSTextField * fConnectedPeersField, * fDownloadingFromField, * fUploadingToField, * fKnownField; + IBOutlet NSTextField * fConnectedPeersField; IBOutlet NSTextView * fErrorMessageView; IBOutlet PiecesView * fPiecesView; IBOutlet NSSegmentedControl * fPiecesControl; diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index 37d6e432c..d4dd879be 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -353,9 +353,6 @@ typedef enum [fErrorMessageView setSelectable: NO]; [fConnectedPeersField setStringValue: @""]; - [fDownloadingFromField setStringValue: @""]; - [fUploadingToField setStringValue: @""]; - [fKnownField setStringValue: @""]; [fDateAddedField setStringValue: @""]; [fDateCompletedField setStringValue: @""]; @@ -1493,49 +1490,56 @@ typedef enum return; Torrent * torrent = [fTorrents objectAtIndex: 0]; + NSString * knownString = [NSString stringWithFormat: NSLocalizedString(@"%d known", "Inspector -> Peers tab -> peers"), + [torrent totalPeersKnown]]; if ([torrent isActive]) { - NSInteger total = [torrent totalPeersConnected]; - NSString * connected = [NSString stringWithFormat: - NSLocalizedString(@"%d Connected", "Inspector -> Peers tab -> peers"), total]; + const NSInteger total = [torrent totalPeersConnected]; + NSString * connectedText = [NSString stringWithFormat: NSLocalizedString(@"%d Connected", "Inspector -> Peers tab -> peers"), + total]; if (total > 0) { - NSMutableArray * components = [NSMutableArray arrayWithCapacity: 5]; + NSMutableArray * fromComponents = [NSMutableArray arrayWithCapacity: 5]; NSInteger count; if ((count = [torrent totalPeersTracker]) > 0) - [components addObject: [NSString stringWithFormat: + [fromComponents addObject: [NSString stringWithFormat: NSLocalizedString(@"%d tracker", "Inspector -> Peers tab -> peers"), count]]; if ((count = [torrent totalPeersIncoming]) > 0) - [components addObject: [NSString stringWithFormat: + [fromComponents addObject: [NSString stringWithFormat: NSLocalizedString(@"%d incoming", "Inspector -> Peers tab -> peers"), count]]; if ((count = [torrent totalPeersCache]) > 0) - [components addObject: [NSString stringWithFormat: + [fromComponents addObject: [NSString stringWithFormat: NSLocalizedString(@"%d cache", "Inspector -> Peers tab -> peers"), count]]; if ((count = [torrent totalPeersPex]) > 0) - [components addObject: [NSString stringWithFormat: + [fromComponents addObject: [NSString stringWithFormat: NSLocalizedString(@"%d PEX", "Inspector -> Peers tab -> peers"), count]]; if ((count = [torrent totalPeersDHT]) > 0) - [components addObject: [NSString stringWithFormat: + [fromComponents addObject: [NSString stringWithFormat: NSLocalizedString(@"%d DHT", "Inspector -> Peers tab -> peers"), count]]; - connected = [connected stringByAppendingFormat: @": %@", [components componentsJoinedByString: @", "]]; + NSMutableArray * upDownComponents = [NSMutableArray arrayWithCapacity: 3]; + if ((count = [torrent peersSendingToUs]) > 0) + [upDownComponents addObject: [NSString stringWithFormat: + NSLocalizedString(@"DL from %d", "Inspector -> Peers tab -> peers"), count]]; + if ((count = [torrent peersGettingFromUs]) > 0) + [upDownComponents addObject: [NSString stringWithFormat: + NSLocalizedString(@"UL to %d", "Inspector -> Peers tab -> peers"), count]]; + [upDownComponents addObject: knownString]; + + connectedText = [connectedText stringByAppendingFormat: @": %@\n%@", [fromComponents componentsJoinedByString: @", "], + [upDownComponents componentsJoinedByString: @", "]]; } - [fConnectedPeersField setStringValue: connected]; - - [fDownloadingFromField setIntValue: [torrent peersSendingToUs]]; - [fUploadingToField setIntValue: [torrent peersGettingFromUs]]; + [fConnectedPeersField setStringValue: connectedText]; } else { - [fConnectedPeersField setStringValue: @""]; - [fDownloadingFromField setStringValue: @""]; - [fUploadingToField setStringValue: @""]; + NSString * connectedText = [NSString stringWithFormat: @"%@\n%@", + NSLocalizedString(@"Not Connected", "Inspector -> Peers tab -> peers"), knownString]; + [fConnectedPeersField setStringValue: connectedText]; } - [fKnownField setIntValue: [torrent totalPeersKnown]]; - [fPeers release]; fPeers = [[[torrent peers] sortedArrayUsingDescriptors: [self peerSortDescriptors]] retain]; [fPeerTable reloadData]; diff --git a/macosx/Torrent.m b/macosx/Torrent.m index 643ab0816..90d33ffda 100644 --- a/macosx/Torrent.m +++ b/macosx/Torrent.m @@ -409,7 +409,7 @@ int trashDataFile(const char * filename) return tr_torrentSetPriority(fHandle, priority); } -#warning should be somewhere else? +#warning when 10.6-only use recycleURLs:completionHandler: + (void) trashFile: (NSString *) path { //attempt to move to trash diff --git a/macosx/en.lproj/InfoWindow.xib b/macosx/en.lproj/InfoWindow.xib index 003683435..4319391a9 100644 --- a/macosx/en.lproj/InfoWindow.xib +++ b/macosx/en.lproj/InfoWindow.xib @@ -13,6 +13,7 @@ YES + YES @@ -1751,10 +1752,27 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA NSResponder - + 274 YES + + + 290 + {{7, 10}, {344, 28}} + + YES + + 67239424 + 138543104 + TXVsdGlsaW5lIExhYmVsCk11bHRpbGluZSBMYWJlbA + + no peer info available + + + + + 274 @@ -1768,13 +1786,13 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 256 - {338, 172} + {336, 209} YES 256 - {338, 17} + {336, 17} @@ -1816,7 +1834,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 2 YES - + IP YES compareNumeric: @@ -1824,7 +1842,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA Client - 112 + 110 20 10000 @@ -1850,7 +1868,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 3 YES - + Client YES compareFinder: @@ -2123,37 +2141,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA compare: - - UL To - 39 - 18 - 60 - - 75628096 - 2048 - UL - - - - - - 337772096 - 2048 - Text Cell - - - - - - 2 - YES - - - UL To Rate - NO - compare: - - DL From 38 @@ -2185,6 +2172,37 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA compare: + + UL To + 39 + 18 + 60 + + 75628096 + 2048 + UL + + + + + + 337772096 + 2048 + Text Cell + + + + + + 2 + YES + + + UL To Rate + NO + compare: + + 3 2 @@ -2197,6 +2215,8 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA InspectorTable YES + + 1 @@ -2206,7 +2226,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 0 - {{1, 17}, {338, 172}} + {{1, 17}, {336, 209}} @@ -2221,7 +2241,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 256 _doScroller: - 0.99224809999999997 + 0.99521531100478466 @@ -2240,7 +2260,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA YES - {{1, 0}, {338, 17}} + {{1, 0}, {336, 17}} @@ -2249,7 +2269,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA - {{10, 77}, {340, 190}} + {{10, 44}, {338, 227}} 562 @@ -2273,13 +2293,13 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 256 - {338, 48} + {336, 48} YES 256 - {338, 17} + {336, 17} @@ -2293,7 +2313,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA YES Address - 294 + 292 10 10000 @@ -2370,7 +2390,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 0 - {{1, 17}, {338, 48}} + {{1, 17}, {336, 48}} @@ -2404,7 +2424,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA YES - {{1, 0}, {338, 17}} + {{1, 0}, {336, 17}} @@ -2413,7 +2433,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA - {{10, 271}, {340, 66}} + {{10, 275}, {338, 66}} 562 @@ -2424,124 +2444,9 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA AAAAAAAAAABBgAAAQYAAAA - - - 292 - {{10, 26}, {53, 14}} - - YES - - 67239424 - 71303168 - DL From: - - - - - - - - - 292 - {{64, 26}, {65, 14}} - - YES - - 67239424 - 4194304 - - - N/A - - - - - - - - 292 - {{24, 42}, {39, 14}} - - YES - - 67239424 - 71303168 - UL To: - - - - - - - - - 292 - {{64, 42}, {65, 14}} - - YES - - 67239424 - 4194304 - - - N/A - - - - - - - - 290 - {{2, 58}, {356, 14}} - - YES - - 67239488 - 138545152 - - - no peer info available - - - - - - - - 292 - {{19, 10}, {44, 14}} - - YES - - 67239424 - 71303168 - Known: - - - - - - - - - 292 - {{64, 10}, {65, 14}} - - YES - - 67239424 - 4194304 - - - N/A - - - - - - {360, 342} + {358, 346} + NSView NSResponder @@ -3725,38 +3630,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 1139 - - - fConnectedPeersField - - - - 1140 - - - - fUploadingToField - - - - 1141 - - - - fDownloadingFromField - - - - 1142 - - - - fKnownField - - - - 1143 - dataSource @@ -4117,6 +3990,14 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 1820 + + + fConnectedPeersField + + + + 1829 + @@ -4756,14 +4637,8 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA YES - - - - - - - + Peers @@ -4858,69 +4733,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA - - 1044 - - - YES - - - - - - 1045 - - - YES - - - - - - 1050 - - - YES - - - - - - 1051 - - - YES - - - - - - 1054 - - - YES - - - - - - 1055 - - - YES - - - - - - 1056 - - - YES - - - - 1057 @@ -5355,41 +5167,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA - - 1534 - - - - - 1535 - - - - - 1540 - - - - - 1541 - - - - - 1544 - - - - - 1545 - - - - - 1546 - - - 1547 @@ -5937,6 +5714,20 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA + + 1827 + + + YES + + + + + + 1828 + + + @@ -6032,20 +5823,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 1042.ImportedFromIB2 1043.IBPluginDependency 1043.ImportedFromIB2 - 1044.IBPluginDependency - 1044.ImportedFromIB2 - 1045.IBPluginDependency - 1045.ImportedFromIB2 - 1050.IBPluginDependency - 1050.ImportedFromIB2 - 1051.IBPluginDependency - 1051.ImportedFromIB2 - 1054.IBPluginDependency - 1054.ImportedFromIB2 - 1055.IBPluginDependency - 1055.ImportedFromIB2 - 1056.IBPluginDependency - 1056.ImportedFromIB2 1057.IBEditorWindowLastContentRect 1057.IBPluginDependency 1057.ImportedFromIB2 @@ -6149,13 +5926,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 1531.IBPluginDependency 1532.IBPluginDependency 1533.IBPluginDependency - 1534.IBPluginDependency - 1535.IBPluginDependency - 1540.IBPluginDependency - 1541.IBPluginDependency - 1544.IBPluginDependency - 1545.IBPluginDependency - 1546.IBPluginDependency 1547.IBPluginDependency 1548.IBPluginDependency 1549.IBPluginDependency @@ -6271,6 +6041,8 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA 1816.IBPluginDependency 1817.IBPluginDependency 1818.IBPluginDependency + 1827.IBPluginDependency + 1828.IBPluginDependency 28.IBPluginDependency 28.ImportedFromIB2 29.IBPluginDependency @@ -6424,7 +6196,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA com.apple.InterfaceBuilder.CocoaPlugin - {{460, 513}, {360, 342}} + {{460, 509}, {358, 346}} com.apple.InterfaceBuilder.CocoaPlugin {{63, 584}, {360, 342}} @@ -6450,20 +6222,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - {{445, 480}, {340, 365}} com.apple.InterfaceBuilder.CocoaPlugin @@ -6579,13 +6337,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -6690,6 +6441,8 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -6794,7 +6547,7 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA - 1826 + 1829 @@ -6938,7 +6691,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA fDownloadLimitField fDownloadLimitLabel fDownloadedTotalField - fDownloadingFromField fErrorMessageView fFailedHashField fFileController @@ -6949,7 +6701,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA fHaveField fImageView fInfoView - fKnownField fNameField fOptionsView fPeerTable @@ -6977,7 +6728,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA fUploadLimitField fUploadLimitLabel fUploadedTotalField - fUploadingToField fWebSeedTable @@ -6996,7 +6746,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA NSTextField NSTextField NSTextField - NSTextField NSTextView NSTextField FileOutlineController @@ -7008,7 +6757,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA NSImageView NSView NSTextField - NSTextField NSView NSTableView NSTextField @@ -7035,7 +6783,6 @@ AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAwOQA NSTextField NSTextField NSTextField - NSTextField NSTableView