Commit Graph

11373 Commits

Author SHA1 Message Date
Mitchell Livingston 0adcc8c6f4 use GCD instead of a variable to not animate the main table at launch 2012-01-14 16:08:45 +00:00
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