diff --git a/Source/GrasscutterTools/App.config b/Source/GrasscutterTools/App.config index ca17ac4..53c7c69 100644 --- a/Source/GrasscutterTools/App.config +++ b/Source/GrasscutterTools/App.config @@ -64,6 +64,9 @@ False + + 0 + \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.Designer.cs b/Source/GrasscutterTools/Forms/FormMain.Designer.cs index 73879c9..46e39e4 100644 --- a/Source/GrasscutterTools/Forms/FormMain.Designer.cs +++ b/Source/GrasscutterTools/Forms/FormMain.Designer.cs @@ -53,24 +53,23 @@ namespace GrasscutterTools.Forms // // NavContainer.Panel1 // - resources.ApplyResources(this.NavContainer.Panel1, "NavContainer.Panel1"); this.NavContainer.Panel1.Controls.Add(this.ListPages); // // NavContainer.Panel2 // - resources.ApplyResources(this.NavContainer.Panel2, "NavContainer.Panel2"); this.NavContainer.Panel2.Controls.Add(this.TCMain); // // ListPages // - resources.ApplyResources(this.ListPages, "ListPages"); this.ListPages.BackColor = System.Drawing.Color.WhiteSmoke; this.ListPages.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.ListPages, "ListPages"); this.ListPages.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable; this.ListPages.FormattingEnabled = true; this.ListPages.Name = "ListPages"; this.ListPages.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.ListPages_DrawItem); this.ListPages.SelectedIndexChanged += new System.EventHandler(this.ListPages_SelectedIndexChanged); + this.ListPages.SizeChanged += new System.EventHandler(this.ListPages_SizeChanged); // // TCMain // @@ -120,8 +119,8 @@ namespace GrasscutterTools.Forms // // MenuSpawnEntityFilter // - resources.ApplyResources(this.MenuSpawnEntityFilter, "MenuSpawnEntityFilter"); this.MenuSpawnEntityFilter.Name = "MenuSpawnEntityFilter"; + resources.ApplyResources(this.MenuSpawnEntityFilter, "MenuSpawnEntityFilter"); // // FormMain // diff --git a/Source/GrasscutterTools/Forms/FormMain.cs b/Source/GrasscutterTools/Forms/FormMain.cs index 114d74f..b42f8ed 100644 --- a/Source/GrasscutterTools/Forms/FormMain.cs +++ b/Source/GrasscutterTools/Forms/FormMain.cs @@ -52,14 +52,21 @@ namespace GrasscutterTools.Forms { StartPosition = FormStartPosition.Manual; Location = location; - Logger.I(TAG, "Restore window location: " + Location.ToString()); + Logger.I(TAG, "Restore window location: " + Location); } // 还原窗体大小 if (Settings.Default.MainFormSize != default) { Size = Settings.Default.MainFormSize; - Logger.I(TAG, "Restore window size: " + Size.ToString()); + Logger.I(TAG, "Restore window size: " + Size); + } + + // 还原导航容器间隔位置 + if (Settings.Default.NavContainerSplitterDistance >= NavContainer.Panel1MinSize) + { + NavContainer.SplitterDistance = Settings.Default.NavContainerSplitterDistance; + Logger.I(TAG, "Restore NavContainer SplitterDistance: " + NavContainer.SplitterDistance); } // 恢复自动复制选项状态 @@ -148,6 +155,15 @@ namespace GrasscutterTools.Forms e.Graphics.DrawString(ListPages.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds, strFmt); } + /// + /// 导航列表大小改变时触发 + /// + private void ListPages_SizeChanged(object sender, EventArgs e) + { + // 立刻重绘列表项 + ListPages.Refresh(); + } + /// /// 创建指定类型页面 /// @@ -232,19 +248,19 @@ namespace GrasscutterTools.Forms { // 记录界面状态 Settings.Default.AutoCopy = ChkAutoCopy.Checked; + // 记录窗口位置 if (WindowState == FormWindowState.Normal) Settings.Default.MainFormLocation = Location; // 如果命令窗口已经弹出了,则不要保存多余的高度 - if (TxtCommandRunLog != null) - Settings.Default.MainFormSize = new Size(Width, Height - TxtCommandRunLogMinHeight); - else - Settings.Default.MainFormSize = Size; - + Settings.Default.MainFormSize = TxtCommandRunLog != null ? new Size(Width, Height - TxtCommandRunLogMinHeight) : Size; + // 记录导航容器分隔位置 + Settings.Default.NavContainerSplitterDistance = NavContainer.SplitterDistance; // 保存设置 Settings.Default.Save(); } catch (Exception ex) { + Logger.E(TAG, "Save settings failed.", ex); MessageBox.Show(Resources.SettingSaveError + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } } diff --git a/Source/GrasscutterTools/Forms/FormMain.resx b/Source/GrasscutterTools/Forms/FormMain.resx index 3714c13..bd19007 100644 --- a/Source/GrasscutterTools/Forms/FormMain.resx +++ b/Source/GrasscutterTools/Forms/FormMain.resx @@ -117,316 +117,313 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 600, 25 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - FlatButtons - - - 51, 21 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 656, 275 - - - GrpCommand - - - 850, 400 - - - 61, 4 - - - GrpCommand - - - $this - - - 0, 0 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - NoControl - - - 610, 56 - - - - 3 - - - 87, 21 - - - 150, 275 - - - NavContainer - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 293 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 执行(F5) - - - 2 - - - 6 - - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpCommand - - - 3, 4, 3, 4 - - - 自动 - - - Fill - - - 22 - - - 3 - - - Top, Right - - - ChkAutoCopy - - - NoControl - - - Bottom, Left, Right - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 6, 22 - - - 0, 0 - - - True - - - BtnCopy - - - BtnInvokeOpenCommand - - - 75, 23 - - - NavContainer - - - GrasscutterTools - - - 0 - - - 5 - - - 610, 275 - - - 3 - - - NavContainer - - - Top, Right - - - TCMain - - - GrpCommand - Top, Bottom, Left, Right - - NavContainer.Panel2 - - - Microsoft YaHei UI, 10pt - - - 50, 23 - - - $this - - - 0 - - - Microsoft YaHei UI, 9pt - - - 834, 361 - - - NavContainer.Panel1 - - - CenterScreen - - - 1 - - - 150 - - - 693, 22 - - - NoControl - - - ListPages - + 12, 12 - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpCommand - - - 0, 1 - - - 命令 - [Ctrl] 自动执行 - [Shift] 拼接命令 - [Alt] 仅执行 - [|] 分割多条命令 - - - 0 - - - 610 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - FormMain - - - 1 - Fill - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Microsoft YaHei UI, 10pt - - Top, Left, Right + + + 22 + + + 0, 0 + + + 150, 275 + + + 5 + + + ListPages + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NavContainer.Panel1 + + + 0 + + + NavContainer.Panel1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NavContainer + + + 0 80 - - 810, 275 + + FlatButtons - - MenuSpawnEntityFilter + + Fill - - 749, 24 + + 0, 1 - - NoControl + + 0, 0 - - 复制 + + 610, 275 + + + 656, 275 4 - - 810, 56 + + TCMain - - 7, 17 + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + NavContainer.Panel2 + + 0 NavContainer.Panel2 - - NavContainer.Panel1 + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NavContainer + + + 1 + + + 610 + + + 810, 275 + + + 150 + + + 6 + + + NavContainer + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this 1 - - 2 + + Top, Left, Right + + + 87, 21 + + + 600, 25 + + + 1 CmbCommand + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpCommand + + + 3 + + + Top, Right + + + NoControl + + + 693, 22 + + + 50, 23 + + + 2 + + + 复制 + + + BtnCopy + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpCommand + + + 1 + + + Top, Right + + + True + + + NoControl + + + 749, 24 + + + 51, 21 + + + 3 + + + 自动 + + + ChkAutoCopy + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpCommand + + + 2 + + + Bottom, Left, Right + + + NoControl + + + 6, 22 + + + 75, 23 + + + 0 + + + 执行(F5) + + + BtnInvokeOpenCommand + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpCommand + + + 0 + + + 12, 293 + + + 610, 56 + + + 810, 56 + + + 3 + + + 命令 - [Ctrl] 自动执行 - [Shift] 拼接命令 - [Alt] 仅执行 - [|] 分割多条命令 + + + GrpCommand + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + 17, 17 + + 61, 4 + + + MenuSpawnEntityFilter + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + True + + 7, 17 + + + 834, 361 + + + Microsoft YaHei UI, 9pt + + + 3, 4, 3, 4 + + + 850, 400 + + + CenterScreen + + + GrasscutterTools + + + FormMain + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/Source/GrasscutterTools/Properties/Settings.Designer.cs b/Source/GrasscutterTools/Properties/Settings.Designer.cs index 25f67b5..36a72e7 100644 --- a/Source/GrasscutterTools/Properties/Settings.Designer.cs +++ b/Source/GrasscutterTools/Properties/Settings.Designer.cs @@ -238,5 +238,17 @@ namespace GrasscutterTools.Properties { this["IsIncludeUID"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int NavContainerSplitterDistance { + get { + return ((int)(this["NavContainerSplitterDistance"])); + } + set { + this["NavContainerSplitterDistance"] = value; + } + } } } diff --git a/Source/GrasscutterTools/Properties/Settings.settings b/Source/GrasscutterTools/Properties/Settings.settings index bb28457..49d7776 100644 --- a/Source/GrasscutterTools/Properties/Settings.settings +++ b/Source/GrasscutterTools/Properties/Settings.settings @@ -56,5 +56,8 @@ False + + 0 + \ No newline at end of file