private void UpButton_Click(object sender, EventArgs e)
        {
            _oldSelectedIndex = ServersListBox.SelectedIndex;
            if (_oldSelectedIndex < 0)
            {
                MessageBox.Show(I18N.GetString("There Is No Optional Config"));
                return;
            }
            int index = _oldSelectedIndex;

            SaveOldSelectedServer();
            var items = ServersListBox.SelectedIndices;

            if (items.Count == 1)
            {
                if (index > 0 && index < _modifiedConfiguration.configs.Count)
                {
                    _modifiedConfiguration.configs.Reverse(index - 1, 2);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                    LoadConfiguration(_modifiedConfiguration);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                    LoadSelectedServer();
                }
            }
            else
            {
                List <int> all_items = new List <int>();
                foreach (int item in items)
                {
                    if (item == 0)
                    {
                        return;
                    }
                    all_items.Add(item);
                }
                foreach (int item in all_items)
                {
                    _modifiedConfiguration.configs.Reverse(item - 1, 2);
                }
                _allowSave  = false;
                _ignoreLoad = true;
                ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                LoadConfiguration(_modifiedConfiguration);
                ServersListBox.ClearSelected();
                foreach (int item in all_items)
                {
                    if (item != index)
                    {
                        ServersListBox.SelectedIndex = _oldSelectedIndex = item - 1;
                    }
                }
                ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                _ignoreLoad = false;
                _allowSave  = true;
                LoadSelectedServer();
            }
            UpdateServersListBoxTopIndex(1);
        }
        private void DownButton_Click(object sender, EventArgs e)
        {
            _oldSelectedIndex = ServersListBox.SelectedIndex;
            int index = _oldSelectedIndex;

            SaveOldSelectedServer();
            var items = ServersListBox.SelectedIndices;

            if (items.Count == 1)
            {
                if (_oldSelectedIndex >= 0 && _oldSelectedIndex < _modifiedConfiguration.configs.Count - 1)
                {
                    _modifiedConfiguration.configs.Reverse(index, 2);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index + 1;
                    LoadConfiguration(_modifiedConfiguration);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index + 1;
                    LoadSelectedServer();
                }
            }
            else
            {
                List <int> rev_items = new List <int>();
                int        max_index = ServersListBox.Items.Count - 1;
                foreach (int item in items)
                {
                    if (item == max_index)
                    {
                        return;
                    }
                    rev_items.Insert(0, item);
                }
                foreach (int item in rev_items)
                {
                    _modifiedConfiguration.configs.Reverse(item, 2);
                }
                _allowSave  = false;
                _ignoreLoad = true;
                ServersListBox.SelectedIndex = _oldSelectedIndex = index + 1;
                LoadConfiguration(_modifiedConfiguration);
                ServersListBox.ClearSelected();
                foreach (int item in rev_items)
                {
                    if (item != index)
                    {
                        ServersListBox.SelectedIndex = _oldSelectedIndex = item + 1;
                    }
                }
                ServersListBox.SelectedIndex = _oldSelectedIndex = index + 1;
                _ignoreLoad = false;
                _allowSave  = true;
                LoadSelectedServer();
            }
            UpdateServersListBoxTopIndex(2);
        }
 public void SetServerListSelectedIndex(int index)
 {
     ServersListBox.ClearSelected();
     if (index < ServersListBox.Items.Count)
     {
         ServersListBox.SelectedIndex = index;
     }
     else
     {
         _oldSelectedIndex = ServersListBox.SelectedIndex;
     }
 }
        private void UpButton_Click(object sender, EventArgs e)
        {
            _oldSelectedIndex = ServersListBox.SelectedIndex;
            int index = _oldSelectedIndex;

            SaveOldSelectedServer();
            var items = ServersListBox.SelectedIndices;

            if (items.Count == 1)
            {
                if (index > 0 && index < _modifiedConfiguration.configs.Count)
                {
                    _modifiedConfiguration.configs.Reverse(index - 1, 2);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                    LoadConfiguration(_modifiedConfiguration);
                    ServersListBox.ClearSelected();
                    ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;
                    LoadSelectedServer();
                }
            }
            else if (0 == items.Count)
            {
                // Handle when server list is empty.
                _oldSelectedIndex = -1;
                ServersListBox.ClearSelected();
                LoadSelectedServer();
            }
            else
            {
                List <int> all_items = new List <int>();
                foreach (int item in items)
                {
                    if (item == 0)
                    {
                        return;
                    }
                    all_items.Add(item);
                }
                foreach (int item in all_items)
                {
                    _modifiedConfiguration.configs.Reverse(item - 1, 2);
                }
                _allowSave  = false;
                _ignoreLoad = true;

                ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;

                LoadConfiguration(_modifiedConfiguration);
                ServersListBox.ClearSelected();
                foreach (int item in all_items)
                {
                    if (item != index)
                    {
                        ServersListBox.SelectedIndex = _oldSelectedIndex = item - 1;
                    }
                }

                ServersListBox.SelectedIndex = _oldSelectedIndex = index - 1;

                _ignoreLoad = false;
                _allowSave  = true;
                LoadSelectedServer();
            }
            UpdateServersListBoxTopIndex(1);
        }
Example #5
0
 public void SetServerListSelectedIndex(int index)
 {
     ServersListBox.ClearSelected();
     ServersListBox.SelectedIndex = index;
 }