Merge pull request #372 from Tichau/feature/ux-improvements

UX improvements
This commit is contained in:
Adrien Allard 2024-03-04 23:14:10 +01:00 committed by GitHub
commit 3157503cc8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
42 changed files with 433 additions and 469 deletions

View File

@ -20,37 +20,39 @@
<services:UpgradeService x:Key="Upgrade" /> <services:UpgradeService x:Key="Upgrade" />
<!-- Markdown style --> <!-- Markdown style -->
<Style TargetType="FlowDocument" x:Key="DocumentStyle"> <xaml:Markdown x:Key="Markdown">
<Setter Property="FontFamily" Value="Segoe UI" /> <xaml:Markdown.DocumentStyle>
<Setter Property="TextAlignment" Value="Left" /> <Style TargetType="FlowDocument">
<Setter Property="Foreground" Value="{StaticResource LighterForegroundBrush}" /> <Setter Property="FontFamily" Value="Segoe UI" />
<Setter Property="Background" Value="{StaticResource BackgroundBrush}" /> <Setter Property="TextAlignment" Value="Left" />
<Setter Property="LineHeight" Value="9"/> <Setter Property="Foreground" Value="{DynamicResource Markdown_ForegroundBrush}" />
<Setter Property="FontSize" Value="13" /> <Setter Property="Background" Value="{DynamicResource Markdown_BackgroundBrush}" />
</Style> <Setter Property="LineHeight" Value="9"/>
<Setter Property="FontSize" Value="13" />
</Style>
</xaml:Markdown.DocumentStyle>
<Style x:Key="PageHeader" TargetType="Paragraph"> <xaml:Markdown.Heading1Style>
<Setter Property="FontSize" Value="24" /> <Style TargetType="Paragraph">
<Setter Property="Foreground" Value="{StaticResource MainBrush}" /> <Setter Property="FontSize" Value="24" />
</Style> <Setter Property="Foreground" Value="{DynamicResource Markdown_Heading1ForegroundBrush}" />
</Style>
</xaml:Markdown.Heading1Style>
<Style x:Key="SubHeader" <xaml:Markdown.Heading2Style>
TargetType="Paragraph"> <Style TargetType="Paragraph">
<Setter Property="FontSize" Value="20" /> <Setter Property="FontSize" Value="20" />
<Setter Property="Foreground" Value="{StaticResource AccentForegroundBrush}" /> <Setter Property="Foreground" Value="{DynamicResource Markdown_Heading2ForegroundBrush}" />
</Style> </Style>
</xaml:Markdown.Heading2Style>
<Style x:Key="SubHeaderSecondary" <xaml:Markdown.Heading3Style>
TargetType="Paragraph"> <Style TargetType="Paragraph">
<Setter Property="FontSize" Value="20" /> <Setter Property="FontSize" Value="20" />
<Setter Property="Foreground" Value="{StaticResource AccentForegroundBrush}" /> <Setter Property="Foreground" Value="{DynamicResource Markdown_Heading3ForegroundBrush}" />
</Style> </Style>
</xaml:Markdown.Heading3Style>
<xaml:Markdown x:Key="Markdown" </xaml:Markdown>
DocumentStyle="{StaticResource DocumentStyle}"
Heading1Style="{StaticResource PageHeader}"
Heading2Style="{StaticResource SubHeader}"
Heading3Style="{StaticResource SubHeaderSecondary}"/>
<!-- Converters --> <!-- Converters -->
<valueConverters:ApplicationVersionToApplicationName x:Key="ApplicationVersionToApplicationName"/> <valueConverters:ApplicationVersionToApplicationName x:Key="ApplicationVersionToApplicationName"/>

View File

