Public Access
Desktop: decide a titlebar double-click on the press, before the drag can swallow it
This commit is contained in:
1 parent
079a273d46
commit
a2362d1e3e
6 files changed
+127
-3
No files matched your search
@@ -66,6 +66,52 @@ public sealed class TitleBarTests : IAsyncLifetime
|
||||
caches.Dispose();
|
||||
}
|
||||
|
||||
/// <remarks>
|
||||
/// A double-click on the bar maximises, and a second one restores. It was a <c>DoubleTapped</c> handler
|
||||
/// beside a press that started a drag, and the drag handed the press to the operating system's move loop,
|
||||
/// which ate the release a double tap is assembled from — so on Windows the click often did nothing. The
|
||||
/// press decides now; see <c>CaptionPresses</c>. A single press must still be a drag and nothing else.
|
||||
/// </remarks>
|
||||
[Fact]
|
||||
public async Task DoubleClickingTheBar_MaximisesAndRestores_AndASinglePressDoesNot()
|
||||
{
|
||||
await LayoutHarness.OnTheUiThreadAsync(
|
||||
() =>
|
||||
{
|
||||
var bar = new TitleBar { DataContext = shell };
|
||||
var window = LayoutHarness.HostAtMinimumSize(
|
||||
bar, LayoutHarness.MinimumWidth, LayoutHarness.TitleBarHeight);
|
||||
|
||||
try
|
||||
{
|
||||
// The top edge, past everything the bar draws: the drag surface and nothing else.
|
||||
var empty = new Point(bar.Bounds.Width * 0.6, 2);
|
||||
|
||||
window.MouseDown(empty, MouseButton.Left);
|
||||
window.MouseUp(empty, MouseButton.Left);
|
||||
|
||||
window.WindowState.ShouldBe(WindowState.Normal, "one press is a drag");
|
||||
|
||||
window.MouseDown(empty, MouseButton.Left);
|
||||
window.MouseUp(empty, MouseButton.Left);
|
||||
|
||||
window.WindowState.ShouldBe(WindowState.Maximized);
|
||||
|
||||
window.MouseDown(empty, MouseButton.Left);
|
||||
window.MouseUp(empty, MouseButton.Left);
|
||||
window.MouseDown(empty, MouseButton.Left);
|
||||
window.MouseUp(empty, MouseButton.Left);
|
||||
|
||||
window.WindowState.ShouldBe(WindowState.Normal);
|
||||
}
|
||||
finally
|
||||
{
|
||||
window.Close();
|
||||
}
|
||||
},
|
||||
Token);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ClickingTheSearchPill_OpensTheQuickConnectPalette()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user