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); }
public void SetServerListSelectedIndex(int index) { ServersListBox.ClearSelected(); ServersListBox.SelectedIndex = index; }