diff --git a/Atomic/Language/Text.Designer.cs b/Atomic/Language/Text.Designer.cs
index 2c054b0..5aeb736 100644
--- a/Atomic/Language/Text.Designer.cs
+++ b/Atomic/Language/Text.Designer.cs
@@ -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);
+ }
+ }
}
}
diff --git a/Atomic/Language/Text.resx b/Atomic/Language/Text.resx
index 3e6ef7a..031e4fb 100644
--- a/Atomic/Language/Text.resx
+++ b/Atomic/Language/Text.resx
@@ -138,4 +138,25 @@
Load modded $1 .zip
+
+ System Language
+
+
+ Language (change requires a retart)
+
+
+ Settings
+
+
+ &Settings
+
+
+ Automatically fill in fields from last usage
+
+
+ &Quit
+
+
+ &File
+
\ No newline at end of file
diff --git a/Atomic/ModPacker.Designer.cs b/Atomic/ModPacker.Designer.cs
index f06c5ea..039a5a4 100644
--- a/Atomic/ModPacker.Designer.cs
+++ b/Atomic/ModPacker.Designer.cs
@@ -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
diff --git a/Atomic/SettingsForm.cs b/Atomic/SettingsForm.cs
new file mode 100644
index 0000000..efa8dc1
--- /dev/null
+++ b/Atomic/SettingsForm.cs
@@ -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 languageList = new List
+ {
+ 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;
+ }
+}
\ No newline at end of file