maksit-postclient/src/MaksIT.PostClient.UI/MainWindow.axaml
2026-10-29 18:26:30 +01:00

174 lines
9.1 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:layout="using:MaksIT.PostClient.UI.Layout"
xmlns:views="using:MaksIT.PostClient.UI.Views.Mail"
xmlns:vm="using:MaksIT.PostClient.UI.ViewModels"
x:Class="MaksIT.PostClient.UI.MainWindow"
x:Name="Root"
x:DataType="vm:MainViewModel"
layout:LayoutMemento.PersistWindow="True"
Title="Postclient"
Icon="/Assets/icon.ico"
Width="1280"
Height="860"
MinWidth="960"
MinHeight="640"
KeyDown="OnWindowKeyDown">
<DockPanel LastChildFill="True">
<Border DockPanel.Dock="Bottom" Padding="8,5" Background="#15171a">
<Grid ColumnDefinitions="*,Auto">
<TextBlock Text="{Binding Status}" Classes="hint" TextTrimming="CharacterEllipsis" />
<StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="16">
<TextBlock Text="{Binding SemanticLine}"
Classes="hint"
IsVisible="{Binding ShowSemanticLine}" />
<TextBlock Text="{Binding IndexLine}"
Classes="hint"
IsVisible="{Binding ShowIndexLine}" />
<TextBlock Text="{Binding FolderStats}" Classes="hint" />
</StackPanel>
</Grid>
</Border>
<Menu DockPanel.Dock="Top" Classes="mail-menu">
<MenuItem Header="{Binding Copy.File}">
<MenuItem Header="{Binding Copy.GetMessages}" Command="{Binding GetMessagesCommand}" />
<MenuItem Header="{Binding Copy.Write}" Command="{Binding StartComposeCommand}" />
<Separator />
<MenuItem Header="{Binding Copy.Print}" Command="{Binding PrintMessageCommand}" />
<MenuItem Header="{Binding Copy.SavePdf}" Command="{Binding SaveMessagePdfCommand}" />
<MenuItem Header="{Binding Copy.SaveAttachmentsZip}" Command="{Binding SaveAttachmentsZipCommand}" />
<MenuItem Header="{Binding Copy.ExportFascicolo}"
Command="{Binding ExportFascicoloCommand}"
IsVisible="{Binding UseFascicolo}" />
<Separator />
<MenuItem Header="{Binding Copy.ImportEml}" Command="{Binding ImportEmlCommand}" />
<MenuItem Header="{Binding Copy.ImportThunderbird}" Command="{Binding ImportThunderbirdCommand}" />
<MenuItem Header="{Binding Copy.ImportPst}" Command="{Binding ImportPstCommand}" />
<MenuItem Header="{Binding Copy.CreateStore}" Command="{Binding CreatePstCommand}" />
<MenuItem Header="{Binding Copy.AttachStore}" Command="{Binding AttachPstCommand}" />
<MenuItem Header="{Binding Copy.MoveStore}" Command="{Binding MoveStoreCommand}" />
<Separator />
<MenuItem Header="{Binding Copy.OpenArchiveFolder}" Command="{Binding OpenArchiveFolderCommand}" />
<MenuItem Header="{Binding Copy.ExportArchive}" Command="{Binding ExportArchiveCommand}" />
<MenuItem Header="{Binding Copy.EasyMigration}">
<MenuItem Header="{Binding Copy.CreateBundle}" Command="{Binding CreateBundleCommand}" />
<MenuItem Header="{Binding Copy.OpenBundle}" Command="{Binding OpenBundleCommand}" />
</MenuItem>
<Separator />
<MenuItem Header="{Binding Copy.Exit}" Click="OnExitClick" />
</MenuItem>
<MenuItem Header="{Binding Copy.View}">
<MenuItem Header="{Binding Copy.UnwrapEnvelope}"
ToggleType="CheckBox"
IsChecked="{Binding UnwrapEnvelope}"
IsVisible="{Binding UseEnvelopeTools}" />
<MenuItem Header="{Binding Copy.GroupConversations}"
ToggleType="CheckBox"
IsChecked="{Binding GroupConversations}"
ToolTip.Tip="{Binding Copy.GroupConversationsTip}" />
<MenuItem Header="{Binding Copy.BlockRemoteContent}"
ToggleType="CheckBox"
IsChecked="{Binding BlockRemoteContent}"
ToolTip.Tip="{Binding Copy.BlockRemoteContentTip}" />
<Separator />
<MenuItem Header="{Binding Copy.ListAboveReading}"
ToggleType="Radio"
IsChecked="{Binding IsStackedLayout}"
Command="{Binding SetReadingLayoutCommand}"
CommandParameter="stacked" />
<MenuItem Header="{Binding Copy.ThreeColumns}"
ToggleType="Radio"
IsChecked="{Binding IsWideLayout}"
Command="{Binding SetReadingLayoutCommand}"
CommandParameter="wide"
ToolTip.Tip="{Binding Copy.ThreeColumnsTip}" />
<Separator />
<MenuItem Header="{Binding Copy.Html}"
ToggleType="Radio"
IsChecked="{Binding IsHtmlKind}"
Command="{Binding SetReadingKindCommand}"
CommandParameter="html" />
<MenuItem Header="{Binding Copy.Text}"
ToggleType="Radio"
IsChecked="{Binding IsTextKind}"
Command="{Binding SetReadingKindCommand}"
CommandParameter="text" />
<MenuItem Header="{Binding Copy.Source}"
ToggleType="Radio"
IsChecked="{Binding IsSourceKind}"
Command="{Binding SetReadingKindCommand}"
CommandParameter="source" />
<MenuItem Header="{Binding Copy.FatturaPa}"
ToggleType="Radio"
IsChecked="{Binding IsFatturaKind}"
Command="{Binding SetReadingKindCommand}"
CommandParameter="fattura"
IsVisible="{Binding UseFatturaPa}" />
<Separator />
<MenuItem Header="{Binding Copy.Language}">
<MenuItem Header="English"
ToggleType="Radio"
IsChecked="{Binding IsEnglish}"
Command="{Binding SetLanguageCommand}"
CommandParameter="en" />
<MenuItem Header="Italiano"
ToggleType="Radio"
IsChecked="{Binding IsItalian}"
Command="{Binding SetLanguageCommand}"
CommandParameter="it" />
<MenuItem Header="Français"
ToggleType="Radio"
IsChecked="{Binding IsFrench}"
Command="{Binding SetLanguageCommand}"
CommandParameter="fr" />
<MenuItem Header="Deutsch"
ToggleType="Radio"
IsChecked="{Binding IsGerman}"
Command="{Binding SetLanguageCommand}"
CommandParameter="de" />
<MenuItem Header="Español"
ToggleType="Radio"
IsChecked="{Binding IsSpanish}"
Command="{Binding SetLanguageCommand}"
CommandParameter="es" />
</MenuItem>
</MenuItem>
<MenuItem Header="{Binding Copy.Settings}">
<MenuItem Header="{Binding Copy.NewAccount}" Command="{Binding NewMailboxCommand}" />
<MenuItem Header="{Binding Copy.AccountSettings}" Command="{Binding OpenAccountSettingsCommand}" />
<Separator />
<MenuItem Header="{Binding Copy.Rules}" Command="{Binding OpenRulesCommand}" />
<MenuItem Header="{Binding Copy.SemanticSearch}" Command="{Binding OpenSemanticSearchCommand}" />
<MenuItem Header="{Binding Copy.Retention}" Command="{Binding OpenRetentionCommand}" />
<MenuItem Header="{Binding Copy.Features}" Command="{Binding OpenFeaturesCommand}" />
<MenuItem Header="{Binding BackgroundSyncLabel}" Command="{Binding ToggleBackgroundSyncCommand}" />
</MenuItem>
<MenuItem Header="{Binding Copy.Help}">
<MenuItem Header="{Binding Copy.CheckUpdates}" Command="{Binding CheckForUpdatesCommand}" />
<MenuItem Header="{Binding Copy.Logs}" Command="{Binding ShowLogsCommand}" />
<MenuItem Header="{Binding Copy.About}" Command="{Binding ShowAboutCommand}" />
</MenuItem>
</Menu>
<Border DockPanel.Dock="Top" Classes="mail-toolbar">
<StackPanel Orientation="Horizontal" Spacing="4">
<Button Content="{Binding Copy.GetMessages}" Classes="mail-tool" Command="{Binding GetMessagesCommand}" />
<Button Content="{Binding Copy.Write}" Classes="mail-tool" Command="{Binding StartComposeCommand}" />
<Button Content="{Binding Copy.Reply}" Classes="mail-tool" Command="{Binding ReplyCommand}" />
<Button Content="{Binding Copy.ReplyAll}" Classes="mail-tool" Command="{Binding ReplyAllCommand}" />
<Button Content="{Binding Copy.Forward}" Classes="mail-tool" Command="{Binding ForwardCommand}" />
<Button Content="{Binding Copy.Delete}" Classes="mail-tool" Command="{Binding DeleteMessagesCommand}" />
<Border Width="1" Height="18" Background="#3a4148" Margin="6,0" VerticalAlignment="Center" />
<ToggleButton Content="{Binding LayoutToggleLabel}"
Classes="mail-tool"
IsChecked="{Binding IsWideLayout, Mode=TwoWay}"
ToolTip.Tip="{Binding Copy.LayoutToggleTip}" />
</StackPanel>
</Border>
<views:MailShellView />
</DockPanel>
</Window>