From f5f4e91170eb70ad15f57e2ce04bb22ab753c926 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sat, 8 Jul 2006 20:49:54 +0000 Subject: [PATCH] Have start and stop use actual torrents instead of indexes...this could be useful later. --- macosx/Controller.h | 8 ++-- macosx/Controller.m | 38 ++++++++---------- macosx/English.lproj/MainMenu.nib/classes.nib | 4 +- macosx/English.lproj/MainMenu.nib/info.nib | 1 + .../MainMenu.nib/keyedobjects.nib | Bin 38408 -> 38407 bytes macosx/TorrentTableView.m | 4 +- 6 files changed, 25 insertions(+), 30 deletions(-) diff --git a/macosx/Controller.h b/macosx/Controller.h index 001cf1d54..2fcf6a971 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -89,12 +89,12 @@ - (NSArray *) torrentsAtIndexes: (NSIndexSet *) indexSet; - (void) torrentNumberChanged; -- (void) resumeTorrent: (id) sender; +- (void) resumeSelectedTorrents: (id) sender; - (void) resumeAllTorrents: (id) sender; -- (void) resumeTorrentWithIndex: (NSIndexSet *) indexSet; -- (void) stopTorrent: (id) sender; +- (void) resumeTorrents: (NSArray *) torrents; +- (void) stopSelectedTorrents: (id) sender; - (void) stopAllTorrents: (id) sender; -- (void) stopTorrentWithIndex: (NSIndexSet *) indexSet; +- (void) stopTorrents: (NSArray *) torrents; - (void) removeWithIndex: (NSIndexSet *) indexSet deleteData: (BOOL) deleteData deleteTorrent: (BOOL) deleteData; diff --git a/macosx/Controller.m b/macosx/Controller.m index 240326e58..89669dcfe 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -486,50 +486,44 @@ static void sleepCallBack(void * controller, io_service_t y, [self application: NSApp openFiles: filenames]; } -- (void) resumeTorrent: (id) sender +- (void) resumeSelectedTorrents: (id) sender { - [self resumeTorrentWithIndex: [fTableView selectedRowIndexes]]; + [self resumeTorrents: [self torrentsAtIndexes: [fTableView selectedRowIndexes]]]; } - (void) resumeAllTorrents: (id) sender { - [self resumeTorrentWithIndex: [NSIndexSet indexSetWithIndexesInRange: NSMakeRange(0, [fTorrents count])]]; + [self resumeTorrents: fTorrents]; } -- (void) resumeTorrentWithIndex: (NSIndexSet *) indexSet +- (void) resumeTorrents: (NSArray *) torrents; { - unsigned int i; - for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i]) - [[fTorrents objectAtIndex: i] startTransfer]; + [torrents makeObjectsPerformSelector: @selector(startTransfer)]; [self updateUI: nil]; [fInfoController updateInfoStatsAndSettings]; [self updateTorrentHistory]; } -- (void) stopTorrent: (id) sender +- (void) stopSelectedTorrents: (id) sender { - [self stopTorrentWithIndex: [fTableView selectedRowIndexes]]; + [self stopTorrents: [self torrentsAtIndexes: [fTableView selectedRowIndexes]]]; } - (void) stopAllTorrents: (id) sender { - [self stopTorrentWithIndex: [NSIndexSet indexSetWithIndexesInRange: NSMakeRange(0, [fTorrents count])]]; + [self stopTorrents: fTorrents]; } -- (void) stopTorrentWithIndex: (NSIndexSet *) indexSet +- (void) stopTorrents: (NSArray *) torrents; { //don't want any of these starting then stopping - unsigned int i; + NSEnumerator * enumerator = [torrents objectEnumerator]; Torrent * torrent; - for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i]) - { - torrent = [fTorrents objectAtIndex: i]; + while ((torrent = [enumerator nextObject])) [torrent setWaitToStart: NO]; - } - for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i]) - [[fTorrents objectAtIndex: i] stopTransfer]; + [torrents makeObjectsPerformSelector: @selector(stopTransfer)]; [self updateUI: nil]; [fInfoController updateInfoStatsAndSettings]; @@ -1443,7 +1437,7 @@ static void sleepCallBack(void * controller, io_service_t y, [item setToolTip: @"Pause selected transfers"]; [item setImage: [NSImage imageNamed: @"PauseSelected.png"]]; [item setTarget: self]; - [item setAction: @selector(stopTorrent:)]; + [item setAction: @selector(stopSelectedTorrents:)]; } else if ([ident isEqualToString: TOOLBAR_RESUME_SELECTED]) { @@ -1452,7 +1446,7 @@ static void sleepCallBack(void * controller, io_service_t y, [item setToolTip: @"Resume selected transfers"]; [item setImage: [NSImage imageNamed: @"ResumeSelected.png"]]; [item setTarget: self]; - [item setAction: @selector(resumeTorrent:)]; + [item setAction: @selector(resumeSelectedTorrents:)]; } else { @@ -1645,7 +1639,7 @@ static void sleepCallBack(void * controller, io_service_t y, } //enable pause item - if (action == @selector(stopTorrent:)) + if (action == @selector(stopSelectedTorrents:)) { if (!canUseMenu) return NO; @@ -1664,7 +1658,7 @@ static void sleepCallBack(void * controller, io_service_t y, } //enable resume item - if (action == @selector(resumeTorrent:)) + if (action == @selector(resumeSelectedTorrents:)) { if (!canUseMenu) return NO; diff --git a/macosx/English.lproj/MainMenu.nib/classes.nib b/macosx/English.lproj/MainMenu.nib/classes.nib index 25b071fa3..46616594f 100644 --- a/macosx/English.lproj/MainMenu.nib/classes.nib +++ b/macosx/English.lproj/MainMenu.nib/classes.nib @@ -12,7 +12,7 @@ removeDeleteTorrent = id; removeNoDelete = id; resumeAllTorrents = id; - resumeTorrent = id; + resumeSelectedTorrents = id; revealFile = id; setInfoTab = id; setLimitGlobalEnabled = id; @@ -24,7 +24,7 @@ showMainWindow = id; showPreferenceWindow = id; stopAllTorrents = id; - stopTorrent = id; + stopSelectedTorrents = id; toggleAdvancedBar = id; toggleSmallView = id; toggleSpeedLimit = id; diff --git a/macosx/English.lproj/MainMenu.nib/info.nib b/macosx/English.lproj/MainMenu.nib/info.nib index b72b53703..303f8c36a 100644 --- a/macosx/English.lproj/MainMenu.nib/info.nib +++ b/macosx/English.lproj/MainMenu.nib/info.nib @@ -29,6 +29,7 @@ 3 IBOpenObjects + 456 29 IBSystem Version diff --git a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib index 402b97b9da4563ea8b4c5950a2be68e6fc1846d6..06c10cfd57aed32b67f533cbb20150f6b68b5b92 100644 GIT binary patch delta 22685 zcmb8X1$-Mv^FMrdx;v3&>ukr2GBYzXViH%u_O;(|GYt?H|{Y}n2&V6(l z=LzQp=RM~$=L?SD1a5?jaAVvIH^*&pcia#6#{=;oJRFbXT;yEBlkjxTT+Vzv4=={c z@d~^WuL6A)crUy!-VYy&55q^}6Yz=nG<-Tf3!jZI!WZMK@eTM!{CCiA8@>zQjqk(% z!cX8Q_4q0LEPfHcf#1Y$;rH;T_%r+k{uX2L&-fPtAqd=z5D*k$OV|P!VcELuiSC#2|tph7;q6@x&BjD)9^PE3p7jF9hG05}N?^ z4nVz+I0mTC68duD3Lw7?$R7dn7l8ad!H@_sj^q+kNMqs`vJ2@zdJuM`C+R`@l2K$L znM7uiS!6L;PF9c#vW`@dYEnaL$${h`k|BqaXL1Jl3;8QKhn!0;Bv+6t z$yMZ9aud0k+(Pak_mTU_1A6i=@-%sdJWF08FN5a>d6#?wem*5%k{`&w$&chGF2?2K zMqCjt;u>?!IG?#ToG)Bkt`paT>&f-v`f~%o6AGRv@WgXdxT)aD0#818x`L++Jk{W- z15XopdVog*o_^rb4+h_8@Qeb_c<@XD&rjg_1w6CCvw*vly9_+5xvkvw;MokG?cmu1 zo&(&!xJS9CxTm=nxEHzCxYxONxOcgaxR1Hdxi7eHx$n52xSx3(9?s+Q#5{^;N?zhw za$9+J;Bn@;^Za?CdR`bWju+2M;id92d0D)Co{U!lTB><9yn0@DUJss**N4}aH;6Zw zNAt$Qu>zl2|jPvF<_>-i0Q6+R98*38%N`{A?rL;1t_ zBk)E1@%$eEIvKQ218u*8zvu85@>lRz@>lWK@;C7}^SAK-;P2)i{tBybkE z<3qVN0zZMjAVd%;xGK0ScqVu!M1=yOnb3}~6WR+ULRX=O&{G&Fj1ndbb3j|JFke_K z?255MeWg$>)Cq?OhYCjvCkcNR&J`{K9To`}3s(s@g5Nd@e;4i%9s$1{5&k7SgH0#w zu<639!v6^08(~I5!p=x&WMpJ-Pf~QfW5_QK|Q4dj1tWnfk)PS5tFN&H) z8j()a5B%L!A3FI7zX=+!6q}eU`rTmC4;SIuvP}!#9*809;cAwhy`+j4L1IZf0V(F(+?T!SS!zDFv>s4 zU}xcrrwIv7Jv;W!X=3y8Y$ zFQRa6Cs8-qpFI6DIWKWBx&R3TvLAubW753FUVTp@X@~{h1v$D9$2re&E8LpCL0_it z(f8>d7r)H{w`-dRZqIqi3cUQ$D{OP9y?NWTaL-P%97 zq$)fFj6V#F|36^-PcD2D@>Nww@d&6aJhGiD7EV8+^_0F1JT#_0Ee%bS02K}`%}lp;6q z62pSp&~E{kcW^;##q4lzpNtxVshng`5ww*yMb{xmm*e$#1Kx;t!<%p=uEN!Lcg_*| z6a9rjQ3k~r6lYM9L3s=+U{E1_f~Bg=*eYMXdvp7UIY#tJ`g8l3YYG*8b&XD48+$a? z_i1ckb9`;Y13GtQP=s~%vGMqaromz!gR=lu_th-X!}LkEN0l9vCm!3;x}OHK;IK1& z!o-t18t=nKg1zArE1vOvBbW8_jYQ|N4!+hxadBhM-u(ZuykSk&_*5(nO#)9hY9N$5Es=>mh=LP^&DCh2nf+zgUzSX+Nd=xsoFmq8sN zq5Z!RKKPE%fz|lCp#Nc~`AhV#0Qnm_gF#&(1LuEZ@E*+Z?~XZ2;2d4x9E*Z##U?ss z@BVoTRj*Q2uZG_JqdQ&!0wpkX0r1MGJA*Pn^8-5^6+uErMey|u>H%F9gL)dwn-Bs& zLKqPu!k7Ruycjf-L7Ny<+2KnFQ}FhF^@-Sf0)u(=?v;qE2eUR{`)w|ntSwCu-5|Y^$uVpAhP+vVfeQVLxLP#MYs^Igd5>bco3e1 z7vW9#5Wa*T;ZFoGDEJCu&=3XoRIzwnMyD`v1*x@<}b9PF#IqC~sr^DC&x!?5s z4(mic=qcB32V?h!$ckv5sgZ))O0u zjSQO4poI)t%%EKvRK}pC3|h{hl?+7+CyJ#an@g2DoGVaoboc|6ffrx1va;+1>&JDHy+I+Wj z^RbTRC!L!=huVK-|Eg0ngVuBs{P%Z={2M}I-ywCK5dL>a14P>NLyEscy8XZPgBtYX z&OR?O|6le&I+4!p>`36Oz*lz$RkibEP&K3<^9^e+C`Mpo1B7D1++RzzFj$PS66#PVYMq z*_$no@c4?Pw2#Oz7!5lu!tJF1A3$l$>rxzZu>cfg79kbeyPA@z_`nAtX z8t5Mu_zxfTm0KrQ0B8oV10o&24y=;{0LUPAWe3v90RUtOd%a@>onCu@4C@#{uz%pc zj-Zo605mk48RcLy0XaoZg7IoJj8`M3##ot6MQ)Hk88WE-3_22qrcvzNs0hJK5cKEK zKEV#sfOz#qIi~0o@O*e{=}38uV$I8tsI(vd+<6*qPB?MO(>j zkPm}SWze5kd5j%9I@*Huk8xw4MJKRRV**Uh1EQ^PNWVhXQ`zG&UA(V?wu7*3CTyGD z5fagPq{AQ8Dy}$Q|`hQAP>1l4E73G zJodWCztcRpVj#g3N@#%+R(&U-4(?dKiU5(BYuO=UH59SNkU9i(=4KDLIYMshA-8qs z3^{#Apog>NN;ghE-@1Q&feX!C$=J7HUR=k7TG@`TWC2t{^=3IXH= zp+6z?Em1<}ab*DVhR{9;#dfBu0FV!a4nQa#LVCka7Le5f%ok#ZAePvftN}oN5IO>( ziRq3Zc}_P%i)lKuEuAQ*~00SFd20abQWSya*09pf~ zvk)rn3=IcR3xv)?sJt^Y20&{ebP+<8ouMDW?u=LmvC9yv?u<8q|0fV!hbXBscFBpv|Da z`>?IKGpiN=1wmF1A*5p$C%Nc1g0@iD_87Je?A(1TfWRJ?L7zfsaA#;IfWjdJ_P-#Y zbcXf>T_i0;80D~cH7HDzhzG`a;Vla#ym?8<`egGSj?qDJq4kse4)He2ORP;z! z^=SO|-jH{ANE_X31|!*{DfS|QM;cl%9)k&hyS6pq2|N78eg@;SlGGTzIdY0eK;}k( zImYYI5;~7(4HOs*A!8`FbJc<80H6>Ei6PX#gNi5NxwHv2WiT74!E@+FbSwG<-HiT; zSYRnU5Ae?mJ)e+C2l z1Mro?8mIZ#g<~0*4KIo(!LqTvyjTXaq?L3zgIO?`DJx5JGD^h4u?WnMZelPimPxbZ zrSZ}i^U`@4?A)}d_-tNI+c51I%<12TS@d<7Qo|6zDDC-%Av&;@>0Vz)P{GUouMs#h z7})Zs+a%TUK=~TUYF<1eE`OpZ1<%tChR>)xahHQ^F9yvOX7sz0dzI2Z( zZA-?R$eYBQj6UH_LI31U#V+w!u!KMHhVX`PjL?(3pLsKQzo7ehzw$gVk~fpRnNgqz z7666>zS0>imBG@0sRBK>)pvNap$HGqLicEsIUhN?n707f*dkswZwarK!N6++3@rqx zoWUZ1M(7^@%idOfUC5SpB?q=GWDwhu*}jk)c?%30-rQkI!GJycI@8%6n(X$kEOxcC z2yJ5##)f3Iv)IpD^j|E(!PwXVSxyCz#ZkcGILDrMl6ML{+|DKeEH|H?%V3E>mHf78 zo<%Yi^Um?k^Dgi%@-Fc%GguUZMKf3og8@U2W3YJkUY4JPcO5;9p5#PwqBsCd;?r|Z zAiKzTWv zy^!sU@jkL2v#q(jFMMPnA7Slsd`O&6EaVexUXFJ-A34Pr!Z%+A{YBUBavhlJv{i!m z#_gU4)@Lv&yDBFv+!BylL(+0cTKaFKcHfbfu~xZ0B5S^Dn*onsxTz1v#4 zGFUY`EZ4;(5U@A6t2)TOmTk$k=@N$A;77oW3%yS#GngEtTo|ZysDAQRm`ijo`y57dp{9q{OB;Bnu;qYvcKmklZ~V~6Hb(IB7U_l0~0K|TZioli$C z6m8=(kUfy^6HNp1;gEb7Bp>oG#U`z0BVBJ za0ua@p`QU{nEOZwk)5HL08&9J!_KI4Oyh&C4}SrK#>1hGg=@&3E->%31Nw`>#<6b- z!bM;Q#0MT@672XRd%VEPtQBZ+1Joi7I!%BooX9p5I=OE}63SuaFSD^nb2R;JDE#gG z9c@NBg~3=u25Ku5%aGDUMChW`8bn6!PyvF7zq}o6YVja&hB7MowV{ zC4hYwy{bbVu*&D);AJ5spU?7(UETO^fhG;F>_X7}JAV_pTLQBAk5Jr!*+ zE2~dq&kix@Jb?w^YX$kPgM8Qg%R48q1)}Ub6w(4^t%dJgt=L@Gr+0IEJzv^et8LWx z>Z9u{!Uc$MgCc&1BG&(#2u~owyFjw>gf3Lh%azcEN1H95M*&i|;2~ z_)0x)g$4_j;N3yl(3c3n?-DBotI1$N3vvaw7PN95LCJd~zL!|VIl}MDPa^z4xF14> zpf|z6;4)OgcnZjH8u||Kv{tmxqv^M@E05>L(x3EL2#OIBVV9XP!XCaz&YD+ zaF$RC>LUyW4qs9F2&0Fkr%*Z9I;>r;Bgan5bQPRf%GQ^J7lPacW1D} zuw;Urpd$1tmPeWx4lt(ARLn>@6{lZW?UqWADuyY_6r}r_~dHOP}hr$wj zGlN|KaSc{ev5ST?EoVca9lY1q!4{r=VmKt2P0K(yf!PqMr9rJmVMv3DwxEQc4o*{GT^D->t9RHX z+K2|P{okN8VK|a#1m{6u3rwE?fdd3mu)j7WWZqy~K#u|khx=&mssO()Z!Om^hk)c&e0Xm0G~RNPqK*sD+54068BpnyGCA<_R| zh6@%Lc=onjSy+V}U5Sdgj)J}93qiJ^N-!G@MkV0Q&jRPo*3d>VV0iNlZ#Br>&(JQk z12n7c^qY=zG~|L2a`D@t{67|5!hR_?7sIo*Z=E{Z)HmHtt(36+t4#I(Zkb;P|MlqN z`x89i0f9xL1;SrDv^fX9Z+;AR`I|bgd^3=F!uh~J7BbiyhJ!!@c`Hq8Q1v-U!g{=L z39GKO|K1kcB;fmn9Y@2$4M2h+N5An+#Lben^UF3H+k_llhVR8M2vYb$zO`Tw{zlLU z&so7+4|b{Bpi9I`p~pgjsREy8-=SDAJ+QJJCzN03#|rm#%n$5?E?z)Ii-0(k{r38L$8K`cK{pyr}nQ$v6|0KGB>0u+ceAc*J; zK3zWq#!eXgPJsG3C~(s~%HSb4EQz)8c0`UY5u6rG7mO0j5iAjm7qmh@j@^NQ3IrGs zPC$sl{_arE|FnA(BcF~L1;Ql*A@V((kRHD84EEvw@zQX%8HIKbgWd8an4y3Crj1Wh zn47l^HWr+#^IHT8{sPVx80ta92C?@D-J=pX(QosLKq8G&G1YubrAK1gDAU{0vYDJ^ zTn^_LXB+86n4>od6yJ{)aF$_xiJ35yLQOc^h?$&Yq!Z7BFo%7)9DF}#8G)iKTEO!_ z0%0F)0utEH1)IP*267{F!USbuf7px50eRGEK^2gp2LhouJOY$1Ip8)8UG|P)C6R7GY!qhK<8zIIh+Y(4H(P;q)R}LnIMJR zk4*q(Fdg>ca^U<)C!n2UU{K~@-mF1C%LJ`B*v#g@7mRGczy37H+}hcKzW^Ob zZa}eD3Hli%!p@K!))Rr9?lOo6qk%)ApBnlug-if<@K2u%GBSAk0y2Hd0boDm$h8(>hE5HW|1NIH5x`Sqzz=6i4^c6!RWDIgX z&;q{9LBeWKl%eBcm>j}a10KwRK44-7#Vmyr1G51-Fo=arA3|o&Vc#6u2u`NI;e7NyM1o4~&-InQ|u!1f~;DlvnO1-bQpupCbqJ;<|9fRq|66A0uW9|tZN zOb=w6Az(t_id`_AYqG&(T>@D=FdeAzzd z4_F+GCOVL1gIXfY!fV^+j97>yhAE3&M5rsd+3}B`uA$o(qt#5L4h@2FNuLGVsMycsbB9Vc48b_4U*E1 zYBZDpEJ-v3Oe2COLC%`rRSIsIrK=iyG_;KXWGy0EaAiKa8k+-_Y+%PyjDn5FvDI`Q zJ*cB`JXjwJbwv{q1u~nr1o=@ghzv*m;w>P9iM2=pvLClb)^Q#2Zit4LjSM5)kw5fE zcVwWT3Mog{kp9R9!EEFw`~or@*(n&$?~BYKys-s@3r~U^AwW_I%={%XpR-Ibirk9y z5X2(mk#49)FdUhN6ocEHYNQHLp~1v@WCo(;FChHU0{jiAejXI4k@ZA?AO)d;2Vaf+ zKt>=dk>3SHNLPVAiwq$=kS1gvxd54n6!I2|FvhzhwSwuKEyzY5fgD2mfHy1* znILE-M960J0~h5Bk^cN7WC1b-#C}{aP!JmsDPDx^0@ual$a29F@&z&iPeb;Sp#mjx z1?=BfBflVHki&=`krA%QLZlb598rUcK_F6rEJ5<|y~rj|%&tZHp`e0@Oyaj7Tagl6 ziTsM=NDHw}kOsEkwS+HHin7QoK_k(E>>*5$L8yehgXl+bjv$jk;4|eb1;>%agb~7$ zEyPAL4EYmTh72ZykS)jnWHfRBX~pj%+mV?dgsefv5ni~JU?|=QiV4<)n;;wbkh#1e zNN<4~a+*Ad4B;F@71$gQt(uXkg40MnQU-Qil>#eV1#X!w<>wKt$aKOFuh*mVuz4V2 z?L(@`N&H}BEz%bmifrR=N5&$nISY{n+LH$5g7=2)GuRu0oOURa_`Mu)%)!DfI3raOH4=Ka~OZ%wf^u1pOSA4#2?f(H^iKAfWd$s4>{5 z!&_BP;N^2{EZ9YZ7zk2u;I-j(Z?GL#!o534(7}~+80f(EU4IHZhD+uk6zrsZV7&ug z#|fujGw2sX4ts&Nhkg}S8&1=JYBF@YP7KDSk2BzcI&i39uMgt%6nKpt`wci~;Bvv` z#77Le7u=BtMGd&4&!HuTh!Sr||9Ua#OZqXWw}8@vkOq3a1IjS)GCL1mOGl@HcOA^) zoFV39g3ImDaW65HT4ot?Yz~87Go+^=s)F)LJskwAE}#tKP6HxaL%Cu;gYE$Z6maVu z9SFAxMzHt+_<&g-hBx2Qt#mkuq(KZu7;f(88}9N)!YYXd+`^{?a6<#H)`Ra72K^1h zA1#A|x%~+4+0!vFHlWYx8}L>>xX}hmMqe0M@JXZ-VLI^Eu=6R0SMO1v_LZ>aF`Gg6 zgQ^I61%~8RhGbg*9|jW|$~3nORi8$94GP}Xrwktx(7{{%@PZAjsdf)>I*m_W9fin7IBO}+ZxjhePEaJ5!ksBj3q|}y5%(#~i6Z7ugg-@`rAQ-+5P=V)Orwas6z)jr zv2GNxnZox`#C-8oia1IUZsI@1b1BkJoJnyuP{d9Oy+RRZDAI(&y~K|xfuk3ah6`H;Ql+4-pTghlrqBc86%@XcA{;0j*zRI+B!y**kBOrw6p#+4NQ%P24E9qbhr)qYmQ%PT zg&wRCgY~^bk)9N~h{C{NKT*VOiXbRr3PpCINLz}SNf9?FG?l_~40}rPdqV}U?e~v@ zD|6f5D)E>0Kfp$m0`r+qaoEE;PrW}sl&|Mc0Utfv!9T=5%fAgiO9nqV<{=0ZqzH-x z-39%@{%aE0jQ=8-3AW?&1&ahr1uF!r1ucSB!3M!5!B)X`!A`+$!Ct|B!EwQ5@ENn~ zf~SJFLPRJOiiM8glVw4|81RX*LSea3F4PJK3rB*Fl1&y)75*liFA%N~ZV+xa+GVtd z9ndEX+;wT`b5QST9A+G6oNkfJu-^h)Ik|o=J&GwMnzdNRufbPo8G- zv&nLkR+CL8drXd)+%~yu^33Fo*jQ{Y_7}&BMWO1rqtPt0W8^ujxmAJdOr+Ao{ z5sws)7LOCp1|JpMFFq)~D84MdD!wkhNrBgk5>Q5zF(sxJE|pIeQpJ>% z>Pz*f22z8mp_HCtsA<%1)JkeK)k3YK)>CJwbJPXu5_N^TM%|zunsQ9VrlzLmrg{t0 z2-7Ij7}Ge@1k)tb6w^Y}uBI~6GSe#48q+4z9;Ura2b&Hx)tfS=^Gz3;E;e0iy4-Z7 z>1xyUrW;LnnC>$@V0y;%oaqJAOQs)9Kbs+Dm>F(Hn(@rc%(|F4n0cA`m_?dJo5h;N zo7I{r%<9b=&6>&~JCFV`$D)a84_| z{;rFli(MDbF2P-5yHs{*>N32`j4oTc?C)}_%e5{~EienAh1kN>!ra2b!q&pc!r4Oa zV&P`tZQ*O-ZxLt_Y!PY^ZV_n_Z4qmcU{P#QV==~Js>NK3L&lw-)a${t^mzpW4}!iuZ6;#u*ngjQlJQ!5**2&)vUJgYLR1}lw~ z&Z@6ff2)C3gRN+*DONMA=2h|oAow- z*zC4BZgaury3I42x3;(~*OqTG+cw(%YP;HYr|luz z^R{b~Ef| z+0C(Qv0G=i-fpAaCc9mBN9>N;9k)AaciQf(-FdrDc3A>X0Up_@Z*2aUrZhfxkw9p*ZmaJb@d*WraD;wW-7aikp09J@GLI$As0 zIXXBxIZ7N|9U~kQ9WxxW9CIA=919%F94j5G9cvwxjvB`yj% zU5%rjyy^JN@tqUL$=J!tDb6XuDM{~?;*{o;;gsc+?^Nj2!)c_`1gGgv3!Dx( zop!qBbi?VE(;cU~P7jfrn(lnc6F7xmb!wV=Q>vJ%DOIhZFSw^deZf>>w7oMjq7IPCUFaK3v-Kb zi*k!`t8%Mxle^WqHMn(iQ@ZKg`nrvDo96bj+b?dvxy^Fh?zYoyx7(j?``iw=9dbM8 zcG2y!+cmehZtvZV-0j^R-JRWC+}+&M-80>@-E-aZ-3#4|-D}ru$k>-)%k>w%vX!L0EP(T1*r^h~z z10IJwj(D8&cuX$bzy#Dmk z@AEp~b;#?8*HN$IUN^jMdEN24=k>r_;BDk>>@D^-^)~mm@b>oh^^Wk)^v?Fq^Dgi% z@~-gi?XB_FdH3@k=sm<+?>*dml=oQg@!mgruk~*A-r)Va_h#>{-hX%>@qX_8()*3~ zJMRzPAH6^Oh<(C*B7CBJVtnF!5`2<;l6{)=J}RFcKD~UJeY8G(e8%{!^jYn*)~D5H zgU|0in|)6Cyz}|s^U3FnFY3$jC46mt6Md6?(|j|0vwU-W^L*vLqkPBsj`RJ&cY^OE z-zmOReOrAu_-^vu;=9dvyYEil%f9!0-~0aU``Hii!~BGPVn0(qb3Y3|SHB>?P`_}$ zC_jCLU$vjyugbKnQcfT!u+x&L;UH7}?ch~Q} z-$TF0eoy^g`Xl}#f3d%*e;5C7|0w@h|9JmI|78DE|8oC2|33cx{Kxo@^Z(I*qW={C zb^aUtH~DYz|HFTW|1SSM{%8E}`akf0?ElpNKLMyd01qGocmcuy^8ot*rvR4#_W-W| zp8#nvA;LBQjHX8|t)UI)Alv|`lmxm4x(5aZ76nQJO9RUTD+8+oYXh}`zXi?? zoEtblP`@B>QQ(rmWr52B4+kC%JP~**@J!&jzzc!bgU}#6h#SNY5(bHaOoA+fB7s8t4r&Qn7qmWTThNuD>p{1I z?gZTndJyy|=w+~Zuw}4KuwAf2uv4%k*gH5UI6t^ZAKW!q7F-%!9$XhZB6xK0xZodx zCj?Ilo)Y|P@Ydk%!MlR@1n&*rAAB(QWbog?pF_|PJcJD4g$P27LQF#3LV`oWLLx$< zLsCL&LKGnlAx$Cbke(sUA-a%$Ap=8(gy=(thl~mt6S6d9Mab%qmXLKJ>q9n%oC~=a zawX(i$c+&Ft&lsR#-UWGS!kC~i%_djn^3z@`_TB%q|nsR^w7-E?9klMo}ta5y3oF% z{X++a4i23eIwy2~=)%y&p-V%ThaL_+8hRr1ROp$|bDtgvrC|!WzQ5g^dXtA2uOul0Ixo7#lV%Y-8Bwux(-6!*+)4 z4*N6gPT2jhM`2IGo`pRRdl_yQ?ilVI?h@`A?jG(L?j7zEE)6dYuL!RWuMJm(*M~QT zE5qsV3E`8&r-n}ppB>&BzA=1r__pvJ;k(24h93w&9DX$XMEI%jSK)8NKZJh_{~Uot zU=bz}fe|4Q`tXRzi0Fvei1>)&h`|xVBIt z*c`Dv;#$Pbh&vJYA|6CMig*(7BGN3D1cii(Yjk4lP4iAswqjVh1o5j8YQA2mE`WYp-WpQ7ePEsRXNxfpXf=4#C2 zm`^cZVzF2}mK*CC>mBPC8xR{D8yXuPTM%0mtBM^IJ0w;g%fyb<$1aLp8oMHPRcuS_ zy4dxxyJG*0-4}Z>_HgXw*sHNOVsFLXjpN1%;zV&Kai($RaTak_ab9sgasF|EaUpSq zam8`6xYD@txXQTdxZ!b=;^xN9k6RSCByM@!p19L-XX7r!U5dLJ_bl#t+^e`Zaqr^= z@ka3`@l?Edyj#3Sym!3bH$EUfJ-#%)JiaQvCSDP*jqelRKYn2RkoXDllj5hw{}lgo z{L=X4@vGw3#IK9r6Tdh9K>VTjzv8dPUyr{Pe<%Ka{QLO7<3A@L37iD;1d9ag1lt6M zgn)#ggwTZWgs6nFh5~Y z!p4M630o8XNZ6ThBH>iR*@W{6ml7T)JWY6>@G{{|A~%trXq0H2NF_=VT@yVLy%K#B z;}R1RlM_=DGZM=ZD-x>{YZL1d2PgiRI5BZbBAYlpaY^E`#FdGw6W1mlNW74EDe-FJ z^~76=uM*!RzEAu+@pF<%5|yMkPqIj|PV!FjO$tZ~N(xO%OUg{jNyd$ zo75+%U((2=X-PAZeoLB_G$(0Y(w?M!Ne7b-C;gRlDd}<2v!oYEuae#*i;^9Zos(UY z-IG0&9M<{w;ZB^6KQZ$*sv7lXoYdNg3c}sf$xvQ+K2uNxhi*DD`RT^VFBA zuhUG^x};g9*{0d0Ii^X{qS7kTs?%!I6lo1=en^{`HaTr-+M2X=X&cfu zrEN~zmbN2pciQ>1_h}!~KBpt;oOCjsmu{Z!ogR}Om!6oOoSvFqn65}~NN-A4>C?NX zk4^t6{pa*w(`Tm7NuQU#FnvjSOL}Yi#`I0;PtreR7-d*xNHPL5qBG($5;IaV(lfF$ zax?NW3NyN9RAtm=)MYee^voEPF*JkD7?CkLV_e3M851*BWUS6uo3TD)L&m0ztr;gX zUS_<>c$e`Z<5MP*iDhy#sZ9UOpv=%reMDwtW=v*$rYy5x=D^IsnL{(_%n_NRGACuO z&-^`eOXeS$+cS4%?#bMjc`)-(=Bdo@nHnvVY8;m^~$XUG|3TP1#$rw`Fh7-kE(S`$qPQ z>{r=uv)^Zb%(2gL%5lkY%kjwZ%JIob&5`Al##edFRFC#pNaDCFiB(sq=c~HRoyb`sVe|8<;mCZ+70?yajoS@|NcPm3KVvRNk4q zb9oo?F6r}LVSo{-ykn`JW5Gp?v{Sz%AexI2QyI z#1`?4n>{9GroKc)zoL5{>TwE+IE-CI=Jgk^59#K51cx>^q;+4f~iq{se zFWy+ZsrW?k&Eng|_lh4BKPvuM{JAUImD82zYAh|4R!H^LQn|EV+9*{@yGwgYo25Ew zU+DnpAn8ykEgc~pEgdKQQ94OFRXR;NL;9O^wsf9!p>&CKxpbv;wREktRk}gCNxDV4 zO}az6Te??zKzc}eM0!kmQhG*uUV2G-ReD`|OL|xOK>A4fRQg={O8Qp%LHbGhMTW@; z8CNFI%S190nW@ZNW+}6g*~^?{E;4tSm&{idAPbg-$s%PjvN&0yEJc%F^o6+ERJxxY8d= zCzehrWlN`({#^P?>CDnar5j5(mu@TFUb?IFQ0bAqT_bVS*KDc~n`Qq}W<;%-gmai&bQ@*ymwS0Z~mGW!lH_C67-!8wa zFTY>@u>4W^y9(zD*9!Lv&kC;!p9;TWbP5c|~1CLq)fWrivdcCRI$S zU@N9o{9N%%#jh26D)vks7Xz!(>W$T#tG89}sNP+@w|al| zf2v<(_hHxt}~h9wZNyhsz`7G4gnMk~~G8 zrk7{Rv*mg6LU~ttiM(81C9jn$l|^6Lugy4ID{mDN?&)zm5K8tQtoo)cAiZT-;tarHCn7u7GRUsk`d{$Ty7`pflK z>u=V-ZonFh8*Cf=8=@Oh8qyj{8x#%dh8_(A8iqEEZW!AzrD1l%+=f*R+Zy&ZoM^b# zaKGVU!{dg}joe0~M&m|tqgkU}qjRH6qg$hAV^Gu3CVdmrG_q+-)A*(dO_Q70rs++; zG|kjE&2F04w4iBm)3T3IgHEn3x)U>r}d(*C_Kb!V79c((%bgb!Q)0w98O_!Rk zHr;5t-E^<%VbkNLXH74fUN^mK`q1>T>9Z15a+IW!uQXDcC{2~-N(-g6(oX51bW*w~ z-ISh6Z>66yP#K~OS4Jsgl<~?WWvVhmnXT04DGQZdl_kn@WtFm4S*L7NDwS$wPi3=G zr|hd7pd73mrlgf4l%tj7ls_mZDkm#h<#go?MwMw-{wNAA`wMn&AwOzGKwMVs2bx?I!byRg+bxL(sbwPDm zbxn0sbw_ny^+@$p^<4Ez^;Y#k^+}DWIciePR~xBK)TZh#YAdy^+FtFXc2T>lz0|(y z0CkW$R2`v?R>!Fm)XC~Jb%r`ioukfI7pbM{QgykyGFn}&u2t8m8`Vm6cXcndM%_o< zUp-JgSUps&R}WW@RF6@QS5Ht+RR;3|)pOMI)C<&$)oWVQr{rP!9?iX*watB- z2Q&|E9@fk>k8B>(JihtI=1I*{o2NC;X#TBvcJsXEh0RNvmp89!ZfRcEyuSJO<}J;C zH1BBM-MqK?K=a||qs=FpPdA@yzSw-F`FiuM=DW@Jn;$hlZGPVTs`*Xx`{s|$Uo@D8 z&~P;ZjYwmnG1YX@SZQoE_8KR>#zo_<@zVHe{53(EP)&p;S`(*9)TC(AHCdWmO@XFZ zBh!>=DmB%bT1}m%QKQs!*Ywh8G&)T`%|Ojy%}@=k8LkOO z%^b}<%|gu*&2r5uO^aroW`kyvW{YN$QzqrBMCYpW(0S|pbb-2HU6?LXH#kNYr%TkO=+bprx*T1;u25I3lj+KImAV?8 zLf4>c(y4Vlb1OLc2?>vS7* d+jTp1yLE?k#}UJS7}oZa!rOkff7f06{{a6--4y@; delta 22769 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 diff --git a/macosx/TorrentTableView.m b/macosx/TorrentTableView.m index 530d95196..f0b5e82cc 100644 --- a/macosx/TorrentTableView.m +++ b/macosx/TorrentTableView.m @@ -103,9 +103,9 @@ Torrent * torrent = [fTorrents objectAtIndex: row]; if ([torrent isPaused]) - [fController resumeTorrentWithIndex: [NSIndexSet indexSetWithIndex: row]]; + [fController resumeTorrents: [fController torrentsAtIndexes: [NSIndexSet indexSetWithIndex: row]]]; else if ([torrent isActive]) - [fController stopTorrentWithIndex: [NSIndexSet indexSetWithIndex: row]]; + [fController stopTorrents: [fController torrentsAtIndexes: [NSIndexSet indexSetWithIndex: row]]]; else; } else if (sameRow && [self pointInRevealRect: point] && [self pointInRevealRect: fClickPoint])