1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-01 22:50:35 +00:00
6502bench/SourceGen/WpfGui/AboutBox.xaml.cs
Andy McFadden d6cfc83368 Disable "prefer 32 bit" build flag
The build flag causes the application to run as a 32-bit app on 64-bit
systems, which we don't want.  We're still using "Any CPU" as the
platform target, so it will continue to work on 32-bit x86 systems;
we just no longer force it to always be 32-bit.

This only affects the main .NET Framework application executable.
The setting is not relevant for the libraries.

(Note to future self: the way things work changed with .NET Core,
which requires different executables for different targets, specified
with the RID.  The older .NET Framework is Windows-only, which makes
it easier to have a single multi-target EXE.)
2024-05-09 10:03:08 -07:00

91 lines
2.7 KiB
C#

/*
* Copyright 2019 faddenSoft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows;
namespace SourceGen.WpfGui {
/// <summary>
/// "About" dialog.
/// </summary>
public partial class AboutBox : Window {
private const string LEGAL_STUFF_FILE_NAME = "LegalStuff.txt";
/// <summary>
/// Version string, for display.
/// </summary>
public string ProgramVersionString {
get { return App.ProgramVersion.ToString(); }
}
/// <summary>
/// Operating system version, for display.
/// </summary>
public string OsPlatform {
get {
return "OS: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription;
}
}
/// <summary>
/// Runtime information, for display.
/// </summary>
public string RuntimeInfo {
get {
return "Runtime: " + RuntimeInformation.FrameworkDescription + ", " +
"OS-arch " + RuntimeInformation.OSArchitecture + ", proc-arch " +
RuntimeInformation.ProcessArchitecture;
}
}
/// <summary>
/// Determines whether a message about assertions is visible.
/// </summary>
public Visibility DebugMessageVisibility {
get {
#if DEBUG
return Visibility.Visible;
#else
return Visibility.Collapsed;
#endif
}
}
public AboutBox(Window owner) {
InitializeComponent();
Owner = owner;
DataContext = this;
}
private void Window_Loaded(object sender, RoutedEventArgs e) {
string text;
string pathName = RuntimeDataAccess.GetPathName(LEGAL_STUFF_FILE_NAME);
try {
text = File.ReadAllText(pathName);
} catch (Exception ex) {
text = ex.ToString();
}
legalStuffTextBox.Text = text;
}
private void WebSiteButton_Click(object sender, RoutedEventArgs e) {
CommonUtil.ShellCommand.OpenUrl("https://6502bench.com/");
}
}
}