private void SetImagePageCombo(SelectedMedia media = null) { using (ControlTransaction.Update(ImagePageCombo)) { ImagePageCombo.Enabled = false; foreach (SelectedMedia oldMedia in ImagePageCombo.Items) { if (oldMedia == null || oldMedia == media) { continue; } DisposeMediaItem(oldMedia.Item); } ImagePageCombo.Items.Clear(); if (media == null) { media = new SelectedMedia("1"); } ImagePageCombo.Items.Add(media); ImagefilePathText.Text = media.Path; AlternativeTextBox.Text = media.AltText; ImagePageCombo.SelectedIndex = 0; } }
private void UpdateListsListBox(IEnumerable <ListElement> lists) { using (ControlTransaction.Update(this.ListsList)) { this.ListsList.Items.Clear(); foreach (var listItem in lists.Where(x => x.UserId == this.tw.UserId)) { this.ListsList.Items.Add(listItem); } if (this.ListsList.Items.Count > 0) { this.ListsList.SelectedIndex = 0; } this.ListsList.Focus(); } }
private void SetImagePageCombo(SelectedMedia media = null) { using (ControlTransaction.Update(ImagePageCombo)) { ImagePageCombo.Enabled = false; ImagePageCombo.Items.Clear(); if (media != null) { ImagePageCombo.Items.Add(media); ImagefilePathText.Text = media.Path; } else { ImagePageCombo.Items.Add(new SelectedMedia("1")); ImagefilePathText.Text = ""; } ImagePageCombo.SelectedIndex = 0; } }
private void SetImageServiceCombo() { using (ControlTransaction.Update(ImageServiceCombo)) { string svc = ""; if (ImageServiceCombo.SelectedIndex > -1) { svc = ImageServiceCombo.Text; } ImageServiceCombo.Items.Clear(); // Add service names to combobox foreach (var key in pictureService.Keys) { ImageServiceCombo.Items.Add(key); } SelectImageServiceComboItem(svc); } }
private void UpdateListsListBox(IEnumerable <ListElement> lists) { using (ControlTransaction.Update(this.ListsList)) { this.ListsList.Items.Clear(); this.ListsList.Items.AddRange(lists.ToArray()); if (this.ListsList.Items.Count > 0) { this.ListsList.SelectedIndex = 0; } else { this.UsernameLabel.Text = ""; this.NameLabel.Text = ""; this.StatusLabel.Text = ""; this.MemberCountLabel.Text = "0"; this.SubscriberCountLabel.Text = "0"; this.DescriptionText.Text = ""; } } }
private void ButtonDelete_Click(object sender, EventArgs e) { var selectedCount = ListFilters.SelectedIndices.Count; if (selectedCount == 0) { return; } string tmp; if (selectedCount == 1) { tmp = string.Format(Properties.Resources.ButtonDelete_ClickText1, Environment.NewLine, ListFilters.SelectedItem.ToString()); } else { tmp = string.Format(Properties.Resources.ButtonDelete_ClickText3, selectedCount.ToString()); } var rslt = MessageBox.Show(tmp, Properties.Resources.ButtonDelete_ClickText2, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (rslt == DialogResult.Cancel) { return; } var indices = ListFilters.SelectedIndices.Cast <int>().Reverse().ToArray(); // 後ろの要素から削除 var tab = _sts.Tabs[ListTabs.SelectedItem.ToString()]; using (ControlTransaction.Update(ListFilters)) { foreach (var idx in indices) { tab.RemoveFilter((PostFilterRule)ListFilters.Items[idx]); ListFilters.Items.RemoveAt(idx); } } }
private async Task RefreshListBox() { using (var dialog = new WaitingDialog(Properties.Resources.ListsGetting)) { var cancellationToken = dialog.EnableCancellation(); var task = Task.Run(() => this.FetchMembershipListIds()); await dialog.WaitForAsync(this, task); cancellationToken.ThrowIfCancellationRequested(); } using (ControlTransaction.Update(this.ListsCheckedListBox)) { this.ListsCheckedListBox.Items.Clear(); foreach (var list in this.ownedLists) { var added = this.addedListIds.Contains(list.Id); this.ListsCheckedListBox.Items.Add(list, isChecked: added); } } }
private void MoveSelectedRules(bool up) { var tabIdx = ListTabs.SelectedIndex; if (tabIdx == -1 || ListFilters.SelectedIndices.Count == 0) { return; } var indices = ListFilters.SelectedIndices.Cast <int>().ToArray(); int diff; if (up) { if (indices[0] <= 0) { return; } diff = -1; } else { if (indices[indices.Length - 1] >= ListFilters.Items.Count - 1) { return; } diff = +1; Array.Reverse(indices); // 逆順にして、下にある要素から処理する } var lastSelIdx = indices[0] + diff; var tab = _sts.Tabs[ListTabs.Items[tabIdx].ToString()]; try { _moveRules = true; // SelectedIndexChanged を無視する using (ControlTransaction.Update(ListFilters)) { ListFilters.SelectedIndices.Clear(); foreach (var idx in indices) { var tidx = idx + diff; var target = (PostFilterRule)ListFilters.Items[tidx]; // 移動先にある要素と位置を入れ替える ListFilters.Items.RemoveAt(tidx); ListFilters.Items.Insert(idx, target); // 移動方向の先頭要素以外なら選択する if (tidx != lastSelIdx) { ListFilters.SelectedIndex = tidx; } } tab.FilterArray = ListFilters.Items.Cast <PostFilterRule>().ToArray(); // 移動方向の先頭要素は最後に選択する // ※移動方向への自動スクロール目的 ListFilters.SelectedIndex = lastSelIdx; } } finally { _moveRules = false; } }