refactor(settings): a pull-out drawer, with Zoom as a category — and the menu moves to the wordmark
Creator directive, 2026-11-01. Settings stopped being a centred modal. - **Drawer** (Controls/SettingsDrawer): hosted in PreviewPane's pull-out stack, 320px, the same animated-width pattern as Stream Settings / YPP / Socials / TEST, opened by the gear rail tab on a single left click. SettingsDrawerOpen is exclusive with the other four, both directions. This also removes the modal's MaxHeight-700 scroll problem for good: the drawer is the height of the preview. - **Categories**: headings with controls indented beneath them. Zoom now owns *Zoom view shape* (Circle / Phone / Tablet) and *Zoom box follows*; Recordings, Brand logo and Scene transition are their own categories. - **The app menu moved to the LlamaCasty wordmark** (right-click → Report Bug / Feature Request / About). Left-click still opens About. The gear tab no longer carries a menu at all, so clicking it does exactly one thing. OverlayHost keeps only the Bug / Feature / About panels; its brand-logo handlers and the dev-panel injection moved with the settings block. BrandLogoPreviewTests follows the control (same assertions, new path). Release 0 warnings; 15 tests pass across brand logo, zoom, entitlement and preview history.
This commit is contained in:
@@ -730,22 +730,11 @@ public partial class PreviewPane : UserControl
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Rail settings tab (creator ruling 2026-11-01): left-click opens the same app menu
|
||||
/// the top-bar gear used to own, so Bug / Feature / About keep their only entry point.</summary>
|
||||
/// <summary>Rail settings tab (creator ruling 2026-11-01): a left click opens the Settings
|
||||
/// DRAWER immediately, exactly like the other rail tabs — no menu, no modal.</summary>
|
||||
private void SettingsTab_Click(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (sender is not FrameworkElement { ContextMenu: { } menu } anchor) return;
|
||||
menu.PlacementTarget = anchor;
|
||||
menu.Placement = System.Windows.Controls.Primitives.PlacementMode.Left;
|
||||
menu.IsOpen = true;
|
||||
if (DataContext is MainViewModel vm) vm.ToggleSettingsDrawer();
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
/// <summary>Right-click goes straight to App Settings — the same shortcut the old gear had.</summary>
|
||||
private void SettingsTab_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
e.Handled = true;
|
||||
if (DataContext is MainViewModel { OpenSettingsCommand: { } open } && open.CanExecute(null))
|
||||
open.Execute(null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user