1616 along with Transmission Remote GUI; if not, write to the Free Software
1717 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818
19- In addition, as a special exception, the copyright holders give permission to
19+ In addition, as a special exception, the copyright holders give permission to
2020 link the code of portions of this program with the
2121 OpenSSL library under certain conditions as described in each individual
2222 source file, and distribute linked combinations including the two.
@@ -2083,7 +2083,7 @@ procedure TMainForm.acMoveTorrentExecute(Sender: TObject);
20832083 aids.Add(integer(ids[i]));
20842084 args.Add(' ids' , aids);
20852085 args.Add(' location' , TJSONString.Create(UTF8Decode(edTorrentDir.Text)));
2086- args.Add(' move' , TJSONIntegerNumber.Create(integer( cbMoveData.Checked) and 1 ) );
2086+ args.Add(' move' , cbMoveData.Checked);
20872087 req.Add(' arguments' , args);
20882088 args:=RpcObj.SendRequest(req, False);
20892089 args.Free;
@@ -2264,7 +2264,7 @@ procedure TMainForm.acAltSpeedExecute(Sender: TObject);
22642264 try
22652265 req.Add(' method' , ' session-set' );
22662266 args:=TJSONObject.Create;
2267- args.Add(' alt-speed-enabled' , integer( not acAltSpeed.Checked) and 1 );
2267+ args.Add(' alt-speed-enabled' , not acAltSpeed.Checked);
22682268 req.Add(' arguments' , args);
22692269 args:=RpcObj.SendRequest(req, False);
22702270 if args = nil then begin
@@ -2673,7 +2673,7 @@ function TMainForm.DoAddTorrent(const FileName: Utf8String): boolean;
26732673 edSearch.Text:=' ' ;
26742674
26752675 args:=TJSONObject.Create;
2676- args.Add(' paused' , TJSONIntegerNumber.Create( 1 ) );
2676+ args.Add(' paused' , True );
26772677 i:=Ini.ReadInteger(IniSec, ' PeerLimit' , 0 );
26782678 if i <> 0 then
26792679 args.Add(' peer-limit' , TJSONIntegerNumber.Create(i));
@@ -2762,7 +2762,7 @@ function TMainForm.DoAddTorrent(const FileName: Utf8String): boolean;
27622762 TorrentAction(id, ' torrent-remove' );
27632763 id:=0 ;
27642764 args:=TJSONObject.Create;
2765- args.Add(' paused' , TJSONIntegerNumber.Create( 1 ) );
2765+ args.Add(' paused' , True );
27662766 args.Add(' peer-limit' , TJSONIntegerNumber.Create(edPeerLimit.Value ));
27672767 args.Add(' download-dir' , TJSONString.Create(UTF8Decode(cbDestFolder.Text)));
27682768 id:=_AddTorrent(args);
@@ -3371,18 +3371,18 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
33713371 if RpcObj.RPCVersion >= 5 then begin
33723372 // RPC version 5
33733373 edPort.Value :=args.Integers[' peer-port' ];
3374- cbPEX.Checked:=args.Integers [' pex-enabled' ] <> 0 ;
3374+ cbPEX.Checked:=args.Booleans [' pex-enabled' ];
33753375 edMaxPeers.Value :=args.Integers[' peer-limit-global' ];
3376- cbRandomPort.Checked:=args.Integers [' peer-port-random-on-start' ] <> 0 ;
3377- cbDHT.Checked:=args.Integers [' dht-enabled' ] <> 0 ;
3378- cbSeedRatio.Checked:=args.Integers [' seedRatioLimited' ] <> 0 ;
3376+ cbRandomPort.Checked:=args.Booleans [' peer-port-random-on-start' ];
3377+ cbDHT.Checked:=args.Booleans [' dht-enabled' ];
3378+ cbSeedRatio.Checked:=args.Booleans [' seedRatioLimited' ];
33793379 edSeedRatio.Value :=args.Floats[' seedRatioLimit' ];
3380- cbBlocklist.Checked:=args.Integers [' blocklist-enabled' ] <> 0 ;
3380+ cbBlocklist.Checked:=args.Booleans [' blocklist-enabled' ];
33813381
3382- cbAltEnabled.Checked:=args.Integers [' alt-speed-enabled' ] <> 0 ;
3382+ cbAltEnabled.Checked:=args.Booleans [' alt-speed-enabled' ];
33833383 edAltDown.Value :=args.Integers[' alt-speed-down' ];
33843384 edAltUp.Value :=args.Integers[' alt-speed-up' ];
3385- cbAutoAlt.Checked:=args.Integers [' alt-speed-time-enabled' ] <> 0 ;
3385+ cbAutoAlt.Checked:=args.Booleans [' alt-speed-time-enabled' ];
33863386 edAltTimeBegin.Text:=FormatDateTime(' hh:nn' , args.Integers[' alt-speed-time-begin' ]/MinsPerDay);
33873387 edAltTimeEnd.Text:=FormatDateTime(' hh:nn' , args.Integers[' alt-speed-time-end' ]/MinsPerDay);
33883388 j:=args.Integers[' alt-speed-time-day' ];
@@ -3408,7 +3408,7 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
34083408 end ;
34093409
34103410 if RpcObj.RPCVersion >= 7 then begin
3411- cbIncompleteDir.Checked:=args.Integers [' incomplete-dir-enabled' ] <> 0 ;
3411+ cbIncompleteDir.Checked:=args.Booleans [' incomplete-dir-enabled' ];
34123412 edIncompleteDir.Text:=UTF8Encode(args.Strings[' incomplete-dir' ]);
34133413 cbIncompleteDirClick(nil );
34143414 end
@@ -3418,18 +3418,18 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
34183418 end ;
34193419
34203420 if RpcObj.RPCVersion >= 8 then
3421- cbPartExt.Checked:=args.Integers [' rename-partial-files' ] <> 0
3421+ cbPartExt.Checked:=args.Booleans [' rename-partial-files' ]
34223422 else
34233423 cbPartExt.Visible:=False;
34243424
34253425 if RpcObj.RPCVersion >= 9 then
3426- cbLPD.Checked:=args.Integers [' lpd-enabled' ] <> 0
3426+ cbLPD.Checked:=args.Booleans [' lpd-enabled' ]
34273427 else
34283428 cbLPD.Visible:=False;
34293429
34303430 if RpcObj.RPCVersion >= 10 then begin
34313431 edCacheSize.Value :=args.Integers[' cache-size-mb' ];
3432- cbIdleSeedLimit.Checked:=args.Integers [' idle-seeding-limit-enabled' ] <> 0 ;
3432+ cbIdleSeedLimit.Checked:=args.Booleans [' idle-seeding-limit-enabled' ];
34333433 edIdleSeedLimit.Value :=args.Integers[' idle-seeding-limit' ];
34343434 cbIdleSeedLimitClick(nil );
34353435 end
@@ -3452,23 +3452,23 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
34523452 cbBlocklistClick(nil );
34533453
34543454 if RpcObj.RPCVersion >= 13 then
3455- cbUTP.Checked:=args.Integers [' utp-enabled' ] <> 0
3455+ cbUTP.Checked:=args.Booleans [' utp-enabled' ]
34563456 else
34573457 cbUTP.Visible:=False;
34583458
34593459 if RpcObj.RPCVersion >= 14 then begin
34603460 tabQueue.TabVisible:=True;
3461- cbDownQueue.Checked:=args.Integers [' download-queue-enabled' ] <> 0 ;
3461+ cbDownQueue.Checked:=args.Booleans [' download-queue-enabled' ];
34623462 edDownQueue.Value :=args.Integers[' download-queue-size' ];
3463- cbUpQueue.Checked:=args.Integers [' seed-queue-enabled' ] <> 0 ;
3463+ cbUpQueue.Checked:=args.Booleans [' seed-queue-enabled' ];
34643464 edUpQueue.Value :=args.Integers[' seed-queue-size' ];
3465- cbStalled.Checked:=args.Integers [' queue-stalled-enabled' ] <> 0 ;
3465+ cbStalled.Checked:=args.Booleans [' queue-stalled-enabled' ];
34663466 edStalledTime.Value :=args.Integers[' queue-stalled-minutes' ];
34673467 end
34683468 else
34693469 tabQueue.TabVisible:=False;
34703470
3471- cbPortForwarding.Checked:=args.Integers [' port-forwarding-enabled' ] <> 0 ;
3471+ cbPortForwarding.Checked:=args.Booleans [' port-forwarding-enabled' ];
34723472 s:=args.Strings[' encryption' ];
34733473 if s = ' preferred' then
34743474 cbEncryption.ItemIndex:=1
@@ -3477,9 +3477,9 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
34773477 cbEncryption.ItemIndex:=2
34783478 else
34793479 cbEncryption.ItemIndex:=0 ;
3480- cbMaxDown.Checked:=args.Integers [' speed-limit-down-enabled' ] <> 0 ;
3480+ cbMaxDown.Checked:=args.Booleans [' speed-limit-down-enabled' ];
34813481 edMaxDown.Value :=args.Integers[' speed-limit-down' ];
3482- cbMaxUp.Checked:=args.Integers [' speed-limit-up-enabled' ] <> 0 ;
3482+ cbMaxUp.Checked:=args.Booleans [' speed-limit-up-enabled' ];
34833483 edMaxUp.Value :=args.Integers[' speed-limit-up' ];
34843484 finally
34853485 args.Free;
@@ -3505,34 +3505,34 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
35053505 req.Add(' method' , ' session-set' );
35063506 args:=TJSONObject.Create;
35073507 args.Add(' download-dir' , UTF8Decode(edDownloadDir.Text));
3508- args.Add(' port-forwarding-enabled' , integer( cbPortForwarding.Checked) and 1 );
3508+ args.Add(' port-forwarding-enabled' , cbPortForwarding.Checked);
35093509 case cbEncryption.ItemIndex of
35103510 1 : s:=' preferred' ;
35113511 2 : s:=' required' ;
35123512 else s:=' tolerated' ;
35133513 end ;
35143514 args.Add(' encryption' , s);
3515- args.Add(' speed-limit-down-enabled' , integer( cbMaxDown.Checked) and 1 );
3515+ args.Add(' speed-limit-down-enabled' , cbMaxDown.Checked);
35163516 if cbMaxDown.Checked then
35173517 args.Add(' speed-limit-down' , edMaxDown.Value );
3518- args.Add(' speed-limit-up-enabled' , integer( cbMaxUp.Checked) and 1 );
3518+ args.Add(' speed-limit-up-enabled' , cbMaxUp.Checked);
35193519 if cbMaxUp.Checked then
35203520 args.Add(' speed-limit-up' , edMaxUp.Value );
35213521 if RpcObj.RPCVersion >= 5 then begin
35223522 args.Add(' peer-limit-global' , edMaxPeers.Value );
35233523 args.Add(' peer-port' , edPort.Value );
3524- args.Add(' pex-enabled' , integer( cbPEX.Checked) and 1 );
3525- args.Add(' peer-port-random-on-start' , integer( cbRandomPort.Checked) and 1 );
3526- args.Add(' dht-enabled' , integer( cbDHT.Checked) and 1 );
3527- args.Add(' seedRatioLimited' , integer( cbSeedRatio.Checked) and 1 );
3524+ args.Add(' pex-enabled' , cbPEX.Checked);
3525+ args.Add(' peer-port-random-on-start' , cbRandomPort.Checked);
3526+ args.Add(' dht-enabled' , cbDHT.Checked);
3527+ args.Add(' seedRatioLimited' , cbSeedRatio.Checked);
35283528 if cbSeedRatio.Checked then
35293529 args.Add(' seedRatioLimit' , edSeedRatio.Value );
3530- args.Add(' blocklist-enabled' , integer( cbBlocklist.Checked) and 1 );
3530+ args.Add(' blocklist-enabled' , cbBlocklist.Checked);
35313531
3532- args.Add(' alt-speed-enabled' , integer( cbAltEnabled.Checked) and 1 );
3532+ args.Add(' alt-speed-enabled' , cbAltEnabled.Checked);
35333533 args.Add(' alt-speed-down' , edAltDown.Value );
35343534 args.Add(' alt-speed-up' , edAltUp.Value );
3535- args.Add(' alt-speed-time-enabled' , integer( cbAutoAlt.Checked) and 1 );
3535+ args.Add(' alt-speed-time-enabled' , cbAutoAlt.Checked);
35363536 if cbAutoAlt.Checked then begin
35373537 args.Add(' alt-speed-time-begin' , Round(Frac(StrToTime(edAltTimeBegin.Text))*MinsPerDay));
35383538 args.Add(' alt-speed-time-end' , Round(Frac(StrToTime(edAltTimeEnd.Text))*MinsPerDay));
@@ -3547,33 +3547,33 @@ procedure TMainForm.acDaemonOptionsExecute(Sender: TObject);
35473547 else begin
35483548 args.Add(' peer-limit' , edMaxPeers.Value );
35493549 args.Add(' port' , edPort.Value );
3550- args.Add(' pex-allowed' , integer( cbPEX.Checked) and 1 );
3550+ args.Add(' pex-allowed' , cbPEX.Checked);
35513551 end ;
35523552 if RpcObj.RPCVersion >= 7 then begin
3553- args.Add(' incomplete-dir-enabled' , integer( cbIncompleteDir.Checked) and 1 );
3553+ args.Add(' incomplete-dir-enabled' , cbIncompleteDir.Checked);
35543554 if cbIncompleteDir.Checked then
35553555 args.Add(' incomplete-dir' , UTF8Decode(edIncompleteDir.Text));
35563556 end ;
35573557 if RpcObj.RPCVersion >= 8 then
3558- args.Add(' rename-partial-files' , integer( cbPartExt.Checked) and 1 );
3558+ args.Add(' rename-partial-files' , cbPartExt.Checked);
35593559 if RpcObj.RPCVersion >= 9 then
3560- args.Add(' lpd-enabled' , integer( cbLPD.Checked) and 1 );
3560+ args.Add(' lpd-enabled' , cbLPD.Checked);
35613561 if RpcObj.RPCVersion >= 10 then begin
35623562 args.Add(' cache-size-mb' , edCacheSize.Value );
3563- args.Add(' idle-seeding-limit-enabled' , integer( cbIdleSeedLimit.Checked) and 1 );
3563+ args.Add(' idle-seeding-limit-enabled' , cbIdleSeedLimit.Checked);
35643564 args.Add(' idle-seeding-limit' , edIdleSeedLimit.Value );
35653565 end ;
35663566 if edBlocklistURL.Visible then
35673567 if cbBlocklist.Checked then
35683568 args.Add(' blocklist-url' , UTF8Decode(edBlocklistURL.Text));
35693569 if RpcObj.RPCVersion >= 13 then
3570- args.Add(' utp-enabled' , integer( cbUTP.Checked) and 1 );
3570+ args.Add(' utp-enabled' , cbUTP.Checked);
35713571 if RpcObj.RPCVersion >= 14 then begin
3572- args.Add(' download-queue-enabled' , integer( cbDownQueue.Checked) and 1 );
3572+ args.Add(' download-queue-enabled' , cbDownQueue.Checked);
35733573 args.Add(' download-queue-size' , edDownQueue.Value );
3574- args.Add(' seed-queue-enabled' , integer( cbUpQueue.Checked) and 1 );
3574+ args.Add(' seed-queue-enabled' , cbUpQueue.Checked);
35753575 args.Add(' seed-queue-size' , edUpQueue.Value );
3576- args.Add(' queue-stalled-enabled' , integer( cbStalled.Checked) and 1 );
3576+ args.Add(' queue-stalled-enabled' , cbStalled.Checked);
35773577 args.Add(' queue-stalled-minutes' , edStalledTime.Value );
35783578 end ;
35793579
@@ -4071,16 +4071,16 @@ procedure TMainForm.TorrentProps(PageNo: integer);
40714071 if RpcObj.RPCVersion < 5 then
40724072 begin
40734073 // RPC versions prior to v5
4074- args.Add(' speed-limit-down-enabled' , integer( cbMaxDown.Checked) and 1 );
4075- args.Add(' speed-limit-up-enabled' , integer( cbMaxUp.Checked) and 1 );
4074+ args.Add(' speed-limit-down-enabled' , cbMaxDown.Checked);
4075+ args.Add(' speed-limit-up-enabled' , cbMaxUp.Checked);
40764076 if cbMaxDown.Checked then
40774077 args.Add(' speed-limit-down' , edMaxDown.Value );
40784078 if cbMaxUp.Checked then
40794079 args.Add(' speed-limit-up' , edMaxUp.Value );
40804080 end else begin
40814081 // RPC version 5
4082- args.Add(' downloadLimited' , integer( cbMaxDown.Checked) and 1 );
4083- args.Add(' uploadLimited' , integer( cbMaxUp.Checked) and 1 );
4082+ args.Add(' downloadLimited' , cbMaxDown.Checked);
4083+ args.Add(' uploadLimited' , cbMaxUp.Checked);
40844084 if cbMaxDown.Checked then
40854085 args.Add(' downloadLimit' , edMaxDown.Value );
40864086 if cbMaxUp.Checked then
@@ -6045,7 +6045,7 @@ procedure TMainForm.FillTorrentsList(list: TJSONArray);
60456045 end ;
60466046
60476047 if FieldExists[idxPrivate] then
6048- FTorrents[idxPrivate, row]:=t.Integers[' isPrivate' ];
6048+ FTorrents[idxPrivate, row]:=t.Integers[' isPrivate' ]; { boolean in json, but must be integer in varlist }
60496049
60506050 if FieldExists[idxLabels] then begin
60516051 a := t.Arrays[' labels' ];
@@ -6447,8 +6447,7 @@ procedure TMainForm.InternalRemoveTorrent(const Msg, MsgMulti: string; RemoveLoc
64476447 gTorrents.Tag:=0 ;
64486448 end ;
64496449 args:=TJSONObject.Create;
6450- if RemoveLocalData then
6451- args.Add(' delete-local-data' , TJSONIntegerNumber.Create(1 ));
6450+ args.Add(' delete-local-data' , RemoveLocalData);
64526451
64536452 if TorrentAction(ids, ' torrent-remove' , args) then begin
64546453 with gTorrents do begin
@@ -6883,12 +6882,12 @@ procedure TMainForm.FillSessionInfo(s: TJSONObject);
68836882
68846883 if RpcObj.RPCVersion >= 5 then begin
68856884{ $ifdef LCLcarbon}
6886- if acAltSpeed.Checked <> (s.Integers [' alt-speed-enabled' ] <> 0 ) then
6885+ if acAltSpeed.Checked <> (s.Booleans [' alt-speed-enabled' ]) then
68876886 TrayIcon.Tag:=1 ;
68886887{ $endif LCLcarbon}
6889- acAltSpeed.Checked:=s.Integers [' alt-speed-enabled' ] <> 0 ;
6890- acUpdateBlocklist.Tag:=s.Integers [' blocklist-enabled' ];
6891- acUpdateBlocklist.Enabled:=acUpdateBlocklist.Tag <> 0 ;
6888+ acAltSpeed.Checked:=s.Booleans [' alt-speed-enabled' ];
6889+ if s.Booleans [' blocklist-enabled' ] then acUpdateBlocklist.Tag:= 1 else acUpdateBlocklist.Tag:= 0 ;
6890+ acUpdateBlocklist.Enabled:=s.Booleans[ ' blocklist-enabled ' ] ;
68926891 end ;
68936892 if s.IndexOfName(' download-dir-free-space' ) >= 0 then
68946893 StatusBar.Panels[3 ].Text:=Format(SFreeSpace, [GetHumanSize(s.Floats[' download-dir-free-space' ])]);
@@ -6898,11 +6897,11 @@ procedure TMainForm.FillSessionInfo(s: TJSONObject);
68986897 u:=s.Integers[' alt-speed-up' ]
68996898 end
69006899 else begin
6901- if s.Integers [' speed-limit-down-enabled' ] <> 0 then
6900+ if s.Booleans [' speed-limit-down-enabled' ] then
69026901 d:=s.Integers[' speed-limit-down' ]
69036902 else
69046903 d:=-1 ;
6905- if s.Integers [' speed-limit-up-enabled' ] <> 0 then
6904+ if s.Booleans [' speed-limit-up-enabled' ] then
69066905 u:=s.Integers[' speed-limit-up' ]
69076906 else
69086907 u:=-1 ;
@@ -7727,7 +7726,7 @@ procedure TMainForm.SetSpeedLimit(const Dir: string; Speed: integer);
77277726 args.Add(Format(' speed-limit-%s-enabled' , [Dir]), integer(Speed >= 0 ) and 1 );
77287727 if Speed >= 0 then
77297728 args.Add(Format(' speed-limit-%s' , [Dir]), Speed);
7730- args.Add(' alt-speed-enabled' , 0 );
7729+ args.Add(' alt-speed-enabled' , False );
77317730 req.Add(' arguments' , args);
77327731 args:=RpcObj.SendRequest(req, False);
77337732 if args = nil then begin
0 commit comments