Example #1
0
 public void SetServerListSelectedIndex(int index)
 {
     ServersListBox.ClearSelected();
     if (index < ServersListBox.Items.Count)
     {
         ServersListBox.SelectedIndex = index;
     }
     else
     {
         _oldSelectedIndex = ServersListBox.SelectedIndex;
     }
 }
Example #2
0
        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);
        }
Example #3
0
 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]);
     }
 }
Example #4
0
        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();
        }
Example #5
0
        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);
            }
        }
Example #7
0
        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();
        }
Example #8
0
        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;
            }
        }
Example #9
0
        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();
            }
        }
Example #10
0
        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);
        }
Example #13
0
 public void SetServerListSelectedIndex(int index)
 {
     ServersListBox.ClearSelected();
     ServersListBox.SelectedIndex = index;
 }