Copy from Jeremy's fork PR

This commit is contained in:
bkudiess
2020-03-20 09:43:42 -07:00
parent 855f092682
commit 0f78f1b333
60 changed files with 898 additions and 2082 deletions

View File

@@ -1,13 +1,12 @@
using System.Runtime.Remoting.Contexts;
using System.Windows;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace Wox
{
[Synchronization]
public partial class ResultListBox
{
protected object _lock = new object();
private Point _lastpos;
private ListBoxItem curItem = null;
public ResultListBox()
@@ -25,25 +24,34 @@ namespace Wox
private void OnMouseEnter(object sender, MouseEventArgs e)
{
curItem = (ListBoxItem)sender;
var p = e.GetPosition((IInputElement)sender);
_lastpos = p;
lock(_lock)
{
curItem = (ListBoxItem)sender;
var p = e.GetPosition((IInputElement)sender);
_lastpos = p;
}
}
private void OnMouseMove(object sender, MouseEventArgs e)
{
var p = e.GetPosition((IInputElement)sender);
if (_lastpos != p)
lock(_lock)
{
((ListBoxItem) sender).IsSelected = true;
var p = e.GetPosition((IInputElement)sender);
if (_lastpos != p)
{
((ListBoxItem)sender).IsSelected = true;
}
}
}
private void ListBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (curItem != null)
lock(_lock)
{
curItem.IsSelected = true;
if (curItem != null)
{
curItem.IsSelected = true;
}
}
}
}