Public Access
83 lines
4.7 KiB
XML
83 lines
4.7 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="using:DodoSSH.Client.Shell.ViewModels"
|
|
x:Class="DodoSSH.Client.App.Views.SettingsTitleBar"
|
|
x:DataType="vm:MainWindowViewModel">
|
|
|
|
<!--
|
|
v5c: settings mode's own titlebar — SettingsNav.dc.html and the four Settings-*.dc.html sources all draw
|
|
the same 53px bar: "Back to application" on the left, in place of the wordmark and the search box, and
|
|
the same three window-control glyphs on the right TitleBar.axaml already draws.
|
|
|
|
A separate control rather than a variant of TitleBar itself, on the same reasoning SessionStatusBar and
|
|
SessionSidebar are their own files: nothing here can be measured by a test that hosts the real window,
|
|
and a control that is either "the wordmark bar" or "the settings bar" depending on a bound flag would be
|
|
two controls wearing one name. The dragging, maximising and closing logic is duplicated from TitleBar's
|
|
own code-behind rather than shared through a base class — four short handlers, and the day one of the two
|
|
bars needs its own window behaviour a shared base would have to be pulled apart first.
|
|
|
|
v5c-3: two back buttons rather than one whose text and command a converter swaps, toggled by
|
|
MainWindowViewModel.IsImporterOpen — Import.dc.html draws the same 53px bar with "Back to preferences" in
|
|
place of "Back to application" while an importer is up, and CloseImportCommand closes it without leaving
|
|
settings mode, unlike LeaveSettingsCommand.
|
|
|
|
IsImporterOpen rather than IsImportOpen because there are two importers now — the ssh_config one and the
|
|
Hetzner wizard — and this bar behaves identically for both: same label, same destination, same command.
|
|
-->
|
|
|
|
<Border Height="53" Background="{StaticResource DeepChrome}"
|
|
PointerPressed="OnDrag">
|
|
|
|
<Grid ColumnDefinitions="*,Auto" Margin="26,0,20,0">
|
|
|
|
<Button Grid.Column="0" Classes="flat" HorizontalAlignment="Left"
|
|
IsVisible="{Binding !IsImporterOpen}"
|
|
Command="{Binding LeaveSettingsCommand}"
|
|
ToolTip.Tip="Back to the screen you were on before opening Settings">
|
|
<StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
|
|
<TextBlock FontFamily="{StaticResource IconFont}" Text="" FontSize="17"
|
|
Foreground="{StaticResource TextFaint}" VerticalAlignment="Center" />
|
|
<TextBlock Text="Back to application" FontSize="13" FontWeight="SemiBold"
|
|
Foreground="{StaticResource Text}" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Column="0" Classes="flat" HorizontalAlignment="Left"
|
|
IsVisible="{Binding IsImporterOpen}"
|
|
Command="{Binding CloseImportCommand}"
|
|
ToolTip.Tip="Back to preferences, without leaving Settings">
|
|
<StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
|
|
<TextBlock FontFamily="{StaticResource IconFont}" Text="" FontSize="17"
|
|
Foreground="{StaticResource TextFaint}" VerticalAlignment="Center" />
|
|
<TextBlock Text="Back to preferences" FontSize="13" FontWeight="SemiBold"
|
|
Foreground="{StaticResource Text}" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<!-- The window controls, identical to TitleBar's own — see the remark above on why they are repeated. -->
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="2">
|
|
<Button Classes="flat" Width="26" Height="24" Click="OnMinimise"
|
|
ToolTip.Tip="Minimise">
|
|
<TextBlock FontFamily="{StaticResource IconFont}" Text="" FontSize="14"
|
|
Foreground="{StaticResource TextFaint}"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
</Button>
|
|
<Button Classes="flat" Width="26" Height="24" Click="OnToggleMaximised"
|
|
ToolTip.Tip="Maximise">
|
|
<TextBlock FontFamily="{StaticResource IconFont}" Text="" FontSize="13"
|
|
Foreground="{StaticResource TextFaint}"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
</Button>
|
|
<Button Classes="flat close" Width="26" Height="24" Click="OnClose"
|
|
ToolTip.Tip="Close DodoSSH. This ends every shell it has open.">
|
|
<TextBlock FontFamily="{StaticResource IconFont}" Text="" FontSize="14"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
</Grid>
|
|
|
|
</Border>
|
|
|
|
</UserControl>
|