Esempio n. 1
0
        private void DisplayList_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            //if the left mouse button is not pressed, then we can't be dragging anything
            if (e.LeftButton != MouseButtonState.Pressed || !(sender is ListBox) || (_clickedGame == null))
            {
                return;
            }

            var mousePos = e.GetPosition(null);
            var diff     = _startPoint - mousePos;

            //If we travel far enough, begin the drag
            if (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)
            {
                _clickedGame = null;
                foreach (object selItem in _selItems)
                {
                    if (!DisplayList.SelectedItems.Contains(selItem))
                    {
                        DisplayList.SelectedItems.Add(selItem);
                    }
                }
                //The sender is always the list box
                var listBox = (ListBox)sender;
                var items   = listBox.SelectedItems.OfType <RemoteSteamApp>().ToArray();

                FriendTransfer transferData = new FriendTransfer((FriendViewModel)listBox.DataContext, items);
                DataObject     dragData     = new DataObject(DRAG_DATA_NAME, transferData);
                DragDrop.DoDragDrop(this, dragData, DragDropEffects.Move);
            }
        }
Esempio n. 2
0
 private void DisplayList_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     _startPoint  = e.GetPosition(null);
     _clickedGame = FindAncestor <ListBoxItem>((DependencyObject)e.OriginalSource)?.DataContext as RemoteSteamApp;
     if (_selItems.Any() && ((Keyboard.Modifiers & (ModifierKeys.Control | ModifierKeys.Shift)) == 0))
     {
         if (!_selItems.Contains(_clickedGame))
         {
             _selItems.Clear();
         }
     }
 }
Esempio n. 3
0
 private void DisplayList_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     _clickedGame = null;
     _selItems.Clear();
     _selItems.AddRange(DisplayList.SelectedItems.Cast <object>());
 }
Esempio n. 4
0
 public FriendTransfer(FriendViewModel list, RemoteSteamApp item)
 {
     SourceLibrary = list;
     SourceGame    = item;
 }