private void moveButton_Click(object sender, EventArgs e) { Program.Settings.Current.AddDestinationPath(destinationComboBox.Text); Program.Form.SetupAction(CommandFactory.RequestAsync(Requests.TorrentSetLocation(Toolbox.ListViewSelectionToIdArray(selections), destinationComboBox.Text, true))); this.Close(); }
private void OkDialogButton_Click(object sender, EventArgs e) { JsonObject request = Requests.CreateBasicObject(ProtocolConstants.METHOD_TORRENTSET); JsonObject arguments = Requests.GetArgObject(request); arguments.Put(ProtocolConstants.KEY_IDS, Toolbox.ListViewSelectionToIdArray(selections)); arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITUPENABLED, uploadLimitEnableField.Checked ? 1 : 0); arguments.Put(ProtocolConstants.FIELD_UPLOADLIMITED, uploadLimitEnableField.Checked ? 1 : 0); arguments.Put(ProtocolConstants.FIELD_UPLOADLIMIT, uploadLimitField.Value); arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITUP, uploadLimitField.Value); arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITDOWNENABLED, downloadLimitEnableField.Checked ? 1 : 0); arguments.Put(ProtocolConstants.FIELD_DOWNLOADLIMITED, downloadLimitEnableField.Checked ? 1 : 0); arguments.Put(ProtocolConstants.FIELD_DOWNLOADLIMIT, downloadLimitField.Value); arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITDOWN, downloadLimitField.Value); arguments.Put(ProtocolConstants.FIELD_PEERLIMIT, peerLimitValue.Value); if (seedRatioLimitValue.Enabled) { arguments.Put(ProtocolConstants.FIELD_SEEDRATIOLIMIT, seedRatioLimitValue.Value); } if (seedIdleLimitValue.Enabled) { arguments.Put(ProtocolConstants.FIELD_SEEDIDLELIMIT, seedIdleLimitValue.Value); } if (honorsSessionLimits.Enabled) { arguments.Put(ProtocolConstants.FIELD_HONORSSESSIONLIMITS, honorsSessionLimits.Checked); } if (seedRatioLimitedCheckBox.Enabled) { arguments.Put(ProtocolConstants.FIELD_SEEDRATIOMODE, (int)(2 - seedRatioLimitedCheckBox.CheckState)); } if (seedIdleLimitedCheckBox.Enabled) { arguments.Put(ProtocolConstants.FIELD_SEEDIDLEMODE, (int)(2 - seedIdleLimitedCheckBox.CheckState)); } if (bandwidthComboBox.Enabled) { int bandwidthPriority = 0; if (bandwidthComboBox.SelectedIndex == 0) { bandwidthPriority = -1; } else if (bandwidthComboBox.SelectedIndex == 2) { bandwidthPriority = 1; } arguments.Put(ProtocolConstants.FIELD_BANDWIDTHPRIORITY, bandwidthPriority); } Torrent firstTorrent = (Torrent)selections[0]; JsonArray trackerRemove = new JsonArray(); foreach (JsonObject tracker in firstTorrent.Trackers) { int id = Toolbox.ToInt(tracker[ProtocolConstants.FIELD_ID]); if (!trackersList.Items.Contains(id)) { trackerRemove.Add(id); } } JsonArray trackerReplace = new JsonArray(); foreach (TrackerListItem t in trackersList.Items) { if (!t.Changed) { continue; } trackerReplace.Add(t.Id); trackerReplace.Add(t.Announce); } JsonArray trackerAdd = new JsonArray(); foreach (TrackerListItem t in trackersList.Items) { if (t.Id == -1) { trackerAdd.Add(t.Announce); } } if (trackerRemove.Count > 0) { arguments.Put(ProtocolConstants.FIELD_TRACKER_REMOVE, trackerRemove); } if (trackerReplace.Count > 0) { arguments.Put(ProtocolConstants.FIELD_TRACKER_REPLACE, trackerReplace); } if (trackerAdd.Count > 0) { arguments.Put(ProtocolConstants.FIELD_TRACKER_ADD, trackerAdd); } Program.Form.SetupAction(CommandFactory.RequestAsync(request)); this.Close(); }