XIVChat/XIVChat Desktop/Export.xaml

155 lines
7.8 KiB
XML

<Window x:Class="XIVChat_Desktop.Export"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:XIVChat_Desktop"
xmlns:cc="clr-namespace:XIVChat_Desktop.Controls"
xmlns:xiv="clr-namespace:XIVChatCommon;assembly=XIVChatCommon"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:sdl="http://schemas.sdl.com/xaml"
ui:WindowHelper.UseModernWindowStyle="True"
mc:Ignorable="d"
Title="Export"
x:Name="Main"
d:DataContext="{d:DesignInstance local:Export}"
Height="600"
Width="800">
<Grid Margin="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ItemsControl Grid.Row="0"
Grid.Column="0"
Padding="4"
VirtualizingPanel.ScrollUnit="Pixel"
ItemsSource="{Binding ExportTab}">
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<ScrollViewer x:Name="scroller"
CanContentScroll="True"
Background="#333">
<ItemsPresenter Margin="0,0,16,0" />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel IsVirtualizing="True"
VirtualizationMode="Recycling"
VerticalAlignment="Bottom" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<cc:MessageTextBlock FontFamily="Global User Interface, /fonts/#XIV AXIS Std ATK"
TextWrapping="Wrap"
FontSize="{Binding App.Config.FontSize, ElementName=Main, UpdateSourceTrigger=PropertyChanged}"
Tab="{Binding ExportTab, ElementName=Main}"
Message="{Binding .}"
ShowTimestamps="{Binding ShowTimestamps, ElementName=Main}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Grid Grid.Row="0"
Grid.Column="1"
Margin="8, 0, 0, 0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="0"
Margin="8,0,0, 8">
<StackPanel Margin="0,0,24,0">
<CheckBox Content="Process messages as Markdown"
Checked="Markdown_Checked"
Unchecked="Markdown_Unchecked"
IsChecked="{Binding ExportTab.ProcessMarkdown}" />
<CheckBox Content="Show timestamps"
IsChecked="{Binding ShowTimestamps}" />
<DatePicker x:Name="AfterDatePicker"
ui:ControlHelper.Header="On or after"
SelectedDateChanged="AfterDatePicker_OnSelectedDateChanged" />
<ui:SimpleTimePicker x:Name="AfterTimePicker"
SelectedDateTimeChanged="AfterTimePicker_OnSelectedDateTimeChanged" />
<Button Margin="0,4,0,8"
Content="Clear"
Click="AfterClear_Click" />
<DatePicker x:Name="BeforeDatePicker"
ui:ControlHelper.Header="On or before"
SelectedDateChanged="BeforeDatePicker_OnSelectedDateChanged" />
<ui:SimpleTimePicker x:Name="BeforeTimePicker"
SelectedDateTimeChanged="BeforeTimePicker_OnSelectedDateTimeChanged" />
<Button Margin="0,4,0,8"
Content="Clear"
Click="BeforeClear_Click" />
<Button Margin="0,8,0,8"
Content="Configure senders">
<ui:FlyoutService.Flyout>
<ui:Flyout>
<Grid Height="300">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListBox MinWidth="100"
ScrollViewer.VerticalScrollBarVisibility="Visible"
x:Name="SendersFilterSource"
ItemsSource="{Binding Senders, Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="0,0,16,0"
Text="{Binding ., Converter={StaticResource SenderPlayerConverter}}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Column="1"
VerticalAlignment="Center"
Margin="8,0,8,0">
<Button Click="RightArrow_Click"
Content="→" />
<Button Click="LeftArrow_Click"
Margin="0,4,0,0"
Content="←" />
</StackPanel>
<ListBox Grid.Column="2"
MinWidth="100"
ScrollViewer.VerticalScrollBarVisibility="Visible"
x:Name="SenderFiltersDest"
ItemsSource="{Binding ExportTab.Filter.Senders, Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="0,0,16,0"
Text="{Binding ., Converter={StaticResource SenderPlayerConverter}}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</ui:Flyout>
</ui:FlyoutService.Flyout>
</Button>
<TabControl x:Name="Tabs" />
</StackPanel>
</ScrollViewer>
<Button Grid.Row="1"
Content="Save"
Click="Save_Click"
HorizontalAlignment="Right" />
</Grid>
</Grid>
</Window>