private void timer1_Tick(object sender, EventArgs e)
 {
     if (!wc.IsBusy)
     {
         wc = CommandFactory.RequestAsync(Requests.SessionStats());
     }
 }
        private void button1_Click(object sender, EventArgs e)
        {
            JsonArray wanted   = new JsonArray();
            JsonArray unwanted = new JsonArray();
            JsonArray high     = new JsonArray();
            JsonArray normal   = new JsonArray();
            JsonArray low      = new JsonArray();

            foreach (ListViewItem item in filesListView.Items)
            {
                if (!item.Checked)
                {
                    unwanted.Add(item.Index);
                }
                else
                {
                    wanted.Add(item.Index);
                }
                if (item.SubItems[3].Text.Equals(OtherStrings.High))
                {
                    high.Add(item.Index);
                }
                else if (item.SubItems[3].Text.Equals(OtherStrings.Low))
                {
                    low.Add(item.Index);
                }
                else
                {
                    normal.Add(item.Index);
                }
            }
            JsonObject request = Requests.TorrentAddByFile(
                path,
                Program.Settings.DeleteTorrentWhenAdding,
                high.Count > 0 ? high : null,
                normal.Count > 0 ? normal : null,
                low.Count > 0 ? low : null,
                wanted.Count > 0 ? wanted : null,
                unwanted.Count > 0 ? unwanted : null,
                altDestDirCheckBox.Checked ? destinationComboBox.Text : null,
                altPeerLimitCheckBox.Checked ? (int)peerLimitValue.Value : -1,
                startTorrentCheckBox.Checked
                );

            Program.Settings.Current.AddDestinationPath(destinationComboBox.Text);
            Program.Form.SetupAction(CommandFactory.RequestAsync(request));
            this.Close();
        }
 private void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
 {
     if (e.Error != null)
     {
         HandleException(e.Error);
         okDialogButton.Enabled = true;
     }
     else
     {
         bool withoption = useTorrentLoadDialogCheckBox.Enabled ? useTorrentLoadDialogCheckBox.Checked : false;
         if (withoption)
         {
             TorrentLoadDialog dialog = new TorrentLoadDialog((string)e.UserState);
             dialog.ShowDialog();
         }
         else
         {
             Program.Form.SetupAction(CommandFactory.RequestAsync(Requests.TorrentAddByFile((string)e.UserState, true)));
         }
         this.Close();
     }
 }
Beispiel #4
0
 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();
 }
Beispiel #5
0
        private void SaveButton_Click(object sender, EventArgs e)
        {
            JsonObject request   = Requests.CreateBasicObject(ProtocolConstants.METHOD_SESSIONSET);
            JsonObject arguments = Requests.GetArgObject(request);

            arguments.Put((string)incomingPortValue.Tag, incomingPortValue.Value);
            arguments.Put(ProtocolConstants.FIELD_PORTFORWARDINGENABLED, portForwardCheckBox.Checked);
            arguments.Put((string)pexEnabledCheckBox.Tag, pexEnabledCheckBox.Checked);
            arguments.Put((string)peerLimitValue.Tag, peerLimitValue.Value);
            arguments.Put(ProtocolConstants.FIELD_PEERLIMITPERTORRENT, peerLimitTorrentValue.Value);
            if (cacheSizeValue.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_CACHESIZE, cacheSizeValue.Value);
            }
            if (blocklistUrlField.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_BLOCKLISTURL, blocklistUrlField.Text);
            }
            switch (encryptionCombobox.SelectedIndex)
            {
            case 1:
                arguments.Put(ProtocolConstants.FIELD_ENCRYPTION, ProtocolConstants.VALUE_PREFERRED);
                break;

            case 2:
                arguments.Put(ProtocolConstants.FIELD_ENCRYPTION, ProtocolConstants.VALUE_REQUIRED);
                break;

            default:
                arguments.Put(ProtocolConstants.FIELD_ENCRYPTION, ProtocolConstants.VALUE_TOLERATED);
                break;
            }
            arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITUPENABLED, limitUploadCheckBox.Checked);
            arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITUP, limitUploadValue.Value);
            arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITDOWNENABLED, limitDownloadCheckBox.Checked);
            arguments.Put(ProtocolConstants.FIELD_SPEEDLIMITDOWN, limitDownloadValue.Value);
            if (altSpeedLimitEnable.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDENABLED, altSpeedLimitEnable.Checked);
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDDOWN, altDownloadLimitField.Value);
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDUP, altUploadLimitField.Value);
            }
            if (altTimeConstraintEnabled.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDTIMEENABLED, altTimeConstraintEnabled.Checked);
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDTIMEBEGIN, timeConstraintBeginHours.Value * 60 + timeConstraintBeginMinutes.Value);
                arguments.Put(ProtocolConstants.FIELD_ALTSPEEDTIMEEND, timeConstraintEndHours.Value * 60 + timeConstraintEndMinutes.Value);
            }
            if (blocklistEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_BLOCKLISTENABLED, blocklistEnabledCheckBox.Checked);
            }
            if (seedRatioEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_SEEDRATIOLIMITED, seedRatioEnabledCheckBox.Checked);
                arguments.Put(ProtocolConstants.FIELD_SEEDRATIOLIMIT, seedLimitUpDown.Value);
            }
            if (seedIdleEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_IDLESEEDLIMITENABLED, seedIdleEnabledCheckBox.Checked);
                arguments.Put(ProtocolConstants.FIELD_IDLESEEDLIMIT, seedIdleLimitUpDown.Value);
            }
            if (incompleteToCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_INCOMPLETE_DIR_ENABLED, incompleteToCheckBox.Checked);
                arguments.Put(ProtocolConstants.FIELD_INCOMPLETE_DIR, incompleteToField.Text);
            }
            if (watchdirCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_WATCH_DIR_ENABLED, watchdirCheckBox.Checked);
                arguments.Put(ProtocolConstants.FIELD_WATCH_DIR, watchdirField.Text);
            }
            if (dhtEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_DHTENABLED, dhtEnabledCheckBox.Checked);
            }
            if (lpdEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_LPDENABLED, lpdEnabledCheckBox.Checked);
            }
            if (utpEnabledCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_UTPENABLED, utpEnabledCheckBox.Checked);
            }
            if (renamePartialFilesCheckBox.Enabled)
            {
                arguments.Put(ProtocolConstants.FIELD_RENAME_PARTIAL_FILES, renamePartialFilesCheckBox.Checked);
            }
            arguments.Put(ProtocolConstants.DOWNLOAD_DIR, downloadToField.Text);
            CommandFactory.RequestAsync(request).Completed += new EventHandler <ResultEventArgs>(RemoteSettingsDialog_Completed);
            CloseAndDispose();
        }
Beispiel #6
0
        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();
        }
 private void StatsDialog_Load(object sender, EventArgs e)
 {
     wc = CommandFactory.RequestAsync(Requests.SessionStats());
     SessionStatsTimer.Enabled = true;
 }