diff --git a/DiscordChatExporter.Gui/App.xaml b/DiscordChatExporter.Gui/App.xaml
index e2f65d17..34461e5d 100644
--- a/DiscordChatExporter.Gui/App.xaml
+++ b/DiscordChatExporter.Gui/App.xaml
@@ -75,17 +75,6 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs
index d45f12eb..2071b880 100644
--- a/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs
+++ b/DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs
@@ -62,14 +62,7 @@ public class ExportSetupViewModel : DialogScreen
public bool ShouldDownloadMedia { get; set; }
- // Whether to show the "advanced options" by default when the dialog opens.
- // This is active if any of the advanced options are set to non-default values.
- public bool IsAdvancedSectionDisplayedByDefault =>
- After != default ||
- Before != default ||
- !string.IsNullOrWhiteSpace(PartitionLimitValue) ||
- !string.IsNullOrWhiteSpace(MessageFilterValue) ||
- ShouldDownloadMedia != default;
+ public bool IsAdvancedSectionDisplayed { get; set; }
public ExportSetupViewModel(DialogManager dialogManager, SettingsService settingsService)
{
@@ -81,8 +74,19 @@ public class ExportSetupViewModel : DialogScreen
PartitionLimitValue = _settingsService.LastPartitionLimitValue;
MessageFilterValue = _settingsService.LastMessageFilterValue;
ShouldDownloadMedia = _settingsService.LastShouldDownloadMedia;
+
+ // Show the "advanced options" by default if any
+ // of the advanced options are set to non-default values.
+ IsAdvancedSectionDisplayed =
+ After != default ||
+ Before != default ||
+ !string.IsNullOrWhiteSpace(PartitionLimitValue) ||
+ !string.IsNullOrWhiteSpace(MessageFilterValue) ||
+ ShouldDownloadMedia != default;
}
+ public void ToggleAdvancedSection() => IsAdvancedSectionDisplayed = !IsAdvancedSectionDisplayed;
+
public void Confirm()
{
// Persist preferences
diff --git a/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml b/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml
index 70a8e349..9a5d624e 100644
--- a/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml
+++ b/DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.xaml
@@ -1,20 +1,26 @@
-
+ Width="380"
+ d:DataContext="{d:DesignInstance Type=dialogs:ExportSetupViewModel}"
+ Style="{DynamicResource MaterialDesignRoot}"
+ mc:Ignorable="d">
+
+
+
+
+
+
+
-
+
@@ -23,8 +29,8 @@
+ Width="32"
+ Height="32">
@@ -32,11 +38,12 @@
@@ -44,12 +51,12 @@
@@ -60,108 +67,126 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -169,31 +194,38 @@
-
+ Command="{s:Action ToggleAdvancedSection}"
+ IsDefault="True"
+ ToolTip="Toggle advanced options">
+
+
+
+
+ Style="{DynamicResource MaterialDesignOutlinedButton}" />
+ Style="{DynamicResource MaterialDesignOutlinedButton}" />
-
+
\ No newline at end of file
diff --git a/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml b/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml
index a17421d9..a4845ecb 100644
--- a/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml
+++ b/DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.xaml
@@ -8,8 +8,6 @@
xmlns:s="https://github.com/canton7/Stylet"
MinWidth="500"
d:DataContext="{d:DesignInstance Type=dialogs:MessageBoxViewModel}"
- d:DesignHeight="450"
- d:DesignWidth="800"
Style="{DynamicResource MaterialDesignRoot}"
mc:Ignorable="d">
@@ -23,27 +21,35 @@
-
+ Padding="0,8"
+ BorderBrush="{DynamicResource MaterialDesignDivider}"
+ BorderThickness="0,1">
+
+
+
+
+ Style="{DynamicResource MaterialDesignOutlinedButton}" />
\ No newline at end of file
diff --git a/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml b/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml
index f4b9d8e7..222eb6b8 100644
--- a/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml
+++ b/DiscordChatExporter.Gui/Views/Dialogs/SettingsView.xaml
@@ -4,113 +4,143 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dialogs="clr-namespace:DiscordChatExporter.Gui.ViewModels.Dialogs"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:s="https://github.com/canton7/Stylet"
Width="310"
d:DataContext="{d:DesignInstance Type=dialogs:SettingsViewModel}"
Style="{DynamicResource MaterialDesignRoot}"
mc:Ignorable="d">
-
-
-
-
-
+
+
-
-
+ Margin="16,16,16,8"
+ FontSize="19"
+ FontWeight="Light"
+ Text="Settings" />
-
-
-
+
-
-
+ Background="Transparent"
+ LastChildFill="False"
+ ToolTip="Perform automatic updates on every launch">
+
+
+
-
-
-
+
-
-
+ Background="Transparent"
+ LastChildFill="False"
+ ToolTip="Use darker colors in the UI">
+
+
+
-
-
-
+
-
+
+
+
+
+
+
-
+ Background="Transparent"
+ LastChildFill="False"
+ ToolTip="Reuse already existing media content to skip redundant downloads">
+
+
+
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
\ No newline at end of file
diff --git a/DiscordChatExporter.Gui/Views/RootView.xaml b/DiscordChatExporter.Gui/Views/RootView.xaml
index c26f5bad..8688aacc 100644
--- a/DiscordChatExporter.Gui/Views/RootView.xaml
+++ b/DiscordChatExporter.Gui/Views/RootView.xaml
@@ -69,7 +69,7 @@
Grid.Column="0"
Margin="6"
IsChecked="{Binding IsBotToken}"
- Style="{StaticResource MaterialDesignFlatActionToggleButton}"
+ Style="{DynamicResource MaterialDesignFlatActionToggleButton}"
ToolTip="Switch between user token and bot token">
-
+
\ No newline at end of file