Compare commits

..

3 Commits

Author SHA1 Message Date
950844a14b Removed unused code. Minor code changes. 2021-01-19 20:37:13 +01:00
1602937be3 Automatically look up DLC when looking for AppID and when opening file with no config. 2021-01-19 13:35:13 +01:00
76f2d45f45 Added UI elements for global options.
Bigger minimal size for main window.
2021-01-19 13:23:31 +01:00
8 changed files with 94 additions and 47 deletions

View File

@ -24,7 +24,7 @@ namespace GoldbergGUI.Core.Models
set
{
_name = value;
_comparableName = Regex.Replace(value, Misc.SpecialCharsRegex, "").ToLower();
_comparableName = Regex.Replace(value, Misc.AlphaNumOnlyRegex, "").ToLower();
}
}

View File

@ -177,7 +177,7 @@ namespace GoldbergGUI.Core.Services
public SteamApp GetAppByName(string name)
{
_log.Info($"Trying to get app {name}");
var comparableName = Regex.Replace(name, Misc.SpecialCharsRegex, "").ToLower();
var comparableName = Regex.Replace(name, Misc.AlphaNumOnlyRegex, "").ToLower();
var app = _caches[AppType.Game].Cache.FirstOrDefault(x => x.CompareName(comparableName));
if (app != null) _log.Info($"Successfully got app {app}");
return app;

View File

@ -1,42 +1,25 @@
using System.Collections.ObjectModel;
namespace GoldbergGUI.Core.Utils
{
public class Misc
public static class Misc
{
public const string SpecialCharsRegex = "[^0-9a-zA-Z]+";
public const string DefaultLanguageSelection = "english";
public static readonly ObservableCollection<string> DefaultLanguages = new ObservableCollection<string>(new[]
{
"arabic",
"bulgarian",
"schinese",
"tchinese",
"czech",
"danish",
"dutch",
"english",
"finnish",
"french",
"german",
"greek",
"hungarian",
"italian",
"japanese",
"koreana",
"norwegian",
"polish",
"portuguese",
"brazilian",
"romanian",
"russian",
"spanish",
"latam",
"swedish",
"thai",
"turkish",
"ukrainian",
"vietnamese"
});
public const string AlphaNumOnlyRegex = "[^0-9a-zA-Z]+";
}
public class GlobalHelp
{
public static string Header =>
"Information\n";
public static string TextPreLink =>
"Usually these settings are saved under";
public static string Link => "%APPDATA%\\Goldberg SteamEmu Saves\\settings";
public static string TextPostLink =>
", which makes these " +
"available for every game that uses the Goldberg Emulator. However, if you want to set specific settings " +
"for certain games (e.g. different language), you can remove the \"Global\" checkmark next to the option " +
"and then change it. If you want to remove that setting, just empty the field while \"Global\" is " +
"unchecked. (Not implemented yet!)";
}
}

View File

@ -11,6 +11,7 @@ using System.Threading.Tasks;
using System.Windows;
using GoldbergGUI.Core.Models;
using GoldbergGUI.Core.Services;
using GoldbergGUI.Core.Utils;
using Microsoft.Win32;
using MvvmCross.Commands;
using MvvmCross.Logging;
@ -251,9 +252,6 @@ namespace GoldbergGUI.Core.ViewModels
}
}
public string AboutVersionText =>
FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
public string StatusText
{
get => _statusText;
@ -264,6 +262,11 @@ namespace GoldbergGUI.Core.ViewModels
}
}
public static string AboutVersionText =>
FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
public static GlobalHelp G => new GlobalHelp();
// COMMANDS //
public IMvxCommand OpenFileCommand => new MvxAsyncCommand(OpenFile);
@ -289,6 +292,7 @@ namespace GoldbergGUI.Core.ViewModels
DllPath = dialog.FileName;
await ReadConfig().ConfigureAwait(false);
if (!GoldbergApplied) await GetListOfDlc().ConfigureAwait(false);
MainWindowEnabled = true;
StatusText = "Ready.";
}
@ -345,7 +349,7 @@ namespace GoldbergGUI.Core.ViewModels
await FindIdInList(steamApps).ConfigureAwait(false);
}
}
await GetListOfDlc().ConfigureAwait(false);
MainWindowEnabled = true;
StatusText = "Ready.";
}
@ -503,6 +507,22 @@ namespace GoldbergGUI.Core.ViewModels
}
});
public IMvxCommand OpenGlobalSettingsFolderCommand => new MvxCommand(OpenGlobalSettingsFolder);
private void OpenGlobalSettingsFolder()
{
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
StatusText = "Can't open folder (Windows only)! Ready.";
return;
}
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Goldberg SteamEmu Saves", "settings");
var start = Process.Start("explorer.exe", path);
start?.Dispose();
}
// OTHER METHODS //
private void ResetForm()

