From 656e5a5b0da8c3d12d67ab4df0bd404227a83310 Mon Sep 17 00:00:00 2001 From: Alexey Golub Date: Sun, 25 Feb 2018 17:15:55 +0200 Subject: [PATCH] Remove some views and replace them with snackbar notifications --- DiscordChatExporter.Gui/Container.cs | 4 -- .../DiscordChatExporter.Gui.csproj | 15 ------- .../Messages/ShowErrorMessage.cs | 12 ------ .../Messages/ShowExportDoneMessage.cs | 12 ------ .../ViewModels/ErrorViewModel.cs | 19 --------- .../ViewModels/ExportDoneViewModel.cs | 32 --------------- .../ViewModels/IErrorViewModel.cs | 7 ---- .../ViewModels/IExportDoneViewModel.cs | 9 ----- .../ViewModels/MainViewModel.cs | 19 ++++----- .../Views/ExportDoneDialog.ammy | 40 ------------------- .../Views/ExportDoneDialog.ammy.cs | 18 --------- .../Views/MainWindow.ammy.cs | 4 -- 12 files changed, 10 insertions(+), 181 deletions(-) delete mode 100644 DiscordChatExporter.Gui/Messages/ShowErrorMessage.cs delete mode 100644 DiscordChatExporter.Gui/Messages/ShowExportDoneMessage.cs delete mode 100644 DiscordChatExporter.Gui/ViewModels/ErrorViewModel.cs delete mode 100644 DiscordChatExporter.Gui/ViewModels/ExportDoneViewModel.cs delete mode 100644 DiscordChatExporter.Gui/ViewModels/IErrorViewModel.cs delete mode 100644 DiscordChatExporter.Gui/ViewModels/IExportDoneViewModel.cs delete mode 100644 DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy delete mode 100644 DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy.cs diff --git a/DiscordChatExporter.Gui/Container.cs b/DiscordChatExporter.Gui/Container.cs index cb15941..b46cf98 100644 --- a/DiscordChatExporter.Gui/Container.cs +++ b/DiscordChatExporter.Gui/Container.cs @@ -7,8 +7,6 @@ namespace DiscordChatExporter.Gui { public class Container { - public IErrorViewModel ErrorViewModel => Resolve(); - public IExportDoneViewModel ExportDoneViewModel => Resolve(); public IExportSetupViewModel ExportSetupViewModel => Resolve(); public IMainViewModel MainViewModel => Resolve(); public ISettingsViewModel SettingsViewModel => Resolve(); @@ -31,8 +29,6 @@ namespace DiscordChatExporter.Gui SimpleIoc.Default.Register(); // View models - SimpleIoc.Default.Register(true); - SimpleIoc.Default.Register(true); SimpleIoc.Default.Register(true); SimpleIoc.Default.Register(true); SimpleIoc.Default.Register(true); diff --git a/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj b/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj index c767d81..6285d18 100644 --- a/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj +++ b/DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj @@ -79,26 +79,17 @@ - - - - - - ErrorDialog.ammy - - ExportDoneDialog.ammy - ExportSetupDialog.ammy @@ -115,11 +106,6 @@ MSBuild:Compile ErrorDialog.ammy - - Designer - MSBuild:Compile - ExportDoneDialog.ammy - Designer MSBuild:Compile @@ -165,7 +151,6 @@ Designer - diff --git a/DiscordChatExporter.Gui/Messages/ShowErrorMessage.cs b/DiscordChatExporter.Gui/Messages/ShowErrorMessage.cs deleted file mode 100644 index 51bce1e..0000000 --- a/DiscordChatExporter.Gui/Messages/ShowErrorMessage.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace DiscordChatExporter.Gui.Messages -{ - public class ShowErrorMessage - { - public string Message { get; } - - public ShowErrorMessage(string message) - { - Message = message; - } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/Messages/ShowExportDoneMessage.cs b/DiscordChatExporter.Gui/Messages/ShowExportDoneMessage.cs deleted file mode 100644 index 7e9fc2f..0000000 --- a/DiscordChatExporter.Gui/Messages/ShowExportDoneMessage.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace DiscordChatExporter.Gui.Messages -{ - public class ShowExportDoneMessage - { - public string FilePath { get; } - - public ShowExportDoneMessage(string filePath) - { - FilePath = filePath; - } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/ViewModels/ErrorViewModel.cs b/DiscordChatExporter.Gui/ViewModels/ErrorViewModel.cs deleted file mode 100644 index bb0f9c9..0000000 --- a/DiscordChatExporter.Gui/ViewModels/ErrorViewModel.cs +++ /dev/null @@ -1,19 +0,0 @@ -using DiscordChatExporter.Gui.Messages; -using GalaSoft.MvvmLight; - -namespace DiscordChatExporter.Gui.ViewModels -{ - public class ErrorViewModel : ViewModelBase, IErrorViewModel - { - public string Message { get; private set; } - - public ErrorViewModel() - { - // Messages - MessengerInstance.Register(this, m => - { - Message = m.Message; - }); - } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/ViewModels/ExportDoneViewModel.cs b/DiscordChatExporter.Gui/ViewModels/ExportDoneViewModel.cs deleted file mode 100644 index ced3f81..0000000 --- a/DiscordChatExporter.Gui/ViewModels/ExportDoneViewModel.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Diagnostics; -using DiscordChatExporter.Gui.Messages; -using GalaSoft.MvvmLight; -using GalaSoft.MvvmLight.CommandWpf; - -namespace DiscordChatExporter.Gui.ViewModels -{ - public class ExportDoneViewModel : ViewModelBase, IExportDoneViewModel - { - private string _filePath; - - // Commands - public RelayCommand OpenCommand { get; } - - public ExportDoneViewModel() - { - // Commands - OpenCommand = new RelayCommand(Open); - - // Messages - MessengerInstance.Register(this, m => - { - _filePath = m.FilePath; - }); - } - - private void Open() - { - Process.Start(_filePath); - } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/ViewModels/IErrorViewModel.cs b/DiscordChatExporter.Gui/ViewModels/IErrorViewModel.cs deleted file mode 100644 index 46d893b..0000000 --- a/DiscordChatExporter.Gui/ViewModels/IErrorViewModel.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DiscordChatExporter.Gui.ViewModels -{ - public interface IErrorViewModel - { - string Message { get; } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/ViewModels/IExportDoneViewModel.cs b/DiscordChatExporter.Gui/ViewModels/IExportDoneViewModel.cs deleted file mode 100644 index 717bab4..0000000 --- a/DiscordChatExporter.Gui/ViewModels/IExportDoneViewModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -using GalaSoft.MvvmLight.CommandWpf; - -namespace DiscordChatExporter.Gui.ViewModels -{ - public interface IExportDoneViewModel - { - RelayCommand OpenCommand { get; } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs index b8d230e..47ea8e5 100644 --- a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs @@ -132,8 +132,7 @@ namespace DiscordChatExporter.Gui.ViewModels // Notify user MessengerInstance.Send( new ShowNotificationMessage( - $"DiscordChatExporter v{lastVersion} has been downloaded. " + - "It will be installed once you exit.", + $"DiscordChatExporter v{lastVersion} has been downloaded – it will be installed when you exit", "INSTALL NOW", async () => { @@ -186,13 +185,13 @@ namespace DiscordChatExporter.Gui.ViewModels } catch (HttpErrorStatusCodeException ex) when (ex.StatusCode == HttpStatusCode.Unauthorized) { - const string message = "Unauthorized to perform request. Make sure token is valid."; - MessengerInstance.Send(new ShowErrorMessage(message)); + const string message = "Unauthorized – make sure the token is valid"; + MessengerInstance.Send(new ShowNotificationMessage(message)); } catch (HttpErrorStatusCodeException ex) when (ex.StatusCode == HttpStatusCode.Forbidden) { - const string message = "Forbidden to perform request. The account may be locked by 2FA."; - MessengerInstance.Send(new ShowErrorMessage(message)); + const string message = "Forbidden – account may be locked by 2FA"; + MessengerInstance.Send(new ShowNotificationMessage(message)); } AvailableGuilds = _guildChannelsMap.Keys.ToArray(); @@ -237,12 +236,14 @@ namespace DiscordChatExporter.Gui.ViewModels await _exportService.ExportAsync(format, filePath, log); // Notify completion - MessengerInstance.Send(new ShowExportDoneMessage(filePath)); + MessengerInstance.Send(new ShowNotificationMessage($"Export completed for channel [{channel.Name}]", + "OPEN", + () => Process.Start(filePath))); } catch (HttpErrorStatusCodeException ex) when (ex.StatusCode == HttpStatusCode.Forbidden) { - const string message = "Forbidden to view messages in that channel."; - MessengerInstance.Send(new ShowErrorMessage(message)); + const string message = "You don't have access to that channel"; + MessengerInstance.Send(new ShowNotificationMessage(message)); } IsBusy = false; diff --git a/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy b/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy deleted file mode 100644 index 3715634..0000000 --- a/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy +++ /dev/null @@ -1,40 +0,0 @@ -using MaterialDesignThemes.Wpf - -UserControl "DiscordChatExporter.Gui.Views.ExportDoneDialog" { - DataContext: bind ExportDoneViewModel from $resource Container - Width: 250 - - StackPanel { - // Message - TextBlock { - Margin: 16 - FontSize: 16 - TextWrapping: WrapWithOverflow - Text: "Finished exporting chat log" - } - - // Buttons - @StackPanelHorizontal { - HorizontalAlignment: Right - - // Open - Button "OpenButton" { - Margin: 8 - Click: OpenButton_Click - Command: bind OpenCommand - Content: "OPEN" - IsDefault: true - Style: resource dyn "MaterialDesignFlatButton" - } - - // Dismiss - Button { - Margin: 8 - Command: DialogHost.CloseDialogCommand - Content: "DISMISS" - IsCancel: true - Style: resource dyn "MaterialDesignFlatButton" - } - } - } -} \ No newline at end of file diff --git a/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy.cs b/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy.cs deleted file mode 100644 index fb5dfa4..0000000 --- a/DiscordChatExporter.Gui/Views/ExportDoneDialog.ammy.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Windows; -using MaterialDesignThemes.Wpf; - -namespace DiscordChatExporter.Gui.Views -{ - public partial class ExportDoneDialog - { - public ExportDoneDialog() - { - InitializeComponent(); - } - - public void OpenButton_Click(object sender, RoutedEventArgs args) - { - DialogHost.CloseDialogCommand.Execute(null, null); - } - } -} diff --git a/DiscordChatExporter.Gui/Views/MainWindow.ammy.cs b/DiscordChatExporter.Gui/Views/MainWindow.ammy.cs index 49c1a62..cc269e4 100644 --- a/DiscordChatExporter.Gui/Views/MainWindow.ammy.cs +++ b/DiscordChatExporter.Gui/Views/MainWindow.ammy.cs @@ -21,10 +21,6 @@ namespace DiscordChatExporter.Gui.Views m => Snackbar.MessageQueue.Enqueue(m.Message, m.CallbackCaption, m.Callback)); // Dialog messages - Messenger.Default.Register(this, - m => DialogHost.Show(new ErrorDialog()).Forget()); - Messenger.Default.Register(this, - m => DialogHost.Show(new ExportDoneDialog()).Forget()); Messenger.Default.Register(this, m => DialogHost.Show(new ExportSetupDialog()).Forget()); Messenger.Default.Register(this,