Add initial settings form + menu items

pull/16/head
Miepee 4 years ago
parent 0ff2c26e6c
commit be653aae76

@ -284,5 +284,47 @@ namespace Atomic.Language {
return ResourceManager.GetString("LoadOSZip", resourceCulture);
}
}
public static string SystemLanguage {
get {
return ResourceManager.GetString("SystemLanguage", resourceCulture);
}
}
public static string LanguageNotice {
get {
return ResourceManager.GetString("LanguageNotice", resourceCulture);
}
}
public static string SettingsTitle {
get {
return ResourceManager.GetString("SettingsTitle", resourceCulture);
}
}
public static string SettingsMenu {
get {
return ResourceManager.GetString("SettingsMenu", resourceCulture);
}
}
public static string RememberFields {
get {
return ResourceManager.GetString("RememberFields", resourceCulture);
}
}
public static string QuitMenu {
get {
return ResourceManager.GetString("QuitMenu", resourceCulture);
}
}
public static string FileMenu {
get {
return ResourceManager.GetString("FileMenu", resourceCulture);
}
}
}
}

@ -138,4 +138,25 @@
<data name="LoadOSZip" xml:space="preserve">
<value>Load modded $1 .zip</value>
</data>
<data name="SystemLanguage" xml:space="preserve">
<value>System Language</value>
</data>
<data name="LanguageNotice" xml:space="preserve">
<value>Language (change requires a retart)</value>
</data>
<data name="SettingsTitle" xml:space="preserve">
<value>Settings</value>
</data>
<data name="SettingsMenu" xml:space="preserve">
<value>&amp;Settings</value>
</data>
<data name="RememberFields" xml:space="preserve">
<value>Automatically fill in fields from last usage</value>
</data>
<data name="QuitMenu" xml:space="preserve">
<value>&amp;Quit</value>
</data>
<data name="FileMenu" xml:space="preserve">
<value>&amp;File</value>
</data>
</root>

@ -144,6 +144,19 @@ public partial class ModPacker : Form
customSaveCheckBox.CheckedChanged += CustomSaveCheckBoxChecked_Changed;
customSaveButton.Click += CustomSaveDataButton_Click;
yycCheckBox.CheckedChanged += YYCCheckBox_CheckedChanged;
// Menu items
var settings = new Command() { MenuText = Text.SettingsMenu, Shortcut = Application.Instance.CommonModifier | Application.Instance.AlternateModifier | Keys.P};
settings.Executed += (sender, args) =>
{
var settings = new SettingsForm();
settings.ShowModal();
};
var quit = new Command() { MenuText = Text.QuitMenu, Shortcut = Application.Instance.CommonModifier | Keys.Q};
quit.Executed += (sender, args) => Application.Instance.Quit();
var file = new SubMenuItem() { Text = Text.FileMenu, Items = { settings, quit } };
Menu = new MenuBar() {Items = { file }};
}
#region Design Elements

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using Atomic.Language;
using AtomicLib;
using Eto.Drawing;
using Eto.Forms;
namespace Atomic;
public class SettingsForm : Dialog
{
public SettingsForm()
{
Title = Text.SettingsTitle;
Icon = new Icon(1f, new Bitmap(Resources.icon64));
Resizable = true;
var layout = new DynamicLayout() { Padding = 10, Spacing = new Size(20, 20) };
List<String> languageList = new List<String>
{
Text.SystemLanguage,
"Deutsch",
"English",
"Español",
"Français",
"Italiano",
"Português",
"Русский",
"日本語",
"中文(简体)"
};
var langdropDown = new DropDown() { DataStore = languageList };
langdropDown.SelectedIndexChanged += (sender, args) =>
{
// TODO: save new setting
};
var fillInContents = new CheckBox() { Text = Text.RememberFields };
fillInContents.CheckedChanged += (sender, args) =>
{
// TODO: save new setting
};
layout.AddRange(Text.LanguageNotice, langdropDown, fillInContents);
//layout.AddSpace();
Content = layout;
}
}
Loading…
Cancel
Save