Skip to content

Commit c5a0264

Browse files
authored
Feature: Log export exception, re-design about page (#2958)
1 parent 8f8dcf9 commit c5a0264

25 files changed

+313
-130
lines changed

Source/NETworkManager.Localization/Resources/Strings.Designer.cs

+72
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/NETworkManager.Localization/Resources/Strings.resx

+24
Original file line numberDiff line numberDiff line change
@@ -3852,4 +3852,28 @@ Right-click for more options.</value>
38523852
<data name="OpenDocumentation" xml:space="preserve">
38533853
<value>Open documentation</value>
38543854
</data>
3855+
<data name="StarForkTheProjectOnGitHub" xml:space="preserve">
3856+
<value />
3857+
</data>
3858+
<data name="ToolTip_GitHubProjectUrl" xml:space="preserve">
3859+
<value />
3860+
</data>
3861+
<data name="ToolTip_TransifexProjectUrl" xml:space="preserve">
3862+
<value />
3863+
</data>
3864+
<data name="ToolTip_TwitterContactUrl" xml:space="preserve">
3865+
<value />
3866+
</data>
3867+
<data name="ReportAnIssueOrCreateAFeatureRequest" xml:space="preserve">
3868+
<value />
3869+
</data>
3870+
<data name="ToolTip_GithubNewIssueUrl" xml:space="preserve">
3871+
<value />
3872+
</data>
3873+
<data name="ToolTip_GithubDocumentationUrl" xml:space="preserve">
3874+
<value />
3875+
</data>
3876+
<data name="Donate" xml:space="preserve">
3877+
<value>Donate</value>
3878+
</data>
38553879
</root>

Source/NETworkManager/ViewModels/ARPTableViewModel.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Windows.Data;
1010
using System.Windows.Input;
1111
using System.Windows.Threading;
12+
using log4net;
1213
using MahApps.Metro.Controls;
1314
using MahApps.Metro.Controls.Dialogs;
1415
using NETworkManager.Localization.Resources;
@@ -69,7 +70,8 @@ public ARPTableViewModel(IDialogCoordinator instance)
6970
#endregion
7071

7172
#region Variables
72-
73+
private static readonly ILog Log = LogManager.GetLogger(typeof(ARPTableViewModel));
74+
7375
private readonly IDialogCoordinator _dialogCoordinator;
7476

7577
private readonly bool _isLoading;
@@ -390,6 +392,8 @@ private async Task ExportAction()
390392
}
391393
catch (Exception ex)
392394
{
395+
Log.Error("Error while exporting data as " + instance.FileType, ex);
396+
393397
var settings = AppearanceManager.MetroDialog;
394398
settings.AffirmativeButtonText = Strings.OK;
395399

Source/NETworkManager/ViewModels/AboutViewModel.cs

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
using System;
2-
using System.ComponentModel;
3-
using System.Diagnostics;
4-
using System.Windows.Data;
5-
using System.Windows.Input;
6-
using NETworkManager.Documentation;
1+
using NETworkManager.Documentation;
72
using NETworkManager.Localization.Resources;
83
using NETworkManager.Properties;
94
using NETworkManager.Settings;
105
using NETworkManager.Update;
116
using NETworkManager.Utilities;
7+
using System;
8+
using System.ComponentModel;
9+
using System.Diagnostics;
10+
using System.Threading.Tasks;
11+
using System.Windows.Data;
12+
using System.Windows.Input;
1213

1314
namespace NETworkManager.ViewModels;
1415

@@ -33,13 +34,16 @@ public AboutViewModel()
3334

3435
#region Methods
3536

36-
private void CheckForUpdates()
37+
private async Task CheckForUpdatesAsync()
3738
{
3839
IsUpdateAvailable = false;
3940
ShowUpdaterMessage = false;
4041

4142
IsUpdateCheckRunning = true;
4243

44+
// Show a loading animation for the user
45+
await Task.Delay(1000);
46+
4347
var updater = new Updater();
4448

4549
updater.UpdateAvailable += Updater_UpdateAvailable;
@@ -208,7 +212,7 @@ public ResourceInfo SelectedResourceInfo
208212

209213
private void CheckForUpdatesAction()
210214
{
211-
CheckForUpdates();
215+
CheckForUpdatesAsync();
212216
}
213217

214218
public ICommand OpenWebsiteCommand => new RelayCommand(OpenWebsiteAction);

Source/NETworkManager/ViewModels/BitCalculatorViewModel.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ namespace NETworkManager.ViewModels;
2121
public class BitCalculatorViewModel : ViewModelBase
2222
{
2323
#region Variables
24-
2524
private readonly IDialogCoordinator _dialogCoordinator;
2625

2726
private static readonly ILog Log = LogManager.GetLogger(typeof(BitCalculatorViewModel));
@@ -185,6 +184,8 @@ private async Task ExportAction()
185184
}
186185
catch (Exception ex)
187186
{
187+
Log.Error("Error while exporting data as " + instance.FileType, ex);
188+
188189
var settings = AppearanceManager.MetroDialog;
189190
settings.AffirmativeButtonText = Strings.OK;
190191

Source/NETworkManager/ViewModels/ConnectionsViewModel.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Windows.Data;
1010
using System.Windows.Input;
1111
using System.Windows.Threading;
12+
using log4net;
1213
using MahApps.Metro.Controls;
1314
using MahApps.Metro.Controls.Dialogs;
1415
using NETworkManager.Localization;
@@ -93,7 +94,8 @@ private async void AutoRefreshTimer_Tick(object sender, EventArgs e)
9394
#endregion
9495

9596
#region Variables
96-
97+
private static readonly ILog Log = LogManager.GetLogger(typeof(ConnectionsViewModel));
98+
9799
private readonly IDialogCoordinator _dialogCoordinator;
98100

99101
private readonly bool _isLoading;
@@ -307,6 +309,8 @@ private async Task ExportAction()
307309
}
308310
catch (Exception ex)
309311
{
312+
Log.Error("Error while exporting data as " + instance.FileType, ex);
313+
310314
var settings = AppearanceManager.MetroDialog;
311315
settings.AffirmativeButtonText = Strings.OK;
312316

Source/NETworkManager/ViewModels/DNSLookupViewModel.cs

+6-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.Windows.Input;
1111
using System.Windows.Threading;
1212
using DnsClient;
13+
using log4net;
1314
using MahApps.Metro.Controls;
1415
using MahApps.Metro.Controls.Dialogs;
1516
using NETworkManager.Controls;
@@ -25,6 +26,7 @@ namespace NETworkManager.ViewModels;
2526
public class DNSLookupViewModel : ViewModelBase
2627
{
2728
#region Variables
29+
private static readonly ILog Log = LogManager.GetLogger(typeof(DNSLookupViewModel));
2830

2931
private readonly IDialogCoordinator _dialogCoordinator;
3032

@@ -387,6 +389,8 @@ private async Task Export()
387389
}
388390
catch (Exception ex)
389391
{
392+
Log.Error("Error while exporting data as " + instance.FileType, ex);
393+
390394
var settings = AppearanceManager.MetroDialog;
391395
settings.AffirmativeButtonText = Strings.OK;
392396

@@ -398,10 +402,9 @@ await _dialogCoordinator.ShowMessageAsync(window, Strings.Error,
398402
SettingsManager.Current.DNSLookup_ExportFileType = instance.FileType;
399403
SettingsManager.Current.DNSLookup_ExportFilePath = instance.FilePath;
400404
}, _ => { _dialogCoordinator.HideMetroDialogAsync(window, customDialog); },
401-
new[]
402-
{
405+
[
403406
ExportFileType.Csv, ExportFileType.Xml, ExportFileType.Json
404-
}, true,
407+
], true,
405408
SettingsManager.Current.DNSLookup_ExportFileType, SettingsManager.Current.DNSLookup_ExportFilePath);
406409

407410
customDialog.Content = new ExportDialog

Source/NETworkManager/ViewModels/DiscoveryProtocolViewModel.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Windows;
77
using System.Windows.Input;
88
using System.Windows.Threading;
9+
using log4net;
910
using MahApps.Metro.Controls.Dialogs;
1011
using NETworkManager.Localization.Resources;
1112
using NETworkManager.Models.Export;
@@ -19,6 +20,7 @@ namespace NETworkManager.ViewModels;
1920
public class DiscoveryProtocolViewModel : ViewModelBase
2021
{
2122
#region Variables
23+
private static readonly ILog Log = LogManager.GetLogger(typeof(DiscoveryProtocolViewModel));
2224

2325
private readonly IDialogCoordinator _dialogCoordinator;
2426

@@ -281,6 +283,8 @@ private async Task CaptureAction()
281283
}
282284
catch (Exception ex)
283285
{
286+
Log.Error("Error while trying to capture", ex);
287+
284288
await _dialogCoordinator.ShowMessageAsync(this, Strings.Error, ex.Message,
285289
MessageDialogStyle.Affirmative, AppearanceManager.MetroDialog);
286290
}
@@ -306,6 +310,8 @@ private async Task ExportAction()
306310
}
307311
catch (Exception ex)
308312
{
313+
Log.Error("Error while exporting data as " + instance.FileType, ex);
314+
309315
var settings = AppearanceManager.MetroDialog;
310316
settings.AffirmativeButtonText = Strings.OK;
311317

@@ -316,7 +322,8 @@ await _dialogCoordinator.ShowMessageAsync(this, Strings.Error,
316322

317323
SettingsManager.Current.DiscoveryProtocol_ExportFileType = instance.FileType;
318324
SettingsManager.Current.DiscoveryProtocol_ExportFilePath = instance.FilePath;
319-
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); }, [
325+
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); },
326+
[
320327
ExportFileType.Csv, ExportFileType.Xml, ExportFileType.Json
321328
], false, SettingsManager.Current.DiscoveryProtocol_ExportFileType,
322329
SettingsManager.Current.DiscoveryProtocol_ExportFilePath);

