diff --git a/WowUp.Common/Enums/WowClientType.cs b/WowUp.Common/Enums/WowClientType.cs
index 3bf3423d..a54f75c2 100644
--- a/WowUp.Common/Enums/WowClientType.cs
+++ b/WowUp.Common/Enums/WowClientType.cs
@@ -13,6 +13,7 @@ namespace WowUp.Common.Enums
[Display(Name = "Classic PTR")]
ClassicPtr,
[Display(Name = "Beta")]
- Beta
+ Beta,
+ None
}
}
diff --git a/WowUp.WPF/AddonProviders/CurseAddonProvider.cs b/WowUp.WPF/AddonProviders/CurseAddonProvider.cs
index 6673a28f..606ce0c5 100644
--- a/WowUp.WPF/AddonProviders/CurseAddonProvider.cs
+++ b/WowUp.WPF/AddonProviders/CurseAddonProvider.cs
@@ -570,8 +570,9 @@ namespace WowUp.WPF.AddonProviders
case WowClientType.Retail:
case WowClientType.RetailPtr:
case WowClientType.Beta:
- default:
return RetailGameVersionFlavor == gameVesionFlavor;
+ default:
+ return false;
}
}
@@ -585,8 +586,9 @@ namespace WowUp.WPF.AddonProviders
case WowClientType.Retail:
case WowClientType.RetailPtr:
case WowClientType.Beta:
- default:
return RetailGameVersionFlavor;
+ default:
+ return string.Empty;
}
}
}
diff --git a/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs b/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs
index a862e68c..abcff6bb 100644
--- a/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs
+++ b/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs
@@ -294,8 +294,9 @@ namespace WowUp.WPF.AddonProviders
case WowClientType.Retail:
case WowClientType.RetailPtr:
case WowClientType.Beta:
- default:
return "tukui_addons";
+ default:
+ return string.Empty;
}
}
@@ -309,8 +310,9 @@ namespace WowUp.WPF.AddonProviders
case WowClientType.Retail:
case WowClientType.RetailPtr:
case WowClientType.Beta:
- default:
return "addons";
+ default:
+ return string.Empty;
}
}
diff --git a/WowUp.WPF/MainWindow.xaml b/WowUp.WPF/MainWindow.xaml
index 4f13264e..3f0d7762 100644
--- a/WowUp.WPF/MainWindow.xaml
+++ b/WowUp.WPF/MainWindow.xaml
@@ -115,9 +115,13 @@
VerticalAlignment="Center"
HorizontalAlignment="Center">
-
-
-
+
+
-
diff --git a/WowUp.WPF/MainWindow.xaml.cs b/WowUp.WPF/MainWindow.xaml.cs
index 499f8cbc..46d799d7 100644
--- a/WowUp.WPF/MainWindow.xaml.cs
+++ b/WowUp.WPF/MainWindow.xaml.cs
@@ -172,11 +172,6 @@ namespace WowUp.WPF
_viewModel.SetRestoreMaximizeVisibility(WindowState);
}
- private void SelectWowButton_Click(object sender, RoutedEventArgs e)
- {
- _viewModel.SelectWowCommand.Execute(this);
- }
-
private void Window_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
}
diff --git a/WowUp.WPF/Services/SessionService.cs b/WowUp.WPF/Services/SessionService.cs
index 7b631a88..88be6be8 100644
--- a/WowUp.WPF/Services/SessionService.cs
+++ b/WowUp.WPF/Services/SessionService.cs
@@ -16,7 +16,8 @@ namespace WowUp.WPF.Services
public SessionService(
IWarcraftService warcraftService)
{
- var initialClientType = warcraftService.GetWowClientTypes().First();
+ var installedClientTypes = warcraftService.GetWowClientTypes();
+ var initialClientType = installedClientTypes.Any() ? installedClientTypes.First() : WowClientType.None;
_sessionState = new SessionState
{
diff --git a/WowUp.WPF/Services/WarcraftService.cs b/WowUp.WPF/Services/WarcraftService.cs
index 3b8530e6..023ee672 100644
--- a/WowUp.WPF/Services/WarcraftService.cs
+++ b/WowUp.WPF/Services/WarcraftService.cs
@@ -148,12 +148,15 @@ namespace WowUp.WPF.Services
public IList GetClientLocations()
{
+ return new List();
+
var clientTypes = EnumExtensions.Values();
return clientTypes.Select(clientType => GetClientLocation(clientType)).ToList();
}
public IList GetWowClientTypes()
{
+ return new List();
IList clients = new List();
var clientTypes = EnumExtensions.Values();
@@ -216,6 +219,11 @@ namespace WowUp.WPF.Services
public async Task> ListAddons(WowClientType clientType)
{
+ if(clientType == WowClientType.None)
+ {
+ return new List();
+ }
+
var addons = new List();
var addonsPath = GetAddonFolderPath(clientType);
diff --git a/WowUp.WPF/ViewModels/AddonsViewViewModel.cs b/WowUp.WPF/ViewModels/AddonsViewViewModel.cs
index a5a68fe7..33f32ebb 100644
--- a/WowUp.WPF/ViewModels/AddonsViewViewModel.cs
+++ b/WowUp.WPF/ViewModels/AddonsViewViewModel.cs
@@ -164,6 +164,11 @@ namespace WowUp.WPF.ViewModels
foreach(var clientType in _warcraftService.GetWowClientTypes())
{
+ if(clientType == WowClientType.None)
+ {
+ continue;
+ }
+
ClientTypeNames.Add(clientType);
}
}
diff --git a/WowUp.WPF/ViewModels/GetAddonsViewModel.cs b/WowUp.WPF/ViewModels/GetAddonsViewModel.cs
index f1a90586..d82fe1f3 100644
--- a/WowUp.WPF/ViewModels/GetAddonsViewModel.cs
+++ b/WowUp.WPF/ViewModels/GetAddonsViewModel.cs
@@ -190,27 +190,37 @@ namespace WowUp.WPF.ViewModels
{
IsBusy = true;
- _popularAddons = await _addonService.GetFeaturedAddons(SelectedClientType);
-
- lock (DisplayAddonsLock)
+ try
{
- DisplayAddons.Clear();
- foreach (var addon in _popularAddons)
+ if(SelectedClientType == WowClientType.None)
{
- if (_addonService.IsInstalled(addon.ExternalId, SelectedClientType))
+ return;
+ }
+
+ _popularAddons = await _addonService.GetFeaturedAddons(SelectedClientType);
+
+ lock (DisplayAddonsLock)
+ {
+ DisplayAddons.Clear();
+ foreach (var addon in _popularAddons)
{
- continue;
+ if (_addonService.IsInstalled(addon.ExternalId, SelectedClientType))
+ {
+ continue;
+ }
+
+ var viewModel = _serviceProvider.GetService();
+ viewModel.Addon = addon;
+ viewModel.ClientType = SelectedClientType;
+
+ DisplayAddons.Add(viewModel);
}
-
- var viewModel = _serviceProvider.GetService();
- viewModel.Addon = addon;
- viewModel.ClientType = SelectedClientType;
-
- DisplayAddons.Add(viewModel);
}
}
-
- IsBusy = false;
+ finally
+ {
+ IsBusy = false;
+ }
}
}
}
diff --git a/WowUp.WPF/ViewModels/MainWindowViewModel.cs b/WowUp.WPF/ViewModels/MainWindowViewModel.cs
index f5ea28d6..edcba04f 100644
--- a/WowUp.WPF/ViewModels/MainWindowViewModel.cs
+++ b/WowUp.WPF/ViewModels/MainWindowViewModel.cs
@@ -104,7 +104,6 @@ namespace WowUp.WPF.ViewModels
migrationService.MigrateDatabase();
InitializeView();
-
}
public void SetRestoreMaximizeVisibility(WindowState windowState)
@@ -194,7 +193,7 @@ namespace WowUp.WPF.ViewModels
private void CreateTabs()
{
- var tabStyle = System.Windows.Application.Current.TryFindResource("CustomTabItemStyle") as Style;
+ var tabStyle = Application.Current.TryFindResource("CustomTabItemStyle") as Style;
var addonsTab = new TabItem
{
diff --git a/WowUp.WPF/WowUp.WPF.csproj b/WowUp.WPF/WowUp.WPF.csproj
index cfb4c588..3e7a04c1 100644
--- a/WowUp.WPF/WowUp.WPF.csproj
+++ b/WowUp.WPF/WowUp.WPF.csproj
@@ -17,6 +17,7 @@
World of Warcraft addon updater
https://github.com/jliddev/WowUp
app.manifest
+ true