@ -1,6 +1,6 @@
|
||||
# UniversalValveToolbox
|
||||
|
||||
# [![AppVeyor](https://img.shields.io/appveyor/ci/stamepicmorg/universalvalvetoolbox?style=flat-square)](https://ci.appveyor.com/project/stamepicmorg/universalvalvetoolbox) [![Size](https://img.shields.io/github/repo-size/EpicMorg/UniversalValveToolbox?label=size&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/releases) [![GitHub license](https://img.shields.io/github/license/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) [![Activity](https://img.shields.io/github/commit-activity/w/EpicMorg/UniversalValveToolbox?&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/stargazers) [![GitHub uses](https://img.shields.io/sourcegraph/rrc/github.com/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/pulse) [![CodeScene Code Health](https://codescene.io/projects/6852/status-badges/code-health)](https://codescene.io/projects/6852) [![CodeScene System Mastery](https://codescene.io/projects/6852/status-badges/system-mastery)](https://codescene.io/projects/6852)
|
||||
# [![AppVeyor](https://img.shields.io/appveyor/ci/stamepicmorg/universalvalvetoolbox?style=flat-square)](https://ci.appveyor.com/project/stamepicmorg/universalvalvetoolbox) [![Translation status](https://translate.epicm.org/widgets/universalvalvetoolbox/-/svg-badge.svg)](https://translate.epicm.org/engage/universalvalvetoolbox/?utm_source=widget) [![Size](https://img.shields.io/github/repo-size/EpicMorg/UniversalValveToolbox?label=size&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/releases) [![GitHub license](https://img.shields.io/github/license/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) [![Activity](https://img.shields.io/github/commit-activity/w/EpicMorg/UniversalValveToolbox?&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/stargazers) [![GitHub uses](https://img.shields.io/sourcegraph/rrc/github.com/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/pulse) [![CodeScene Code Health](https://codescene.io/projects/6852/status-badges/code-health)](https://codescene.io/projects/6852) [![CodeScene System Mastery](https://codescene.io/projects/6852/status-badges/system-mastery)](https://codescene.io/projects/6852)
|
||||
|
||||
[![](https://codescene.io/projects/6852/status.svg)](https://codescene.io/projects/6852/jobs/latest-successful/results)
|
||||
|
||||
|
11
docs/categories.md
Normal file
@ -0,0 +1,11 @@
|
||||
- catAddons
|
||||
- catCompileDecpmpile
|
||||
- catContent
|
||||
- catDocs
|
||||
- catLandscape
|
||||
- catMisc
|
||||
- catSettings
|
||||
- catTextures
|
||||
- catTools
|
||||
- catUtils
|
||||
- catWebLinks
|
25
src/UniversalValveToolbox.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29521.150
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalValveToolbox", "UniversalValveToolbox\UniversalValveToolbox.csproj", "{DE66895F-7317-45D3-B5CA-292253CE086A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {ECD6061F-2A57-4E06-983B-650FDA9A012C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
31
src/UniversalValveToolbox/Base/DtoModel.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace UniversalValveToolbox.Base {
|
||||
public abstract class DtoModel : INotifyPropertyChanged {
|
||||
|
||||
protected bool ForceUpdateField<T>(T value, ref T field, [CallerMemberName]string name = null) {
|
||||
field = value;
|
||||
OnPropertyChanged(name);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected bool UpdateField<T>(T value, ref T field, [CallerMemberName]string name = null) {
|
||||
var updated = !EqualityComparer<T>.Default.Equals(value, field);
|
||||
if (updated) {
|
||||
field = value;
|
||||
OnPropertyChanged(name);
|
||||
}
|
||||
return updated;
|
||||
}
|
||||
|
||||
protected void OnPropertyChanged([CallerMemberName]string name = null) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
}
|
||||
}
|
47
src/UniversalValveToolbox/Model/Dto/AddonDtoModel.cs
Normal file
@ -0,0 +1,47 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class AddonDtoModel : DtoModel {
|
||||
private int[] engines;
|
||||
private string args;
|
||||
private string bin;
|
||||
private string name;
|
||||
private string category;
|
||||
|
||||
public AddonDtoModel() {
|
||||
this.engines = new int[0];
|
||||
this.args = string.Empty;
|
||||
this.bin = string.Empty;
|
||||
this.name = string.Empty;
|
||||
this.category = string.Empty;
|
||||
}
|
||||
|
||||
public int[] Engines {
|
||||
get => engines;
|
||||
set => UpdateField(value, ref engines);
|
||||
}
|
||||
|
||||
public string Name {
|
||||
get => name;
|
||||
set => UpdateField(value, ref name);
|
||||
}
|
||||
|
||||
public string Category {
|
||||
get => category;
|
||||
set => UpdateField(value, ref category);
|
||||
}
|
||||
|
||||
public string Bin {
|
||||
get => bin;
|
||||
set => UpdateField(value, ref bin);
|
||||
}
|
||||
|
||||
public string Args {
|
||||
get => args;
|
||||
set => UpdateField(value, ref args);
|
||||
}
|
||||
|
||||
public override string ToString() => name ?? string.Empty;
|
||||
}
|
||||
|
||||
}
|
32
src/UniversalValveToolbox/Model/Dto/EngineDtoModel.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class EngineDtoModel : DtoModel {
|
||||
private int appid;
|
||||
private string name;
|
||||
private string bin;
|
||||
private ToolDtoModel[] tools;
|
||||
|
||||
public int Appid {
|
||||
get => appid;
|
||||
set => UpdateField(value, ref appid);
|
||||
}
|
||||
|
||||
public string Name {
|
||||
get => name;
|
||||
set => UpdateField(value, ref name);
|
||||
}
|
||||
|
||||
public string Bin {
|
||||
get => bin;
|
||||
set => UpdateField(value, ref bin);
|
||||
}
|
||||
|
||||
public ToolDtoModel[] Tools {
|
||||
get => tools;
|
||||
set => UpdateField(value, ref tools);
|
||||
}
|
||||
|
||||
public override string ToString() => name;
|
||||
}
|
||||
}
|
39
src/UniversalValveToolbox/Model/Dto/ProjectDtoModel.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class ProjectDtoModel : DtoModel {
|
||||
private int engine;
|
||||
private string path;
|
||||
private string name;
|
||||
private string args;
|
||||
|
||||
public ProjectDtoModel() {
|
||||
this.engine = 0;
|
||||
this.path = string.Empty;
|
||||
this.name = string.Empty;
|
||||
this.args = string.Empty;
|
||||
}
|
||||
|
||||
public int Engine {
|
||||
get => engine;
|
||||
set => UpdateField(value, ref engine);
|
||||
}
|
||||
|
||||
public string Path {
|
||||
get => path;
|
||||
set => UpdateField(value, ref path);
|
||||
}
|
||||
|
||||
public string Name {
|
||||
get => name;
|
||||
set => UpdateField(value, ref name);
|
||||
}
|
||||
|
||||
public string Args {
|
||||
get => args;
|
||||
set => UpdateField(value, ref args);
|
||||
}
|
||||
|
||||
public override string ToString() => name ?? string.Empty;
|
||||
}
|
||||
}
|
24
src/UniversalValveToolbox/Model/Dto/SettingsDtoModel.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class SettingsDtoModel : DtoModel {
|
||||
private string lastSelectedProject;
|
||||
private string[] availableLanguages;
|
||||
private string language;
|
||||
|
||||
public string LastSelectedProject {
|
||||
get => lastSelectedProject;
|
||||
set => UpdateField(value, ref lastSelectedProject);
|
||||
}
|
||||
|
||||
public string[] AvailableLanguages {
|
||||
get => availableLanguages;
|
||||
set => UpdateField(value, ref availableLanguages);
|
||||
}
|
||||
|
||||
public string Language {
|
||||
get => language;
|
||||
set => UpdateField(value, ref language);
|
||||
}
|
||||
}
|
||||
}
|
24
src/UniversalValveToolbox/Model/Dto/ToolDtoModel.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class ToolDtoModel : DtoModel {
|
||||
private string args;
|
||||
private string bin;
|
||||
private string name;
|
||||
|
||||
public string Args {
|
||||
get => args;
|
||||
set => UpdateField(value, ref args);
|
||||
}
|
||||
|
||||
public string Bin {
|
||||
get => bin;
|
||||
set => UpdateField(value, ref bin);
|
||||
}
|
||||
|
||||
public string Name {
|
||||
get => name;
|
||||
set => UpdateField(value, ref name);
|
||||
}
|
||||
}
|
||||
}
|
83
src/UniversalValveToolbox/Model/Provider/DataProvider.cs
Normal file
@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using UniversalValveToolbox.Utils;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Provider {
|
||||
class DataProvider {
|
||||
|
||||
public static readonly string JsonRootPath = Path.Combine(Application.StartupPath, "json");
|
||||
public static readonly string SettingsPath = Path.Combine(JsonRootPath, "settings.json");
|
||||
public static readonly string EnginesPath = Path.Combine(JsonRootPath, "engines");
|
||||
public static readonly string ProjectsPath = Path.Combine(JsonRootPath, "projects");
|
||||
public static readonly string AddonsPath = Path.Combine(JsonRootPath, "addons");
|
||||
|
||||
public static readonly SettingsDtoModel DefaultSettings = GenerateDefaultSettings();
|
||||
|
||||
|
||||
|
||||
public SettingsDtoModel Settings {
|
||||
get {
|
||||
validateJsonFolder();
|
||||
|
||||
return JsonFileUtil.ReadValue<SettingsDtoModel>(SettingsPath, DefaultSettings);
|
||||
}
|
||||
|
||||
set {
|
||||
validateJsonFolder();
|
||||
|
||||
JsonFileUtil.WriteValue(SettingsPath, value);
|
||||
}
|
||||
}
|
||||
|
||||
public EngineDtoModel[] Engines {
|
||||
get {
|
||||
validateJsonFolder();
|
||||
return JsonFileUtil.ReadValues<EngineDtoModel>(EnginesPath);
|
||||
}
|
||||
}
|
||||
|
||||
public AddonDtoModel[] Addons {
|
||||
get {
|
||||
validateJsonFolder();
|
||||
return JsonFileUtil.ReadValues<AddonDtoModel>(AddonsPath);
|
||||
}
|
||||
}
|
||||
|
||||
public ProjectDtoModel[] Projects {
|
||||
get {
|
||||
validateJsonFolder();
|
||||
return JsonFileUtil.ReadValues<ProjectDtoModel>(ProjectsPath);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateJsonFolder() {
|
||||
if (!Directory.Exists(JsonRootPath)) {
|
||||
Directory.CreateDirectory(JsonRootPath);
|
||||
}
|
||||
}
|
||||
|
||||
private static SettingsDtoModel GenerateDefaultSettings() {
|
||||
var result = new SettingsDtoModel();
|
||||
result.Language = "en-US"; //may be fix in future
|
||||
|
||||
var listLang = new List<string>();
|
||||
var resourceSet = Properties.translations.LangDict.ResourceManager.GetResourceSet(new CultureInfo("en-US"), true, true);
|
||||
foreach (DictionaryEntry entry in resourceSet) {
|
||||
listLang.Add(entry.Key.ToString());
|
||||
}
|
||||
|
||||
result.AvailableLanguages = listLang.ToArray();
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
using UniversalValveToolbox.Properties.translations;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Provider {
|
||||
public class LanguageProvider {
|
||||
public string[] Languages { get; } = { LangDict.en_US, LangDict.ru_RU };
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UniversalValveToolbox.Base;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using static System.Windows.Forms.ListView;
|
||||
|
||||
namespace UniversalValveToolbox.Model.ViewModel {
|
||||
class FormAddonViewModel: DtoModel {
|
||||
private AddonDtoModel[] addons;
|
||||
private int selectAddonIndex = 0;
|
||||
private int selectCategoryIndex = 0;
|
||||
|
||||
private EngineDtoModel[] engines;
|
||||
private DictionaryEntry[] categories;
|
||||
|
||||
public FormAddonViewModel(AddonDtoModel[] addons, EngineDtoModel[] engines, DictionaryEntry[] categories) {
|
||||
this.addons = addons;
|
||||
this.engines = engines;
|
||||
this.categories = categories;
|
||||
}
|
||||
|
||||
public AddonDtoModel[] Addons {
|
||||
get => addons;
|
||||
set {
|
||||
UpdateField(value, ref addons);
|
||||
|
||||
SelectAddonIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public DictionaryEntry[] Categories {
|
||||
get => categories;
|
||||
set {
|
||||
UpdateField(value, ref categories);
|
||||
|
||||
SelectCategoryIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public int SelectAddonIndex {
|
||||
get => selectAddonIndex;
|
||||
set {
|
||||
ForceUpdateField(value, ref selectAddonIndex);
|
||||
OnPropertyChanged(nameof(SelectAddon));
|
||||
}
|
||||
}
|
||||
|
||||
public int SelectCategoryIndex {
|
||||
get => selectCategoryIndex;
|
||||
set {
|
||||
ForceUpdateField(value, ref selectCategoryIndex);
|
||||
OnPropertyChanged(nameof(SelectCategory));
|
||||
}
|
||||
}
|
||||
|
||||
public AddonDtoModel SelectAddon {
|
||||
get {
|
||||
if (addons == null || addons.Length == 0)
|
||||
return null;
|
||||
|
||||
return addons[selectAddonIndex];
|
||||
}
|
||||
}
|
||||
|
||||
public DictionaryEntry SelectCategory {
|
||||
get { return categories[selectCategoryIndex]; }
|
||||
}
|
||||
|
||||
public EngineDtoModel[] Engines {
|
||||
get => engines;
|
||||
set {
|
||||
UpdateField(value, ref engines);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using UniversalValveToolbox.Base;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using UniversalValveToolbox.Model.Provider;
|
||||
|
||||
namespace UniversalValveToolbox.Model.ViewModel {
|
||||
public class SettingsViewModel : DtoModel {
|
||||
private readonly SettingsDtoModel settings;
|
||||
private readonly LanguageProvider languageProvider;
|
||||
|
||||
private int selectedLanguage;
|
||||
|
||||
public int SelectedLanguageIndex {
|
||||
get => selectedLanguage;
|
||||
set {
|
||||
if (UpdateField(value, ref selectedLanguage)) {
|
||||
settings.Language = settings.AvailableLanguages[selectedLanguage];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string[] Languages => languageProvider.Languages;
|
||||
private string SelectedLanguage => Languages[SelectedLanguageIndex];
|
||||
|
||||
public SettingsViewModel(SettingsDtoModel settings, LanguageProvider languageProvider) {
|
||||
this.settings = settings;
|
||||
this.languageProvider = languageProvider;
|
||||
|
||||
SelectedLanguageIndex = Math.Max(0, Array.IndexOf(settings.AvailableLanguages, settings.Language));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.ViewModel {
|
||||
class SteamDataViewModel : DtoModel {
|
||||
private int steamPid;
|
||||
private string userNameSteam;
|
||||
|
||||
public int SteamPid {
|
||||
get => steamPid;
|
||||
set => UpdateField(value, ref steamPid);
|
||||
}
|
||||
|
||||
public string UserNameSteam {
|
||||
get => userNameSteam;
|
||||
set => UpdateField(value, ref userNameSteam);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UniversalValveToolbox.Base;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
|
||||
namespace UniversalValveToolbox.Model.ViewModel {
|
||||
class FormProjectViewModel: DtoModel {
|
||||
private ProjectDtoModel[] projects;
|
||||
private int selectProjectIndex = 0;
|
||||
|
||||
private EngineDtoModel[] engines;
|
||||
private int selectEngineIndex = 0;
|
||||
|
||||
public FormProjectViewModel(ProjectDtoModel[] projects, EngineDtoModel[] engines) {
|
||||
this.projects = projects;
|
||||
this.engines = engines;
|
||||
}
|
||||
|
||||
public ProjectDtoModel[] Projects {
|
||||
get => projects;
|
||||
set {
|
||||
UpdateField(value, ref projects);
|
||||
|
||||
SelectProjectIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public int SelectProjectIndex {
|
||||
get => selectProjectIndex;
|
||||
set {
|
||||
ForceUpdateField(value, ref selectProjectIndex);
|
||||
OnPropertyChanged(nameof(SelectProject));
|
||||
|
||||
var index = Math.Max(engines.ToList().FindIndex(engine => engine.Appid == SelectProject?.Engine), -1);
|
||||
|
||||
SelectEngineIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
public ProjectDtoModel SelectProject {
|
||||
get {
|
||||
if (projects == null || projects.Length == 0)
|
||||
return null;
|
||||
|
||||
return projects[selectProjectIndex];
|
||||
}
|
||||
}
|
||||
|
||||
public EngineDtoModel[] Engines {
|
||||
get => engines;
|
||||
set {
|
||||
UpdateField(value, ref engines);
|
||||
|
||||
SelectEngineIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public int SelectEngineIndex {
|
||||
get => selectEngineIndex;
|
||||
set {
|
||||
ForceUpdateField(value, ref selectEngineIndex);
|
||||
OnPropertyChanged(nameof(SelectEngine));
|
||||
}
|
||||
}
|
||||
|
||||
public EngineDtoModel SelectEngine => engines[selectEngineIndex];
|
||||
}
|
||||
}
|
23
src/UniversalValveToolbox/Program.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Utils;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
static class Program {
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main() {
|
||||
var dataProvide = new DataProvider();
|
||||
var currSettings = dataProvide.Settings;
|
||||
|
||||
LanguageManager.UpdateLanguage(currSettings.Language);
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FormMain());
|
||||
}
|
||||
}
|
||||
}
|
37
src/UniversalValveToolbox/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Universal Valve Toolbox")]
|
||||
[assembly: AssemblyDescription("Universal Valve Toolbox")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("EpicMorg")]
|
||||
[assembly: AssemblyProduct("Universal Valve Toolbox")]
|
||||
[assembly: AssemblyCopyright("Copyright © EpicMorg")]
|
||||
[assembly: AssemblyTrademark("Valve")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("de66895f-7317-45d3-b5ca-292253ce086a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
143
src/UniversalValveToolbox/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,143 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap cancel_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("cancel_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap checked_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("checked_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap human_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("human_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap info_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("info_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap plug_silhouette_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("plug-silhouette_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap refresh_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("refresh_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap run_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("run_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap valve_64 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("valve_64", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
145
src/UniversalValveToolbox/Properties/Resources.resx
Normal file
@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="checked_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\checked_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="valve_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\valve_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\cancel_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="refresh_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\refresh_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="human_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\human_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="info_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\info_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="plug-silhouette_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\plug-silhouette_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="run_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\run_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
30
src/UniversalValveToolbox/Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
7
src/UniversalValveToolbox/Properties/Settings.settings
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
90
src/UniversalValveToolbox/Properties/translations/LangDict.Designer.cs
generated
Normal file
@ -0,0 +1,90 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class LangDict {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal LangDict() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.LangDict", typeof(LangDict).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to English.
|
||||
/// </summary>
|
||||
internal static string en_US {
|
||||
get {
|
||||
return ResourceManager.GetString("en-US", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Russian.
|
||||
/// </summary>
|
||||
internal static string ru_RU {
|
||||
get {
|
||||
return ResourceManager.GetString("ru-RU", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to EpicMorg.
|
||||
/// </summary>
|
||||
internal static string strLangAuthor {
|
||||
get {
|
||||
return ResourceManager.GetString("strLangAuthor", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
129
src/UniversalValveToolbox/Properties/translations/LangDict.resx
Normal file
@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="en-US" xml:space="preserve">
|
||||
<value>English</value>
|
||||
</data>
|
||||
<data name="ru-RU" xml:space="preserve">
|
||||
<value>Russian</value>
|
||||
</data>
|
||||
<data name="strLangAuthor" xml:space="preserve">
|
||||
<value>EpicMorg</value>
|
||||
</data>
|
||||
</root>
|
0
src/UniversalValveToolbox/Properties/translations/LangDict.ru.Designer.cs
generated
Normal file
@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="en-US" xml:space="preserve">
|
||||
<value>Английский</value>
|
||||
</data>
|
||||
<data name="ru-RU" xml:space="preserve">
|
||||
<value>Русский</value>
|
||||
</data>
|
||||
<data name="strLangAuthor" xml:space="preserve">
|
||||
<value>EpicMorg</value>
|
||||
</data>
|
||||
</root>
|
171
src/UniversalValveToolbox/Properties/translations/MenuCategories.Designer.cs
generated
Normal file
@ -0,0 +1,171 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class MenuCategories {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal MenuCategories() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.MenuCategories", typeof(MenuCategories).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Addons.
|
||||
/// </summary>
|
||||
internal static string catAddons {
|
||||
get {
|
||||
return ResourceManager.GetString("catAddons", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Compile or Decompile.
|
||||
/// </summary>
|
||||
internal static string catCompileDecompile {
|
||||
get {
|
||||
return ResourceManager.GetString("catCompileDecompile", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Content.
|
||||
/// </summary>
|
||||
internal static string catContent {
|
||||
get {
|
||||
return ResourceManager.GetString("catContent", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Docs.
|
||||
/// </summary>
|
||||
internal static string catDocs {
|
||||
get {
|
||||
return ResourceManager.GetString("catDocs", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Landscape.
|
||||
/// </summary>
|
||||
internal static string catLandscape {
|
||||
get {
|
||||
return ResourceManager.GetString("catLandscape", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Misc.
|
||||
/// </summary>
|
||||
internal static string catMisc {
|
||||
get {
|
||||
return ResourceManager.GetString("catMisc", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Settings.
|
||||
/// </summary>
|
||||
internal static string catSettings {
|
||||
get {
|
||||
return ResourceManager.GetString("catSettings", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Support.
|
||||
/// </summary>
|
||||
internal static string catSupport {
|
||||
get {
|
||||
return ResourceManager.GetString("catSupport", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Textures.
|
||||
/// </summary>
|
||||
internal static string catTextures {
|
||||
get {
|
||||
return ResourceManager.GetString("catTextures", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Tools.
|
||||
/// </summary>
|
||||
internal static string catTools {
|
||||
get {
|
||||
return ResourceManager.GetString("catTools", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Utils.
|
||||
/// </summary>
|
||||
internal static string catUtils {
|
||||
get {
|
||||
return ResourceManager.GetString("catUtils", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Web Links.
|
||||
/// </summary>
|
||||
internal static string catWebLinks {
|
||||
get {
|
||||
return ResourceManager.GetString("catWebLinks", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="catAddons" xml:space="preserve">
|
||||
<value>Addons</value>
|
||||
</data>
|
||||
<data name="catCompileDecompile" xml:space="preserve">
|
||||
<value>Compile or Decompile</value>
|
||||
</data>
|
||||
<data name="catContent" xml:space="preserve">
|
||||
<value>Content</value>
|
||||
</data>
|
||||
<data name="catDocs" xml:space="preserve">
|
||||
<value>Docs</value>
|
||||
</data>
|
||||
<data name="catLandscape" xml:space="preserve">
|
||||
<value>Landscape</value>
|
||||
</data>
|
||||
<data name="catMisc" xml:space="preserve">
|
||||
<value>Misc</value>
|
||||
</data>
|
||||
<data name="catSettings" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
<data name="catSupport" xml:space="preserve">
|
||||
<value>Support</value>
|
||||
</data>
|
||||
<data name="catTextures" xml:space="preserve">
|
||||
<value>Textures</value>
|
||||
</data>
|
||||
<data name="catTools" xml:space="preserve">
|
||||
<value>Tools</value>
|
||||
</data>
|
||||
<data name="catUtils" xml:space="preserve">
|
||||
<value>Utils</value>
|
||||
</data>
|
||||
<data name="catWebLinks" xml:space="preserve">
|
||||
<value>Web Links</value>
|
||||
</data>
|
||||
</root>
|
0
src/UniversalValveToolbox/Properties/translations/MenuCategories.ru.Designer.cs
generated
Normal file
@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="catAddons" xml:space="preserve">
|
||||
<value>Дополнения</value>
|
||||
</data>
|
||||
<data name="catCompileDecompile" xml:space="preserve">
|
||||
<value>Компиляция и Декомпиляция</value>
|
||||
</data>
|
||||
<data name="catContent" xml:space="preserve">
|
||||
<value>Контент</value>
|
||||
</data>
|
||||
<data name="catDocs" xml:space="preserve">
|
||||
<value>Документация</value>
|
||||
</data>
|
||||
<data name="catLandscape" xml:space="preserve">
|
||||
<value>Ландшафт</value>
|
||||
</data>
|
||||
<data name="catMisc" xml:space="preserve">
|
||||
<value>Разное</value>
|
||||
</data>
|
||||
<data name="catSettings" xml:space="preserve">
|
||||
<value>Настройки</value>
|
||||
</data>
|
||||
<data name="catSupport" xml:space="preserve">
|
||||
<value>Поддержка</value>
|
||||
</data>
|
||||
<data name="catTextures" xml:space="preserve">
|
||||
<value>Текстуры</value>
|
||||
</data>
|
||||
<data name="catTools" xml:space="preserve">
|
||||
<value>Программы</value>
|
||||
</data>
|
||||
<data name="catUtils" xml:space="preserve">
|
||||
<value>Утилиты</value>
|
||||
</data>
|
||||
<data name="catWebLinks" xml:space="preserve">
|
||||
<value>Ссылки на Web</value>
|
||||
</data>
|
||||
</root>
|
126
src/UniversalValveToolbox/Properties/translations/MenuItems.Designer.cs
generated
Normal file
@ -0,0 +1,126 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class MenuItems {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal MenuItems() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.MenuItems", typeof(MenuItems).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to About.
|
||||
/// </summary>
|
||||
internal static string itmAbout {
|
||||
get {
|
||||
return ResourceManager.GetString("itmAbout", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Edit Projects.
|
||||
/// </summary>
|
||||
internal static string itmEditConfigurations {
|
||||
get {
|
||||
return ResourceManager.GetString("itmEditConfigurations", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Edit Addons.
|
||||
/// </summary>
|
||||
internal static string itmEditPlugins {
|
||||
get {
|
||||
return ResourceManager.GetString("itmEditPlugins", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Sources on GitHub (link).
|
||||
/// </summary>
|
||||
internal static string itmGitHubLink {
|
||||
get {
|
||||
return ResourceManager.GetString("itmGitHubLink", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Report Issue, Bug, Feature Request, etc (link).
|
||||
/// </summary>
|
||||
internal static string itmGitHubReport {
|
||||
get {
|
||||
return ResourceManager.GetString("itmGitHubReport", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Open Settings.
|
||||
/// </summary>
|
||||
internal static string itmOpenSettings {
|
||||
get {
|
||||
return ResourceManager.GetString("itmOpenSettings", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Run Project.
|
||||
/// </summary>
|
||||
internal static string itmRunProject {
|
||||
get {
|
||||
return ResourceManager.GetString("itmRunProject", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
141
src/UniversalValveToolbox/Properties/translations/MenuItems.resx
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="itmAbout" xml:space="preserve">
|
||||
<value>About</value>
|
||||
</data>
|
||||
<data name="itmEditConfigurations" xml:space="preserve">
|
||||
<value>Edit Projects</value>
|
||||
</data>
|
||||
<data name="itmEditPlugins" xml:space="preserve">
|
||||
<value>Edit Addons</value>
|
||||
</data>
|
||||
<data name="itmGitHubLink" xml:space="preserve">
|
||||
<value>Sources on GitHub (link)</value>
|
||||
</data>
|
||||
<data name="itmGitHubReport" xml:space="preserve">
|
||||
<value>Report Issue, Bug, Feature Request, etc (link)</value>
|
||||
</data>
|
||||
<data name="itmOpenSettings" xml:space="preserve">
|
||||
<value>Open Settings</value>
|
||||
</data>
|
||||
<data name="itmRunProject" xml:space="preserve">
|
||||
<value>Run Project</value>
|
||||
</data>
|
||||
</root>
|
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="itmAbout" xml:space="preserve">
|
||||
<value>О Программе</value>
|
||||
</data>
|
||||
<data name="itmEditConfigurations" xml:space="preserve">
|
||||
<value>Редактор Проектов</value>
|
||||
</data>
|
||||
<data name="itmEditPlugins" xml:space="preserve">
|
||||
<value>Редактор Дополнений</value>
|
||||
</data>
|
||||
<data name="itmGitHubLink" xml:space="preserve">
|
||||
<value>Исходный код на GitHub (ссылка)</value>
|
||||
</data>
|
||||
<data name="itmGitHubReport" xml:space="preserve">
|
||||
<value>Сообщить об ошибке, создать запрос, и тд (ссылка)</value>
|
||||
</data>
|
||||
<data name="itmOpenSettings" xml:space="preserve">
|
||||
<value>Открыть Настройки</value>
|
||||
</data>
|
||||
<data name="itmRunProject" xml:space="preserve">
|
||||
<value>Запуск Проекта</value>
|
||||
</data>
|
||||
</root>
|
135
src/UniversalValveToolbox/Properties/translations/MenuNavbar.Designer.cs
generated
Normal file
@ -0,0 +1,135 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class MenuNavbar {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal MenuNavbar() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.MenuNavbar", typeof(MenuNavbar).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Addons: .
|
||||
/// </summary>
|
||||
internal static string menuStrAddons {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrAddons", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Engines: .
|
||||
/// </summary>
|
||||
internal static string menuStrEngines {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrEngines", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Login: .
|
||||
/// </summary>
|
||||
internal static string menuStrLogin {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrLogin", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to none.
|
||||
/// </summary>
|
||||
internal static string menuStrNone {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrNone", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to offilne.
|
||||
/// </summary>
|
||||
internal static string menuStrOffline {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrOffline", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to online.
|
||||
/// </summary>
|
||||
internal static string menuStrOnline {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrOnline", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Projects: .
|
||||
/// </summary>
|
||||
internal static string menuStrProjects {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrProjects", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Steam: .
|
||||
/// </summary>
|
||||
internal static string menuStrSteam {
|
||||
get {
|
||||
return ResourceManager.GetString("menuStrSteam", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="menuStrAddons" xml:space="preserve">
|
||||
<value>Addons: </value>
|
||||
</data>
|
||||
<data name="menuStrEngines" xml:space="preserve">
|
||||
<value>Engines: </value>
|
||||
</data>
|
||||
<data name="menuStrLogin" xml:space="preserve">
|
||||
<value>Login: </value>
|
||||
</data>
|
||||
<data name="menuStrNone" xml:space="preserve">
|
||||
<value>none</value>
|
||||
</data>
|
||||
<data name="menuStrOffline" xml:space="preserve">
|
||||
<value>offilne</value>
|
||||
</data>
|
||||
<data name="menuStrOnline" xml:space="preserve">
|
||||
<value>online</value>
|
||||
</data>
|
||||
<data name="menuStrProjects" xml:space="preserve">
|
||||
<value>Projects: </value>
|
||||
</data>
|
||||
<data name="menuStrSteam" xml:space="preserve">
|
||||
<value>Steam: </value>
|
||||
</data>
|
||||
</root>
|
0
src/UniversalValveToolbox/Properties/translations/MenuNavbar.ru.Designer.cs
generated
Normal file
@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="menuStrAddons" xml:space="preserve">
|
||||
<value>Дополнения: </value>
|
||||
</data>
|
||||
<data name="menuStrEngines" xml:space="preserve">
|
||||
<value>Движки: </value>
|
||||
</data>
|
||||
<data name="menuStrLogin" xml:space="preserve">
|
||||
<value>Логин: </value>
|
||||
</data>
|
||||
<data name="menuStrNone" xml:space="preserve">
|
||||
<value>нет</value>
|
||||
</data>
|
||||
<data name="menuStrOffline" xml:space="preserve">
|
||||
<value>оффлайн</value>
|
||||
</data>
|
||||
<data name="menuStrOnline" xml:space="preserve">
|
||||
<value>онлайн</value>
|
||||
</data>
|
||||
<data name="menuStrProjects" xml:space="preserve">
|
||||
<value>Проекты: </value>
|
||||
</data>
|
||||
<data name="menuStrSteam" xml:space="preserve">
|
||||
<value>Steam: </value>
|
||||
</data>
|
||||
</root>
|
126
src/UniversalValveToolbox/Properties/translations/MessageBoxes.Designer.cs
generated
Normal file
@ -0,0 +1,126 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class MessageBoxes {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal MessageBoxes() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.MessageBoxes", typeof(MessageBoxes).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Info.
|
||||
/// </summary>
|
||||
internal static string msgInfo {
|
||||
get {
|
||||
return ResourceManager.GetString("msgInfo", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to cancelled..
|
||||
/// </summary>
|
||||
internal static string msgTextCancelled {
|
||||
get {
|
||||
return ResourceManager.GetString("msgTextCancelled", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Installation of.
|
||||
/// </summary>
|
||||
internal static string msgTextInstallationOf {
|
||||
get {
|
||||
return ResourceManager.GetString("msgTextInstallationOf", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to not found..
|
||||
/// </summary>
|
||||
internal static string msgTextNotFound {
|
||||
get {
|
||||
return ResourceManager.GetString("msgTextNotFound", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to not installed. Do you want to install it?.
|
||||
/// </summary>
|
||||
internal static string msgTextNotInstalledInstall {
|
||||
get {
|
||||
return ResourceManager.GetString("msgTextNotInstalledInstall", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to with app id.
|
||||
/// </summary>
|
||||
internal static string msgTextWithAppID {
|
||||
get {
|
||||
return ResourceManager.GetString("msgTextWithAppID", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Warning.
|
||||
/// </summary>
|
||||
internal static string msgWarning {
|
||||
get {
|
||||
return ResourceManager.GetString("msgWarning", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="msgInfo" xml:space="preserve">
|
||||
<value>Info</value>
|
||||
</data>
|
||||
<data name="msgTextCancelled" xml:space="preserve">
|
||||
<value>cancelled.</value>
|
||||
</data>
|
||||
<data name="msgTextInstallationOf" xml:space="preserve">
|
||||
<value>Installation of</value>
|
||||
</data>
|
||||
<data name="msgTextNotFound" xml:space="preserve">
|
||||
<value>not found.</value>
|
||||
</data>
|
||||
<data name="msgTextNotInstalledInstall" xml:space="preserve">
|
||||
<value>not installed. Do you want to install it?</value>
|
||||
</data>
|
||||
<data name="msgTextWithAppID" xml:space="preserve">
|
||||
<value>with app id</value>
|
||||
</data>
|
||||
<data name="msgWarning" xml:space="preserve">
|
||||
<value>Warning</value>
|
||||
</data>
|
||||
</root>
|
0
src/UniversalValveToolbox/Properties/translations/MessageBoxes.ru.Designer.cs
generated
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="msgInfo" xml:space="preserve">
|
||||
<value>Информация</value>
|
||||
</data>
|
||||
<data name="msgTextCancelled" xml:space="preserve">
|
||||
<value>отменена.</value>
|
||||
</data>
|
||||
<data name="msgTextInstallationOf" xml:space="preserve">
|
||||
<value>Установка</value>
|
||||
</data>
|
||||
<data name="msgTextNotFound" xml:space="preserve">
|
||||
<value> не найден.</value>
|
||||
</data>
|
||||
<data name="msgTextNotInstalledInstall" xml:space="preserve">
|
||||
<value>не установлен. Хотите установить?</value>
|
||||
</data>
|
||||
<data name="msgTextWithAppID" xml:space="preserve">
|
||||
<value>с номером</value>
|
||||
</data>
|
||||
<data name="msgWarning" xml:space="preserve">
|
||||
<value>Внимание</value>
|
||||
</data>
|
||||
</root>
|
81
src/UniversalValveToolbox/Properties/translations/VarStrings.Designer.cs
generated
Normal file
@ -0,0 +1,81 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalValveToolbox.Properties.translations {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class VarStrings {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal VarStrings() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalValveToolbox.Properties.translations.VarStrings", typeof(VarStrings).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <New Addon>.
|
||||
/// </summary>
|
||||
internal static string strNewAddon {
|
||||
get {
|
||||
return ResourceManager.GetString("strNewAddon", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <New Project>.
|
||||
/// </summary>
|
||||
internal static string strNewProject {
|
||||
get {
|
||||
return ResourceManager.GetString("strNewProject", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strNewAddon" xml:space="preserve">
|
||||
<value><New Addon></value>
|
||||
</data>
|
||||
<data name="strNewProject" xml:space="preserve">
|
||||
<value><New Project></value>
|
||||
</data>
|
||||
</root>
|
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strNewAddon" xml:space="preserve">
|
||||
<value><Новое Дополнение></value>
|
||||
</data>
|
||||
<data name="strNewProject" xml:space="preserve">
|
||||
<value><Новый Проект></value>
|
||||
</data>
|
||||
</root>
|
BIN
src/UniversalValveToolbox/Resources/cancel_16.png
Normal file
After Width: | Height: | Size: 503 B |
BIN
src/UniversalValveToolbox/Resources/checked_16.png
Normal file
After Width: | Height: | Size: 555 B |
BIN
src/UniversalValveToolbox/Resources/human_16.png
Normal file
After Width: | Height: | Size: 459 B |
BIN
src/UniversalValveToolbox/Resources/info_16.png
Normal file
After Width: | Height: | Size: 513 B |
BIN
src/UniversalValveToolbox/Resources/plug-silhouette_16.png
Normal file
After Width: | Height: | Size: 512 B |
BIN
src/UniversalValveToolbox/Resources/refresh_16.png
Normal file
After Width: | Height: | Size: 463 B |
BIN
src/UniversalValveToolbox/Resources/run_16.png
Normal file
After Width: | Height: | Size: 385 B |
BIN
src/UniversalValveToolbox/Resources/valve_64.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
150
src/UniversalValveToolbox/UI/FormAbout.Designer.cs
generated
Normal file
@ -0,0 +1,150 @@
|
||||
namespace UniversalValveToolbox
|
||||
{
|
||||
partial class FormAbout
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
|
||||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.pictureBoxLogo = new System.Windows.Forms.PictureBox();
|
||||
this.labelTitle = new System.Windows.Forms.Label();
|
||||
this.labelCopy = new System.Windows.Forms.Label();
|
||||
this.labelDivider = new System.Windows.Forms.Label();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.linkLabelIconSite = new System.Windows.Forms.LinkLabel();
|
||||
this.groupBox = new System.Windows.Forms.GroupBox();
|
||||
this.linkLabelTI = new System.Windows.Forms.LinkLabel();
|
||||
this.linkLabelFP = new System.Windows.Forms.LinkLabel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).BeginInit();
|
||||
this.groupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// labelVersion
|
||||
//
|
||||
resources.ApplyResources(this.labelVersion, "labelVersion");
|
||||
this.labelVersion.Name = "labelVersion";
|
||||
//
|
||||
// pictureBoxLogo
|
||||
//
|
||||
this.pictureBoxLogo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.pictureBoxLogo.Image = global::UniversalValveToolbox.Properties.Resources.valve_64;
|
||||
resources.ApplyResources(this.pictureBoxLogo, "pictureBoxLogo");
|
||||
this.pictureBoxLogo.Name = "pictureBoxLogo";
|
||||
this.pictureBoxLogo.TabStop = false;
|
||||
//
|
||||
// labelTitle
|
||||
//
|
||||
resources.ApplyResources(this.labelTitle, "labelTitle");
|
||||
this.labelTitle.Name = "labelTitle";
|
||||
//
|
||||
// labelCopy
|
||||
//
|
||||
resources.ApplyResources(this.labelCopy, "labelCopy");
|
||||
this.labelCopy.Name = "labelCopy";
|
||||
//
|
||||
// labelDivider
|
||||
//
|
||||
resources.ApplyResources(this.labelDivider, "labelDivider");
|
||||
this.labelDivider.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelDivider.Name = "labelDivider";
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// linkLabelIconSite
|
||||
//
|
||||
resources.ApplyResources(this.linkLabelIconSite, "linkLabelIconSite");
|
||||
this.linkLabelIconSite.Name = "linkLabelIconSite";
|
||||
this.linkLabelIconSite.TabStop = true;
|
||||
this.linkLabelIconSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelIconSite_LinkClicked);
|
||||
//
|
||||
// groupBox
|
||||
//
|
||||
resources.ApplyResources(this.groupBox, "groupBox");
|
||||
this.groupBox.Controls.Add(this.linkLabelTI);
|
||||
this.groupBox.Controls.Add(this.linkLabelFP);
|
||||
this.groupBox.Controls.Add(this.linkLabelIconSite);
|
||||
this.groupBox.Name = "groupBox";
|
||||
this.groupBox.TabStop = false;
|
||||
//
|
||||
// linkLabelTI
|
||||
//
|
||||
resources.ApplyResources(this.linkLabelTI, "linkLabelTI");
|
||||
this.linkLabelTI.Name = "linkLabelTI";
|
||||
this.linkLabelTI.TabStop = true;
|
||||
this.linkLabelTI.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelTI_LinkClicked);
|
||||
//
|
||||
// linkLabelFP
|
||||
//
|
||||
resources.ApplyResources(this.linkLabelFP, "linkLabelFP");
|
||||
this.linkLabelFP.Name = "linkLabelFP";
|
||||
this.linkLabelFP.TabStop = true;
|
||||
this.linkLabelFP.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelFP_LinkClicked);
|
||||
//
|
||||
// FormAbout
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.labelDivider);
|
||||
this.Controls.Add(this.labelTitle);
|
||||
this.Controls.Add(this.pictureBoxLogo);
|
||||
this.Controls.Add(this.labelCopy);
|
||||
this.Controls.Add(this.labelVersion);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FormAbout";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Load += new System.EventHandler(this.FormAbout_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).EndInit();
|
||||
this.groupBox.ResumeLayout(false);
|
||||
this.groupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label labelVersion;
|
||||
private System.Windows.Forms.PictureBox pictureBoxLogo;
|
||||
private System.Windows.Forms.Label labelTitle;
|
||||
private System.Windows.Forms.Label labelCopy;
|
||||
private System.Windows.Forms.Label labelDivider;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.LinkLabel linkLabelIconSite;
|
||||
private System.Windows.Forms.GroupBox groupBox;
|
||||
private System.Windows.Forms.LinkLabel linkLabelTI;
|
||||
private System.Windows.Forms.LinkLabel linkLabelFP;
|
||||
}
|
||||
}
|
34
src/UniversalValveToolbox/UI/FormAbout.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormAbout : Form {
|
||||
public FormAbout() {
|
||||
InitializeComponent();
|
||||
labelVersion.Text = Utils.VersionHelper.AssemblyVersion;
|
||||
labelTitle.Text = Utils.VersionHelper.AssemblyTitle;
|
||||
labelCopy.Text = Utils.VersionHelper.AssemblyCopyright;
|
||||
}
|
||||
|
||||
private void FormAbout_Load(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e) {
|
||||
Close();
|
||||
}
|
||||
|
||||
private void linkLabelIconSite_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
||||
Process.Start("https://www.flaticon.com/");
|
||||
}
|
||||
|
||||
private void linkLabelFP_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
||||
Process.Start("https://www.flaticon.com/authors/freepik");
|
||||
}
|
||||
|
||||
private void linkLabelTI_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
||||
Process.Start("https://www.flaticon.com/authors/those-icons");
|
||||
}
|
||||
}
|
||||
}
|
2296
src/UniversalValveToolbox/UI/FormAbout.resx
Normal file
2006
src/UniversalValveToolbox/UI/FormAbout.ru.resx
Normal file
225
src/UniversalValveToolbox/UI/FormAddons.Designer.cs
generated
Normal file
@ -0,0 +1,225 @@
|
||||
namespace UniversalValveToolbox
|
||||
{
|
||||
partial class FormAddons
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAddons));
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.comboBox_Addon = new System.Windows.Forms.ComboBox();
|
||||
this.buttonRemove = new System.Windows.Forms.Button();
|
||||
this.buttonNew = new System.Windows.Forms.Button();
|
||||
this.labelAddon = new System.Windows.Forms.Label();
|
||||
this.labelLinkedEngine = new System.Windows.Forms.Label();
|
||||
this.labelName = new System.Windows.Forms.Label();
|
||||
this.textBoxName = new System.Windows.Forms.TextBox();
|
||||
this.textBoxPath = new System.Windows.Forms.TextBox();
|
||||
this.labelPath = new System.Windows.Forms.Label();
|
||||
this.textBoxArgs = new System.Windows.Forms.TextBox();
|
||||
this.labelArgs = new System.Windows.Forms.Label();
|
||||
this.buttonBrowse = new System.Windows.Forms.Button();
|
||||
this.labelDivider = new System.Windows.Forms.Label();
|
||||
this.comboBoxCategory = new System.Windows.Forms.ComboBox();
|
||||
this.labelCategory = new System.Windows.Forms.Label();
|
||||
this.buttonApply = new System.Windows.Forms.Button();
|
||||
this.engineCheckedListBox = new System.Windows.Forms.CheckedListBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
resources.ApplyResources(this.buttonCancel, "buttonCancel");
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// comboBox_Addon
|
||||
//
|
||||
resources.ApplyResources(this.comboBox_Addon, "comboBox_Addon");
|
||||
this.comboBox_Addon.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBox_Addon.FormattingEnabled = true;
|
||||
this.comboBox_Addon.Name = "comboBox_Addon";
|
||||
this.comboBox_Addon.SelectedIndexChanged += new System.EventHandler(this.comboBox_Addon_SelectedIndexChanged);
|
||||
//
|
||||
// buttonRemove
|
||||
//
|
||||
resources.ApplyResources(this.buttonRemove, "buttonRemove");
|
||||
this.buttonRemove.Name = "buttonRemove";
|
||||
this.buttonRemove.UseVisualStyleBackColor = true;
|
||||
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
|
||||
//
|
||||
// buttonNew
|
||||
//
|
||||
resources.ApplyResources(this.buttonNew, "buttonNew");
|
||||
this.buttonNew.Name = "buttonNew";
|
||||
this.buttonNew.UseVisualStyleBackColor = true;
|
||||
this.buttonNew.Click += new System.EventHandler(this.buttonNew_Click);
|
||||
//
|
||||
// labelAddon
|
||||
//
|
||||
resources.ApplyResources(this.labelAddon, "labelAddon");
|
||||
this.labelAddon.Name = "labelAddon";
|
||||
//
|
||||
// labelLinkedEngine
|
||||
//
|
||||
resources.ApplyResources(this.labelLinkedEngine, "labelLinkedEngine");
|
||||
this.labelLinkedEngine.Name = "labelLinkedEngine";
|
||||
//
|
||||
// labelName
|
||||
//
|
||||
resources.ApplyResources(this.labelName, "labelName");
|
||||
this.labelName.Name = "labelName";
|
||||
//
|
||||
// textBoxName
|
||||
//
|
||||
resources.ApplyResources(this.textBoxName, "textBoxName");
|
||||
this.textBoxName.Name = "textBoxName";
|
||||
//
|
||||
// textBoxPath
|
||||
//
|
||||
resources.ApplyResources(this.textBoxPath, "textBoxPath");
|
||||
this.textBoxPath.Name = "textBoxPath";
|
||||
//
|
||||
// labelPath
|
||||
//
|
||||
resources.ApplyResources(this.labelPath, "labelPath");
|
||||
this.labelPath.Name = "labelPath";
|
||||
//
|
||||
// textBoxArgs
|
||||
//
|
||||
resources.ApplyResources(this.textBoxArgs, "textBoxArgs");
|
||||
this.textBoxArgs.Name = "textBoxArgs";
|
||||
//
|
||||
// labelArgs
|
||||
//
|
||||
resources.ApplyResources(this.labelArgs, "labelArgs");
|
||||
this.labelArgs.Name = "labelArgs";
|
||||
//
|
||||
// buttonBrowse
|
||||
//
|
||||
resources.ApplyResources(this.buttonBrowse, "buttonBrowse");
|
||||
this.buttonBrowse.Name = "buttonBrowse";
|
||||
this.buttonBrowse.UseVisualStyleBackColor = true;
|
||||
this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click);
|
||||
//
|
||||
// labelDivider
|
||||
//
|
||||
resources.ApplyResources(this.labelDivider, "labelDivider");
|
||||
this.labelDivider.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelDivider.Name = "labelDivider";
|
||||
//
|
||||
// comboBoxCategory
|
||||
//
|
||||
resources.ApplyResources(this.comboBoxCategory, "comboBoxCategory");
|
||||
this.comboBoxCategory.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxCategory.FormattingEnabled = true;
|
||||
this.comboBoxCategory.Name = "comboBoxCategory";
|
||||
this.comboBoxCategory.SelectedIndexChanged += new System.EventHandler(this.comboBoxCategory_SelectedIndexChanged);
|
||||
//
|
||||
// labelCategory
|
||||
//
|
||||
resources.ApplyResources(this.labelCategory, "labelCategory");
|
||||
this.labelCategory.Name = "labelCategory";
|
||||
//
|
||||
// buttonApply
|
||||
//
|
||||
resources.ApplyResources(this.buttonApply, "buttonApply");
|
||||
this.buttonApply.Name = "buttonApply";
|
||||
this.buttonApply.UseVisualStyleBackColor = true;
|
||||
this.buttonApply.Click += new System.EventHandler(this.buttonApply_Click);
|
||||
//
|
||||
// engineCheckedListBox
|
||||
//
|
||||
resources.ApplyResources(this.engineCheckedListBox, "engineCheckedListBox");
|
||||
this.engineCheckedListBox.CheckOnClick = true;
|
||||
this.engineCheckedListBox.FormattingEnabled = true;
|
||||
this.engineCheckedListBox.Name = "engineCheckedListBox";
|
||||
//
|
||||
// FormAddons
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.engineCheckedListBox);
|
||||
this.Controls.Add(this.buttonApply);
|
||||
this.Controls.Add(this.labelCategory);
|
||||
this.Controls.Add(this.comboBoxCategory);
|
||||
this.Controls.Add(this.labelDivider);
|
||||
this.Controls.Add(this.buttonBrowse);
|
||||
this.Controls.Add(this.textBoxArgs);
|
||||
this.Controls.Add(this.labelArgs);
|
||||
this.Controls.Add(this.textBoxPath);
|
||||
this.Controls.Add(this.labelPath);
|
||||
this.Controls.Add(this.textBoxName);
|
||||
this.Controls.Add(this.labelName);
|
||||
this.Controls.Add(this.labelLinkedEngine);
|
||||
this.Controls.Add(this.labelAddon);
|
||||
this.Controls.Add(this.buttonRemove);
|
||||
this.Controls.Add(this.buttonNew);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.comboBox_Addon);
|
||||
this.Name = "FormAddons";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Load += new System.EventHandler(this.FormAddons_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.ComboBox comboBox_Addon;
|
||||
private System.Windows.Forms.Button buttonRemove;
|
||||
private System.Windows.Forms.Button buttonNew;
|
||||
private System.Windows.Forms.Label labelAddon;
|
||||
private System.Windows.Forms.Label labelLinkedEngine;
|
||||
private System.Windows.Forms.Label labelName;
|
||||
private System.Windows.Forms.TextBox textBoxName;
|
||||
private System.Windows.Forms.TextBox textBoxPath;
|
||||
private System.Windows.Forms.Label labelPath;
|
||||
private System.Windows.Forms.TextBox textBoxArgs;
|
||||
private System.Windows.Forms.Label labelArgs;
|
||||
private System.Windows.Forms.Button buttonBrowse;
|
||||
private System.Windows.Forms.Label labelDivider;
|
||||
private System.Windows.Forms.ComboBox comboBoxCategory;
|
||||
private System.Windows.Forms.Label labelCategory;
|
||||
private System.Windows.Forms.Button buttonApply;
|
||||
private System.Windows.Forms.CheckedListBox engineCheckedListBox;
|
||||
}
|
||||
}
|
198
src/UniversalValveToolbox/UI/FormAddons.cs
Normal file
@ -0,0 +1,198 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using kasthack.binding.wf;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using UniversalValveToolbox.Utils;
|
||||
using System.Globalization;
|
||||
using System.Collections;
|
||||
using EpicMorg.SteamPathsLib;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormAddons : Form {
|
||||
private bool needRestart;
|
||||
private bool isEnableListBoxCheckListener = false;
|
||||
|
||||
private DataProvider dataProvider = new DataProvider();
|
||||
|
||||
private FormAddonViewModel model;
|
||||
|
||||
|
||||
public FormAddons() {
|
||||
InitializeComponent();
|
||||
|
||||
var categories = Properties.translations.MenuCategories
|
||||
.ResourceManager
|
||||
.GetResourceSet(CultureInfo.CurrentCulture, false, true)
|
||||
.Cast<DictionaryEntry>()
|
||||
.ToArray();
|
||||
|
||||
model = new FormAddonViewModel(dataProvider.Addons, dataProvider.Engines.Where(engine => SteamPathsUtil.GetSteamAppDataById(engine.Appid) != null).ToArray(), categories);
|
||||
|
||||
UpdateAddonsComboBox();
|
||||
UpdateAddonCategoryComboBox();
|
||||
UpdateEngineCheckedListView();
|
||||
|
||||
comboBox_Addon.Bind(a => a.SelectedIndex, model, a => a.SelectAddonIndex);
|
||||
comboBoxCategory.Bind(a => a.SelectedIndex, model, a => a.SelectCategoryIndex);
|
||||
|
||||
textBoxName.Bind(a => a.Text, model, a => a.SelectAddon.Name);
|
||||
textBoxPath.Bind(a => a.Text, model, a => a.SelectAddon.Bin);
|
||||
textBoxArgs.Bind(a => a.Text, model, a => a.SelectAddon.Args);
|
||||
|
||||
model.PropertyChanged += Model_PropertyChanged;
|
||||
|
||||
this.engineCheckedListBox.ItemCheck += EngineCheckedListBox_ItemCheck;
|
||||
}
|
||||
|
||||
private void EngineCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) {
|
||||
if (isEnableListBoxCheckListener) {
|
||||
List<EngineDtoModel> checkedItems = new List<EngineDtoModel>();
|
||||
foreach (var item in engineCheckedListBox.CheckedItems)
|
||||
checkedItems.Add((EngineDtoModel)item);
|
||||
|
||||
if (e.NewValue == CheckState.Checked)
|
||||
checkedItems.Add((EngineDtoModel)engineCheckedListBox.Items[e.Index]);
|
||||
else
|
||||
checkedItems.Remove((EngineDtoModel)engineCheckedListBox.Items[e.Index]);
|
||||
|
||||
|
||||
model.SelectAddon.Engines = checkedItems.Select(engine => engine.Appid).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
private void Model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
|
||||
if (e.PropertyName == nameof(model.SelectAddon)) {
|
||||
UpdateEngineCheckedListView();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateEngineCheckedListView() {
|
||||
isEnableListBoxCheckListener = false;
|
||||
|
||||
engineCheckedListBox.Items.Clear();
|
||||
engineCheckedListBox.Items.AddRange(model.Engines);
|
||||
|
||||
if (model.SelectAddon != null) {
|
||||
for (var i = 0; i < model.Engines.Length; i++) {
|
||||
var engine = model.Engines[i];
|
||||
|
||||
if (model.SelectAddon.Engines.Contains(engine.Appid)) {
|
||||
engineCheckedListBox.SetItemChecked(i, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var i = 0; i < model.Engines.Length; i++) {
|
||||
engineCheckedListBox.SetItemChecked(i, false);
|
||||
}
|
||||
}
|
||||
|
||||
isEnableListBoxCheckListener = true;
|
||||
}
|
||||
|
||||
private void UpdateAddonsComboBox() {
|
||||
if (model.Addons.Length == 0) {
|
||||
New();
|
||||
}
|
||||
else {
|
||||
comboBox_Addon.Items.Clear();
|
||||
comboBox_Addon.Items.AddRange(model.Addons);
|
||||
|
||||
comboBox_Addon.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateAddonCategoryComboBox() {
|
||||
comboBoxCategory.Items.Clear();
|
||||
comboBoxCategory.Items.AddRange(model.Categories.Select(c => c.Value).ToArray());
|
||||
|
||||
var index = Array.IndexOf(model.Categories.Select(c => c.Key).ToArray(), model.SelectAddon.Category);
|
||||
comboBoxCategory.SelectedIndex = index;
|
||||
}
|
||||
|
||||
private void buttonCancel_Click(object sender, EventArgs e) {
|
||||
Close();
|
||||
}
|
||||
|
||||
private void buttonBrowse_Click(object sender, EventArgs e) {
|
||||
OpenFileDialog dialog = new OpenFileDialog {
|
||||
InitialDirectory = @"C:\",
|
||||
DefaultExt = "exe",
|
||||
Filter = "Exe file (*.exe) | *.exe",
|
||||
Multiselect = false,
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK) {
|
||||
textBoxPath.Text = dialog.FileName;
|
||||
}
|
||||
}
|
||||
|
||||
private void FormAddons_Load(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
|
||||
private void comboBox_Addon_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
model.SelectAddonIndex = comboBox_Addon.SelectedIndex;
|
||||
}
|
||||
|
||||
private void Remove() {
|
||||
var newAddonList = new List<AddonDtoModel>(model.Addons);
|
||||
newAddonList.RemoveAt(model.SelectAddonIndex);
|
||||
|
||||
model.Addons = newAddonList.ToArray();
|
||||
|
||||
UpdateAddonsComboBox();
|
||||
}
|
||||
|
||||
private void New() {
|
||||
var newAddon = CreateNewEmptyAddon();
|
||||
|
||||
var newAddonList = new List<AddonDtoModel>(model.Addons);
|
||||
newAddonList.Insert(0, newAddon);
|
||||
|
||||
model.Addons = newAddonList.ToArray();
|
||||
|
||||
UpdateAddonsComboBox();
|
||||
}
|
||||
|
||||
private AddonDtoModel CreateNewEmptyAddon() {
|
||||
var newAddon = new AddonDtoModel();
|
||||
newAddon.Name = Properties.translations.VarStrings.strNewAddon;
|
||||
|
||||
return newAddon;
|
||||
}
|
||||
|
||||
private void Save() {
|
||||
JsonFileUtil.SaveValues(DataProvider.AddonsPath, "json", model.Addons.ToList());
|
||||
}
|
||||
|
||||
private void buttonRemove_Click(object sender, EventArgs e) {
|
||||
Remove();
|
||||
}
|
||||
|
||||
private void buttonNew_Click(object sender, EventArgs e) {
|
||||
New();
|
||||
}
|
||||
|
||||
private void buttonApply_Click(object sender, EventArgs e) {
|
||||
needRestart = true;
|
||||
|
||||
Save();
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e) {
|
||||
Save();
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
private void comboBoxCategory_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
2521
src/UniversalValveToolbox/UI/FormAddons.resx
Normal file
2054
src/UniversalValveToolbox/UI/FormAddons.ru.resx
Normal file
194
src/UniversalValveToolbox/UI/FormMain.Designer.cs
generated
Normal file
@ -0,0 +1,194 @@
|
||||
namespace UniversalValveToolbox
|
||||
{
|
||||
partial class FormMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.comboBoxProjects = new System.Windows.Forms.ComboBox();
|
||||
this.comboBoxEngine = new System.Windows.Forms.ComboBox();
|
||||
this.listView = new System.Windows.Forms.ListView();
|
||||
this.imageListLarge = new System.Windows.Forms.ImageList(this.components);
|
||||
this.imageListSmall = new System.Windows.Forms.ImageList(this.components);
|
||||
this.statusStrip = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabelSteam = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolStripStatusLabelLogin = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolStripStatusLabelEngines = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolStripStatusLabelAddons = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolStripStatusLabelRefresh = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||
this.statusStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// comboBoxProjects
|
||||
//
|
||||
resources.ApplyResources(this.comboBoxProjects, "comboBoxProjects");
|
||||
this.comboBoxProjects.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxProjects.FormattingEnabled = true;
|
||||
this.comboBoxProjects.Items.AddRange(new object[] {
|
||||
resources.GetString("comboBoxProjects.Items")});
|
||||
this.comboBoxProjects.Name = "comboBoxProjects";
|
||||
//
|
||||
// comboBoxEngine
|
||||
//
|
||||
resources.ApplyResources(this.comboBoxEngine, "comboBoxEngine");
|
||||
this.comboBoxEngine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxEngine.FormattingEnabled = true;
|
||||
this.comboBoxEngine.Items.AddRange(new object[] {
|
||||
resources.GetString("comboBoxEngine.Items")});
|
||||
this.comboBoxEngine.Name = "comboBoxEngine";
|
||||
//
|
||||
// listView
|
||||
//
|
||||
resources.ApplyResources(this.listView, "listView");
|
||||
this.listView.GridLines = true;
|
||||
this.listView.HideSelection = false;
|
||||
this.listView.LargeImageList = this.imageListLarge;
|
||||
this.listView.MultiSelect = false;
|
||||
this.listView.Name = "listView";
|
||||
this.listView.SmallImageList = this.imageListSmall;
|
||||
this.listView.StateImageList = this.imageListLarge;
|
||||
this.listView.TileSize = new System.Drawing.Size(320, 30);
|
||||
this.listView.UseCompatibleStateImageBehavior = false;
|
||||
this.listView.View = System.Windows.Forms.View.Tile;
|
||||
this.listView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView_MouseDoubleClick);
|
||||
//
|
||||
// imageListLarge
|
||||
//
|
||||
this.imageListLarge.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListLarge.ImageStream")));
|
||||
this.imageListLarge.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.imageListLarge.Images.SetKeyName(0, "github-logo_24.png");
|
||||
this.imageListLarge.Images.SetKeyName(1, "internet_24.png");
|
||||
this.imageListLarge.Images.SetKeyName(2, "settings_24.png");
|
||||
this.imageListLarge.Images.SetKeyName(3, "technical-support_24.png");
|
||||
this.imageListLarge.Images.SetKeyName(4, "plug-silhouette_24.png");
|
||||
this.imageListLarge.Images.SetKeyName(5, "info_24.png");
|
||||
//
|
||||
// imageListSmall
|
||||
//
|
||||
this.imageListSmall.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListSmall.ImageStream")));
|
||||
this.imageListSmall.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.imageListSmall.Images.SetKeyName(0, "github-logo_16.png");
|
||||
this.imageListSmall.Images.SetKeyName(1, "internet_16.png");
|
||||
this.imageListSmall.Images.SetKeyName(2, "settings_16.png");
|
||||
this.imageListSmall.Images.SetKeyName(3, "technical-support_16.png");
|
||||
this.imageListSmall.Images.SetKeyName(4, "plug-silhouette_16.png");
|
||||
this.imageListSmall.Images.SetKeyName(5, "info_16.png");
|
||||
//
|
||||
// statusStrip
|
||||
//
|
||||
resources.ApplyResources(this.statusStrip, "statusStrip");
|
||||
this.statusStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible;
|
||||
this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripStatusLabelSteam,
|
||||
this.toolStripStatusLabelLogin,
|
||||
this.toolStripStatusLabelEngines,
|
||||
this.toolStripStatusLabelAddons,
|
||||
this.toolStripStatusLabelRefresh});
|
||||
this.statusStrip.Name = "statusStrip";
|
||||
this.statusStrip.ShowItemToolTips = true;
|
||||
//
|
||||
// toolStripStatusLabelSteam
|
||||
//
|
||||
resources.ApplyResources(this.toolStripStatusLabelSteam, "toolStripStatusLabelSteam");
|
||||
this.toolStripStatusLabelSteam.Image = global::UniversalValveToolbox.Properties.Resources.cancel_16;
|
||||
this.toolStripStatusLabelSteam.Margin = new System.Windows.Forms.Padding(11, 3, 0, 2);
|
||||
this.toolStripStatusLabelSteam.Name = "toolStripStatusLabelSteam";
|
||||
//
|
||||
// toolStripStatusLabelLogin
|
||||
//
|
||||
resources.ApplyResources(this.toolStripStatusLabelLogin, "toolStripStatusLabelLogin");
|
||||
this.toolStripStatusLabelLogin.Image = global::UniversalValveToolbox.Properties.Resources.human_16;
|
||||
this.toolStripStatusLabelLogin.Name = "toolStripStatusLabelLogin";
|
||||
//
|
||||
// toolStripStatusLabelEngines
|
||||
//
|
||||
resources.ApplyResources(this.toolStripStatusLabelEngines, "toolStripStatusLabelEngines");
|
||||
this.toolStripStatusLabelEngines.Image = global::UniversalValveToolbox.Properties.Resources.info_16;
|
||||
this.toolStripStatusLabelEngines.Name = "toolStripStatusLabelEngines";
|
||||
//
|
||||
// toolStripStatusLabelAddons
|
||||
//
|
||||
resources.ApplyResources(this.toolStripStatusLabelAddons, "toolStripStatusLabelAddons");
|
||||
this.toolStripStatusLabelAddons.Image = global::UniversalValveToolbox.Properties.Resources.plug_silhouette_16;
|
||||
this.toolStripStatusLabelAddons.Name = "toolStripStatusLabelAddons";
|
||||
//
|
||||
// toolStripStatusLabelRefresh
|
||||
//
|
||||
resources.ApplyResources(this.toolStripStatusLabelRefresh, "toolStripStatusLabelRefresh");
|
||||
this.toolStripStatusLabelRefresh.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
|
||||
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
|
||||
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
|
||||
this.toolStripStatusLabelRefresh.BorderStyle = System.Windows.Forms.Border3DStyle.RaisedOuter;
|
||||
this.toolStripStatusLabelRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.toolStripStatusLabelRefresh.DoubleClickEnabled = true;
|
||||
this.toolStripStatusLabelRefresh.Image = global::UniversalValveToolbox.Properties.Resources.refresh_16;
|
||||
this.toolStripStatusLabelRefresh.IsLink = true;
|
||||
this.toolStripStatusLabelRefresh.Name = "toolStripStatusLabelRefresh";
|
||||
this.toolStripStatusLabelRefresh.Click += new System.EventHandler(this.toolStripStatusLabelRefresh_Click);
|
||||
//
|
||||
// openFileDialog1
|
||||
//
|
||||
this.openFileDialog1.FileName = "openFileDialog1";
|
||||
resources.ApplyResources(this.openFileDialog1, "openFileDialog1");
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.statusStrip);
|
||||
this.Controls.Add(this.listView);
|
||||
this.Controls.Add(this.comboBoxEngine);
|
||||
this.Controls.Add(this.comboBoxProjects);
|
||||
this.DoubleBuffered = true;
|
||||
this.Name = "FormMain";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
|
||||
this.Load += new System.EventHandler(this.FormMain_Load);
|
||||
this.statusStrip.ResumeLayout(false);
|
||||
this.statusStrip.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.ComboBox comboBoxProjects;
|
||||
private System.Windows.Forms.ComboBox comboBoxEngine;
|
||||
private System.Windows.Forms.ListView listView;
|
||||
private System.Windows.Forms.StatusStrip statusStrip;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSteam;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelLogin;
|
||||
private System.Windows.Forms.ImageList imageListLarge;
|
||||
private System.Windows.Forms.ImageList imageListSmall;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelRefresh;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelEngines;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelAddons;
|
||||
private System.Windows.Forms.OpenFileDialog openFileDialog1;
|
||||
}
|
||||
}
|
||||
|
469
src/UniversalValveToolbox/UI/FormMain.cs
Normal file
@ -0,0 +1,469 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web.UI;
|
||||
using System.Windows.Forms;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
using UniversalValveToolbox.Utils;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormMain : Form {
|
||||
private readonly string RUN_PROJECT_ID = "RUN_PROJECT_ID";
|
||||
|
||||
private EngineDtoModel[] Engines;
|
||||
private ProjectDtoModel[] Projects;
|
||||
private ProjectDtoModel[] AvailableProjects;
|
||||
|
||||
private DataProvider dataProvider = new DataProvider();
|
||||
|
||||
private ListViewGroup listViewGroupAddons;
|
||||
private ListViewGroup listViewGroupTools;
|
||||
|
||||
private EngineDtoModel SelectedEngine {
|
||||
get {
|
||||
if (Engines.Length == 0)
|
||||
return null;
|
||||
|
||||
return Engines[comboBoxEngine.SelectedIndex];
|
||||
}
|
||||
}
|
||||
private ProjectDtoModel SelectedProject {
|
||||
get => (ProjectDtoModel)((comboBoxProjects.Enabled)
|
||||
? Projects.First(project => project.Name.Equals(comboBoxProjects.SelectedItem))
|
||||
: null);
|
||||
}
|
||||
|
||||
public FormMain() {
|
||||
InitializeComponent();
|
||||
FillBaseMenuItems();
|
||||
|
||||
UpdateFormData();
|
||||
|
||||
Text = VersionHelper.AssemblyTitle + VersionHelper.AssemblyVersion;
|
||||
|
||||
comboBoxEngine.SelectedIndexChanged += (s, e) => {
|
||||
UpdateProjectList();
|
||||
UpdateToolsList();
|
||||
UpdateAddonsList();
|
||||
};
|
||||
}
|
||||
|
||||
private void FormMain_Load(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
|
||||
private void UpdateLastSelectedProject() {
|
||||
var lastSelectedProject = dataProvider.Projects.FirstOrDefault(project => project.Name.Equals(dataProvider.Settings.LastSelectedProject));
|
||||
|
||||
if (lastSelectedProject != null && Engines.Length != 0) {
|
||||
var indexEngine = comboBoxEngine.Items.IndexOf(Engines.First(engine => engine.Appid.Equals(lastSelectedProject.Engine)).Name);
|
||||
comboBoxEngine.SelectedIndex = indexEngine;
|
||||
|
||||
UpdateProjectList();
|
||||
UpdateToolsList();
|
||||
|
||||
var indexProject = comboBoxProjects.Items.IndexOf(lastSelectedProject.Name);
|
||||
comboBoxProjects.SelectedIndex = indexProject;
|
||||
|
||||
EnvUtils.PrepareVProject($"{SelectedProject?.Path ?? string.Empty}");
|
||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||
}
|
||||
}
|
||||
private void SaveLastSelectedProject() {
|
||||
var settings = dataProvider.Settings;
|
||||
settings.LastSelectedProject = SelectedProject?.Name;
|
||||
dataProvider.Settings = settings;
|
||||
}
|
||||
|
||||
|
||||
private void UpdateFormData() {
|
||||
UpdateEngineList();
|
||||
UpdateProjectList();
|
||||
UpdateToolsList();
|
||||
UpdateAddonsList();
|
||||
UpdateNavigationBar();
|
||||
|
||||
UpdateLastSelectedProject();
|
||||
}
|
||||
|
||||
private void UpdateNavigationBar() {
|
||||
UpdateLogInStatus();
|
||||
UpdateInfoNavigationBar();
|
||||
}
|
||||
|
||||
private void toolStripStatusLabelRefresh_Click(object sender, EventArgs e) {
|
||||
UpdateFormData();
|
||||
}
|
||||
|
||||
public void FillBaseMenuItems() {
|
||||
#region static content, do not edit
|
||||
//creating groups (categores)
|
||||
listViewGroupAddons = new ListViewGroup(Properties.translations.MenuCategories.catAddons);
|
||||
ListViewGroup listViewGroupCompileDecpmpile = new ListViewGroup(Properties.translations.MenuCategories.catCompileDecompile);
|
||||
ListViewGroup listViewGroupContent = new ListViewGroup(Properties.translations.MenuCategories.catContent);
|
||||
ListViewGroup listViewGroupDocs = new ListViewGroup(Properties.translations.MenuCategories.catDocs);
|
||||
ListViewGroup listViewGroupLandscape = new ListViewGroup(Properties.translations.MenuCategories.catLandscape);
|
||||
ListViewGroup listViewGroupMisc = new ListViewGroup(Properties.translations.MenuCategories.catMisc);
|
||||
ListViewGroup listViewGroupSettings = new ListViewGroup(Properties.translations.MenuCategories.catSettings);
|
||||
ListViewGroup listViewGroupSupport = new ListViewGroup(Properties.translations.MenuCategories.catSupport);
|
||||
ListViewGroup listViewGroupTextures = new ListViewGroup(Properties.translations.MenuCategories.catTextures);
|
||||
listViewGroupTools = new ListViewGroup(Properties.translations.MenuCategories.catTools);
|
||||
ListViewGroup listViewGroupUtils = new ListViewGroup(Properties.translations.MenuCategories.catUtils);
|
||||
ListViewGroup listViewGroupWebLinks = new ListViewGroup(Properties.translations.MenuCategories.catWebLinks);
|
||||
|
||||
//add names to categories
|
||||
listViewGroupSettings.Name = "ListViewGroupSettings";
|
||||
listViewGroupWebLinks.Name = "ListViewGroupUrls";
|
||||
#endregion
|
||||
|
||||
//creating permanent menu items
|
||||
ListViewItem listViewItemSettings = new ListViewItem(Properties.translations.MenuItems.itmOpenSettings, 2);
|
||||
ListViewItem listViewItemEditConfigurations = new ListViewItem(Properties.translations.MenuItems.itmEditConfigurations, 3);
|
||||
ListViewItem listViewItemEditPlugins = new ListViewItem(Properties.translations.MenuItems.itmEditPlugins, 4);
|
||||
ListViewItem listViewItemAbout = new ListViewItem(Properties.translations.MenuItems.itmAbout, 5);
|
||||
ListViewItem listViewItemGitHubLink = new ListViewItem(Properties.translations.MenuItems.itmGitHubLink, 0);
|
||||
ListViewItem listViewItemGitHubReport = new ListViewItem(Properties.translations.MenuItems.itmGitHubReport, 0);
|
||||
|
||||
//add item to category(group)
|
||||
listViewItemSettings.Group = listViewGroupSettings;
|
||||
listViewItemEditConfigurations.Group = listViewGroupSettings;
|
||||
listViewItemEditPlugins.Group = listViewGroupSettings;
|
||||
|
||||
listViewItemAbout.Group = listViewGroupSupport;
|
||||
listViewItemGitHubLink.Group = listViewGroupSupport;
|
||||
listViewItemGitHubReport.Group = listViewGroupSupport;
|
||||
|
||||
//draw items and categories in forms
|
||||
listView.Groups.AddRange(new ListViewGroup[] {
|
||||
listViewGroupTools,
|
||||
listViewGroupAddons,
|
||||
listViewGroupCompileDecpmpile,
|
||||
listViewGroupContent,
|
||||
listViewGroupDocs,
|
||||
listViewGroupLandscape,
|
||||
listViewGroupMisc,
|
||||
listViewGroupSettings,
|
||||
listViewGroupSupport,
|
||||
listViewGroupTextures,
|
||||
listViewGroupUtils,
|
||||
listViewGroupWebLinks,
|
||||
});
|
||||
listView.Items.AddRange(new ListViewItem[] {
|
||||
listViewItemSettings,
|
||||
listViewItemEditConfigurations,
|
||||
listViewItemEditPlugins,
|
||||
listViewItemGitHubLink,
|
||||
listViewItemGitHubReport,
|
||||
listViewItemAbout
|
||||
});
|
||||
}
|
||||
|
||||
private void UpdateEngineList() {
|
||||
var dataProvider = new DataProvider();
|
||||
Engines = dataProvider.Engines.Where(engine => SteamPathsUtil.GetSteamAppDataById(engine.Appid) != null).ToArray();
|
||||
|
||||
if (Engines != null && Engines.Length != 0) {
|
||||
comboBoxEngine.Enabled = true;
|
||||
comboBoxEngine.Items.Clear();
|
||||
comboBoxEngine.Items.AddRange(Engines.Select(engine => engine.Name).ToArray());
|
||||
|
||||
comboBoxEngine.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateProjectList() {
|
||||
if (Engines.Length == 0) {
|
||||
comboBoxProjects.Enabled = false;
|
||||
|
||||
comboBoxProjects.Items.Clear();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Projects = dataProvider.Projects;
|
||||
|
||||
var selectEngine = Engines[comboBoxEngine.SelectedIndex];
|
||||
AvailableProjects = Projects.Where(project => project.Engine == selectEngine.Appid).ToArray();
|
||||
|
||||
if (AvailableProjects != null && AvailableProjects.Length != 0) {
|
||||
comboBoxProjects.Enabled = true;
|
||||
|
||||
comboBoxProjects.Items.Clear();
|
||||
comboBoxProjects.Items.AddRange(AvailableProjects.Select(project => project.Name).ToArray());
|
||||
|
||||
comboBoxProjects.SelectedIndex = 0;
|
||||
}
|
||||
else {
|
||||
comboBoxProjects.Enabled = false;
|
||||
|
||||
comboBoxProjects.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateToolsList() {
|
||||
var removeItem = new List<ListViewItem>();
|
||||
|
||||
foreach (ListViewItem item in listViewGroupTools.Items) {
|
||||
removeItem.Add(item);
|
||||
}
|
||||
|
||||
removeItem.ForEach(item => listView.Items.Remove(item));
|
||||
|
||||
if (SelectedEngine == null)
|
||||
return;
|
||||
|
||||
var pathSelectedEngine = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
||||
|
||||
if (pathSelectedEngine != null) {
|
||||
var pairPathIconTools = SelectedEngine.Tools
|
||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||
.Select(tool => {
|
||||
var keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||
var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, tool.Bin));
|
||||
|
||||
return new Pair(keyByPath, icon);
|
||||
});
|
||||
|
||||
foreach (var pair in pairPathIconTools) {
|
||||
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
}
|
||||
}
|
||||
|
||||
var itemsTools = SelectedEngine.Tools
|
||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||
|
||||
.Select(tool => {
|
||||
string keyByPath = null;
|
||||
|
||||
if (pathSelectedEngine != null)
|
||||
keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||
|
||||
if (keyByPath == null) {
|
||||
return new ListViewItem(tool.Name, listViewGroupTools);
|
||||
}
|
||||
else {
|
||||
return new ListViewItem(tool.Name, keyByPath, listViewGroupTools);
|
||||
}
|
||||
|
||||
}).ToArray();
|
||||
listView.Items.AddRange(itemsTools);
|
||||
|
||||
|
||||
var engineData = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid);
|
||||
var isAvailableProjectBySelectEngine = Projects.Any(project => project.Engine == SelectedEngine.Appid);
|
||||
|
||||
if (engineData != null && isAvailableProjectBySelectEngine) {
|
||||
var enginePath = engineData.Path;
|
||||
|
||||
if (enginePath != null) {
|
||||
var iconPathEngine = Path.Combine(enginePath, SelectedEngine.Bin);
|
||||
|
||||
var runProjectListViewItem = new ListViewItem(Properties.translations.MenuItems.itmRunProject, iconPathEngine, listViewGroupTools);
|
||||
runProjectListViewItem.Tag = RUN_PROJECT_ID;
|
||||
|
||||
listView.Items.Add(runProjectListViewItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateAddonsList() {
|
||||
var removeItem = new List<ListViewItem>();
|
||||
|
||||
foreach (ListViewItem item in listViewGroupAddons.Items) {
|
||||
removeItem.Add(item);
|
||||
}
|
||||
|
||||
removeItem.ForEach(item => listView.Items.Remove(item));
|
||||
|
||||
if (SelectedEngine == null)
|
||||
return;
|
||||
|
||||
var pathSelectedEngine = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
||||
var addonsSelectedEngine = dataProvider.Addons.Where(a => a.Engines.Contains(SelectedEngine.Appid));
|
||||
|
||||
|
||||
var pairPathIconTools = addonsSelectedEngine
|
||||
.Where(addon => {
|
||||
var path = addon.Bin;
|
||||
|
||||
return File.Exists(path);
|
||||
|
||||
})
|
||||
.Select(addons => {
|
||||
var keyByPath = addons.Bin;
|
||||
var icon = Icon.ExtractAssociatedIcon(keyByPath);
|
||||
|
||||
return new Pair(keyByPath, icon);
|
||||
});
|
||||
|
||||
foreach (var pair in pairPathIconTools) {
|
||||
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
}
|
||||
|
||||
var itemsAddons = addonsSelectedEngine.Select(addons => {
|
||||
string keyByPath = null;
|
||||
|
||||
if (pathSelectedEngine != null)
|
||||
keyByPath = Path.Combine(pathSelectedEngine, addons.Bin);
|
||||
|
||||
if (keyByPath == null) {
|
||||
return new ListViewItem(addons.Name, listViewGroupAddons);
|
||||
}
|
||||
else {
|
||||
return new ListViewItem(addons.Name, keyByPath, listViewGroupAddons);
|
||||
}
|
||||
|
||||
}).ToArray();
|
||||
|
||||
listView.Items.AddRange(itemsAddons);
|
||||
}
|
||||
|
||||
private void UpdateInfoNavigationBar() {
|
||||
var countAvailableEngines = dataProvider.Engines.Length;
|
||||
var countAvailableProjects = dataProvider.Projects.Length;
|
||||
var countAvailableAddons = dataProvider.Addons.Length;
|
||||
|
||||
toolStripStatusLabelEngines.Text = Properties.translations.MenuNavbar.menuStrEngines + $"{countAvailableEngines}";
|
||||
toolStripStatusLabelAddons.Text = Properties.translations.MenuNavbar.menuStrAddons + $"{countAvailableAddons}";
|
||||
}
|
||||
|
||||
private void UpdateLogInStatus() {
|
||||
var steamData = SteamManager.SteamData;
|
||||
|
||||
if (steamData.SteamPid != 0) {
|
||||
toolStripStatusLabelSteam.Image = Properties.Resources.checked_16;
|
||||
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOnline;
|
||||
toolStripStatusLabelSteam.ToolTipText = Properties.translations.MenuNavbar.menuStrSteam + $"PID: {steamData.SteamPid.ToString()}";
|
||||
}
|
||||
else {
|
||||
toolStripStatusLabelSteam.Image = Properties.Resources.cancel_16;
|
||||
toolStripStatusLabelSteam.ToolTipText = string.Empty;
|
||||
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOffline;
|
||||
}
|
||||
|
||||
if (steamData.UserNameSteam != null) {
|
||||
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + $"{steamData.UserNameSteam}";
|
||||
}
|
||||
else {
|
||||
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + Properties.translations.MenuNavbar.menuStrNone;
|
||||
}
|
||||
}
|
||||
|
||||
private void button_Launch_Click(object sender, EventArgs e) {
|
||||
this.OpenSettings();
|
||||
}
|
||||
|
||||
private void listView_MouseDoubleClick(object sender, MouseEventArgs e) {
|
||||
var selectItem = listView.SelectedItems[0];
|
||||
|
||||
var selectItemText = selectItem.Text;
|
||||
EnvUtils.PrepareVProject($"{SelectedProject?.Path ?? string.Empty}");
|
||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||
|
||||
if (selectItem.Group == listViewGroupTools) {
|
||||
if (RUN_PROJECT_ID.Equals(selectItem.Tag) && SelectedProject != null) {
|
||||
var pathEngineBin = Path.Combine(SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid).Path, SelectedEngine.Bin);
|
||||
|
||||
|
||||
Process.Start(pathEngineBin, $"-steam -game \"{SelectedProject?.Path ?? string.Empty}\" {SelectedProject.Args}");
|
||||
}
|
||||
|
||||
var selectedTool = SelectedEngine.Tools.FirstOrDefault(tool => tool.Name == selectItemText);
|
||||
if (selectedTool != null) {
|
||||
var selectedEnginePath = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
||||
|
||||
if (selectedEnginePath != null) {
|
||||
var toolPath = Path.Combine(selectedEnginePath, selectedTool.Bin);
|
||||
|
||||
if (File.Exists(toolPath)) {
|
||||
string finalArg = $"-steam {selectedTool.Args}";
|
||||
|
||||
if (!finalArg.Contains("-game")) {
|
||||
finalArg += $"-game \"{SelectedProject?.Path ?? string.Empty}\"";
|
||||
}
|
||||
|
||||
Process.Start(toolPath, finalArg);
|
||||
}
|
||||
else
|
||||
MessageBox.Show($"\"{selectedTool.Name}\" {Properties.translations.MessageBoxes.msgTextNotFound}\n{toolPath}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
}
|
||||
else {
|
||||
DialogResult dialogResult = MessageBox.Show($"\"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextNotInstalledInstall}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (dialogResult == DialogResult.Yes) {
|
||||
Process.Start($"steam://install/{SelectedEngine.Appid}");
|
||||
}
|
||||
else if (dialogResult == DialogResult.No) {
|
||||
MessageBox.Show($"{Properties.translations.MessageBoxes.msgTextInstallationOf} \"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextCancelled}", Properties.translations.MessageBoxes.msgInfo, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (selectItem.Group == listViewGroupAddons) {
|
||||
var selectedAddons = dataProvider.Addons.FirstOrDefault(addon => addon.Name == selectItemText);
|
||||
if (selectedAddons != null) {
|
||||
var addonPath = Path.Combine(selectedAddons.Bin);
|
||||
|
||||
if (File.Exists(addonPath))
|
||||
Process.Start(addonPath, selectedAddons.Args);
|
||||
else
|
||||
MessageBox.Show($"\"{selectedAddons.Name}\" {Properties.translations.MessageBoxes.msgTextNotFound}\n{addonPath}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmOpenSettings) {
|
||||
this.OpenSettings();
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditConfigurations) {
|
||||
var frmProfiles = new FormProjects();
|
||||
if (frmProfiles.ShowDialog() == DialogResult.OK) {
|
||||
UpdateFormData();
|
||||
}
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditPlugins) {
|
||||
var frmPlugins = new FormAddons();
|
||||
if (frmPlugins.ShowDialog() == DialogResult.OK) {
|
||||
UpdateFormData();
|
||||
}
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmAbout) {
|
||||
var frmAbout = new FormAbout();
|
||||
frmAbout.ShowDialog();
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubLink) {
|
||||
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox");
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubReport) {
|
||||
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox/issues/new/choose");
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenSettings() {
|
||||
var dataManager = new DataProvider();
|
||||
var settingsDto = dataManager.Settings;
|
||||
var languageProvider = new LanguageProvider();
|
||||
|
||||
var settingsModel = new SettingsViewModel(settingsDto, languageProvider);
|
||||
|
||||
var frmSettings = new FormSettings(settingsModel);
|
||||
|
||||
if (frmSettings.ShowDialog() == DialogResult.OK) {
|
||||
dataManager.Settings = settingsDto;
|
||||
Application.Restart();
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) {
|
||||
SaveLastSelectedProject();
|
||||
}
|
||||
}
|
||||
}
|
2509
src/UniversalValveToolbox/UI/FormMain.resx
Normal file
2288
src/UniversalValveToolbox/UI/FormMain.ru.resx
Normal file
204
src/UniversalValveToolbox/UI/FormProjects.Designer.cs
generated
Normal file
@ -0,0 +1,204 @@
|
||||
using System;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
partial class FormProjects {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormProjects));
|
||||
this.comboBox_Mod = new System.Windows.Forms.ComboBox();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.buttonNew = new System.Windows.Forms.Button();
|
||||
this.buttonRemove = new System.Windows.Forms.Button();
|
||||
this.buttonBrowse = new System.Windows.Forms.Button();
|
||||
this.textBoxPath = new System.Windows.Forms.TextBox();
|
||||
this.textBoxName = new System.Windows.Forms.TextBox();
|
||||
this.comboBoxEngine = new System.Windows.Forms.ComboBox();
|
||||
this.labelPath = new System.Windows.Forms.Label();
|
||||
this.labelName = new System.Windows.Forms.Label();
|
||||
this.labelLinkedEngine = new System.Windows.Forms.Label();
|
||||
this.labelAddon = new System.Windows.Forms.Label();
|
||||
this.labelDivider = new System.Windows.Forms.Label();
|
||||
this.buttonApply = new System.Windows.Forms.Button();
|
||||
this.textBoxArgs = new System.Windows.Forms.TextBox();
|
||||
this.labelArgs = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// comboBox_Mod
|
||||
//
|
||||
resources.ApplyResources(this.comboBox_Mod, "comboBox_Mod");
|
||||
this.comboBox_Mod.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBox_Mod.FormattingEnabled = true;
|
||||
this.comboBox_Mod.Name = "comboBox_Mod";
|
||||
this.comboBox_Mod.SelectedIndexChanged += new System.EventHandler(this.comboBox_Mod_SelectedIndexChanged);
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
resources.ApplyResources(this.buttonCancel, "buttonCancel");
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||
//
|
||||
// buttonNew
|
||||
//
|
||||
resources.ApplyResources(this.buttonNew, "buttonNew");
|
||||
this.buttonNew.Name = "buttonNew";
|
||||
this.buttonNew.UseVisualStyleBackColor = true;
|
||||
this.buttonNew.Click += new System.EventHandler(this.buttonNew_Click);
|
||||
//
|
||||
// buttonRemove
|
||||
//
|
||||
resources.ApplyResources(this.buttonRemove, "buttonRemove");
|
||||
this.buttonRemove.Name = "buttonRemove";
|
||||
this.buttonRemove.UseVisualStyleBackColor = true;
|
||||
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
|
||||
//
|
||||
// buttonBrowse
|
||||
//
|
||||
resources.ApplyResources(this.buttonBrowse, "buttonBrowse");
|
||||
this.buttonBrowse.Name = "buttonBrowse";
|
||||
this.buttonBrowse.UseVisualStyleBackColor = true;
|
||||
this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click);
|
||||
//
|
||||
// textBoxPath
|
||||
//
|
||||
resources.ApplyResources(this.textBoxPath, "textBoxPath");
|
||||
this.textBoxPath.Name = "textBoxPath";
|
||||
//
|
||||
// textBoxName
|
||||
//
|
||||
resources.ApplyResources(this.textBoxName, "textBoxName");
|
||||
this.textBoxName.Name = "textBoxName";
|
||||
//
|
||||
// comboBoxEngine
|
||||
//
|
||||
resources.ApplyResources(this.comboBoxEngine, "comboBoxEngine");
|
||||
this.comboBoxEngine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxEngine.FormattingEnabled = true;
|
||||
this.comboBoxEngine.Name = "comboBoxEngine";
|
||||
this.comboBoxEngine.SelectedIndexChanged += new System.EventHandler(this.comboBoxEngine_SelectedIndexChanged);
|
||||
//
|
||||
// labelPath
|
||||
//
|
||||
resources.ApplyResources(this.labelPath, "labelPath");
|
||||
this.labelPath.Name = "labelPath";
|
||||
//
|
||||
// labelName
|
||||
//
|
||||
resources.ApplyResources(this.labelName, "labelName");
|
||||
this.labelName.Name = "labelName";
|
||||
//
|
||||
// labelLinkedEngine
|
||||
//
|
||||
resources.ApplyResources(this.labelLinkedEngine, "labelLinkedEngine");
|
||||
this.labelLinkedEngine.Name = "labelLinkedEngine";
|
||||
//
|
||||
// labelAddon
|
||||
//
|
||||
resources.ApplyResources(this.labelAddon, "labelAddon");
|
||||
this.labelAddon.Name = "labelAddon";
|
||||
//
|
||||
// labelDivider
|
||||
//
|
||||
resources.ApplyResources(this.labelDivider, "labelDivider");
|
||||
this.labelDivider.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelDivider.Name = "labelDivider";
|
||||
//
|
||||
// buttonApply
|
||||
//
|
||||
resources.ApplyResources(this.buttonApply, "buttonApply");
|
||||
this.buttonApply.Name = "buttonApply";
|
||||
this.buttonApply.UseVisualStyleBackColor = true;
|
||||
this.buttonApply.Click += new System.EventHandler(this.buttonApply_Click);
|
||||
//
|
||||
// textBoxArgs
|
||||
//
|
||||
resources.ApplyResources(this.textBoxArgs, "textBoxArgs");
|
||||
this.textBoxArgs.Name = "textBoxArgs";
|
||||
//
|
||||
// labelArgs
|
||||
//
|
||||
resources.ApplyResources(this.labelArgs, "labelArgs");
|
||||
this.labelArgs.Name = "labelArgs";
|
||||
//
|
||||
// FormProjects
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.textBoxArgs);
|
||||
this.Controls.Add(this.labelArgs);
|
||||
this.Controls.Add(this.buttonApply);
|
||||
this.Controls.Add(this.labelDivider);
|
||||
this.Controls.Add(this.labelAddon);
|
||||
this.Controls.Add(this.buttonBrowse);
|
||||
this.Controls.Add(this.textBoxPath);
|
||||
this.Controls.Add(this.textBoxName);
|
||||
this.Controls.Add(this.comboBoxEngine);
|
||||
this.Controls.Add(this.labelPath);
|
||||
this.Controls.Add(this.labelName);
|
||||
this.Controls.Add(this.labelLinkedEngine);
|
||||
this.Controls.Add(this.buttonRemove);
|
||||
this.Controls.Add(this.buttonNew);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.comboBox_Mod);
|
||||
this.Name = "FormProjects";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Load += new System.EventHandler(this.FormEditProfile_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ComboBox comboBox_Mod;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private System.Windows.Forms.Button buttonNew;
|
||||
private System.Windows.Forms.Button buttonRemove;
|
||||
private System.Windows.Forms.Button buttonBrowse;
|
||||
private System.Windows.Forms.TextBox textBoxPath;
|
||||
private System.Windows.Forms.TextBox textBoxName;
|
||||
private System.Windows.Forms.ComboBox comboBoxEngine;
|
||||
private System.Windows.Forms.Label labelPath;
|
||||
private System.Windows.Forms.Label labelName;
|
||||
private System.Windows.Forms.Label labelLinkedEngine;
|
||||
private System.Windows.Forms.Label labelAddon;
|
||||
private System.Windows.Forms.Label labelDivider;
|
||||
private System.Windows.Forms.Button buttonApply;
|
||||
private System.Windows.Forms.TextBox textBoxArgs;
|
||||
private System.Windows.Forms.Label labelArgs;
|
||||
}
|
||||
}
|
148
src/UniversalValveToolbox/UI/FormProjects.cs
Normal file
@ -0,0 +1,148 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using kasthack.binding.wf;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using UniversalValveToolbox.Model.Dto;
|
||||
using UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
using UniversalValveToolbox.Utils;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormProjects : Form {
|
||||
private bool needRestart = false;
|
||||
|
||||
private DataProvider dataProvider = new DataProvider();
|
||||
|
||||
private FormProjectViewModel model;
|
||||
|
||||
|
||||
public FormProjects() {
|
||||
InitializeComponent();
|
||||
|
||||
model = new FormProjectViewModel(dataProvider.Projects, dataProvider.Engines.Where(engine => SteamPathsUtil.GetSteamAppDataById(engine.Appid) != null).ToArray());
|
||||
|
||||
UpdateComboBoxProject();
|
||||
UpdateComboBoxEngine();
|
||||
|
||||
textBoxName.Bind(a => a.Text, model, a => a.SelectProject.Name);
|
||||
textBoxPath.Bind(a => a.Text, model, a => a.SelectProject.Path);
|
||||
textBoxArgs.Bind(a => a.Text, model, a => a.SelectProject.Args);
|
||||
|
||||
comboBox_Mod.Bind(a => a.SelectedIndex, model, a => a.SelectProjectIndex);
|
||||
comboBoxEngine.Bind(a => a.SelectedIndex, model, a => a.SelectEngineIndex);
|
||||
}
|
||||
|
||||
private void Model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
|
||||
UpdateComboBoxEngine();
|
||||
}
|
||||
|
||||
private void UpdateComboBoxProject() {
|
||||
if (model.Projects.Length == 0) {
|
||||
New();
|
||||
} else {
|
||||
comboBox_Mod.Items.Clear();
|
||||
comboBox_Mod.Items.AddRange(model.Projects);
|
||||
|
||||
comboBox_Mod.SelectedIndex = model.SelectProjectIndex;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateComboBoxEngine() {
|
||||
comboBoxEngine.Items.Clear();
|
||||
comboBoxEngine.Items.AddRange(model.Engines);
|
||||
|
||||
comboBoxEngine.SelectedIndex = model.SelectEngineIndex;
|
||||
}
|
||||
|
||||
private void FormEditProfile_Load(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
|
||||
private void buttonCancel_Click(object sender, EventArgs e) {
|
||||
if (needRestart) {
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
private void buttonBrowse_Click(object sender, EventArgs e) {
|
||||
string folderpath = "";
|
||||
FolderBrowserDialog fbd = new FolderBrowserDialog {
|
||||
ShowNewFolderButton = false,
|
||||
RootFolder = Environment.SpecialFolder.MyComputer
|
||||
};
|
||||
DialogResult dr = fbd.ShowDialog();
|
||||
|
||||
if (dr == DialogResult.OK) {
|
||||
folderpath = fbd.SelectedPath;
|
||||
}
|
||||
|
||||
if (folderpath != "") {
|
||||
textBoxPath.Text = folderpath;
|
||||
}
|
||||
}
|
||||
|
||||
private void comboBoxEngine_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
if (model.SelectProject != null && comboBoxEngine.SelectedItem != null)
|
||||
model.SelectProject.Engine = ((EngineDtoModel)comboBoxEngine.SelectedItem).Appid;
|
||||
}
|
||||
|
||||
private void comboBox_Mod_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
model.SelectProjectIndex = comboBox_Mod.SelectedIndex;
|
||||
}
|
||||
|
||||
private void Remove() {
|
||||
var newProjectList = new List<ProjectDtoModel>(model.Projects);
|
||||
newProjectList.RemoveAt(model.SelectProjectIndex);
|
||||
|
||||
model.Projects = newProjectList.ToArray();
|
||||
|
||||
UpdateComboBoxProject();
|
||||
}
|
||||
|
||||
private void New() {
|
||||
var newProject = CreateNewEmptyProject();
|
||||
|
||||
var newProjectList = new List<ProjectDtoModel>(model.Projects);
|
||||
newProjectList.Insert(0, newProject);
|
||||
|
||||
model.Projects = newProjectList.ToArray();
|
||||
|
||||
UpdateComboBoxProject();
|
||||
}
|
||||
|
||||
private ProjectDtoModel CreateNewEmptyProject() {
|
||||
var newProject = new ProjectDtoModel();
|
||||
newProject.Name = Properties.translations.VarStrings.strNewProject;
|
||||
|
||||
return newProject;
|
||||
}
|
||||
|
||||
private void Save() {
|
||||
JsonFileUtil.SaveValues(DataProvider.ProjectsPath, "json", model.Projects.ToList());
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e) {
|
||||
Save();
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
private void buttonApply_Click(object sender, EventArgs e) {
|
||||
Save();
|
||||
|
||||
needRestart = true;
|
||||
}
|
||||
|
||||
private void buttonNew_Click(object sender, EventArgs e) {
|
||||
New();
|
||||
}
|
||||
|
||||
private void buttonRemove_Click(object sender, EventArgs e) {
|
||||
Remove();
|
||||
}
|
||||
}
|
||||
}
|
2542
src/UniversalValveToolbox/UI/FormProjects.resx
Normal file
2065
src/UniversalValveToolbox/UI/FormProjects.ru.resx
Normal file
112
src/UniversalValveToolbox/UI/FormSettings.Designer.cs
generated
Normal file
@ -0,0 +1,112 @@
|
||||
namespace UniversalValveToolbox {
|
||||
partial class FormSettings {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSettings));
|
||||
this.labelDivider = new System.Windows.Forms.Label();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.labelLang = new System.Windows.Forms.Label();
|
||||
this.comboBoxLang = new System.Windows.Forms.ComboBox();
|
||||
this.labelTranslationBy = new System.Windows.Forms.Label();
|
||||
this.labelTranslationAthor = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// labelDivider
|
||||
//
|
||||
resources.ApplyResources(this.labelDivider, "labelDivider");
|
||||
this.labelDivider.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelDivider.Name = "labelDivider";
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
resources.ApplyResources(this.buttonCancel, "buttonCancel");
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// labelLang
|
||||
//
|
||||
resources.ApplyResources(this.labelLang, "labelLang");
|
||||
this.labelLang.Name = "labelLang";
|
||||
//
|
||||
// comboBoxLang
|
||||
//
|
||||
resources.ApplyResources(this.comboBoxLang, "comboBoxLang");
|
||||
this.comboBoxLang.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxLang.FormattingEnabled = true;
|
||||
this.comboBoxLang.Items.AddRange(new object[] {
|
||||
resources.GetString("comboBoxLang.Items")});
|
||||
this.comboBoxLang.Name = "comboBoxLang";
|
||||
//
|
||||
// labelTranslationBy
|
||||
//
|
||||
resources.ApplyResources(this.labelTranslationBy, "labelTranslationBy");
|
||||
this.labelTranslationBy.Name = "labelTranslationBy";
|
||||
//
|
||||
// labelTranslationAthor
|
||||
//
|
||||
this.labelTranslationAthor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
resources.ApplyResources(this.labelTranslationAthor, "labelTranslationAthor");
|
||||
this.labelTranslationAthor.Name = "labelTranslationAthor";
|
||||
//
|
||||
// FormSettings
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.labelTranslationAthor);
|
||||
this.Controls.Add(this.labelTranslationBy);
|
||||
this.Controls.Add(this.comboBoxLang);
|
||||
this.Controls.Add(this.labelLang);
|
||||
this.Controls.Add(this.labelDivider);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FormSettings";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Load += new System.EventHandler(this.FormSettings_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.Label labelDivider;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.Label labelLang;
|
||||
private System.Windows.Forms.ComboBox comboBoxLang;
|
||||
private System.Windows.Forms.Label labelTranslationBy;
|
||||
private System.Windows.Forms.Label labelTranslationAthor;
|
||||
}
|
||||
}
|
26
src/UniversalValveToolbox/UI/FormSettings.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using kasthack.binding.wf;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormSettings : Form {
|
||||
public FormSettings(SettingsViewModel settings) {
|
||||
InitializeComponent();
|
||||
|
||||
comboBoxLang.Items.Clear();
|
||||
comboBoxLang.Items.AddRange(settings.Languages);
|
||||
comboBoxLang.Bind(a => a.SelectedIndex, settings, a => a.SelectedLanguageIndex);
|
||||
|
||||
}
|
||||
|
||||
private void buttonCancel_Click(object sender, EventArgs e) {
|
||||
Close();
|
||||
}
|
||||
|
||||
private void FormSettings_Load(object sender, EventArgs e) {
|
||||
labelTranslationAthor.Text = Properties.translations.LangDict.strLangAuthor;
|
||||
}
|
||||
}
|
||||
}
|
2209
src/UniversalValveToolbox/UI/FormSettings.resx
Normal file
2021
src/UniversalValveToolbox/UI/FormSettings.ru.resx
Normal file
33
src/UniversalValveToolbox/UI/View/IconComboBox.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace UniversalValveToolbox.UI.View {
|
||||
public class IconComboBox: ComboBox {
|
||||
|
||||
public IconComboBox() {
|
||||
DrawMode = DrawMode.OwnerDrawFixed;
|
||||
DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
}
|
||||
|
||||
protected override void OnDrawItem(DrawItemEventArgs e) {
|
||||
e.DrawBackground();
|
||||
e.DrawFocusRectangle();
|
||||
|
||||
if (e.Index >= 0 && e.Index < Items.Count) {
|
||||
var item = (IconComboBoxItem)Items[e.Index];
|
||||
|
||||
e.Graphics.DrawIcon(item.Icon, e.Bounds.Left, e.Bounds.Top);
|
||||
e.Graphics.DrawString(item.Title, e.Font, new SolidBrush(e.ForeColor), e.Bounds.Left + item.Icon.Width, e.Bounds.Top + 2);
|
||||
}
|
||||
|
||||
base.OnDrawItem(e);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
13
src/UniversalValveToolbox/UI/View/IconComboBoxItem.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UniversalValveToolbox.UI.View {
|
||||
class IconComboBoxItem {
|
||||
public Icon Icon;
|
||||
public string Title;
|
||||
}
|
||||
}
|
355
src/UniversalValveToolbox/UniversalValveToolbox.csproj
Normal file
@ -0,0 +1,355 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{DE66895F-7317-45D3-B5CA-292253CE086A}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>UniversalValveToolbox</RootNamespace>
|
||||
<AssemblyName>UniversalValveToolbox</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>valve.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<PackageReference Include="EpicMorg.SteamPathsLib" Version="1.1.0.5" />
|
||||
<PackageReference Include="kasthack.binding.wf">
|
||||
<Version>1.2.26</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
|
||||
<Reference Include="UIAutomationProvider" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Model\ViewModel\FormAddonViewModel.cs" />
|
||||
<Compile Include="Model\ViewModel\FormProjectViewModel.cs" />
|
||||
<Compile Include="Model\ViewModel\SteamDataViewModel.cs" />
|
||||
<Compile Include="Properties\translations\LangDict.Designer.cs">
|
||||
<DependentUpon>LangDict.resx</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\LangDict.ru.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>LangDict.ru.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MenuNavbar.ru.Designer.cs">
|
||||
<DependentUpon>MenuNavbar.ru.resx</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MenuNavbar.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>MenuNavbar.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\VarStrings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>VarStrings.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormAbout.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormAbout.Designer.cs">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormAddons.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormAddons.Designer.cs">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormProjects.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormProjects.Designer.cs">
|
||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormMain.Designer.cs">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormSettings.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\FormSettings.Designer.cs">
|
||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\translations\MenuCategories.Designer.cs">
|
||||
<DependentUpon>MenuCategories.resx</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MenuItems.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>MenuItems.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MenuCategories.ru.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>MenuCategories.ru.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MessageBoxes.ru.Designer.cs">
|
||||
<DependentUpon>MessageBoxes.ru.resx</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="Properties\translations\MessageBoxes.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>MessageBoxes.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Model\Dto\AddonDtoModel.cs" />
|
||||
<Compile Include="Model\Provider\DataProvider.cs" />
|
||||
<Compile Include="Model\Dto\EngineDtoModel.cs" />
|
||||
<Compile Include="Base\DtoModel.cs" />
|
||||
<Compile Include="Utils\EnvUtils.cs" />
|
||||
<Compile Include="Utils\JsonFileUtil.cs" />
|
||||
<Compile Include="Utils\LanguageManager.cs" />
|
||||
<Compile Include="Model\Dto\ToolDtoModel.cs" />
|
||||
<Compile Include="Model\ViewModel\SettingsViewModel.cs" />
|
||||
<Compile Include="Model\Dto\SettingsDtoModel.cs" />
|
||||
<Compile Include="Model\Provider\LanguageProvider.cs" />
|
||||
<Compile Include="Utils\SteamManager.cs" />
|
||||
<Compile Include="Utils\VersionHelper.cs" />
|
||||
<Compile Include="Model\Dto\ProjectDtoModel.cs" />
|
||||
<EmbeddedResource Include="Properties\translations\LangDict.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>LangDict.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\LangDict.ru.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>LangDict.ru.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MenuNavbar.ru.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MenuNavbar.ru.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MenuNavbar.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MenuNavbar.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\VarStrings.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>VarStrings.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\VarStrings.ru.resx" />
|
||||
<EmbeddedResource Include="UI\FormAbout.resx">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAbout.ru.resx">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAddons.resx">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAddons.ru.resx">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormMain.ru.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormProjects.resx">
|
||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormMain.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormProjects.ru.resx">
|
||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormSettings.resx">
|
||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\translations\MenuCategories.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MenuCategories.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MenuItems.ru.resx" />
|
||||
<EmbeddedResource Include="Properties\translations\MenuItems.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MenuItems.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MenuCategories.ru.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MenuCategories.ru.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MessageBoxes.ru.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MessageBoxes.ru.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\translations\MessageBoxes.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MessageBoxes.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormSettings.ru.resx">
|
||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="json\addons\myOtherProgram.json" />
|
||||
<None Include="json\addons\myProgram.json" />
|
||||
<None Include="json\engines\1840_sfm.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\440_tf2.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\399120_prospekt.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\211_source.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\630_alienswarm.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\620_portal2.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\400_portal.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\550_l4d2.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\500_l4d.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\280_hl1source.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\360_hl1sourcedeathmatch.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\290930_hl2update.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\340_hl2lc.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\420_hl2ep2.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\380_hl2episodic.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\320_hl2dm.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\220_hl2.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\4000_garrysmod.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\570_dota2sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\300_dod.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\280740_aperturetag.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\240_css.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\730_csgo.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\362890_bmssdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\496450_jack.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\254430_hl.sdk.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\243750_ssdk2013mp.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\engines\243730_ssdk2013sp.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="json\projects\test project.json" />
|
||||
<None Include="json\settings.json" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_16.png" />
|
||||
<None Include="Resources\checked_16.png" />
|
||||
<None Include="Resources\human_16.png" />
|
||||
<None Include="Resources\refresh_16.png" />
|
||||
<None Include="Resources\valve_64.png" />
|
||||
<None Include="Resources\info_16.png" />
|
||||
<None Include="Resources\plug-silhouette_16.png" />
|
||||
<None Include="Resources\run_16.png" />
|
||||
<Content Include="valve.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
43
src/UniversalValveToolbox/Utils/EnvUtils.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
internal static class EnvUtils {
|
||||
public static void PrepareVProject(string data) {
|
||||
Environment.SetEnvironmentVariable("VProject", data, EnvironmentVariableTarget.User);
|
||||
}
|
||||
|
||||
public static void PrepareVMod(string data) {
|
||||
Environment.SetEnvironmentVariable("VMod", data, EnvironmentVariableTarget.User);
|
||||
}
|
||||
|
||||
public static void PrepareVGame(string data) {
|
||||
Environment.SetEnvironmentVariable("VGame", data, EnvironmentVariableTarget.User);
|
||||
}
|
||||
|
||||
public static void PrepareVContent(string data) {
|
||||
Environment.SetEnvironmentVariable("VContent", data, EnvironmentVariableTarget.User);
|
||||
}
|
||||
|
||||
public static void PrepareVTools(string data) {
|
||||
Environment.SetEnvironmentVariable("VTools", data, EnvironmentVariableTarget.User);
|
||||
}
|
||||
|
||||
public static void PrepareSFMData(string pathProject) {
|
||||
if (pathProject == null || pathProject.Length == 0)
|
||||
return;
|
||||
|
||||
var SFMpath = SteamPathsUtil.GetSteamAppManifestDataById(1840)?.Path;
|
||||
|
||||
if (SFMpath == null)
|
||||
return;
|
||||
|
||||
PrepareVMod(new DirectoryInfo(pathProject).Name);
|
||||
PrepareVProject(pathProject);
|
||||
PrepareVContent(Path.Combine(SFMpath, "content"));
|
||||
PrepareVGame(Path.Combine(SFMpath, "game"));
|
||||
PrepareVTools(Path.Combine(SFMpath, "game", "sdktools"));
|
||||
}
|
||||
}
|
||||
}
|
65
src/UniversalValveToolbox/Utils/JsonFileUtil.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
static class JsonFileUtil {
|
||||
public static T ReadValue<T>(string path) {
|
||||
try {
|
||||
var result = JsonConvert.DeserializeObject<T>(File.ReadAllText(path));
|
||||
return result;
|
||||
} catch (Exception) {
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
|
||||
public static T ReadValue<T>(string path, T fileDefaultValue) {
|
||||
try {
|
||||
var result = JsonConvert.DeserializeObject<T>(File.ReadAllText(path));
|
||||
return result;
|
||||
} catch (Exception) {
|
||||
WriteValue(path, fileDefaultValue);
|
||||
|
||||
return fileDefaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
public static T[] ReadValues<T>(string directoryPath) {
|
||||
if (!Directory.Exists(directoryPath)) {
|
||||
Directory.CreateDirectory(directoryPath);
|
||||
}
|
||||
|
||||
return Directory.GetFiles(directoryPath, "*").Select(path => ReadValue<T>(path)).Where(value => value != null).ToArray();
|
||||
}
|
||||
|
||||
public static List<T> ReadListValues<T>(string directoryPath) => new List<T>(ReadValues<T>(directoryPath));
|
||||
|
||||
public static void WriteValue<T>(string path, T value) => File.WriteAllText(path, JsonConvert.SerializeObject(value, Formatting.Indented));
|
||||
|
||||
public static void SaveValues<T>(string folderPath, string fileExtension, List<T> values) {
|
||||
DirectoryInfo di = new DirectoryInfo(folderPath);
|
||||
|
||||
foreach (FileInfo file in di.GetFiles()) {
|
||||
file.Delete();
|
||||
}
|
||||
foreach (DirectoryInfo dir in di.GetDirectories()) {
|
||||
dir.Delete(true);
|
||||
}
|
||||
|
||||
foreach (var item in values) {
|
||||
StringBuilder fileName = new StringBuilder(item.ToString().ToLower());
|
||||
foreach (char c in System.IO.Path.GetInvalidFileNameChars()) {
|
||||
fileName = fileName.Replace(c, '_');
|
||||
}
|
||||
|
||||
var path = Path.Combine(folderPath, $"{fileName}.{fileExtension}");
|
||||
|
||||
File.WriteAllText(path, JsonConvert.SerializeObject(item, Formatting.Indented));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
18
src/UniversalValveToolbox/Utils/LanguageManager.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using System.Globalization;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
static class LanguageManager {
|
||||
public static void UpdateLanguage(string newLanguage, bool restart = false) {
|
||||
var currThread = Thread.CurrentThread;
|
||||
var newCultureInfo = new CultureInfo(newLanguage);
|
||||
|
||||
currThread.CurrentCulture = currThread.CurrentUICulture = newCultureInfo;
|
||||
|
||||
if (restart) {
|
||||
Application.Restart();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
16
src/UniversalValveToolbox/Utils/SteamManager.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
static class SteamManager {
|
||||
public static SteamDataViewModel SteamData {
|
||||
get {
|
||||
var result = new SteamDataViewModel();
|
||||
result.SteamPid = SteamPathsUtil.GetActiveProcessSteamData()?.PID ?? 0;
|
||||
result.UserNameSteam = SteamPathsUtil.GetSteamData()?.LastGameNameUsed ?? null;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
65
src/UniversalValveToolbox/Utils/VersionHelper.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
internal static class VersionHelper {
|
||||
public static string AssemblyVersion {
|
||||
get {
|
||||
return " " + Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static string AssemblyTitle {
|
||||
get {
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
|
||||
if (attributes.Length > 0) {
|
||||
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
|
||||
if (titleAttribute.Title != "") {
|
||||
return titleAttribute.Title;
|
||||
}
|
||||
}
|
||||
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
|
||||
}
|
||||
}
|
||||
|
||||
public static string AssemblyDescription {
|
||||
get {
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
|
||||
if (attributes.Length == 0) {
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
|
||||
}
|
||||
}
|
||||
|
||||
public static string AssemblyProduct {
|
||||
get {
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
|
||||
if (attributes.Length == 0) {
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyProductAttribute)attributes[0]).Product;
|
||||
}
|
||||
}
|
||||
|
||||
public static string AssemblyCopyright {
|
||||
get {
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
|
||||
if (attributes.Length == 0) {
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright + " " + DateTime.Now.Year.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static string AssemblyCompany {
|
||||
get {
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
|
||||
if (attributes.Length == 0) {
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCompanyAttribute)attributes[0]).Company;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"engines": [ 243730, 10 ], //linked avalible engine(s) by id
|
||||
"name": "My another Awesome Program",
|
||||
"category": "catUtils", //link program to one of category
|
||||
"bin": "C:\\program123.exe", //full path
|
||||
"args": ""
|
||||
}
|
7
src/UniversalValveToolbox/json/addons/myProgram.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"engines": [ 243730 ], //linked avalible engine(s) by id
|
||||
"name": "My Awesome Program",
|
||||
"category": "catCompileDecpmpile", //link program to one of category
|
||||
"bin": "C:\\program.exe", //full path
|
||||
"args": "-dev"
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/1840_sfm.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 1840,
|
||||
"name": "Source Filmmaker",
|
||||
"bin": "game//sfm.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "-steam",
|
||||
"bin": "game//bin//qsdklauncher.exe",
|
||||
"name": "SDK Launcher"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "game//bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "game//bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "game//bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "game//bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-steam",
|
||||
"bin": "game//sfm.exe",
|
||||
"name": "Run SFM"
|
||||
}
|
||||
]
|
||||
}
|
12
src/UniversalValveToolbox/json/engines/211_source.sdk.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"appid": 211,
|
||||
"name": "Source SDK 2006 2007 2009 (legacy)",
|
||||
"bin": "swarm.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "-steam -game launcher",
|
||||
"bin": "bin//SDKLauncher.exe",
|
||||
"name": "Authoring Tools Launcher"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/220_hl2.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 220,
|
||||
"name": "Half-Life 2: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game hl2",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game hl2",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/240_css.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 240,
|
||||
"name": "Counter-Strike Source: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game cstrike",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game cstrike",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"appid": 243730,
|
||||
"name": "Source SDK Base 2013 (SP) Singleplayer",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"appid": 243750,
|
||||
"name": "Source SDK Base 2013 (MP) Multiplayer",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
}
|
||||
]
|
||||
}
|
12
src/UniversalValveToolbox/json/engines/254430_hl.sdk.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"appid": 254430,
|
||||
"name": "Half-Life SDK",
|
||||
"bin": "ReadMe.txt",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "Hammer Editor//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
{
|
||||
"appid": 280740,
|
||||
"name": "Aperture Tag: SDK",
|
||||
"bin": "portal2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "-steam -game aperturetag",
|
||||
"bin": "bin//SDKLauncher.exe",
|
||||
"name": "Authoring Tools Launcher"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game aperturetag",
|
||||
"bin": "bin//p2map_publish.exe",
|
||||
"name": "Aperture Tag Publish Tool"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game aperturetag",
|
||||
"bin": "portal2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 280,
|
||||
"name": "Half-Life Source: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game hl1",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game hl1",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"appid": 290930,
|
||||
"name": "Half-Life 2 Update: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "-tools -steam -game hl2",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game hl2",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/300_dod.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 300,
|
||||
"name": "Day of Defeat Source: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game dod -tools",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game dod",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/320_hl2dm.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 320,
|
||||
"name": "Half-Life 2 Deathmatch: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game hl2mp",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game hl2mp",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/340_hl2lc.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 340,
|
||||
"name": "Half-Life 2 Lost Coast: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game lostcoast",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game lostcoast",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 360,
|
||||
"name": "Half-Life Deathmatch Source: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game hl1mp",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game hl1mp",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/362890_bmssdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 362890,
|
||||
"name": "Black Mesa: SDK",
|
||||
"bin": "bms.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game bms",
|
||||
"bin": "bin//blackmesa_publish.exe",
|
||||
"name": "Black Mesa Publish Tool"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game bms",
|
||||
"bin": "bms.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 380,
|
||||
"name": "Half-Life 2 Episode One: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game episodic",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game episodic",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 399120,
|
||||
"name": "Prospekt: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game prospekt",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game prospekt",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"appid": 4000,
|
||||
"name": "Garry's Mod: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game garrysmod",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game garrysmod",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|
37
src/UniversalValveToolbox/json/engines/400_portal.sdk.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"appid": 400,
|
||||
"name": "Portal: SDK",
|
||||
"bin": "hl2.exe",
|
||||
"tools": [
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
"name": "Half-Life Model Viewer"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlfaceposer.exe",
|
||||
"name": "Half-Life FacePoser"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//qc_eyes.exe",
|
||||
"name": "QC Eyes"
|
||||
},
|
||||
{
|
||||
"args": "-tools -steam -game portal",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Engine Tools"
|
||||
},
|
||||
{
|
||||
"args": "-steam -game portal",
|
||||
"bin": "hl2.exe",
|
||||
"name": "Run Game"
|
||||
}
|
||||
]
|
||||
}
|