Source/NETworkManager/ViewModels/IPGeolocationViewModel.cs

+2
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ private async Task Export()
253253
}
254254
catch (Exception ex)
255255
{
256+
Log.Error("Error while exporting data as " + instance.FileType, ex);
257+
256258
var settings = AppearanceManager.MetroDialog;
257259
settings.AffirmativeButtonText = Strings.OK;
258260

Source/NETworkManager/ViewModels/IPScannerViewModel.cs

+8-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using System.Windows.Data;
1414
using System.Windows.Input;
1515
using System.Windows.Threading;
16+
using log4net;
1617
using MahApps.Metro.Controls;
1718
using MahApps.Metro.Controls.Dialogs;
1819
using NETworkManager.Controls;
@@ -32,11 +33,12 @@ namespace NETworkManager.ViewModels;
3233
public class IPScannerViewModel : ViewModelBase, IProfileManagerMinimal
3334
{
3435
#region Variables
35-
36+
private static readonly ILog Log = LogManager.GetLogger(typeof(IPScannerViewModel));
37+
3638
private readonly IDialogCoordinator _dialogCoordinator;
3739

3840
private CancellationTokenSource _cancellationTokenSource;
39-
41+
4042
private readonly Guid _tabId;
4143
private bool _firstLoad = true;
4244
private bool _closed;
@@ -510,6 +512,8 @@ private async Task CustomCommand(object guid)
510512
}
511513
catch (Exception ex)
512514
{
515+
Log.Error("Error trying to run custom command", ex);
516+
513517
await _dialogCoordinator.ShowMessageAsync(this,
514518
Strings.ResourceManager.GetString("Error",
515519
LocalizationManager.GetInstance().Culture), ex.Message, MessageDialogStyle.Affirmative,
@@ -555,6 +559,8 @@ private Task Export()
555559
}
556560
catch (Exception ex)
557561
{
562+
Log.Error("Error while exporting data as " + instance.FileType, ex);
563+
558564
var settings = AppearanceManager.MetroDialog;
559565
settings.AffirmativeButtonText = Strings.OK;
560566

0 commit comments

Comments
 (0)