@ -1,7 +1,7 @@
// <copyright file="Application.xaml.cs" company="AAllard">License: http://www.gnu.org/licenses/gpl.html GPL version 3.</copyright> // <copyright file="Application.xaml.cs" company="AAllard">License: http://www.gnu.org/licenses/gpl.html GPL version 3.</copyright>
/* File Converter - This program allow you to convert file format to another. /* File Converter - This program allow you to convert file format to another.
Copyright (C) 2017 Adrien Allard Copyright (C) 2024 Adrien Allard
email: adrien.allard.pro@gmail.com email: adrien.allard.pro@gmail.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by

View File

@ -1,64 +1,68 @@
<UserControl <UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:project="clr-namespace:FileConverter.Properties" xmlns:project="clr-namespace:FileConverter.Properties"
x:Class="FileConverter.Controls.ConversionJobControl" xmlns:conversionJobs="clr-namespace:FileConverter.ConversionJobs"
mc:Ignorable="d" x:Class="FileConverter.Controls.ConversionJobControl"
d:DesignHeight="100" d:DesignWidth="800" mc:Ignorable="d"
d:DataContext="{d:DesignData /SampleData/ConversionJobSampleData.xaml}"> d:DesignHeight="100" d:DesignWidth="800">
<Grid Background="{Binding State, Converter={StaticResource ConversionStateToBrush}, ConverterParameter=Background}" Margin="0,4"> <d:DesignProperties.DataContext>
<Grid.ColumnDefinitions> <conversionJobs:ConversionJob />
<ColumnDefinition Width="*"/> </d:DesignProperties.DataContext>
<ColumnDefinition Width="64"/> <Border BorderBrush="#FF000000" BorderThickness="0" CornerRadius="8" Background="{Binding State, Converter={StaticResource ConversionStateToBrush}, ConverterParameter=Background}">
</Grid.ColumnDefinitions> <Grid Margin="0,4">
<Grid Margin="10" Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2.5*" MinWidth="300" /> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="*" MinWidth="100" /> <ColumnDefinition Width="64"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding OutputFilePath}" FontWeight="Bold" /> <Grid Margin="10" Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2.5*" MinWidth="300" />
<ColumnDefinition Width="*" MinWidth="100" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="1" Grid.Column="0" Margin="10,0,0,0"> <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding OutputFilePath}" Foreground="#DD000000" FontWeight="Bold" />
<WrapPanel>
<TextBlock Text="{x:Static project:Resources.ConvertedFrom}" FontSize="11" FontStyle="Italic" Margin="0,0,5,0" />
<TextBlock Text="{Binding InputFilePath}" FontSize="11" FontStyle="Italic" />
</WrapPanel>
<TextBlock Text="{Binding ErrorMessage}" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}" FontSize="14" />
</StackPanel>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding UserState}" FontWeight="Bold" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}" /> <StackPanel Grid.Row="1" Grid.Column="0" Margin="10,0,0,0">
<WrapPanel>
<TextBlock Text="{x:Static project:Resources.ConvertedFrom}" Foreground="#AA000000" FontSize="11" FontStyle="Italic" Margin="0,0,5,0" />
<TextBlock Text="{Binding InputFilePath}" Foreground="#AA000000" FontSize="11" FontStyle="Italic" />
</WrapPanel>
<TextBlock Text="{Binding ErrorMessage}" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}" FontSize="14" />
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="1"> <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding UserState}" FontWeight="Bold" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}" />
<ProgressBar Height="18" Width="Auto" Minimum="0" Maximum="1" SmallChange="0.001" Value="{Binding Progress, Mode=OneWay}" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}, Mode=OneWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" MinWidth="100" LargeChange="0.1" />
<TextBlock Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}"> <StackPanel Grid.Row="1" Grid.Column="1">
<TextBlock.Text> <ProgressBar Height="18" Width="Auto" Minimum="0" Maximum="1" SmallChange="0.001" Value="{Binding Progress, Mode=OneWay}" Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}, Mode=OneWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" MinWidth="100" LargeChange="0.1" />
<MultiBinding Converter="{StaticResource ConversionJobToEstimatedRemainingDuration}" Mode="OneWay"> <TextBlock Foreground="{Binding State, ConverterParameter=Foreground, Converter={StaticResource ConversionStateToBrush}}">
<Binding Path="State" Mode="OneWay"/> <TextBlock.Text>
<Binding Path="StartTime" Mode="OneWay"/> <MultiBinding Converter="{StaticResource ConversionJobToEstimatedRemainingDuration}" Mode="OneWay">
<Binding Path="Progress" Mode="OneWay"/> <Binding Path="State" Mode="OneWay"/>
</MultiBinding> <Binding Path="StartTime" Mode="OneWay"/>
</TextBlock.Text> <Binding Path="Progress" Mode="OneWay"/>
</TextBlock> </MultiBinding>
</StackPanel> </TextBlock.Text>
</TextBlock>
</StackPanel>
</Grid>
<Button Margin="3" Grid.Column="1" Height="57"
Visibility="{Binding State, ConverterParameter=|InProgress|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"
Command="{Binding CancelCommand}" ToolTip="{x:Static project:Resources.CancelJobTooltip}">
<Image Source="/FileConverter;component/Resources/CancelIcon.png" Width="48" Height="48" Style="{StaticResource EnableDisableImageStyle}" />
</Button>
<Image Margin="3" Grid.Column="1" Source="/FileConverter;component/Resources/SuccessIcon.png" Width="48" Height="48"
Visibility="{Binding State, ConverterParameter=|Done|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"/>
<Image Margin="3" Grid.Column="1" Source="/FileConverter;component/Resources/FailIcon.png" Width="48" Height="48"
Visibility="{Binding State, ConverterParameter=|Failed|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"/>
</Grid> </Grid>
</Border>
<Button Margin="3" Grid.Column="1" Height="57"
Visibility="{Binding State, ConverterParameter=|InProgress|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"
Command="{Binding CancelCommand}" ToolTip="{x:Static project:Resources.CancelJobTooltip}">
<Image Source="/FileConverter;component/Resources/CancelIcon.png" Width="48" Height="48"
Style="{StaticResource EnableDisableImageStyle}" />
</Button>
<Image Margin="3" Grid.Column="1" Source="/FileConverter;component/Resources/SuccessIcon.png" Width="48" Height="48"
Visibility="{Binding State, ConverterParameter=|Done|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"/>
<Image Margin="3" Grid.Column="1" Source="/FileConverter;component/Resources/FailIcon.png" Width="48" Height="48"
Visibility="{Binding State, ConverterParameter=|Failed|Collapsed, Converter={StaticResource EnumEqualsToVisibility}}"/>
</Grid>
</UserControl> </UserControl>

View File

@ -23,8 +23,8 @@
<Slider x:Name="slider" Grid.Column="0" Margin="0,2,0,0" VerticalAlignment="Top" <Slider x:Name="slider" Grid.Column="0" Margin="0,2,0,0" VerticalAlignment="Top"
AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" Minimum="65" Maximum="245" SelectionStart="115" SelectionEnd="245" SmallChange="8" LargeChange="32" TickPlacement="BottomRight" TickFrequency="8" Ticks="65 85 100 115 130 165 175 190 225 245" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" Minimum="65" Maximum="245" SelectionStart="115" SelectionEnd="245" SmallChange="8" LargeChange="32" TickPlacement="BottomRight" TickFrequency="8" Ticks="65 85 100 115 130 165 175 190 225 245"
Foreground="{StaticResource MainDarkBrush}" /> Foreground="{DynamicResource MainDarkBrush}" />
<Label Grid.Row="0" Grid.Column="1" Content="{Binding Value, Converter={StaticResource BitrateToString}, ElementName=slider, Mode=OneWay}" Width="65" /> <Label Grid.Row="0" Grid.Column="1" Content="{Binding Value, Converter={StaticResource BitrateToString}, ElementName=slider, Mode=OneWay}" Width="65" />
<Label Grid.Column="0" Grid.Row="1" Content="{x:Static project:Resources.RecommendedBitrateRangeInBlue}" Foreground="{StaticResource MainDarkBrush}" FontSize="11" /> <Label Grid.Column="0" Grid.Row="1" Content="{x:Static project:Resources.RecommendedBitrateRangeInBlue}" Foreground="{DynamicResource MainDarkBrush}" FontSize="11" />
</Grid> </Grid>
</UserControl> </UserControl>

View File

@ -25,11 +25,16 @@ namespace FileConverter.ConversionJobs
public ConversionJob() public ConversionJob()
{ {
this.State = ConversionState.InProgress; this.UserState = "Design Mode";
this.ConversionPreset = null; this.ConversionPreset = null;
this.initialInputPath = string.Empty; this.initialInputPath = string.Empty;
this.InputFilePath = "C:\\My file.png"; this.InputFilePath = @"C:\Path\To\AVery\Long\Location\WithAVeryNiceFile.png";
this.UserState = "Design Mode"; this.OutputFilePaths = new[] { "C:\\Path\\To\\AVery\\Long\\Location\\WithAVeryNiceFile.jpg" };
this.StartTime = DateTime.Now - TimeSpan.FromMinutes(1.2);
this.State = ConversionState.InProgress;
this.StateFlags = ConversionFlags.None;
this.Progress = 0.6f;
} }
public ConversionJob(ConversionPreset conversionPreset, string inputFilePath) public ConversionJob(ConversionPreset conversionPreset, string inputFilePath)
@ -96,6 +101,7 @@ namespace FileConverter.ConversionJobs
{ {
this.state = value; this.state = value;
this.NotifyPropertyChanged(); this.NotifyPropertyChanged();
Application.Current.Dispatcher.Invoke(() => this.cancelCommand?.NotifyCanExecuteChanged());
} }
} }

View File

@ -277,14 +277,6 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<DesignData Include="SampleData\ConversionJobSampleData.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</DesignData>
<Page Include="SampleData\SettingsSampleData.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Views\HelpWindow.xaml"> <Page Include="Views\HelpWindow.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@ -443,9 +435,6 @@
<ItemGroup> <ItemGroup>
<Resource Include="Resources\PaypalIcon.png" /> <Resource Include="Resources\PaypalIcon.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Resource Include="Resources\SayThanksIcon.png" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Resource Include="Resources\ExportIcon.ico" /> <Resource Include="Resources\ExportIcon.ico" />
<Resource Include="Resources\ImportIcon.ico" /> <Resource Include="Resources\ImportIcon.ico" />

View File

@ -12,7 +12,7 @@ using System.Windows;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FileConverter")] [assembly: AssemblyProduct("FileConverter")]
[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

View File

@ -1138,15 +1138,6 @@ namespace FileConverter.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Say Thanks!.
/// </summary>
public static string SayThanksButtonTitle {
get {
return ResourceManager.GetString("SayThanksButtonTitle", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Scale :. /// Looks up a localized string similar to Scale :.
/// </summary> /// </summary>

View File

@ -688,10 +688,6 @@ use maj for uppercase version</comment>
<value>فتح موقع البرناج</value> <value>فتح موقع البرناج</value>
<comment>Open File Converter website</comment> <comment>Open File Converter website</comment>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>قل شكراً</value>
<comment>Say Thanks!</comment>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>خطأ اثناء عملية تثبيت التحويل</value> <value>خطأ اثناء عملية تثبيت التحويل</value>
<comment>Error during conversion job initialization.</comment> <comment>Error during conversion job initialization.</comment>

View File

@ -544,9 +544,6 @@ use maj for uppercase version</value>
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>Open File Converter website</value> <value>Open File Converter website</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Say Thanks!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>Error during conversion job initialization.</value> <value>Error during conversion job initialization.</value>
</data> </data>

View File

@ -544,9 +544,6 @@ Use May para versión en mayúsculas</value>
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>Abrir la web de File Converter</value> <value>Abrir la web de File Converter</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>¡Dar las gracias!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>Error al iniciar el trabajo de conversión.</value> <value>Error al iniciar el trabajo de conversión.</value>
</data> </data>

View File

@ -562,9 +562,6 @@ utilisez MAJ pour une version en majuscules</value>
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>Ouvrir le site web de File Converter</value> <value>Ouvrir le site web de File Converter</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Dire Merci !</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>L'initialisation du processus de conversion a échoué.</value> <value>L'initialisation du processus de conversion a échoué.</value>
</data> </data>

View File

@ -544,9 +544,6 @@
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>फ़ाइल कनवर्टर वेबसाइट खोलें</value> <value>फ़ाइल कनवर्टर वेबसाइट खोलें</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>धन्यवाद कहें!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>रूपांतरण कार्य प्रारंभ करने के दौरान त्रुटि।</value> <value>रूपांतरण कार्य प्रारंभ करने के दौरान त्रुटि।</value>
</data> </data>

View File

@ -697,10 +697,6 @@ use maj for uppercase version</comment>
<value>Apri il sito di File Converter</value> <value>Apri il sito di File Converter</value>
<comment>Open File Converter website</comment> <comment>Open File Converter website</comment>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Di grazie!</value>
<comment>Say Thanks!</comment>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>Errore durante l'inizializzazione del processo di conversione.</value> <value>Errore durante l'inizializzazione del processo di conversione.</value>
<comment>Error during conversion job initialization.</comment> <comment>Error during conversion job initialization.</comment>

View File

@ -544,9 +544,6 @@ use maj for uppercase version</value>
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>Open File Converter website</value> <value>Open File Converter website</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Say Thanks!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>Error during conversion job initialization.</value> <value>Error during conversion job initialization.</value>
</data> </data>

View File

@ -544,9 +544,6 @@
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>File Converter internet sitesini aç</value> <value>File Converter internet sitesini aç</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Teşekkürler!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>Dönüştürme başlatma sırasında hata meydana geldi.</value> <value>Dönüştürme başlatma sırasında hata meydana geldi.</value>
</data> </data>

View File

@ -544,9 +544,6 @@
<data name="WebsiteButtonDescription" xml:space="preserve"> <data name="WebsiteButtonDescription" xml:space="preserve">
<value>打开 File Converter 网址</value> <value>打开 File Converter 网址</value>
</data> </data>
<data name="SayThanksButtonTitle" xml:space="preserve">
<value>Say Thanks!</value>
</data>
<data name="ErrorDuringJobInitialization" xml:space="preserve"> <data name="ErrorDuringJobInitialization" xml:space="preserve">
<value>转换任务初始化时出错。</value> <value>转换任务初始化时出错。</value>
</data> </data>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,14 +0,0 @@
<conversionJobs:ConversionJob
xmlns:conversionJobs="clr-namespace:FileConverter.ConversionJobs"
ErrorMessage="There is no error for now"
InputFilePath="C:\Path\To\AVery\Long\Location\WithAVeryNiceFile.png"
OutputFilePath="C:\Path\To\AVery\Long\Location\WithAVeryNiceFile.jpg"
StartTime="08/07/2018 22:10:55"
State="InProgress"
StateFlags="None"
UserState="In Progress">
<conversionJobs:ConversionJob.Progress>
0.6
</conversionJobs:ConversionJob.Progress>
</conversionJobs:ConversionJob>

View File

@ -1,69 +0,0 @@
<viewModels:SettingsViewModel
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewModels="clr-namespace:FileConverter.ViewModels"
xmlns:fileConverter="clr-namespace:FileConverter">
<viewModels:SettingsViewModel.Settings>
<fileConverter:Settings>
<fileConverter:Settings.ConversionPresets>
<fileConverter:ConversionPreset ShortName="To Avi" OutputType="Avi" OutputFileNameTemplate="(p)(f)"/>
<fileConverter:ConversionPreset ShortName="To Mp4" OutputType="Mp4"></fileConverter:ConversionPreset>
<fileConverter:ConversionPreset ShortName="To Mp3" OutputType="Mp3"></fileConverter:ConversionPreset>
<fileConverter:ConversionPreset ShortName="To Png" OutputType="Png"></fileConverter:ConversionPreset>
</fileConverter:Settings.ConversionPresets>
</fileConverter:Settings>
</viewModels:SettingsViewModel.Settings>
<viewModels:SettingsViewModel.PresetsRootFolder>
<viewModels:PresetFolderNode Name="Root">
<viewModels:PresetFolderNode.Children>
<viewModels:PresetFolderNode Name="Advanced">
<viewModels:PresetFolderNode.Children>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Small Avi" OutputType="Avi" OutputFileNameTemplate="(p)(f)"/>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Small Png" OutputType="Png"></fileConverter:ConversionPreset>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
</viewModels:PresetFolderNode.Children>
</viewModels:PresetFolderNode>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Avi" OutputType="Avi" OutputFileNameTemplate="(p)(f)"/>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Mp4" OutputType="Mp4"></fileConverter:ConversionPreset>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Mp3" OutputType="Mp3"></fileConverter:ConversionPreset>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Png" OutputType="Png"></fileConverter:ConversionPreset>
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
</viewModels:PresetFolderNode.Children>
</viewModels:PresetFolderNode>
</viewModels:SettingsViewModel.PresetsRootFolder>
<viewModels:SettingsViewModel.SelectedItem>
<viewModels:PresetNode>
<viewModels:PresetNode.Preset>
<fileConverter:ConversionPreset ShortName="To Avi"
OutputType="Avi"
OutputFileNameTemplate="(p)(f)"
InputPostConversionAction="None" />
</viewModels:PresetNode.Preset>
</viewModels:PresetNode>
</viewModels:SettingsViewModel.SelectedItem>
</viewModels:SettingsViewModel>

View File

@ -5,7 +5,6 @@ namespace FileConverter.ValueConverters
using System; using System;
using System.Globalization; using System.Globalization;
using System.Windows.Data; using System.Windows.Data;
using System.Windows.Media;
using FileConverter.ConversionJobs; using FileConverter.ConversionJobs;

View File

@ -45,10 +45,10 @@
<Label Content="{x:Static project:Resources.ConversionQueueTitle}" VerticalAlignment="Center" FontSize="18" FontWeight="Bold"/> <Label Content="{x:Static project:Resources.ConversionQueueTitle}" VerticalAlignment="Center" FontSize="18" FontWeight="Bold"/>
<Label Content="{Binding InformationMessage}" VerticalAlignment="Center" FontSize="13.333" HorizontalAlignment="Right"/> <Label Content="{Binding InformationMessage}" VerticalAlignment="Center" FontSize="13.333" HorizontalAlignment="Right"/>
</DockPanel> </DockPanel>
<Button Grid.Column="1" Margin="3" Command="{Binding ShowDiagnosticsCommand}" ToolTip="{x:Static project:Resources.DiagnosticsButtonTooltip}"> <Button Grid.Column="1" Margin="3" Command="{Binding ShowDiagnosticsCommand}" ToolTip="{x:Static project:Resources.DiagnosticsButtonTooltip}" Style="{StaticResource TileButton}">
<Image HorizontalAlignment="Left" Height="48" Width="48" VerticalAlignment="Top" Source="/Resources/LogIcon.png" /> <Image HorizontalAlignment="Left" Height="48" Width="48" VerticalAlignment="Top" Source="/Resources/LogIcon.png" />
</Button> </Button>
<Button Grid.Column="2" Margin="3" Command="{Binding ShowSettingsCommand}" ToolTip="{x:Static project:Resources.SettingsButtonTooltip}"> <Button Grid.Column="2" Margin="3" Command="{Binding ShowSettingsCommand}" ToolTip="{x:Static project:Resources.SettingsButtonTooltip}" Style="{StaticResource TileButton}">
<Image HorizontalAlignment="Left" Height="48" Width="48" VerticalAlignment="Top" Source="/Resources/SettingsIcon.ico" /> <Image HorizontalAlignment="Left" Height="48" Width="48" VerticalAlignment="Top" Source="/Resources/SettingsIcon.ico" />
</Button> </Button>
</Grid> </Grid>

View File

@ -1,7 +1,10 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="MainLightColor">#86C8F6</Color> <Color x:Key="TransparentColor">#00FFFFFF</Color>
<Color x:Key="MainLighterColor">#CCE4F7</Color>
<Color x:Key="MainLightColor">#76C8FE</Color>
<Color x:Key="MainColor">#0171BB</Color> <Color x:Key="MainColor">#0171BB</Color>
<Color x:Key="MainDarkColor">#004B82</Color> <Color x:Key="MainDarkColor">#004B82</Color>
<Color x:Key="MainDarkerColor">#074078</Color> <Color x:Key="MainDarkerColor">#074078</Color>
@ -9,19 +12,78 @@
<Color x:Key="LighterForegroundColor">#808080</Color> <Color x:Key="LighterForegroundColor">#808080</Color>
<Color x:Key="LightForegroundColor">#4D4D4D</Color> <Color x:Key="LightForegroundColor">#4D4D4D</Color>
<Color x:Key="DarkForegroundColor">#202020</Color> <Color x:Key="DarkForegroundColor">#202020</Color>
<Color x:Key="SuccessForegroundColor">#388E3C</Color> <Color x:Key="AccentForegroundColor">#BC0D01</Color>
<Color x:Key="PendingForegroundColor">#FFA000</Color> <Color x:Key="PendingForegroundColor">#E9AB01</Color>
<Color x:Key="AccentForegroundColor">#DF3900</Color> <Color x:Key="SuccessForegroundColor">#0EAF80</Color>
<Color x:Key="ErrorForegroundColor">#FF5252</Color> <Color x:Key="ErrorForegroundColor">#E91101</Color>
<Color x:Key="BackgroundColor">#FFFFFF</Color> <Color x:Key="BackgroundColor">#FFFFFF</Color>
<Color x:Key="DarkBackgroundColor">#F5F5F5</Color> <Color x:Key="DarkBackgroundColor">#E0E0E0</Color>
<Color x:Key="DarkerBackgroundColor">#E0E0E0</Color>
<Color x:Key="AccentBackgroundColor">#FFA88C</Color> <Color x:Key="AccentBackgroundColor">#FFA88C</Color>
<Color x:Key="PendingBackgroundColor">#FAECB3</Color> <Color x:Key="PendingBackgroundColor">#FFF3D1</Color>
<Color x:Key="SuccessBackgroundColor">#C8E6C9</Color> <Color x:Key="SuccessBackgroundColor">#BFFAE8</Color>
<Color x:Key="ErrorBackgroundColor">#FFCDD2</Color> <Color x:Key="ErrorBackgroundColor">#FFD4D1</Color>
<Color x:Key="Window_BackgroundColor">#FCF8F6</Color>
<Color x:Key="Control_BorderColor">#D0D0D0</Color>
<Color x:Key="Button_BackgroundColor">#FDFDFD</Color>
<Color x:Key="Button_MouseOver_BackgroundColor">#E0EEF9</Color>
<Color x:Key="TileButton_MouseOver_BackgroundColor">#F3EFED</Color>
<Color x:Key="TileButton_MouseOver_BorderColor">#D3D0CE</Color>
<!-- Custom styles colors -->
<SolidColorBrush x:Key="Button_BackgroundBrush" Color="{StaticResource Button_BackgroundColor}" />
<SolidColorBrush x:Key="Button_BorderBrush" Color="{StaticResource Control_BorderColor}" />
<SolidColorBrush x:Key="Button_IsMouseOver_BackgroundBrush" Color="{StaticResource Button_MouseOver_BackgroundColor}" />
<SolidColorBrush x:Key="Button_IsMouseOver_BorderBrush" Color="{StaticResource MainColor}" />
<SolidColorBrush x:Key="Button_IsPressed_BackgroundBrush" Color="{StaticResource MainLighterColor}" />
<SolidColorBrush x:Key="Button_IsPressed_BorderBrush" Color="{StaticResource MainDarkColor}" />
<SolidColorBrush x:Key="Hyperlink_ForegroundBrush" Color="{StaticResource MainColor}" />
<SolidColorBrush x:Key="TabControl_BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="TabControl_BorderBrush" Color="{StaticResource Control_BorderColor}" />
<SolidColorBrush x:Key="TabItem_BackgroundBrush" Color="{StaticResource Control_BorderColor}" />
<SolidColorBrush x:Key="TabItem_BorderBrush" Color="{StaticResource TransparentColor}" />
<SolidColorBrush x:Key="TabItem_IsSelected_BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="TabItem_IsSelected_BorderBrush" Color="{StaticResource Control_BorderColor}" />
<SolidColorBrush x:Key="TextBox_BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="TileButton_BackgroundBrush" Color="{StaticResource TransparentColor}" />
<SolidColorBrush x:Key="TileButton_BorderBrush" Color="{StaticResource TransparentColor}" />
<SolidColorBrush x:Key="TileButton_IsMouseOver_BackgroundBrush" Color="{StaticResource TileButton_MouseOver_BackgroundColor}" />
<SolidColorBrush x:Key="TileButton_IsMouseOver_BorderBrush" Color="{StaticResource TileButton_MouseOver_BorderColor}" />
<SolidColorBrush x:Key="TileButton_IsPressed_BackgroundBrush" Color="{StaticResource MainLighterColor}" />
<SolidColorBrush x:Key="TileButton_IsPressed_BorderBrush" Color="{StaticResource TransparentColor}" />
<SolidColorBrush x:Key="TreeView_BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="TreeView_BorderBrush" Color="{StaticResource Control_BorderColor}" />
<SolidColorBrush x:Key="Window_BackgroundBrush" Color="{StaticResource Window_BackgroundColor}" />
<!-- Markdown -->
<SolidColorBrush x:Key="Markdown_ForegroundBrush" Color="{StaticResource LighterForegroundColor}" />
<SolidColorBrush x:Key="Markdown_BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="Markdown_Heading1ForegroundBrush" Color="{StaticResource MainColor}" />
<SolidColorBrush x:Key="Markdown_Heading2ForegroundBrush" Color="{StaticResource AccentForegroundColor}" />
<SolidColorBrush x:Key="Markdown_Heading3ForegroundBrush" Color="{StaticResource AccentForegroundColor}" />
<!-- Colors used by ConversionStateToBrush -->
<SolidColorBrush x:Key="UnknownForegroundBrush" Color="{StaticResource LighterForegroundColor}" />
<SolidColorBrush x:Key="ReadyForegroundBrush" Color="{StaticResource DarkForegroundColor}" />
<SolidColorBrush x:Key="InProgressForegroundBrush" Color="{StaticResource PendingForegroundColor}" />
<SolidColorBrush x:Key="DoneForegroundBrush" Color="{StaticResource SuccessForegroundColor}" />
<SolidColorBrush x:Key="FailedForegroundBrush" Color="{StaticResource ErrorForegroundColor}" />
<SolidColorBrush x:Key="UnknownBackgroundBrush" Color="{StaticResource DarkBackgroundColor}" />
<SolidColorBrush x:Key="ReadyBackgroundBrush" Color="{StaticResource DarkBackgroundColor}" />
<SolidColorBrush x:Key="InProgressBackgroundBrush" Color="{StaticResource PendingBackgroundColor}" />
<SolidColorBrush x:Key="DoneBackgroundBrush" Color="{StaticResource SuccessBackgroundColor}" />
<SolidColorBrush x:Key="FailedBackgroundBrush" Color="{StaticResource ErrorBackgroundColor}" />
<!-- Misc -->
<SolidColorBrush x:Key="MainLighterBrush" Color="{StaticResource MainLighterColor}" />
<SolidColorBrush x:Key="MainLightBrush" Color="{StaticResource MainLightColor}" /> <SolidColorBrush x:Key="MainLightBrush" Color="{StaticResource MainLightColor}" />
<SolidColorBrush x:Key="MainBrush" Color="{StaticResource MainColor}" /> <SolidColorBrush x:Key="MainBrush" Color="{StaticResource MainColor}" />
<SolidColorBrush x:Key="MainDarkBrush" Color="{StaticResource MainDarkColor}" /> <SolidColorBrush x:Key="MainDarkBrush" Color="{StaticResource MainDarkColor}" />
@ -29,24 +91,7 @@
<SolidColorBrush x:Key="LighterForegroundBrush" Color="{StaticResource LighterForegroundColor}" /> <SolidColorBrush x:Key="LighterForegroundBrush" Color="{StaticResource LighterForegroundColor}" />
<SolidColorBrush x:Key="LightForegroundBrush" Color="{StaticResource LightForegroundColor}" /> <SolidColorBrush x:Key="LightForegroundBrush" Color="{StaticResource LightForegroundColor}" />
<SolidColorBrush x:Key="AccentForegroundBrush" Color="{StaticResource AccentForegroundColor}" /> <SolidColorBrush x:Key="AccentForegroundBrush" Color="{StaticResource AccentForegroundColor}" />
<SolidColorBrush x:Key="HyperlinkBrush" Color="{StaticResource MainColor}" />
<SolidColorBrush x:Key="BackgroundBrush" Color="{StaticResource BackgroundColor}" />
<SolidColorBrush x:Key="AccentBackgroundBrush" Color="{StaticResource AccentBackgroundColor}" />
<SolidColorBrush x:Key="DarkBackgroundBrush" Color="{StaticResource DarkBackgroundColor}" />
<SolidColorBrush x:Key="ErrorForegroundBrush" Color="{StaticResource ErrorForegroundColor}" /> <SolidColorBrush x:Key="ErrorForegroundBrush" Color="{StaticResource ErrorForegroundColor}" />
<SolidColorBrush x:Key="UnknownForegroundBrush" Color="{StaticResource LighterForegroundColor}" />
<SolidColorBrush x:Key="ReadyForegroundBrush" Color="{StaticResource DarkForegroundColor}" />
<SolidColorBrush x:Key="InProgressForegroundBrush" Color="{StaticResource PendingForegroundColor}" />
<SolidColorBrush x:Key="DoneForegroundBrush" Color="{StaticResource SuccessForegroundColor}" />
<SolidColorBrush x:Key="FailedForegroundBrush" Color="{StaticResource ErrorForegroundColor}" />
<SolidColorBrush x:Key="UnknownBackgroundBrush" Color="{StaticResource DarkerBackgroundColor}" />
<SolidColorBrush x:Key="ReadyBackgroundBrush" Color="{StaticResource DarkerBackgroundColor}" />
<SolidColorBrush x:Key="InProgressBackgroundBrush" Color="{StaticResource PendingBackgroundColor}" />
<SolidColorBrush x:Key="DoneBackgroundBrush" Color="{StaticResource SuccessBackgroundColor}" />
<SolidColorBrush x:Key="FailedBackgroundBrush" Color="{StaticResource ErrorBackgroundColor}" />
</ResourceDictionary> </ResourceDictionary>

View File

@ -196,7 +196,7 @@
<Label Content="{x:Static project:Resources.FramesPerSecond}" Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Right"/> <Label Content="{x:Static project:Resources.FramesPerSecond}" Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Right"/>
<Slider x:Name="QualitySlider" Grid.Row="0" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoFramesPerSecond|System.Int32, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" <Slider x:Name="QualitySlider" Grid.Row="0" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoFramesPerSecond|System.Int32, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}"
Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="10" SelectionEnd="20" Minimum="1" Maximum="30" TickPlacement="BottomRight" SmallChange="1" LargeChange="4" TickFrequency="1" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="10" SelectionEnd="20" Minimum="1" Maximum="30" TickPlacement="BottomRight" SmallChange="1" LargeChange="4" TickFrequency="1" Foreground="{DynamicResource MainDarkBrush}" />
<!-- Scale --> <!-- Scale -->
<Label Content="{x:Static project:Resources.Scale}" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Scale}" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right"/>
@ -205,7 +205,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -248,12 +248,12 @@
<DockPanel Grid.Row="0" Grid.Column="0"> <DockPanel Grid.Row="0" Grid.Column="0">
<Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0" /> <Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0" />
<Label Content="(Xvid)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" /> <Label Content="(Xvid)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" />
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/>
<Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" <Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}"
Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="28" Minimum="0" Maximum="30" TickPlacement="BottomRight" SmallChange="1" LargeChange="5" TickFrequency="1" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="28" Minimum="0" Maximum="30" TickPlacement="BottomRight" SmallChange="1" LargeChange="5" TickFrequency="1" Foreground="{DynamicResource MainDarkBrush}" />
<!-- Scale --> <!-- Scale -->
<Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/>
@ -262,7 +262,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -289,7 +289,7 @@
<DockPanel Grid.Row="4" Grid.Column="0"> <DockPanel Grid.Row="4" Grid.Column="0">
<CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" /> <CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" />
<Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
<Label Content="(Mp3)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="(Mp3)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
@ -316,13 +316,13 @@
<DockPanel Grid.Row="0" Grid.Column="0"> <DockPanel Grid.Row="0" Grid.Column="0">
<Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0"/> <Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0"/>
<Label Content="(H.264)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" /> <Label Content="(H.264)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" />
</DockPanel> </DockPanel>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static project:Resources.Quality}" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/> <Label Grid.Row="1" Grid.Column="0" Content="{x:Static project:Resources.Quality}" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/>
<Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" <Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1"
Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}"
Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="33" Minimum="0" Maximum="51" TickPlacement="BottomRight" SmallChange="1" LargeChange="6" TickFrequency="1" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="33" Minimum="0" Maximum="51" TickPlacement="BottomRight" SmallChange="1" LargeChange="6" TickFrequency="1" Foreground="{DynamicResource MainDarkBrush}" />
<Label Grid.Row="2" Grid.Column="0" Content="{x:Static project:Resources.EncodingSpeed}" ToolTip="{x:Static project:Resources.VideoEncodingSpeedTooltip}" HorizontalContentAlignment="Right"/> <Label Grid.Row="2" Grid.Column="0" Content="{x:Static project:Resources.EncodingSpeed}" ToolTip="{x:Static project:Resources.VideoEncodingSpeedTooltip}" HorizontalContentAlignment="Right"/>
<ComboBox Grid.Row="2" Grid.Column="1" <ComboBox Grid.Row="2" Grid.Column="1"
@ -341,7 +341,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -368,7 +368,7 @@
<DockPanel Grid.Row="5" Grid.Column="0"> <DockPanel Grid.Row="5" Grid.Column="0">
<CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" /> <CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" />
<Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
<Label Content="(AAC)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="(AAC)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="6" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="6" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
@ -394,12 +394,12 @@
<DockPanel Grid.Row="0" Grid.Column="0"> <DockPanel Grid.Row="0" Grid.Column="0">
<Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0"/> <Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0"/>
<Label Content="(theora)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" /> <Label Content="(theora)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" />
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/>
<Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" <Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}"
Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="5" SelectionEnd="8" Minimum="0" Maximum="10" TickPlacement="BottomRight" SmallChange="1" LargeChange="3" TickFrequency="1" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="5" SelectionEnd="8" Minimum="0" Maximum="10" TickPlacement="BottomRight" SmallChange="1" LargeChange="3" TickFrequency="1" Foreground="{DynamicResource MainDarkBrush}" />
<Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/>
<Grid Grid.Row="2" Grid.Column="1"> <Grid Grid.Row="2" Grid.Column="1">
@ -407,7 +407,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -434,7 +434,7 @@
<DockPanel Grid.Row="4" Grid.Column="0"> <DockPanel Grid.Row="4" Grid.Column="0">
<CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" /> <CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" />
<Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
<Label Content="(vorbis)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="(vorbis)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
@ -460,12 +460,12 @@
<DockPanel Grid.Row="0" Grid.Column="0"> <DockPanel Grid.Row="0" Grid.Column="0">
<Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0" /> <Label Content="{x:Static project:Resources.VideoTitle}" FontWeight="Bold" Margin="17,0,0,0" />
<Label Content="(vp9)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" /> <Label Content="(vp9)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" />
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="1" Grid.Column="0" ToolTip="{x:Static project:Resources.VideoEncodingQualityTooltip}" HorizontalContentAlignment="Right"/>
<Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" <Slider x:Name="QualitySlider" Grid.Row="1" Grid.Column="1" Value="{Binding Settings, ConverterParameter=VideoQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}"
Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="40" Minimum="0" Maximum="63" TickPlacement="BottomRight" SmallChange="1" LargeChange="5" TickFrequency="1" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,2,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="20" SelectionEnd="40" Minimum="0" Maximum="63" TickPlacement="BottomRight" SmallChange="1" LargeChange="5" TickFrequency="1" Foreground="{DynamicResource MainDarkBrush}" />
<!-- Scale --> <!-- Scale -->
<Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Scale}" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/>
@ -474,7 +474,7 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=VideoScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="2" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -501,7 +501,7 @@
<DockPanel Grid.Row="4" Grid.Column="0"> <DockPanel Grid.Row="4" Grid.Column="0">
<CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" /> <CheckBox IsChecked="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,6,0,0" />
<Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.AudioTitle}" FontWeight="Bold" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
<Label Content="(Ogg vorbis)" FontWeight="Light" Foreground="{StaticResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="(Ogg vorbis)" FontWeight="Light" Foreground="{DynamicResource MainDarkBrush}" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
</DockPanel> </DockPanel>
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="5" Grid.Column="0" HorizontalContentAlignment="Right" IsEnabled="{Binding Settings, ConverterParameter=EnableAudio|System.Boolean, Converter={StaticResource ConversionSettingsToValueType}, Mode=OneWay}"/>
@ -524,7 +524,7 @@
<!--Quality--> <!--Quality-->
<Label Content="{x:Static project:Resources.Quality}" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Quality}" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right"/>
<Slider Grid.Row="0" Grid.Column="1" x:Name="QualitySlider" Value="{Binding Settings, ConverterParameter=ImageQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay, TargetNullValue=25}" <Slider Grid.Row="0" Grid.Column="1" x:Name="QualitySlider" Value="{Binding Settings, ConverterParameter=ImageQuality|System.Double, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay, TargetNullValue=25}"
Margin="0,5,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="30" SelectionEnd="100" Minimum="0" Maximum="100" TickPlacement="BottomRight" SmallChange="5" LargeChange="15" TickFrequency="5" Foreground="{StaticResource MainDarkBrush}" /> Margin="0,5,0,0" VerticalAlignment="Top" AutoToolTipPlacement="TopLeft" IsSnapToTickEnabled="True" IsSelectionRangeEnabled="True" SelectionStart="30" SelectionEnd="100" Minimum="0" Maximum="100" TickPlacement="BottomRight" SmallChange="5" LargeChange="15" TickFrequency="5" Foreground="{DynamicResource MainDarkBrush}" />
<!--Scale--> <!--Scale-->
<Label Content="{x:Static project:Resources.Scale}" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right"/> <Label Content="{x:Static project:Resources.Scale}" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right"/>
<Grid Grid.Row="1" Grid.Column="1"> <Grid Grid.Row="1" Grid.Column="1">
@ -536,7 +536,7 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=ImageScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="16" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2 3 4 6 8 12 16" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=ImageScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="16" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2 3 4 6 8 12 16" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Row="0" Grid.Column="1"> <Label Grid.Row="0" Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -585,7 +585,7 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=ImageScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="16" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2 3 4 6 8 12 16" Foreground="{StaticResource MainDarkBrush}"/> <Slider x:Name="ScaleSlider" Grid.Column="0" Value="{Binding Settings, ConverterParameter=ImageScale|System.Double, ConverterCulture={x:Static globalization:CultureInfo.InvariantCulture}, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay}" Margin="0,2,0,0" VerticalAlignment="Top" IsSnapToTickEnabled="True" Minimum="0.075" Maximum="16" SmallChange="0.075" LargeChange="0.25" TickPlacement="BottomRight" Ticks="0.075 0.125 0.25 0.5 0.75 1 1.25 1.5 1.75 2 3 4 6 8 12 16" Foreground="{DynamicResource MainDarkBrush}"/>
<Label Grid.Column="1"> <Label Grid.Column="1">
<Label.Content> <Label.Content>
<MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay"> <MultiBinding Converter="{StaticResource FormatStringConverter}" Mode="OneWay">
@ -685,7 +685,7 @@
ToolTip="{x:Static project:Resources.FFMPEGCustomArgumentsTooltip}" ToolTip="{x:Static project:Resources.FFMPEGCustomArgumentsTooltip}"
Text="{Binding Settings, ConverterParameter=FFMPEGCustomCommand|System.String, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" /> Text="{Binding Settings, ConverterParameter=FFMPEGCustomCommand|System.String, Converter={StaticResource ConversionSettingsToValueType}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<TextBlock Grid.Row="1" Grid.Column="1" Margin="0,5,5,0"> <TextBlock Grid.Row="1" Grid.Column="1" Margin="0,5,5,0">
<Hyperlink CommandParameter="https://ffmpeg.org/ffmpeg.html" Command="{Binding DataContext.OpenUrlCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}, Mode=OneWay}" Foreground="{StaticResource HyperlinkBrush}"><x:Static Member="project:Resources.Help" /></Hyperlink> <Hyperlink CommandParameter="https://ffmpeg.org/ffmpeg.html" Command="{Binding DataContext.OpenUrlCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}, Mode=OneWay}"><x:Static Member="project:Resources.Help" /></Hyperlink>
</TextBlock> </TextBlock>
</Grid> </Grid>

View File

@ -17,12 +17,12 @@
<Setter.Value> <Setter.Value>
<ControlTemplate> <ControlTemplate>
<DockPanel LastChildFill="true"> <DockPanel LastChildFill="true">
<Border Background="#F44336" DockPanel.Dock="right" Margin="5,0,0,0" Width="20" Height="20" CornerRadius="10" <Border Background="{DynamicResource AccentForegroundBrush}" DockPanel.Dock="right" Margin="5,0,0,0" Width="20" Height="20" CornerRadius="10"
ToolTip="{Binding AdornedElement.(Validation.Errors)[0].ErrorContent, ElementName=customAdorner}"> ToolTip="{Binding AdornedElement.(Validation.Errors)[0].ErrorContent, ElementName=customAdorner}">
<TextBlock Text="!" VerticalAlignment="center" HorizontalAlignment="center" FontWeight="Bold" Foreground="white"/> <TextBlock Text="!" VerticalAlignment="center" HorizontalAlignment="center" FontWeight="Bold" Foreground="white"/>
</Border> </Border>
<AdornedElementPlaceholder x:Name="customAdorner" VerticalAlignment="Center" > <AdornedElementPlaceholder x:Name="customAdorner" VerticalAlignment="Center" >
<Border BorderBrush="#F44336" BorderThickness="1" /> <Border BorderBrush="{DynamicResource AccentForegroundBrush}" BorderThickness="1" />
</AdornedElementPlaceholder> </AdornedElementPlaceholder>
</DockPanel> </DockPanel>
</ControlTemplate> </ControlTemplate>
@ -33,8 +33,71 @@
<!-- Button --> <!-- Button -->
<Style TargetType="{x:Type Button}"> <Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource DarkBackgroundBrush}"/> <Setter Property="Template">
<Setter Property="BorderBrush" Value="{StaticResource LighterForegroundBrush}"/> <Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="grid">
<Border x:Name="border" CornerRadius="3" BorderThickness="1"
Background="{DynamicResource Button_BackgroundBrush}"
BorderBrush="{DynamicResource Button_BorderBrush}">
</Border>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
TextElement.FontWeight="Normal">
</ContentPresenter>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="{DynamicResource Button_IsMouseOver_BackgroundBrush}" />
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button_IsMouseOver_BorderBrush}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="{DynamicResource Button_IsPressed_BackgroundBrush}" />
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button_IsPressed_BorderBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" TargetName="grid" Value="0.25"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TileButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="grid">
<Border x:Name="border" CornerRadius="8" BorderThickness="1"
Background="{DynamicResource TileButton_BackgroundBrush}"
BorderBrush="{DynamicResource TileButton_BorderBrush}">
</Border>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
TextElement.FontWeight="Normal">
</ContentPresenter>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="{DynamicResource TileButton_IsMouseOver_BackgroundBrush}" />
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource TileButton_IsMouseOver_BorderBrush}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="{DynamicResource TileButton_IsPressed_BackgroundBrush}" />
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource TileButton_IsPressed_BorderBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" TargetName="grid" Value="0.25"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Hyperlink}">
<Setter Property="Foreground" Value="{DynamicResource Hyperlink_ForegroundBrush}" />
</Style> </Style>
<Style TargetType="{x:Type controls:IconButton}"> <Style TargetType="{x:Type controls:IconButton}">
@ -69,5 +132,44 @@
</Setter> </Setter>
</Style> </Style>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Name="border" BorderThickness="1,1,1,0" CornerRadius="3,3,0,0"
Background="{DynamicResource TabItem_BackgroundBrush}"
BorderBrush="{DynamicResource TabItem_BorderBrush}">
<ContentPresenter x:Name="contentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="18,4"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" TargetName="border" Value="{DynamicResource TabItem_IsSelected_BackgroundBrush}" />
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource TabItem_IsSelected_BorderBrush}" />
<Setter Property="TextElement.FontWeight" TargetName="contentSite" Value="Bold" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type TabControl}">
<Setter Property="Background" Value="{DynamicResource TabControl_BackgroundBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TabControl_BorderBrush}" />
</Style>
<Style TargetType="{x:Type TreeView}">
<Setter Property="Background" Value="{DynamicResource TreeView_BackgroundBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource TreeView_BorderBrush}" />
</Style>
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="{DynamicResource Window_BackgroundBrush}" />
</Style>
</ResourceDictionary> </ResourceDictionary>

View File

@ -14,8 +14,7 @@
Width="1050" Height="700" Width="1050" Height="700"
WindowStartupLocation="CenterScreen" Icon="/FileConverter;component/Resources/ApplicationIcon.ico" WindowStartupLocation="CenterScreen" Icon="/FileConverter;component/Resources/ApplicationIcon.ico"
mc:Ignorable="d" mc:Ignorable="d"
DataContext="{Binding Settings, Source={StaticResource Locator}}" DataContext="{Binding Settings, Source={StaticResource Locator}}">
d:DataContext="{d:DesignData /SampleData/SettingsSampleData.xaml}">
<behaviors:Interaction.Triggers> <behaviors:Interaction.Triggers>
<behaviors:EventTrigger EventName="Closing"> <behaviors:EventTrigger EventName="Closing">
<behaviors:InvokeCommandAction Command="{Binding CloseCommand}" PassEventArgsToCommand="True" /> <behaviors:InvokeCommandAction Command="{Binding CloseCommand}" PassEventArgsToCommand="True" />
@ -84,7 +83,7 @@
<GroupStyle> <GroupStyle>
<GroupStyle.HeaderTemplate> <GroupStyle.HeaderTemplate>
<DataTemplate> <DataTemplate>
<TextBlock Foreground="{StaticResource MainDarkBrush}" Background="{StaticResource MainLightBrush}" FontWeight="Bold" Padding="5,5,5,5" <TextBlock Foreground="{DynamicResource MainDarkBrush}" Background="{DynamicResource MainLighterBrush}" FontWeight="Bold" Padding="5,5,5,5"
Text="{Binding Name, Converter={StaticResource ObjectToLocalizedString}}"/> Text="{Binding Name, Converter={StaticResource ObjectToLocalizedString}}"/>
</DataTemplate> </DataTemplate>
</GroupStyle.HeaderTemplate> </GroupStyle.HeaderTemplate>
@ -119,10 +118,10 @@
<TextBox Grid.Row="0" Grid.Column="1" Margin="5,2,25,2" TextWrapping="Wrap" Width="Auto" <TextBox Grid.Row="0" Grid.Column="1" Margin="5,2,25,2" TextWrapping="Wrap" Width="Auto"
ToolTip="{x:Static project:Resources.OutputFilePathTemplateHelp}" ToolTip="{x:Static project:Resources.OutputFilePathTemplateHelp}"
Text="{Binding SelectedPreset.OutputFileNameTemplate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" /> Text="{Binding SelectedPreset.OutputFileNameTemplate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<Label Content="{x:Static project:Resources.InputExample}" Grid.Row="1" Grid.Column="0" HorizontalContentAlignment="Right" Margin="0,0,5,0" Foreground="{StaticResource LighterForegroundBrush}" FontSize="10"/> <Label Content="{x:Static project:Resources.InputExample}" Grid.Row="1" Grid.Column="0" HorizontalContentAlignment="Right" Margin="0,0,5,0" Foreground="{DynamicResource LighterForegroundBrush}" FontSize="10"/>
<TextBlock Text="{x:Static project:Resources.OutputFileNameTemplateSample}" Grid.Row="1" Grid.Column="1" Margin="5,0,5,0" Foreground="{StaticResource LighterForegroundBrush}" FontSize="10" VerticalAlignment="Center"/> <TextBlock Text="{x:Static project:Resources.OutputFileNameTemplateSample}" Grid.Row="1" Grid.Column="1" Margin="5,0,5,0" Foreground="{DynamicResource LighterForegroundBrush}" FontSize="10" VerticalAlignment="Center"/>
<Label Content="{x:Static project:Resources.OutputExample}" Grid.Row="2" Grid.Column="0" HorizontalContentAlignment="Right" Margin="0,0,5,0" Foreground="{StaticResource LighterForegroundBrush}" FontSize="10"/> <Label Content="{x:Static project:Resources.OutputExample}" Grid.Row="2" Grid.Column="0" HorizontalContentAlignment="Right" Margin="0,0,5,0" Foreground="{DynamicResource LighterForegroundBrush}" FontSize="10"/>
<TextBlock Grid.Row="2" Grid.Column="1" Margin="5,0,5,0" Foreground="{StaticResource LighterForegroundBrush}" FontSize="10" VerticalAlignment="Center"> <TextBlock Grid.Row="2" Grid.Column="1" Margin="5,0,5,0" Foreground="{DynamicResource LighterForegroundBrush}" FontSize="10" VerticalAlignment="Center">
<TextBlock.Text> <TextBlock.Text>
<MultiBinding Converter="{StaticResource FileNameConverter}"> <MultiBinding Converter="{StaticResource FileNameConverter}">
<Binding Source="{x:Static project:Resources.OutputFileNameTemplateSample}"/> <Binding Source="{x:Static project:Resources.OutputFileNameTemplateSample}"/>
@ -132,7 +131,7 @@
</TextBlock.Text> </TextBlock.Text>
</TextBlock> </TextBlock>
<TextBlock Grid.Row="3" Grid.Column="1" Margin="5,0,5,0"> <TextBlock Grid.Row="3" Grid.Column="1" Margin="5,0,5,0">
<Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/Output-file-path-template" Command="{Binding OpenUrlCommand, Mode=OneWay}" Foreground="{StaticResource HyperlinkBrush}"><x:Static Member="project:Resources.Help" /></Hyperlink> <Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/Output-file-path-template" Command="{Binding OpenUrlCommand, Mode=OneWay}"><x:Static Member="project:Resources.Help" /></Hyperlink>
</TextBlock> </TextBlock>
</Grid> </Grid>
@ -184,7 +183,7 @@
</ComboBox> </ComboBox>
<TextBlock Grid.Row="3" Margin="0,5,0,0"> <TextBlock Grid.Row="3" Margin="0,5,0,0">
<Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/Input-file-post-conversion-actions" Command="{Binding OpenUrlCommand, Mode=OneWay}" Foreground="{StaticResource HyperlinkBrush}"><x:Static Member="project:Resources.Help" /></Hyperlink> <Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/Input-file-post-conversion-actions" Command="{Binding OpenUrlCommand, Mode=OneWay}"><x:Static Member="project:Resources.Help" /></Hyperlink>
</TextBlock> </TextBlock>
</Grid> </Grid>
</GroupBox> </GroupBox>
@ -214,7 +213,7 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="53"/> <RowDefinition Height="53"/>
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
<RowDefinition Height="28"/> <RowDefinition Height="30"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- Header --> <!-- Header -->
@ -234,7 +233,7 @@
<TabControl Grid.Row="1"> <TabControl Grid.Row="1">
<!-- Conversion presets settings --> <!-- Conversion presets settings -->
<TabItem Header="{x:Static project:Resources.ConversionPresets}"> <TabItem Header="{x:Static project:Resources.ConversionPresets}" Height="28">
<Grid Grid.Row="1"> <Grid Grid.Row="1">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
@ -275,14 +274,13 @@
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
<Style.Resources> <Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{StaticResource AccentBackgroundColor}" /> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{DynamicResource MainLighterColor}" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="{StaticResource AccentForegroundColor}" /> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="{DynamicResource MainDarkerColor}" />
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="{StaticResource DarkerBackgroundColor}" /> <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="{DynamicResource DarkBackgroundColor}" />
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="{StaticResource LightForegroundColor}" /> <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="{DynamicResource LightForegroundColor}" />
</Style.Resources> </Style.Resources>
<Setter Property="IsExpanded" Value="True"/> <Setter Property="IsExpanded" Value="True"/>
<Setter Property="BorderBrush" Value="{StaticResource HyperlinkBrush}"/>
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="TreeView_MouseDown"/> <EventSetter Event="PreviewMouseLeftButtonDown" Handler="TreeView_MouseDown"/>
<EventSetter Event="MouseUp" Handler="TreeView_MouseUp"/> <EventSetter Event="MouseUp" Handler="TreeView_MouseUp"/>
@ -345,7 +343,7 @@
</TreeView> </TreeView>
<TextBlock Margin="4" Grid.Row="1"> <TextBlock Margin="4" Grid.Row="1">
<Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/How-to-create-a-new-custom-preset%3F" Command="{Binding OpenUrlCommand, Mode=OneWay}" Foreground="{StaticResource HyperlinkBrush}"><x:Static Member="project:Resources.Help" /></Hyperlink> <Hyperlink CommandParameter="https://github.com/Tichau/FileConverter/wiki/How-to-create-a-new-custom-preset%3F" Command="{Binding OpenUrlCommand, Mode=OneWay}"><x:Static Member="project:Resources.Help" /></Hyperlink>
</TextBlock> </TextBlock>
</Grid> </Grid>
@ -375,7 +373,7 @@
<Label Grid.Row="0" Grid.Column="0" Content="{x:Static project:Resources.Language}" HorizontalAlignment="Right" Margin="0,0,5,0"/> <Label Grid.Row="0" Grid.Column="0" Content="{x:Static project:Resources.Language}" HorizontalAlignment="Right" Margin="0,0,5,0"/>
<ComboBox Grid.Row="0" Grid.Column="1" ItemsSource="{Binding SupportedCultures, Mode=OneTime}" Margin="0,0,0,1" <ComboBox Grid.Row="0" Grid.Column="1" ItemsSource="{Binding SupportedCultures, Mode=OneTime}" Margin="0,0,0,1"
SelectedValue="{Binding Settings.ApplicationLanguage, Mode=TwoWay}"> SelectedValue="{Binding Settings.ApplicationLanguage, Mode=TwoWay}">
<ComboBox.ItemTemplate> <ComboBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<ContentPresenter Content="{Binding Converter={StaticResource CultureInfoToString}}" /> <ContentPresenter Content="{Binding Converter={StaticResource CultureInfoToString}}" />
@ -432,7 +430,7 @@
<TextBlock Margin="5" DockPanel.Dock="Top" FontSize="14" HorizontalAlignment="Center" <TextBlock Margin="5" DockPanel.Dock="Top" FontSize="14" HorizontalAlignment="Center"
Visibility="{Binding DisplaySeeChangeLogLink, Mode=OneWay, Converter={StaticResource BoolToVisibility}}"> Visibility="{Binding DisplaySeeChangeLogLink, Mode=OneWay, Converter={StaticResource BoolToVisibility}}">
<Hyperlink Foreground="{StaticResource HyperlinkBrush}" Command="{Binding GetChangeLogContentCommand, Mode=OneWay}"><x:Static Member="project:Resources.SeeChangeLog" /></Hyperlink> <Hyperlink Command="{Binding GetChangeLogContentCommand, Mode=OneWay}"><x:Static Member="project:Resources.SeeChangeLog" /></Hyperlink>
</TextBlock> </TextBlock>
</DockPanel> </DockPanel>
@ -445,47 +443,46 @@
<controls:IconButton Margin="5,0,5,0" Background="#0467B4" Foreground="White" MouseOverBrush="#007AD8" PressedBrush="#0F4199" <controls:IconButton Margin="5,0,5,0" Background="#0467B4" Foreground="White" MouseOverBrush="#007AD8" PressedBrush="#0F4199"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=3BDWQTYTTA3D8&amp;item_name=File+Converter+Donations&amp;currency_code=EUR" Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=3BDWQTYTTA3D8&amp;item_name=File+Converter+Donations&amp;currency_code=EUR"
IconSource="/FileConverter;component/Resources/PaypalIcon.png" Content="{x:Static project:Resources.DonateButtonTitle}" FontWeight="Bold" FontSize="14" /> IconSource="/FileConverter;component/Resources/PaypalIcon.png" Content="{x:Static project:Resources.DonateButtonTitle}" FontWeight="Bold" FontSize="14" />
<controls:IconButton Margin="5,0,5,0" Background="#BBBBBB" Foreground="#505050" MouseOverBrush="#CCCCCC" PressedBrush="#AAAAAA"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://saythanks.io/to/adrien.allard.pro%40gmail.com"
IconSource="/FileConverter;component/Resources/SayThanksIcon.png" Content="{x:Static project:Resources.SayThanksButtonTitle}" FontWeight="Bold" FontSize="14" />
</StackPanel> </StackPanel>
<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,0,0,0"> <StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,0,0,0">
<Button ToolTip="{x:Static project:Resources.GitHubButtonDescription}" Padding="1" Margin="5,0,5,0" <Button ToolTip="{x:Static project:Resources.GitHubButtonDescription}" Padding="1" Margin="5,0,5,0"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/?from=about"> Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/?from=about"
Style="{DynamicResource TileButton}">
<Button.Content> <Button.Content>
<Image Source="/FileConverter;component/Resources/GitHub-Icon.png"></Image> <Image Source="/FileConverter;component/Resources/GitHub-Icon.png"></Image>
</Button.Content> </Button.Content>
</Button> </Button>
<Button ToolTip="{x:Static project:Resources.IssueButtonDescription}" Padding="1" Margin="5,0,5,0" <Button ToolTip="{x:Static project:Resources.IssueButtonDescription}" Padding="1" Margin="5,0,5,0"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/issues?from=about"> Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/issues?from=about"
Style="{DynamicResource TileButton}">
<Button.Content> <Button.Content>
<Image Source="/FileConverter;component/Resources/GitHub-Issue-Icon.png"></Image> <Image Source="/FileConverter;component/Resources/GitHub-Issue-Icon.png"></Image>
</Button.Content> </Button.Content>
</Button> </Button>
<Button ToolTip="{x:Static project:Resources.DocumentationButtonDescription}" Padding="1" Margin="5,0,5,0" <Button ToolTip="{x:Static project:Resources.DocumentationButtonDescription}" Padding="1" Margin="5,0,5,0"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/wiki?from=about"> Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://github.com/Tichau/FileConverter/wiki?from=about"
Style="{DynamicResource TileButton}">
<Button.Content> <Button.Content>
<Image Source="/FileConverter;component/Resources/GitHub-Documentation-Icon.png"></Image> <Image Source="/FileConverter;component/Resources/GitHub-Documentation-Icon.png"></Image>
</Button.Content> </Button.Content>
</Button> </Button>
<Button ToolTip="{x:Static project:Resources.WebsiteButtonDescription}" Padding="1" Margin="5,0,5,0" <Button ToolTip="{x:Static project:Resources.WebsiteButtonDescription}" Padding="1" Margin="5,0,5,0"
Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://file-converter.io?from=about"> Command="{Binding OpenUrlCommand, Mode=OneWay}" CommandParameter="https://file-converter.io?from=about"
Style="{DynamicResource TileButton}">
<Button.Content> <Button.Content>
<Image Source="/FileConverter;component/Resources/WebSite-Icon.png"></Image> <Image Source="/FileConverter;component/Resources/WebSite-Icon.png"></Image>
</Button.Content> </Button.Content>
</Button> </Button>
</StackPanel> </StackPanel>
<Label Grid.Row="3" Grid.Column="0" Content="Copyright @ 2020, Adrien Allard. All right reserved." Foreground="{StaticResource LightForegroundBrush}" Margin="0,2,0,2"/> <Label Grid.Row="3" Grid.Column="0" Content="Copyright @ 2024, Adrien Allard. All right reserved." Foreground="{DynamicResource LighterForegroundBrush}" Margin="0,2,0,2"/>
</Grid> </Grid>
</TabItem> </TabItem>
</TabControl> </TabControl>
<Button Grid.Row="2" Content="{x:Static project:Resources.Close}" HorizontalAlignment="Right" Width="100" Margin="0,4,105,0"
Command="{Binding CloseCommand}"/>
<Button Grid.Row="2" Content="{x:Static project:Resources.Save}" HorizontalAlignment="Right" Width="100" Margin="0,4,0,0" <Button Grid.Row="2" Content="{x:Static project:Resources.Save}" HorizontalAlignment="Right" Width="100" Margin="0,4,0,0"
Command="{Binding SaveCommand}"/> Command="{Binding SaveCommand}" />
</Grid> </Grid>

View File

@ -69,7 +69,7 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Label Grid.Row="0" Content="{x:Static project:Resources.UpgradeDownloadInProgress}" FontSize="14.667"/> <Label Grid.Row="0" Content="{x:Static project:Resources.UpgradeDownloadInProgress}" FontSize="14.667"/>
<ProgressBar Grid.Row="1" Margin="5" Height="30" Foreground="{StaticResource MainDarkBrush}" Minimum="0" Maximum="100" <ProgressBar Grid.Row="1" Margin="5" Height="30" Foreground="{DynamicResource MainDarkBrush}" Minimum="0" Maximum="100"
Value="{Binding UpgradeVersionDescription.InstallerDownloadProgress, Source={StaticResource Upgrade}}"/> Value="{Binding UpgradeVersionDescription.InstallerDownloadProgress, Source={StaticResource Upgrade}}"/>
</Grid> </Grid>
</Grid> </Grid>

View File

@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FileConverterExtension")] [assembly: AssemblyProduct("FileConverterExtension")]
[assembly: AssemblyCopyright("Copyright © 2015")] [assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

View File

@ -15,7 +15,6 @@
- New: Icons on context menu elements and conversion preset list actions. - New: Icons on context menu elements and conversion preset list actions.
- New: Remove the need to ask administrator privileges to edit File Converter settings (github issue #4 #30 #32). - New: Remove the need to ask administrator privileges to edit File Converter settings (github issue #4 #30 #32).
- New: Highlight in red elements that contains errors in the preset list. - New: Highlight in red elements that contains errors in the preset list.
- New: "Say thanks" button if you can't donate and want to keep my motivation up :).
- New: Messages logged from main thread are now displayed in the console standard output. - New: Messages logged from main thread are now displayed in the console standard output.
- New: Add the bookmarks in pdf when converting from word file (thanks to wangweirui). - New: Add the bookmarks in pdf when converting from word file (thanks to wangweirui).
- New: Possibility to use conversion date in output file path template (github issue #56). - New: Possibility to use conversion date in output file path template (github issue #56).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg <svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256" width="256"
height="256" height="256"
viewBox="0 0 256.00001 256.00001" viewBox="0 0 256.00001 256.00001"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
sodipodi:docname="CancelIcon.svg" sodipodi:docname="CancelIcon.svg"
inkscape:export-filename="D:\Users\adrie\Documents\GitHub\FileConverter\Resources\CancelIcon.png" inkscape:export-filename="CancelIcon.png"
inkscape:export-xdpi="36" inkscape:export-xdpi="36"
inkscape:export-ydpi="36"> inkscape:export-ydpi="36"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs <defs
id="defs4" /> id="defs4" />
<sodipodi:namedview <sodipodi:namedview
@ -27,18 +27,21 @@
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="2" inkscape:zoom="2"
inkscape:cx="102.11763" inkscape:cx="102.25"
inkscape:cy="151.52912" inkscape:cy="151.75"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
units="px" units="px"
inkscape:window-width="2498" inkscape:window-width="2560"
inkscape:window-height="1417" inkscape:window-height="1369"
inkscape:window-x="54" inkscape:window-x="-8"
inkscape:window-y="-8" inkscape:window-y="-8"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:document-rotation="0" /> inkscape:document-rotation="0"
inkscape:showpageshadow="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata <metadata
id="metadata7"> id="metadata7">
<rdf:RDF> <rdf:RDF>
@ -62,7 +65,7 @@
id="path3338" id="path3338"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
style="fill:#ff5252;fill-opacity:1;stroke-width:0.5" style="fill:#e91101;fill-opacity:1;stroke-width:0.5"
d="m 116.86763,248.4844 c -14.88741,-1.43081 -29.313565,-5.57993 -42.75,-12.29536 C 21.391233,209.83678 -4.8133375,149.35669 12.159977,93.190925 16.27553,79.572295 22.726845,66.8775 31.553261,55.02912 36.336082,48.608771 49.373805,35.670851 55.746361,31.021217 72.520045,18.782568 90.459055,11.352567 110.86763,8.1910246 c 8.0292,-1.2438223 26.47607,-1.2410092 34.35546,0.00524 29.62675,4.6859384 56.51351,19.5441464 74.7413,41.3036704 14.75761,17.616976 24.20945,38.138071 27.64894,60.029185 1.12939,7.1882 1.53745,22.81572 0.79064,30.27934 -2.75293,27.51286 -15.19011,53.79495 -34.78314,73.50331 -25.3223,25.47135 -61.36458,38.57378 -96.7532,35.17263 z m 31,-21.18387 c 13.08929,-2.77014 25.83559,-8.07348 36.5,-15.18652 5.69714,-3.79993 13.75,-10.51943 13.75,-11.47333 0,-0.57168 -153.696733,-129.850925 -153.98646,-129.522945 -0.921094,1.042705 -4.24579,6.885555 -6.665517,11.71404 -13.922835,27.782575 -14.23017,60.713425 -0.827204,88.634805 5.368904,11.18462 11.298786,19.60992 19.749831,28.06097 13.476625,13.47662 29.75522,22.5775 48.22935,26.96359 9.13861,2.16967 12.86591,2.51168 25.25,2.3169 10.35596,-0.16287 12.49151,-0.34173 18,-1.50751 z m 66.18521,-45.89641 c 3.29623,-5.29587 7.99534,-15.35193 9.98835,-21.375 10.4551,-31.59628 4.8019,-66.449715 -15.07502,-92.941345 -3.67796,-4.90193 -12.31075,-13.843747 -17.03243,-17.642142 -38.30865,-30.81773 -92.02129,-30.16288 -129.7335,1.581677 -4.76122,4.007797 -4.888255,4.168073 -4,5.046742 0.85925,0.849978 153.31301,128.904508 153.50687,128.939108 0.0492,0.009 1.1048,-1.61529 2.34573,-3.60904 z" d="m 116.86763,248.4844 c -14.88741,-1.43081 -29.313565,-5.57993 -42.75,-12.29536 C 21.391233,209.83678 -4.8133375,149.35669 12.159977,93.190925 16.27553,79.572295 22.726845,66.8775 31.553261,55.02912 36.336082,48.608771 49.373805,35.670851 55.746361,31.021217 72.520045,18.782568 90.459055,11.352567 110.86763,8.1910246 c 8.0292,-1.2438223 26.47607,-1.2410092 34.35546,0.00524 29.62675,4.6859384 56.51351,19.5441464 74.7413,41.3036704 14.75761,17.616976 24.20945,38.138071 27.64894,60.029185 1.12939,7.1882 1.53745,22.81572 0.79064,30.27934 -2.75293,27.51286 -15.19011,53.79495 -34.78314,73.50331 -25.3223,25.47135 -61.36458,38.57378 -96.7532,35.17263 z m 31,-21.18387 c 13.08929,-2.77014 25.83559,-8.07348 36.5,-15.18652 5.69714,-3.79993 13.75,-10.51943 13.75,-11.47333 0,-0.57168 -153.696733,-129.850925 -153.98646,-129.522945 -0.921094,1.042705 -4.24579,6.885555 -6.665517,11.71404 -13.922835,27.782575 -14.23017,60.713425 -0.827204,88.634805 5.368904,11.18462 11.298786,19.60992 19.749831,28.06097 13.476625,13.47662 29.75522,22.5775 48.22935,26.96359 9.13861,2.16967 12.86591,2.51168 25.25,2.3169 10.35596,-0.16287 12.49151,-0.34173 18,-1.50751 z m 66.18521,-45.89641 c 3.29623,-5.29587 7.99534,-15.35193 9.98835,-21.375 10.4551,-31.59628 4.8019,-66.449715 -15.07502,-92.941345 -3.67796,-4.90193 -12.31075,-13.843747 -17.03243,-17.642142 -38.30865,-30.81773 -92.02129,-30.16288 -129.7335,1.581677 -4.76122,4.007797 -4.888255,4.168073 -4,5.046742 0.85925,0.849978 153.31301,128.904508 153.50687,128.939108 0.0492,0.009 1.1048,-1.61529 2.34573,-3.60904 z"
id="path24" id="path24"
transform="translate(0,796.3622)" /> transform="translate(0,796.3622)" />

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg <svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256" width="256"
height="256" height="256"
viewBox="0 0 256.00001 256.00001" viewBox="0 0 256.00001 256.00001"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
sodipodi:docname="FailIcon.svg" sodipodi:docname="FailIcon.svg"
inkscape:export-filename="D:\Users\adrie\Documents\GitHub\FileConverter\Resources\FailIcon.png" inkscape:export-filename="FailIcon.png"
inkscape:export-xdpi="36" inkscape:export-xdpi="36"
inkscape:export-ydpi="36"> inkscape:export-ydpi="36"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs <defs
id="defs4" /> id="defs4" />
<sodipodi:namedview <sodipodi:namedview
@ -27,18 +27,21 @@
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="2.8284271" inkscape:zoom="2.8284271"
inkscape:cx="163.07811" inkscape:cx="163.16489"
inkscape:cy="85.239641" inkscape:cy="85.383145"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
units="px" units="px"
inkscape:window-width="2498" inkscape:window-width="2560"
inkscape:window-height="1417" inkscape:window-height="1369"
inkscape:window-x="54" inkscape:window-x="-8"
inkscape:window-y="-8" inkscape:window-y="-8"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:document-rotation="0" /> inkscape:document-rotation="0"
inkscape:showpageshadow="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata <metadata
id="metadata7"> id="metadata7">
<rdf:RDF> <rdf:RDF>
@ -73,22 +76,22 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot4356" id="flowRoot4356"
style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff5252;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e91101;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="matrix(5.3949876,0,0,5.3949876,99.524316,781.6645)" transform="matrix(5.3949876,0,0,5.3949876,99.524316,781.6645)"
inkscape:export-xdpi="90" inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><flowRegion inkscape:export-ydpi="90"><flowRegion
id="flowRegion4358" id="flowRegion4358"
style="fill:#ff5252;fill-opacity:1"><rect style="fill:#e91101;fill-opacity:1"><rect
id="rect4360" id="rect4360"
width="49.5" width="49.5"
height="47.5" height="47.5"
x="0.875" x="0.875"
y="0.875" y="0.875"
style="fill:#ff5252;fill-opacity:1;" /></flowRegion><flowPara style="fill:#e91101;fill-opacity:1" /></flowRegion><flowPara
id="flowPara4362" id="flowPara4362"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'MS UI Gothic';-inkscape-font-specification:'MS UI Gothic';fill:#ff5252;fill-opacity:1">!</flowPara></flowRoot> style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'MS UI Gothic';-inkscape-font-specification:'MS UI Gothic';fill:#e91101;fill-opacity:1">!</flowPara></flowRoot>
<path <path
style="fill:#ff5252;fill-opacity:1;stroke:none;stroke-width:0.502957" style="fill:#e91101;fill-opacity:1;stroke:none;stroke-width:0.502957"
d="m 112.5261,1043.9007 c -12.866526,-1.7662 -25.64742,-5.7332 -37.981544,-11.7888 -13.03541,-6.4001 -23.007178,-13.6923 -33.463015,-24.4714 C 26.863216,992.98263 17.383636,976.57034 11.680434,956.73753 8.5148027,945.72908 7.7771728,940.61049 7.5131069,927.81941 7.1871658,912.0311 8.0202477,904.53852 11.490618,892.04646 c 10.684023,-38.45858 40.365081,-69.65987 78.145946,-82.14851 13.819816,-4.56821 23.191776,-6.08037 37.730016,-6.08771 13.97502,-0.007 20.41485,0.81246 32.19628,4.09727 44.66259,12.45249 78.63191,49.48676 86.79245,94.62343 0.55751,3.08363 1.27703,9.63974 1.59896,14.56913 1.16514,17.84103 -1.10216,32.95071 -7.40793,49.36767 -9.5307,24.81296 -24.72818,43.64446 -47.59328,58.97346 -11.17499,7.4919 -27.61806,14.1584 -42.44257,17.2072 -9.57177,1.9687 -28.27444,2.5852 -37.98439,1.2523 z m 31.44169,-18.5546 c 32.82651,-5.9748 58.57292,-24.2546 74.07517,-52.59278 4.05243,-7.40786 7.83265,-17.92464 10.48328,-29.1651 0.68972,-2.92487 0.93693,-6.67724 1.10142,-16.71811 0.23502,-14.34679 -0.0905,-17.99903 -2.42308,-27.19165 -9.59189,-37.80005 -37.35236,-65.4665 -75.32221,-75.06709 -7.7844,-1.96826 -14.62149,-2.71439 -24.76732,-2.70286 -9.81992,0.0112 -15.53168,0.67425 -23.79065,2.76186 -25.812087,6.52453 -46.441312,20.90699 -60.946704,42.49137 -3.8258,5.69288 -9.888357,18.09926 -12.037414,24.63329 -0.955112,2.90394 -2.373607,8.1084 -3.152212,11.56547 -1.367111,6.07008 -1.415941,6.76831 -1.424221,20.36529 -0.0077,12.73597 0.102399,14.62946 1.154213,19.84017 5.774211,28.60553 22.944969,53.29191 47.468923,68.24614 11.728558,7.1517 26.258885,12.191 40.954615,14.2034 5.29294,0.7248 23.27695,0.3043 28.62619,-0.6694 z" d="m 112.5261,1043.9007 c -12.866526,-1.7662 -25.64742,-5.7332 -37.981544,-11.7888 -13.03541,-6.4001 -23.007178,-13.6923 -33.463015,-24.4714 C 26.863216,992.98263 17.383636,976.57034 11.680434,956.73753 8.5148027,945.72908 7.7771728,940.61049 7.5131069,927.81941 7.1871658,912.0311 8.0202477,904.53852 11.490618,892.04646 c 10.684023,-38.45858 40.365081,-69.65987 78.145946,-82.14851 13.819816,-4.56821 23.191776,-6.08037 37.730016,-6.08771 13.97502,-0.007 20.41485,0.81246 32.19628,4.09727 44.66259,12.45249 78.63191,49.48676 86.79245,94.62343 0.55751,3.08363 1.27703,9.63974 1.59896,14.56913 1.16514,17.84103 -1.10216,32.95071 -7.40793,49.36767 -9.5307,24.81296 -24.72818,43.64446 -47.59328,58.97346 -11.17499,7.4919 -27.61806,14.1584 -42.44257,17.2072 -9.57177,1.9687 -28.27444,2.5852 -37.98439,1.2523 z m 31.44169,-18.5546 c 32.82651,-5.9748 58.57292,-24.2546 74.07517,-52.59278 4.05243,-7.40786 7.83265,-17.92464 10.48328,-29.1651 0.68972,-2.92487 0.93693,-6.67724 1.10142,-16.71811 0.23502,-14.34679 -0.0905,-17.99903 -2.42308,-27.19165 -9.59189,-37.80005 -37.35236,-65.4665 -75.32221,-75.06709 -7.7844,-1.96826 -14.62149,-2.71439 -24.76732,-2.70286 -9.81992,0.0112 -15.53168,0.67425 -23.79065,2.76186 -25.812087,6.52453 -46.441312,20.90699 -60.946704,42.49137 -3.8258,5.69288 -9.888357,18.09926 -12.037414,24.63329 -0.955112,2.90394 -2.373607,8.1084 -3.152212,11.56547 -1.367111,6.07008 -1.415941,6.76831 -1.424221,20.36529 -0.0077,12.73597 0.102399,14.62946 1.154213,19.84017 5.774211,28.60553 22.944969,53.29191 47.468923,68.24614 11.728558,7.1517 26.258885,12.191 40.954615,14.2034 5.29294,0.7248 23.27695,0.3043 28.62619,-0.6694 z"
id="path846" /> id="path846" />
</g> </g>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg <svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256" width="256"
height="256" height="256"
viewBox="0 0 256.00001 256.00001" viewBox="0 0 256.00001 256.00001"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
sodipodi:docname="SuccessIcon.svg" sodipodi:docname="SuccessIcon.svg"
inkscape:export-filename="D:\Users\adrie\Documents\GitHub\FileConverter\Resources\SuccessIcon.png" inkscape:export-filename="SuccessIcon.png"
inkscape:export-xdpi="36" inkscape:export-xdpi="36"
inkscape:export-ydpi="36"> inkscape:export-ydpi="36"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs <defs
id="defs4" /> id="defs4" />
<sodipodi:namedview <sodipodi:namedview
@ -27,18 +27,21 @@
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="2.56" inkscape:zoom="2.56"
inkscape:cx="182.18715" inkscape:cx="181.83594"
inkscape:cy="141.71904" inkscape:cy="141.60156"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
units="px" units="px"
inkscape:window-width="2498" inkscape:window-width="2560"
inkscape:window-height="1417" inkscape:window-height="1369"
inkscape:window-x="54" inkscape:window-x="-8"
inkscape:window-y="-8" inkscape:window-y="-8"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:document-rotation="0" /> inkscape:document-rotation="0"
inkscape:showpageshadow="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata <metadata
id="metadata7"> id="metadata7">
<rdf:RDF> <rdf:RDF>
@ -57,12 +60,12 @@
id="layer1" id="layer1"
transform="translate(0,-796.3622)"> transform="translate(0,-796.3622)">
<path <path
style="fill:#4caf50;fill-opacity:1;stroke-width:0.276214;stroke:none;stroke-opacity:1" style="fill:#0eaf80;fill-opacity:1;stroke-width:0.276214;stroke:none;stroke-opacity:1"
d="M 115.8966,247.76844 C 92.037607,245.16548 70.961645,236.48202 52.148824,221.50384 47.337244,217.67301 37.925702,208.26325 34.105231,203.46365 19.550222,185.17844 10.990369,164.82705 8.0734325,141.57202 7.4781319,136.82604 7.2387715,123.31805 7.6608429,118.28808 9.8590632,92.091114 20.178789,67.831797 37.502076,48.138163 57.112929,25.843955 83.579096,11.928435 113.88256,7.9784326 c 4.87576,-0.6355469 22.25024,-0.7269001 26.93083,-0.1415995 32.84719,4.1074939 61.01507,19.6162769 81.10718,44.6563059 13.2052,16.457149 21.61191,35.580766 25.08122,57.054871 0.98421,6.09203 1.25259,9.93152 1.25583,17.96606 0.004,10.34474 -0.65298,16.80146 -2.65369,26.07324 -6.49176,30.08454 -24.9727,57.11772 -50.79079,74.29472 -15.541,10.33956 -30.92258,16.29885 -49.58034,19.20891 -6.89914,1.07606 -22.40133,1.43408 -29.3362,0.6775 z m 21.87844,-18.91485 c 21.77463,-2.16331 42.99826,-11.6755 58.69538,-26.3066 17.96191,-16.74207 28.60783,-37.33845 32.08803,-62.07982 0.70687,-5.02526 0.71024,-19.87564 0.006,-25.13544 -3.02879,-22.611882 -12.51499,-42.358311 -28.00427,-58.293559 -16.05005,-16.51217 -36.5209,-26.75833 -59.88459,-29.973686 -4.38557,-0.603551 -16.9196,-0.849562 -21.61932,-0.424332 -24.237811,2.19303 -46.415441,12.599295 -63.465697,29.779595 -22.094016,22.26253 -32.649624,53.836832 -28.419543,85.009532 4.308413,31.74995 23.266565,59.50743 51.32295,75.14424 12.757976,7.11047 27.36342,11.44907 42.24138,12.54797 3.91126,0.28889 12.85026,0.14835 17.03999,-0.2679 z" d="M 115.8966,247.76844 C 92.037607,245.16548 70.961645,236.48202 52.148824,221.50384 47.337244,217.67301 37.925702,208.26325 34.105231,203.46365 19.550222,185.17844 10.990369,164.82705 8.0734325,141.57202 7.4781319,136.82604 7.2387715,123.31805 7.6608429,118.28808 9.8590632,92.091114 20.178789,67.831797 37.502076,48.138163 57.112929,25.843955 83.579096,11.928435 113.88256,7.9784326 c 4.87576,-0.6355469 22.25024,-0.7269001 26.93083,-0.1415995 32.84719,4.1074939 61.01507,19.6162769 81.10718,44.6563059 13.2052,16.457149 21.61191,35.580766 25.08122,57.054871 0.98421,6.09203 1.25259,9.93152 1.25583,17.96606 0.004,10.34474 -0.65298,16.80146 -2.65369,26.07324 -6.49176,30.08454 -24.9727,57.11772 -50.79079,74.29472 -15.541,10.33956 -30.92258,16.29885 -49.58034,19.20891 -6.89914,1.07606 -22.40133,1.43408 -29.3362,0.6775 z m 21.87844,-18.91485 c 21.77463,-2.16331 42.99826,-11.6755 58.69538,-26.3066 17.96191,-16.74207 28.60783,-37.33845 32.08803,-62.07982 0.70687,-5.02526 0.71024,-19.87564 0.006,-25.13544 -3.02879,-22.611882 -12.51499,-42.358311 -28.00427,-58.293559 -16.05005,-16.51217 -36.5209,-26.75833 -59.88459,-29.973686 -4.38557,-0.603551 -16.9196,-0.849562 -21.61932,-0.424332 -24.237811,2.19303 -46.415441,12.599295 -63.465697,29.779595 -22.094016,22.26253 -32.649624,53.836832 -28.419543,85.009532 4.308413,31.74995 23.266565,59.50743 51.32295,75.14424 12.757976,7.11047 27.36342,11.44907 42.24138,12.54797 3.91126,0.28889 12.85026,0.14835 17.03999,-0.2679 z"
id="path843" id="path843"
transform="translate(0,796.3622)" /> transform="translate(0,796.3622)" />
<path <path
style="fill:#4caf50;fill-opacity:1;stroke:none;stroke-width:0.195312;stroke-opacity:1" style="fill:#0eaf80;fill-opacity:1;stroke:none;stroke-width:0.195312;stroke-opacity:1"
d="M 93.007026,947.25718 C 81.49719,935.53762 72.106459,925.89162 72.138739,925.82164 c 0.03228,-0.07 3.048803,-3.09036 6.703385,-6.71194 l 6.644694,-6.5847 1.147664,1.2136 c 0.631215,0.66748 2.914544,3.01593 5.074054,5.21877 2.15952,2.20284 6.12366,6.2472 8.809214,8.98747 12.25124,12.50086 14.45443,14.67713 14.69418,14.51457 0.19377,-0.1314 34.00785,-34.23964 54.50534,-54.97951 l 4.37372,-4.42543 6.53847,7.04317 6.53848,7.04316 -0.454,0.43736 c -0.2497,0.24055 -16.65849,16.3111 -36.46398,35.71234 -19.80549,19.40124 -36.07882,35.27499 -36.16296,35.27499 -0.0841,0 -9.57012,-9.58874 -21.079974,-21.30831 z" d="M 93.007026,947.25718 C 81.49719,935.53762 72.106459,925.89162 72.138739,925.82164 c 0.03228,-0.07 3.048803,-3.09036 6.703385,-6.71194 l 6.644694,-6.5847 1.147664,1.2136 c 0.631215,0.66748 2.914544,3.01593 5.074054,5.21877 2.15952,2.20284 6.12366,6.2472 8.809214,8.98747 12.25124,12.50086 14.45443,14.67713 14.69418,14.51457 0.19377,-0.1314 34.00785,-34.23964 54.50534,-54.97951 l 4.37372,-4.42543 6.53847,7.04317 6.53848,7.04316 -0.454,0.43736 c -0.2497,0.24055 -16.65849,16.3111 -36.46398,35.71234 -19.80549,19.40124 -36.07882,35.27499 -36.16296,35.27499 -0.0841,0 -9.57012,-9.58874 -21.079974,-21.30831 z"
id="path865" /> id="path865" />
</g> </g>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 1000 B

View File

@ -1,84 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<svg <g transform="matrix(1,0,0,1,1,1)">
xmlns:dc="http://purl.org/dc/elements/1.1/" <g id="g3">
xmlns:cc="http://creativecommons.org/ns#" <g id="path5" transform="matrix(1.0582,0,0,1.0582,-0.626492,-0.627021)">
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" <path d="M14.768,0C6.609,0 0,6.609 0,14.768C0,22.923 6.609,29.535 14.768,29.535C22.927,29.535 29.534,22.923 29.534,14.768C29.534,6.609 22.927,0 14.768,0ZM14.768,27.126C7.942,27.126 2.409,21.594 2.409,14.767C2.409,7.939 7.942,2.405 14.768,2.405C21.594,2.405 27.128,7.94 27.128,14.768C27.128,21.594 21.594,27.126 14.768,27.126Z" style="fill:rgb(255,185,68);fill-rule:nonzero;"/>
xmlns:svg="http://www.w3.org/2000/svg" </g>
xmlns="http://www.w3.org/2000/svg" <g id="polygon7" transform="matrix(1.0582,0,0,1.0582,-0.626492,-0.627021)">
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" <path d="M16.338,17.962L16.938,5.601L12.625,5.601L13.227,17.962L16.338,17.962Z" style="fill:rgb(255,185,68);fill-rule:nonzero;"/>
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" </g>
version="1.1" <g id="path9" transform="matrix(1.0582,0,0,1.0582,-0.626492,-0.627021)">
id="Capa_1" <path d="M14.781,19.323C13.336,19.323 12.326,20.334 12.326,21.808C12.326,23.226 13.308,24.29 14.724,24.29L14.781,24.29C16.254,24.29 17.209,23.226 17.209,21.808C17.182,20.334 16.227,19.323 14.781,19.323Z" style="fill:rgb(255,185,68);fill-rule:nonzero;"/>
x="0px" </g>
y="0px" </g>
viewBox="0 0 29.535 29.535" </g>
style="enable-background:new 0 0 29.535 29.535;" </svg>
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="WarningIcon.svg"><metadata
id="metadata45"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs43" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1018"
id="namedview41"
showgrid="false"
inkscape:zoom="7.9905198"
inkscape:cx="-4.6304873"
inkscape:cy="14.7675"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1" /><g
id="g3"
style="fill:#ffa000;fill-opacity:1"><path
style="fill:#ffa000;fill-opacity:1"
d="M14.768,0C6.609,0,0,6.609,0,14.768c0,8.155,6.609,14.767,14.768,14.767s14.766-6.612,14.766-14.767 C29.534,6.609,22.927,0,14.768,0z M14.768,27.126c-6.826,0-12.359-5.532-12.359-12.359c0-6.828,5.533-12.362,12.359-12.362 S27.128,7.94,27.128,14.768C27.128,21.594,21.594,27.126,14.768,27.126z"
id="path5" /><polygon
style="fill:#ffa000;fill-opacity:1"
points="16.338,17.962 16.938,5.601 12.625,5.601 13.227,17.962 "
id="polygon7" /><path
style="fill:#ffa000;fill-opacity:1"
d="M14.781,19.323c-1.445,0-2.455,1.011-2.455,2.485c0,1.418,0.982,2.482,2.398,2.482h0.057 c1.473,0,2.428-1.064,2.428-2.482C17.182,20.334,16.227,19.323,14.781,19.323z"
id="path9" /></g><g
id="g11"
style="fill:#ffa000;fill-opacity:1" /><g
id="g13"
style="fill:#ffa000;fill-opacity:1" /><g
id="g15"
style="fill:#ffa000;fill-opacity:1" /><g
id="g17"
style="fill:#ffa000;fill-opacity:1" /><g
id="g19"
style="fill:#ffa000;fill-opacity:1" /><g
id="g21"
style="fill:#ffa000;fill-opacity:1" /><g
id="g23"
style="fill:#ffa000;fill-opacity:1" /><g
id="g25"
style="fill:#ffa000;fill-opacity:1" /><g
id="g27"
style="fill:#ffa000;fill-opacity:1" /><g
id="g29"
style="fill:#ffa000;fill-opacity:1" /><g
id="g31"
style="fill:#ffa000;fill-opacity:1" /><g
id="g33"
style="fill:#ffa000;fill-opacity:1" /><g
id="g35"
style="fill:#ffa000;fill-opacity:1" /><g
id="g37"
style="fill:#ffa000;fill-opacity:1" /><g
id="g39"
style="fill:#ffa000;fill-opacity:1" /></svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB