Mitchell Livingston
1b4ec4dc4d
search for folder nodes concurrently when generating a torrent's file list
2012-01-14 16:07:58 +00:00
Mitchell Livingston
bfc288a309
consider the corresponding torrent when comparing tracker nodes
2012-01-14 16:06:39 +00:00
Mitchell Livingston
6a6887242f
#4713 (Lion) animate removing rows from the tracker table
2012-01-14 02:28:54 +00:00
Jordan Lee
300f070104
Silence a minor compiler warning.
...
We used to pass no button text + response_id pairs when creating the dialog because only gtk_dialog_add_button() would return back the actual button widget s.t. we could use a grab on it. However as of GTK+ 2.20 we can use gtk_dialog_get_widget_for_response() to get the button, so we can create dialogs in the more common way (which also fixes the gcc warning)
2012-01-13 22:10:26 +00:00
Mitchell Livingston
3de5847158
#4705 Removing a group in prefs doesn't remove the group row in the main window
2012-01-12 00:12:17 +00:00
Mitchell Livingston
3eb8b12fa8
#4704 req->left = tr_cpLeftUntilComplete( &tor->completion ) should end with a semicolon
2012-01-11 22:31:02 +00:00
Jordan Lee
57d273cd61
(trunk libT) #4700 "compilation fails on FreeBSD because it can't find alloca.h" -- fixed.
2012-01-10 19:18:18 +00:00
Mitchell Livingston
5b653e17d4
merge the code to update the table when toggling the group rows
2012-01-09 23:59:57 +00:00
Mitchell Livingston
8419853c76
better enumeration when generating a torrent's file list
2012-01-09 04:27:09 +00:00
Mitchell Livingston
a0abfd79c0
concurrent enumeration when generating a torrent's file list
2012-01-09 00:57:50 +00:00
Mitchell Livingston
f05360e5a3
another concurrency safety change
2012-01-08 20:22:43 +00:00
Mitchell Livingston
ee8977d5c3
fix a theoretical concurrency issue when removing previous pieces info
2012-01-08 19:58:58 +00:00
Mitchell Livingston
27595b4888
Use concurrent enumeration when generating the list of filtered torrents.
2012-01-08 19:28:59 +00:00
Mitchell Livingston
a43f649935
Fix a theoretical concurrency issue by generating an index set directly instead of enumerating objects and filling an index set.
2012-01-08 18:58:47 +00:00
Mitchell Livingston
bb16b6b4e2
improve how we search the message window's message array
2012-01-08 17:05:12 +00:00
Mitchell Livingston
685d04fa56
dead code removal
2012-01-08 17:04:30 +00:00
Mitchell Livingston
7223a980f3
more array enumeration using blocks and the concurrent option
2012-01-08 05:37:18 +00:00
Mitchell Livingston
bc344e6e74
update the file table node search to (possibly) use concurrent enumeration
2012-01-08 05:05:47 +00:00
Mitchell Livingston
9c75df7ddc
remove the no-longer-necessary lock from the file table
2012-01-08 04:11:30 +00:00
Mitchell Livingston
3cb231283e
store the list of newly-adding transfers in a set rather than an array
2012-01-08 04:11:07 +00:00
Mitchell Livingston
21ba5ced8c
When adding torrents, slide them in from the left
2012-01-08 00:51:05 +00:00
Mitchell Livingston
db9606d67a
don't animate the main table on launch
2012-01-07 22:06:23 +00:00
Mitchell Livingston
3fd186f3f2
Animate rearranging the queue separately from the main filter animation. This allows us to ensure that the animation shows the dragged torrents being moved instead of the torrents around them.
2012-01-07 21:05:02 +00:00
Mitchell Livingston
88aa9cbe4a
move tinkering with the main table's animations
2012-01-07 18:46:03 +00:00
Mitchell Livingston
568ca2eb8e
more block usage when removing previous piece info
2012-01-07 17:40:18 +00:00
Mitchell Livingston
61bca9fa60
re-add code (removed in r13132) to remove previous piece information for no-longer-displayed torrents (in a fun new block way!)
2012-01-07 17:08:28 +00:00
Mitchell Livingston
351f574f08
when showing/hiding group rows, fade them in/out instead of sliding them left
2012-01-07 16:18:56 +00:00
Mitchell Livingston
abc1852ff8
#4701 Table looks like it will accept drag-and-drop without a row
2012-01-07 16:01:28 +00:00
Mitchell Livingston
b2f3bc7eaf
#4696 Step one of getting the main table to animate for everything besides the already-added sorting. This also contains improvements to the sorting code by sorting in-place.
2012-01-07 15:46:42 +00:00
Mitchell Livingston
62cef8ea98
speed up for #4696
2012-01-04 23:40:23 +00:00
Mitchell Livingston
9eab42d613
#4696 (Lion) animate sorting the main table
2012-01-04 05:16:07 +00:00
Mitchell Livingston
9353eba3cd
#4694 replace more reloadData table calls with setNeedsDisplay:
2012-01-04 00:36:21 +00:00
Mitchell Livingston
16e70167d0
update moveGroupAtRow:toRow to use NSMutableArrayAdditions's moveObjectAtIndex:toIndex:
2012-01-04 00:06:30 +00:00
Mitchell Livingston
d024e6bf39
#4694 Don't call reloadData on the main table on each updateUI call (and each sort) if the order hasn't changed; instead call setNeedsDisplay:. Don't call reloadData when toggling the main window per-torrent status string
2012-01-03 01:53:53 +00:00
Mitchell Livingston
97c9f72cda
revert r13121 for the time being
2012-01-02 23:55:10 +00:00
Mitchell Livingston
575a57525c
don't create a NSColorPanel just to close it
2012-01-02 21:47:14 +00:00
Mitchell Livingston
ff5510a3fc
#4693 (Lion) animate adding/removing/dragging rows in the group pref table
2012-01-02 19:05:21 +00:00
Jordan Lee
cac5c360f2
(trunk libT) #4690 "getPeerCandidates() uses more CPU than necessary" -- fixed.
...
Once we've scored all n candidates, we sort them by score so that we can pick out the k best candidates. If n is large, sorting them can be expensive. If we use the Selection Algorithm, we select in O(n) without having to sort.
2011-12-31 21:28:53 +00:00
Mitchell Livingston
a03cad7132
remove accidental line removal in r13121
2011-12-29 18:42:45 +00:00
Mitchell Livingston
577b578f61
#4688 On Lion use new dragging functionality, allowing for the count of dragged files to appear under the mouse pointer
2011-12-29 18:40:17 +00:00
Mitchell Livingston
ea33599308
display the priority images in the pulldown menus in the add windows
2011-12-28 03:25:48 +00:00
Mitchell Livingston
2a670d54a9
support pasting magnet links into the torrent table
2011-12-27 23:19:14 +00:00
Mitchell Livingston
22a5e885ba
If we have a url and string in the clipboard, only use the url when trying to open as a torrent file. This way we avoid opening the same URL twice
2011-12-26 02:46:27 +00:00
Mitchell Livingston
5339d25dca
run on Snow Leopard again
2011-12-26 02:39:30 +00:00
Mitchell Livingston
aafb346abd
#4686 Capture pasted strings that are URLs
2011-12-26 02:33:13 +00:00
Mitchell Livingston
01590dacf3
make sure there's a screen before attempting to constrain info window size
2011-12-25 22:15:13 +00:00
Mitchell Livingston
25a5834614
#4683 Info window swapped view heights not constrained to screen size
2011-12-25 22:05:18 +00:00
Jordan Lee
a8468a7b09
(trunk libT) #4684 "tr_cpSizeWhenDone() is slow for huge torrents that we're only partially downloading" -- fixed.
...
There are actually two different implementations of the byte-counting in that function: a slower implementation was added prior to 2.40 in r12918 to double-check the standard implementation. This checking was added to help smoke out a bug that was fixed in r12920, but I forgot to remove that slower implementation.
2011-12-22 19:35:13 +00:00
Jordan Lee
9576dd16e2
(trunk libT) #4666 "webseed downloading never gets downloaded" -- fixed.
...
The webseed in question is downloading from an ubuntuone.com url. We ask for piece-sized ranges in a couple of different concurrent connections, and curl hints to the server that it's okay to gzip the response, or deflate it, or leave it raw. It looks like there's a bug in the server or in libcurl (or, somehow, Transmission) that's not compressing or decompressing these responses correctly -- we never get the right number of bytes in the response from libcurl. If we ask for the contents uncompressed, the download progresses towards completion.
As an aside, when testing this I noticed that deluge is a lot faster than Transmission on this torrent. In order for Transmission to reach parity here, webseed.c needs to know when it's appropriate to have more than 4 concurrent tasks and/or be able to request ranges > the torrent's piece size.
2011-12-14 05:58:23 +00:00
Jordan Lee
f9cc51f0d3
(trunk libT) fix a minor memory leak in the bencode regression tests.
...
Found by llvm's static analyzer. This is a minor issue since the leak is in an automated test rather than in shipping code, but it's still better to fix it.
2011-12-14 05:44:15 +00:00