diff --git a/xcom2-launcher/xcom2-launcher/Classes/Mod/ModEntry.cs b/xcom2-launcher/xcom2-launcher/Classes/Mod/ModEntry.cs index d332d1f..be42726 100644 --- a/xcom2-launcher/xcom2-launcher/Classes/Mod/ModEntry.cs +++ b/xcom2-launcher/xcom2-launcher/Classes/Mod/ModEntry.cs @@ -75,7 +75,7 @@ public class ModEntry public DateTime? DateCreated { get; set; } = null; public DateTime? DateUpdated { get; set; } = null; - public string Note { get; set; } = null; + public string Note { get; set; } /// /// Contains workshop id's from all mods, that this mod requires to run properly (as reported from workshop). @@ -140,24 +140,26 @@ public Classes.Mod.ModProperty GetProperty() #region Mod - public string GetDescription(bool CleanBBCode = false) + public string GetDescription(bool cleanBbCode = false) { string dsc; + if (!string.IsNullOrEmpty(Description)) dsc = Description; else dsc = new ModInfo(GetModInfoFile()).Description; - if (CleanBBCode) + if (cleanBbCode) { dsc = Tools.GetRtfEscapedString(dsc); - Regex Regexp = new Regex(@"(?(this.modinfo_ConfigFCTB_TextChanged); // + // modinfo_config_FileSelectCueComboBox + // + this.modinfo_config_FileSelectCueComboBox.CueText = "Select INI to edit"; + this.modinfo_config_FileSelectCueComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.modinfo_config_FileSelectCueComboBox.FormattingEnabled = true; + this.modinfo_config_FileSelectCueComboBox.Location = new System.Drawing.Point(3, 3); + this.modinfo_config_FileSelectCueComboBox.Name = "modinfo_config_FileSelectCueComboBox"; + this.modinfo_config_FileSelectCueComboBox.Size = new System.Drawing.Size(194, 21); + this.modinfo_config_FileSelectCueComboBox.TabIndex = 12; + this.toolTip.SetToolTip(this.modinfo_config_FileSelectCueComboBox, "Select an INI file to view or edit"); + this.modinfo_config_FileSelectCueComboBox.DropDown += new System.EventHandler(this.AdjustWidthComboBox_DropDown); + this.modinfo_config_FileSelectCueComboBox.SelectedIndexChanged += new System.EventHandler(this.modinfo_config_FileSelectCueComboBox_SelectedIndexChanged); + // // modinfo_config_buttonsTableLayoutPanel // this.modinfo_config_buttonsTableLayoutPanel.ColumnCount = 5; @@ -1647,7 +1686,7 @@ private void InitializeComponent() this.modinfo_changelog_tab.Location = new System.Drawing.Point(4, 22); this.modinfo_changelog_tab.Name = "modinfo_changelog_tab"; this.modinfo_changelog_tab.Padding = new System.Windows.Forms.Padding(3); - this.modinfo_changelog_tab.Size = new System.Drawing.Size(760, 219); + this.modinfo_changelog_tab.Size = new System.Drawing.Size(760, 228); this.modinfo_changelog_tab.TabIndex = 4; this.modinfo_changelog_tab.Text = "Changelog"; this.modinfo_changelog_tab.UseVisualStyleBackColor = true; @@ -1659,7 +1698,7 @@ private void InitializeComponent() this.modinfo_changelog_richtextbox.Location = new System.Drawing.Point(3, 3); this.modinfo_changelog_richtextbox.Name = "modinfo_changelog_richtextbox"; this.modinfo_changelog_richtextbox.ReadOnly = true; - this.modinfo_changelog_richtextbox.Size = new System.Drawing.Size(754, 213); + this.modinfo_changelog_richtextbox.Size = new System.Drawing.Size(754, 222); this.modinfo_changelog_richtextbox.TabIndex = 0; this.modinfo_changelog_richtextbox.Text = ""; this.modinfo_changelog_richtextbox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.ControlLinkClicked); @@ -1670,7 +1709,7 @@ private void InitializeComponent() this.modinfo_dependencies_tab.Location = new System.Drawing.Point(4, 22); this.modinfo_dependencies_tab.Name = "modinfo_dependencies_tab"; this.modinfo_dependencies_tab.Padding = new System.Windows.Forms.Padding(3); - this.modinfo_dependencies_tab.Size = new System.Drawing.Size(760, 219); + this.modinfo_dependencies_tab.Size = new System.Drawing.Size(760, 228); this.modinfo_dependencies_tab.TabIndex = 5; this.modinfo_dependencies_tab.Text = "Dependencies"; this.modinfo_dependencies_tab.UseVisualStyleBackColor = true; @@ -1687,7 +1726,7 @@ private void InitializeComponent() this.tableLayoutPanel1.RowCount = 2; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(754, 213); + this.tableLayoutPanel1.Size = new System.Drawing.Size(754, 222); this.tableLayoutPanel1.TabIndex = 4; // // panel4 @@ -1697,7 +1736,7 @@ private void InitializeComponent() this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; this.panel4.Location = new System.Drawing.Point(3, 3); this.panel4.Name = "panel4"; - this.panel4.Size = new System.Drawing.Size(748, 100); + this.panel4.Size = new System.Drawing.Size(748, 105); this.panel4.TabIndex = 1; // // olvRequiredMods @@ -1730,7 +1769,7 @@ private void InitializeComponent() this.olvRequiredMods.Name = "olvRequiredMods"; this.olvRequiredMods.ShowGroups = false; this.olvRequiredMods.ShowItemCountOnGroups = true; - this.olvRequiredMods.Size = new System.Drawing.Size(748, 78); + this.olvRequiredMods.Size = new System.Drawing.Size(748, 83); this.olvRequiredMods.SortGroupItemsByPrimaryColumn = false; this.olvRequiredMods.TabIndex = 1; this.olvRequiredMods.TintSortColumn = true; @@ -1827,9 +1866,9 @@ private void InitializeComponent() this.panel5.Controls.Add(this.olvDependentMods); this.panel5.Controls.Add(this.label6); this.panel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel5.Location = new System.Drawing.Point(3, 109); + this.panel5.Location = new System.Drawing.Point(3, 114); this.panel5.Name = "panel5"; - this.panel5.Size = new System.Drawing.Size(748, 101); + this.panel5.Size = new System.Drawing.Size(748, 105); this.panel5.TabIndex = 3; // // olvDependentMods @@ -1860,7 +1899,7 @@ private void InitializeComponent() this.olvDependentMods.Name = "olvDependentMods"; this.olvDependentMods.ShowGroups = false; this.olvDependentMods.ShowItemCountOnGroups = true; - this.olvDependentMods.Size = new System.Drawing.Size(748, 83); + this.olvDependentMods.Size = new System.Drawing.Size(748, 87); this.olvDependentMods.SortGroupItemsByPrimaryColumn = false; this.olvDependentMods.TabIndex = 2; this.olvDependentMods.TintSortColumn = true; @@ -1941,7 +1980,7 @@ private void InitializeComponent() this.modinfo_image_picturebox.BackColor = System.Drawing.SystemColors.ControlDarkDark; this.modinfo_image_picturebox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.modinfo_image_picturebox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.modinfo_image_picturebox.Location = new System.Drawing.Point(4, 27); + this.modinfo_image_picturebox.Location = new System.Drawing.Point(4, 32); this.modinfo_image_picturebox.Name = "modinfo_image_picturebox"; this.modinfo_image_picturebox.Size = new System.Drawing.Size(192, 192); this.modinfo_image_picturebox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -1999,6 +2038,7 @@ private void InitializeComponent() this.conflicts_datagrid.Location = new System.Drawing.Point(303, 3); this.conflicts_datagrid.Name = "conflicts_datagrid"; this.conflicts_datagrid.ReadOnly = true; + this.conflicts_datagrid.RowHeadersWidth = 51; this.conflicts_tab_tableLayoutPanel.SetRowSpan(this.conflicts_datagrid, 2); this.conflicts_datagrid.Size = new System.Drawing.Size(664, 650); this.conflicts_datagrid.TabIndex = 6; @@ -2008,6 +2048,7 @@ private void InitializeComponent() this.ColumnModName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.ColumnModName.FillWeight = 30F; this.ColumnModName.HeaderText = "Mod"; + this.ColumnModName.MinimumWidth = 6; this.ColumnModName.Name = "ColumnModName"; this.ColumnModName.ReadOnly = true; // @@ -2016,6 +2057,7 @@ private void InitializeComponent() this.ColumnInternalClass.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.ColumnInternalClass.FillWeight = 30F; this.ColumnInternalClass.HeaderText = "Internal Class"; + this.ColumnInternalClass.MinimumWidth = 6; this.ColumnInternalClass.Name = "ColumnInternalClass"; this.ColumnInternalClass.ReadOnly = true; // @@ -2024,6 +2066,7 @@ private void InitializeComponent() this.ColumnModClass.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.ColumnModClass.FillWeight = 40F; this.ColumnModClass.HeaderText = "Mod Class"; + this.ColumnModClass.MinimumWidth = 6; this.ColumnModClass.Name = "ColumnModClass"; this.ColumnModClass.ReadOnly = true; // @@ -2092,7 +2135,7 @@ private void InitializeComponent() this.panel1.Controls.Add(this.export_group_checkbox); this.panel1.Location = new System.Drawing.Point(3, 3); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(513, 29); + this.panel1.Size = new System.Drawing.Size(513, 28); this.panel1.TabIndex = 5; // // export_all_mods_checkbox @@ -2171,29 +2214,6 @@ private void InitializeComponent() this.fillPanel.TabIndex = 6; this.fillPanel.Visible = false; // - // modlist_FilterCueTextBox - // - this.modlist_FilterCueTextBox.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.modlist_FilterCueTextBox.CueText = "Filter Mods"; - this.modlist_FilterCueTextBox.Location = new System.Drawing.Point(3, 5); - this.modlist_FilterCueTextBox.Name = "modlist_FilterCueTextBox"; - this.modlist_FilterCueTextBox.Size = new System.Drawing.Size(175, 20); - this.modlist_FilterCueTextBox.TabIndex = 1; - this.modlist_FilterCueTextBox.TextChanged += new System.EventHandler(this.filterMods_TextChanged); - // - // modinfo_config_FileSelectCueComboBox - // - this.modinfo_config_FileSelectCueComboBox.CueText = "Select INI to edit"; - this.modinfo_config_FileSelectCueComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.modinfo_config_FileSelectCueComboBox.FormattingEnabled = true; - this.modinfo_config_FileSelectCueComboBox.Location = new System.Drawing.Point(3, 3); - this.modinfo_config_FileSelectCueComboBox.Name = "modinfo_config_FileSelectCueComboBox"; - this.modinfo_config_FileSelectCueComboBox.Size = new System.Drawing.Size(194, 21); - this.modinfo_config_FileSelectCueComboBox.TabIndex = 12; - this.toolTip.SetToolTip(this.modinfo_config_FileSelectCueComboBox, "Select an INI file to view or edit"); - this.modinfo_config_FileSelectCueComboBox.DropDown += new System.EventHandler(this.AdjustWidthComboBox_DropDown); - this.modinfo_config_FileSelectCueComboBox.SelectedIndexChanged += new System.EventHandler(this.modinfo_config_FileSelectCueComboBox_SelectedIndexChanged); - // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -2205,7 +2225,7 @@ private void InitializeComponent() this.Controls.Add(this.fillPanel); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = this.main_menustrip; - this.MinimumSize = new System.Drawing.Size(800, 600); + this.MinimumSize = new System.Drawing.Size(800, 599); this.Name = "MainForm"; this.Text = "XCOM Alternative Mod Launcher"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); @@ -2238,6 +2258,7 @@ private void InitializeComponent() this.modinfo_tabcontrol.ResumeLayout(false); this.modinfo_details_tab.ResumeLayout(false); this.modinfo_details_tab.PerformLayout(); + this.modinfo_notes_tab.ResumeLayout(false); this.modinfo_readme_tab.ResumeLayout(false); this.modinfo_inspect_tab.ResumeLayout(false); this.modinfo_config_tab.ResumeLayout(false); @@ -2372,7 +2393,6 @@ private void InitializeComponent() private BrightIdeasSoftware.OLVColumn olvcCategory; private BrightIdeasSoftware.OLVColumn olvcTags; private BrightIdeasSoftware.OLVColumn olvForWOTC; - private System.Windows.Forms.Button btnDescSave; private BrightIdeasSoftware.OLVColumn olvAuthor; private System.Windows.Forms.ToolStripMenuItem runChallengeModeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem manageCategoriesToolStripMenuItem; @@ -2385,7 +2405,6 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem reviewToolStripMenuItem; private System.Windows.Forms.ToolStripStatusLabel labelFillsFreeSpace; private System.Windows.Forms.ToolStripStatusLabel appRestartPendingLabel; - private System.Windows.Forms.Button btnDescUndo; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem infoToolStripMenuItem; @@ -2448,5 +2467,8 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem folderToChimeraDataToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem chimeraLogFileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem folderToChimeraInstallToolStripMenuItem; + private System.Windows.Forms.TabPage modinfo_notes_tab; + private System.Windows.Forms.RichTextBox modInfoNotesText; + private BrightIdeasSoftware.OLVColumn olvColNotes; } } \ No newline at end of file diff --git a/xcom2-launcher/xcom2-launcher/Forms/MainForm.Events.cs b/xcom2-launcher/xcom2-launcher/Forms/MainForm.Events.cs index c8ac806..5d3f516 100644 --- a/xcom2-launcher/xcom2-launcher/Forms/MainForm.Events.cs +++ b/xcom2-launcher/xcom2-launcher/Forms/MainForm.Events.cs @@ -816,34 +816,6 @@ private void modinfo_config_CompareButton_Click(object sender, EventArgs e) } } - private void modinfo_info_DescriptionRichTextBox_TextChanged(object sender, EventArgs e) - { - //var contents = modinfo_info_DescriptionRichTextBox.Text; - //if (!CurrentMod.Description.Equals(contents)) - // CurrentMod.Description = contents; - btnDescSave.Enabled = true; - btnDescUndo.Enabled = true; - } - - private void btnDescSave_Click(object sender, EventArgs e) - { - if (CurrentMod != null) - { - var contents = modinfo_info_DescriptionRichTextBox.Text; - - if (!CurrentMod.Description.Equals(contents)) - CurrentMod.Description = contents; - } - - btnDescSave.Enabled = false; - btnDescUndo.Enabled = false; - } - - private void btnDescUndo_Click(object sender, EventArgs e) - { - UpdateModDescription(CurrentMod); - } - private void modlist_toggleGroupsButton_Click(object sender, EventArgs e) { if (modlist_ListObjectListView.OLVGroups == null) @@ -898,6 +870,15 @@ private void cShowPrimaryDuplicates_CheckedChanged(object sender, EventArgs e) UpdateDependencyInformation(mod); } } + + private void modInfoNotesText_TextChanged(object sender, EventArgs e) + { + if (CurrentMod != null) + { + CurrentMod.Note = modInfoNotesText.Text; + modlist_ListObjectListView.RefreshObject(CurrentMod); + } + } #endregion } diff --git a/xcom2-launcher/xcom2-launcher/Forms/MainForm.ModList.cs b/xcom2-launcher/xcom2-launcher/Forms/MainForm.ModList.cs index 3c9be0a..d41e81c 100644 --- a/xcom2-launcher/xcom2-launcher/Forms/MainForm.ModList.cs +++ b/xcom2-launcher/xcom2-launcher/Forms/MainForm.ModList.cs @@ -1,13 +1,12 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Diagnostics.Contracts; using System.Drawing; -using System.Drawing.Text; using System.Globalization; using System.IO; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; @@ -165,6 +164,60 @@ private void InitModListView() // Restore State if (Settings.Windows.ContainsKey("main") && Settings.Windows["main"].Data != null) modlist_ListObjectListView.RestoreState(Settings.Windows["main"].Data); + + olvColNotes.AspectGetter += rowObject => + { + if (!(rowObject is ModEntry mod)) + { + return ""; + } + + // Return only the first line of the note + if (String.IsNullOrWhiteSpace(mod.Note)) + { + return ""; + } + + var firstLine = new Regex("[^\r\n]*").Match(mod.Note).Value; + return firstLine; + }; + + modlist_ListObjectListView.CellEditStarting += (sender, args) => + { + if (!(args.RowObject is ModEntry mod)) + { + return; + } + + // Use Multi-Line editor for notes + if (args.Column == olvColNotes) + { + var tb = new TextBox + { + Multiline = true, + ScrollBars = ScrollBars.Both, + Bounds = args.CellBounds, + }; + + tb.Height *= 4; + tb.Text = mod.Note?.Replace("\n", "\r\n") ?? ""; + args.Control = tb; + } + }; + + modlist_ListObjectListView.CellEditFinished += (sender, args) => + { + if (!(args.RowObject is ModEntry mod)) + { + return; + } + + // Refresh info in mod overview if note was changed in OLV + if (args.Column == olvColNotes) + { + modInfoNotesText.Text = mod.Note; + } + }; RefreshModList(); } @@ -1070,7 +1123,7 @@ private ContextMenuStrip CreateModListContextMenu(ModEntry m, OLVListItem curren if (installedWorkShopMods.Any()) { unsubscribeItem = new ToolStripMenuItem("Unsubscribe", null, delegate { ConfirmUnsubscribeMods(installedWorkShopMods); }); - unsubscribeItem.ToolTipText = "Unsubscribes the selected the mod(s) from the Workshop, but keeps the mod(s) listed in AML, so you can re-subscribe later."; + unsubscribeItem.ToolTipText = "Unsubscribes the selected mod(s) from the Workshop, but keeps the mod(s) listed in AML, so you can re-subscribe later."; } } diff --git a/xcom2-launcher/xcom2-launcher/Forms/MainForm.cs b/xcom2-launcher/xcom2-launcher/Forms/MainForm.cs index caa30f2..53de40d 100644 --- a/xcom2-launcher/xcom2-launcher/Forms/MainForm.cs +++ b/xcom2-launcher/xcom2-launcher/Forms/MainForm.cs @@ -672,9 +672,6 @@ private void UpdateModDescription(ModEntry m) modinfo_info_DescriptionRichTextBox.Font = DefaultFont; modinfo_info_DescriptionRichTextBox.Rtf = m.GetDescription(true); } - - btnDescSave.Enabled = false; - btnDescUndo.Enabled = false; } private void UpdateDependencyInformation(ModEntry m) @@ -703,6 +700,8 @@ private void UpdateModInfo(ModEntry m) modinfo_info_InstalledTextBox.Clear(); modinfo_readme_RichTextBox.Clear(); modinfo_changelog_richtextbox.Clear(); + modInfoNotesText.Clear(); + modInfoNotesText.ReadOnly = true; UpdateModDescription(null); modinfo_image_picturebox.ImageLocation = null; modinfo_inspect_propertygrid.SelectedObject = null; @@ -724,6 +723,8 @@ private void UpdateModInfo(ModEntry m) modinfo_info_AuthorTextBox.Text = m.Author; modinfo_info_DateCreatedTextBox.Text = m.DateCreated?.ToString() ?? ""; modinfo_info_InstalledTextBox.Text = m.DateAdded?.ToString() ?? ""; + modInfoNotesText.Text = m.Note; + modInfoNotesText.ReadOnly = false; UpdateModDescription(m); UpdateModChangeLog(m); modinfo_readme_RichTextBox.Text = m.GetReadMe(); diff --git a/xcom2-launcher/xcom2-launcher/Forms/MainForm.resx b/xcom2-launcher/xcom2-launcher/Forms/MainForm.resx index ead09ef..7f05e22 100644 --- a/xcom2-launcher/xcom2-launcher/Forms/MainForm.resx +++ b/xcom2-launcher/xcom2-launcher/Forms/MainForm.resx @@ -142,7 +142,7 @@ iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAADSxJREFUeF7t2nvw5WMdB/AHu7qXO7Oli1KZFFIUYoqhWiVRky4yZGRS022ampSR + vgAADr4B6kKxwAAADSxJREFUeF7t2nvw5WMdB/AHu7qXO7Oli1KZFFIUYoqhWiVRky4yZGRS022ampSR GZlKTSZLsmklKhVpE0IUQu5ELuuui3T5g2h3/U7v15nznPme757V/nbP2Zt9Zt5zLr/neT6fz/tze57v +ZVVY9VYNRZrXFLKtMtL2efKUvZflogOe19Ryro9tZbOuKqUqdeWMuOBUubeX8rjyxL3lfLY1aUc2ill tZ564x9hfKPbSrnhnlI61wQho3NdcH1wQ3BjcFPwx+Dm4JbgTz3cGmRt5/YGfAZ/q/OssdYe9rKv/YEs @@ -204,7 +204,7 @@ iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAADSxJREFUeF7t2nvw5WMdB/AHu7qXO7Oli1KZFFIUYoqhWiVRky4yZGRS022ampSR + vgAADr4B6kKxwAAADSxJREFUeF7t2nvw5WMdB/AHu7qXO7Oli1KZFFIUYoqhWiVRky4yZGRS022ampSR GZlKTSZLsmklKhVpE0IUQu5ELuuui3T5g2h3/U7v15nznPme757V/nbP2Zt9Zt5zLr/neT6fz/tze57v +ZVVY9VYNRZrXFLKtMtL2efKUvZflogOe19Ryro9tZbOuKqUqdeWMuOBUubeX8rjyxL3lfLY1aUc2ill tZ564x9hfKPbSrnhnlI61wQho3NdcH1wQ3BjcFPwx+Dm4JbgTz3cGmRt5/YGfAZ/q/OssdYe9rKv/YEs @@ -266,7 +266,7 @@ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wAAADsABataJCQAABVNJREFUSEt1VmtPU1kULdDSUuj7/UJoLKhQKG3pVHSKtkWeFahjBwbRKjojFFSQ + vAAADrwBlbxySQAABVNJREFUSEt1VmtPU1kULdDSUuj7/UJoLKhQKG3pVHSKtkWeFahjBwbRKjojFFSQ Vloe8qiKQUYlo2HiaBxmzMRJHEPiN2LiB43G7ya+34k/Y825h3C1tn5Y6d377rPWvvuuc245ANLw7Nkz PH/+nOLly5cUr169wuvXr/HmzRu8ffsW7969w/v37/Hhwwd8/PgRnz59IkvTudIS4+PjkMvlUCgUUCqV FCqVioVarWah0WhYaLVaXLt2jVCk8qUEDKxWKw5UtOK/9nncaJnFn02ncbU+id/rpnHJN4mL2ycw7xnD @@ -298,67 +298,6 @@ 70 - - 546, 17 - - - A mod will be automatically hidden, when it is no longer available ("Not installed" or "Not loaded"). -Mods can manually be (un-)hidden using the mod lists context menu. -Hidden mods can be shown by activating "Options -> Show hidden mods". - - - Mods are flagged as "New", when they were added during the last mod import/update process. -The "New" flag for all mods will be removed after AML has been restarted. -The "New" flag for a single mod will be removed when it is selected. - - - 636, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m - dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFxSURBVDhPpY29S0JhFMbPX2Dc8gaRSUHWJgjl5ig4 - CA4OLWIlgavcQfeCWmqopaCgL/oggpagaGiKpjdoCApao6GlNRo6Pc/t3pvmdaiEny/nPL/zXFHVfxG6 - /A3u376IHIAjkRwwfDnveoRlvPlZwMBoo6F8OTcVuNlbrRZkLQWeaD7qdb3L5/XdcZQzYAkxL5WKmz2V - Sn72XbCNAeS2ELxWq3qZTutzuaycyX2h4O5usll3R5c3LQUIZAPBOoTHYlHPkkm9zmT0IpXSTdvWw3hc - mdGhG1oAQdYgrEI8TSR0x7Jc9qJR5Y4ZnbaCeQwLYAksQ1qBfIKvHuPYhztmdOjypq1g8Usw5zgIgxmd - TgUMzBVEH84ddrmWglkMwNxC8OE8B5GEZbwJCuIYJiA6CB4g8OU8iD0Jy3gTFOAXAyNjIjOTEMZFpjEP - gwHQD4bSIlPM6GAeBbHmggjoAX0evaAbdAFmFrCBn0dBJCj4Oyqfyz6oBaObEn8AAAAASUVORK5CYII= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdGYXN0Q29sb3JlZFRleHRCb3gsIFZlcnNpb249Mi4xNi4yNC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWZiOGFhMTJiOTk0ZWY2MWIMAwAAAFFTeXN0 - ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu - PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACJGYXN0Q29sb3JlZFRleHRCb3hOUy5TZXJ2aWNlQ29sb3JzBgAA - ACg8Q29sbGFwc2VNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxDb2xsYXBzZU1hcmtlckJh - Y2tDb2xvcj5rX19CYWNraW5nRmllbGQqPENvbGxhcHNlTWFya2VyQm9yZGVyQ29sb3I+a19fQmFja2lu - Z0ZpZWxkJjxFeHBhbmRNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkJjxFeHBhbmRNYXJrZXJC - YWNrQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxFeHBhbmRNYXJrZXJCb3JkZXJDb2xvcj5rX19CYWNraW5n - RmllbGQEBAQEBAQUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAA - ABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5E - cmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAACAAAABfz///8UU3lzdGVtLkRy - YXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAACgAAAAAA - AAAAlgABAAH7/////P///woAAAAAAAAAAKQAAQAB+v////z///8KAAAAAAAAAACWAAEAAfn////8//// - CgAAAAAAAAAAjQABAAH4/////P///woAAAAAAAAAAKQAAQAB9/////z///8KAAAAAAAAAACWAAEACw== - - 425, 17 @@ -5267,4 +5206,71 @@ The "New" flag for a single mod will be removed when it is selected. AMADAADAAwAAwAMAAMADAADgBwAA4AcAAA== + + 546, 17 + + + A mod will be automatically hidden, when it is no longer available ("Not installed" or "Not loaded"). +Mods can manually be (un-)hidden using the mod lists context menu. +Hidden mods can be shown by activating "Options -> Show hidden mods". + + + Mods are flagged as "New", when they were added during the last mod import/update process. +The "New" flag for all mods will be removed after AML has been restarted. +The "New" flag for a single mod will be removed when it is selected. + + + 636, 17 + + + 636, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFxSURBVDhPpY29S0JhFMbPX2Dc8gaRSUHWJgjl5ig4 + CA4OLWIlgavcQfeCWmqopaCgL/oggpagaGiKpjdoCApao6GlNRo6Pc/t3pvmdaiEny/nPL/zXFHVfxG6 + /A3u376IHIAjkRwwfDnveoRlvPlZwMBoo6F8OTcVuNlbrRZkLQWeaD7qdb3L5/XdcZQzYAkxL5WKmz2V + Sn72XbCNAeS2ELxWq3qZTutzuaycyX2h4O5usll3R5c3LQUIZAPBOoTHYlHPkkm9zmT0IpXSTdvWw3hc + mdGhG1oAQdYgrEI8TSR0x7Jc9qJR5Y4ZnbaCeQwLYAksQ1qBfIKvHuPYhztmdOjypq1g8Usw5zgIgxmd + TgUMzBVEH84ddrmWglkMwNxC8OE8B5GEZbwJCuIYJiA6CB4g8OU8iD0Jy3gTFOAXAyNjIjOTEMZFpjEP + gwHQD4bSIlPM6GAeBbHmggjoAX0evaAbdAFmFrCBn0dBJCj4Oyqfyz6oBaObEn8AAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdGYXN0Q29sb3JlZFRleHRCb3gsIFZlcnNpb249Mi4xNi4yNC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWZiOGFhMTJiOTk0ZWY2MWIMAwAAAFFTeXN0 + ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu + PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACJGYXN0Q29sb3JlZFRleHRCb3hOUy5TZXJ2aWNlQ29sb3JzBgAA + ACg8Q29sbGFwc2VNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxDb2xsYXBzZU1hcmtlckJh + Y2tDb2xvcj5rX19CYWNraW5nRmllbGQqPENvbGxhcHNlTWFya2VyQm9yZGVyQ29sb3I+a19fQmFja2lu + Z0ZpZWxkJjxFeHBhbmRNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkJjxFeHBhbmRNYXJrZXJC + YWNrQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxFeHBhbmRNYXJrZXJCb3JkZXJDb2xvcj5rX19CYWNraW5n + RmllbGQEBAQEBAQUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAA + ABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5E + cmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAACAAAABfz///8UU3lzdGVtLkRy + YXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAACgAAAAAA + AAAAlgABAAH7/////P///woAAAAAAAAAAKQAAQAB+v////z///8KAAAAAAAAAACWAAEAAfn////8//// + CgAAAAAAAAAAjQABAAH4/////P///woAAAAAAAAAAKQAAQAB9/////z///8KAAAAAAAAAACWAAEACw== + + + + 546, 17 + \ No newline at end of file