示例#1
0
        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;
            }
        }
示例#2
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();
     }
 }
示例#3
0
 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;
     }
 }
示例#4
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);
            }
        }
示例#5
0
 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      = "";
         }
     }
 }
示例#6
0
        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);
                }
            }
        }
示例#7
0
        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);
                }
            }
        }
示例#8
0
        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;
            }
        }