View File

@ -20,4 +20,20 @@
<ProjectReference Include="..\GoldbergGUI.Core\GoldbergGUI.Core.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Remove="publish\**" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="publish\**" />
</ItemGroup>
<ItemGroup>
<None Remove="publish\**" />
</ItemGroup>
<ItemGroup>
<Page Remove="publish\**" />
</ItemGroup>
</Project>

View File

@ -5,6 +5,6 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="GoldbergGUI" MinHeight="500" MinWidth="600" Background="#FFF0F0F0">
Title="GoldbergGUI" MinHeight="600" MinWidth="800" Background="#FFF0F0F0">
<Grid />
</views:MvxWindow>

View File

@ -96,26 +96,54 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="Account name" HorizontalAlignment="Left" Margin="0,0,10,0" />
<TextBox Text="{Binding AccountName, Mode=TwoWay}" Height="20" Grid.Row="0" Grid.Column="1"/>
<CheckBox Content="Global" Grid.Row="0" Grid.Column="2" HorizontalAlignment="Right"
Margin="10,0,0,0" VerticalAlignment="Center" IsChecked="True"
IsEnabled="False"/>
<!--
IsEnabled="{Binding DllSelected, UpdateSourceTrigger=PropertyChanged}"/>
-->
<Label Content="Steam64ID" HorizontalAlignment="Left" Grid.Row="1"
Grid.Column="0" Margin="0,0,10,0" />
<TextBox Text="{Binding SteamId, Mode=TwoWay}" Grid.Column="1" Height="20" Grid.Row="1"/>
<CheckBox Content="Global" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right"
Margin="10,0,0,0" VerticalAlignment="Center" IsChecked="True"
IsEnabled="False"/>
<!--
IsEnabled="{Binding DllSelected, UpdateSourceTrigger=PropertyChanged}"/>
-->
<Label Content="Language" HorizontalAlignment="Left" Grid.Row="2"
Grid.Column="0" Margin="0,0,10,0" />
<ComboBox Grid.Row="2" Grid.Column="1" ItemsSource="{Binding SteamLanguages}" SelectedItem="{Binding SelectedLanguage}"/>
<ComboBox Grid.Row="2" Grid.Column="1" ItemsSource="{Binding SteamLanguages}" SelectedItem="{Binding SelectedLanguage}" VerticalAlignment="Center"/>
<CheckBox Content="Global" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Right"
Margin="10,0,0,0" VerticalAlignment="Center" IsChecked="True"
IsEnabled="False"/>
<!--
IsEnabled="{Binding DllSelected, UpdateSourceTrigger=PropertyChanged}"/>
-->
<TextBlock TextWrapping="Wrap" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="3" Margin="5,10,5,5">
<Run Text="{Binding G.Header, Mode=OneTime}" FontWeight="Bold"/><!--
--><Run Text="{Binding G.TextPreLink, Mode=OneTime}"/>
<Hyperlink Command="{Binding OpenGlobalSettingsFolderCommand}"><Run
Text="{Binding G.Link, Mode=OneTime}"/></Hyperlink><!--
--><Run Text="{Binding G.TextPostLink, Mode=OneTime}"/>
</TextBlock>
</Grid>
</StackPanel>
</TabItem>
<TabItem Header="About" HorizontalAlignment="Center" Height="20" VerticalAlignment="Center" Width="54">
<StackPanel Margin="10,20,10,10">
<Label VerticalAlignment="Stretch" Content="{Binding AboutVersionText}">
<Label VerticalAlignment="Stretch" Content="{Binding AboutVersionText, Mode=OneTime}">
<Label.ContentTemplate>
<DataTemplate>
<StackPanel>

View File

@ -1,6 +1,6 @@
using MvvmCross.Platforms.Wpf.Presenters.Attributes;
using MvvmCross.Platforms.Wpf.Views;
// ReSharper disable UnusedType.Global
namespace GoldbergGUI.WPF.Views
{
[MvxWindowPresentation(Identifier = nameof(SearchResultView), Modal = false)]