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 { 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); } _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; LoadSelectedServer(); } UpdateServersListBoxTopIndex(1); }
public void SetServerListSelectedIndex(int index) { if (index < ServersListBox.Items.Count) { ServersListBox.SelectedIndex = index; ServersListBox.ScrollIntoView(ServersListBox.Items[index]); } else { ServersListBox.SelectedIndex = ServersListBox.Items.Count - 1; ServersListBox.ScrollIntoView(ServersListBox.Items[ServersListBox.Items.Count - 1]); } }
private void MoveConfigItem(int step) { var server = _modifiedConfiguration.configs[_lastSelectedIndex]; var newIndex = _lastSelectedIndex + step; _modifiedConfiguration.configs.RemoveAt(_lastSelectedIndex); _modifiedConfiguration.configs.Insert(newIndex, server); ServersListBox.BeginUpdate(); LoadServerNameListToUI(_modifiedConfiguration); _lastSelectedIndex = newIndex; ServersListBox.SelectedIndex = newIndex; ServersListBox.EndUpdate(); UpdateButtons(); }
private void MoveConfigItem(int step) { int index = ServersListBox.SelectedIndex; Server server = _modifiedConfiguration.configs[index]; object item = ServersListBox.SelectedItem; _modifiedConfiguration.configs.Remove(server); _modifiedConfiguration.configs.Insert(index + step, server); _modifiedConfiguration.index += step; ServersListBox.BeginUpdate(); _oldSelectedIndex = index + step; ServersListBox.Items.Remove(item); ServersListBox.Items.Insert(index + step, item); ServersListBox.SelectedIndex = index + step; ServersListBox.EndUpdate(); UpdateMoveUpAndDownButton(); }
private void DownButton_Click(object sender, RoutedEventArgs e) { var sortedCopy = new SortedDictionary <int, object>(); foreach (ServerObject selectedItem in ServersListBox.SelectedItems.Cast <object>().ToArray()) { sortedCopy.Add(ServerViewModel.ServerCollection.IndexOf(selectedItem), selectedItem); } var reverseSortedCopy = sortedCopy.Reverse().ToArray(); foreach (var selectedItem in reverseSortedCopy) { var position = selectedItem.Key; if (position + 1 < ServerViewModel.ServerCollection.Count) { ServerViewModel.ServerCollection.Move(position, position + 1); if (position == _modifiedConfiguration.index - 1) { --_modifiedConfiguration.index; } else if (position == _modifiedConfiguration.index) { ++_modifiedConfiguration.index; } } else { break; } } foreach (var selectedItem in reverseSortedCopy) { ServersListBox.SelectedItems.Add(selectedItem.Value); } if (ServersListBox.SelectedItem != null) { ServersListBox.ScrollIntoView(ServersListBox.SelectedItem); } }
private void MoveConfigItem(int step) { int index = ServersListBox.SelectedIndex; Server server = _modifiedConfiguration.configs[index]; object item = ServersListBox.Items[index]; _modifiedConfiguration.configs.Remove(server); _modifiedConfiguration.configs.Insert(index + step, server); _modifiedConfiguration.index += step; ServersListBox.BeginUpdate(); ServersListBox.Enabled = false; _lastSelectedIndex = index + step; ServersListBox.Items.Remove(item); ServersListBox.Items.Insert(index + step, item); ServersListBox.Enabled = true; ServersListBox.SelectedIndex = index + step; ServersListBox.EndUpdate(); UpdateButtons(); }
public void OnNavigatedTo(NavigationEventArgs e) { Model.Load(); _taskbarProgress = new TaskbarProgress(); _timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1), IsEnabled = true }; _timer.Tick += OnTimerTick; var scrollViewer = ServersListBox.FindVisualChild <ScrollViewer>(); var viewer = scrollViewer?.FindVisualChild <Thumb>(); if (viewer != null) { scrollViewer.ScrollChanged += OnScrollChanged; viewer.DragStarted += OnScrollStarted; viewer.DragCompleted += OnScrollCompleted; } }
private void OnTimerTick(object sender, EventArgs e) { if (++_timerTick > 5) { _timerTick = 0; if (Model.ListFilter.IsAffectedBy(nameof(ServerEntry.SessionEnd)) && Model.Manager != null) { foreach (var serverEntry in Model.Manager.List) { serverEntry.OnSessionEndTick(); } } } if (SimpleListMode != ListMode.DetailedPlus) { return; } foreach (var item in ServersListBox.GetVisibleItemsFromListbox <ServerEntry>()) { item?.OnTick(); } }
private void LoadConfiguration(Configuration configuration) { ServersListBox.BeginUpdate(); if (ServersListBox.Items.Count != _modifiedConfiguration.configs.Count) { ServersListBox.Items.Clear(); foreach (Server server in _modifiedConfiguration.configs) { if (!string.IsNullOrEmpty(server.group)) { ServersListBox.Items.Add(server.group + " - " + server.HiddenName()); } else { ServersListBox.Items.Add(" " + server.HiddenName()); } } } else { for (int i = 0; i < _modifiedConfiguration.configs.Count; ++i) { if (!string.IsNullOrEmpty(_modifiedConfiguration.configs[i].group)) { ServersListBox.Items[i] = _modifiedConfiguration.configs[i].group + " - " + _modifiedConfiguration.configs[i].HiddenName(); } else { ServersListBox.Items[i] = " " + _modifiedConfiguration.configs[i].HiddenName(); } } } ServersListBox.EndUpdate(); }
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 if (0 == items.Count) { // Handle when server list is empty. _oldSelectedIndex = -1; ServersListBox.ClearSelected(); 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); }
private void DownButton_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 (_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(); ServersListBox.SelectedIndex = index; }