Member Controls

Developers > ExtObjdForm.cs - Remember selected tab patch
pljonesLink to postposted: Sat Sep 08, 2007 2:20 pm
Avator for pljones

Member since:
 2005-04-02
From:
 London, UK
Posts:
 610

The following is a patch against my working copy of SimPE.  It adds an internal setting to remember which Objd form tab was opened.  That way, if the user is switching between OBJDs wanting to edit the Raw data, the form doesn't insist on switching to the other tab.

Index: J:/Dynamic/Projects/SimPE/fullsimpe-svn/SimPe Extended Filehandlers/ExtObjdForm.cs
===================================================================
--- J:/Dynamic/Projects/SimPE/fullsimpe-svn/SimPe Extended Filehandlers/ExtObjdForm.cs    (revision 330)
+++ J:/Dynamic/Projects/SimPE/fullsimpe-svn/SimPe Extended Filehandlers/ExtObjdForm.cs    (working copy)
@@ -242,6 +242,24 @@
             this.groupBox2.Refresh();
         }
 
+        static string subKey = "ExtObdjForm";
+        private int InitialTab
+        {
+            get
+            {
+                XmlRegistryKey rkf = Helper.WindowsRegistry.RegistryKey.CreateSubKey(subKey);
+                object o = rkf.GetValue("initialTab", 0);
+                return Convert.ToInt16(o);
+            }
+
+            set
+            {
+                XmlRegistryKey rkf = Helper.WindowsRegistry.RegistryKey.CreateSubKey(subKey);
+                rkf.SetValue("initialTab", value);
+            }
+
+        }
+
         #endregion
 
         #region IPackedFileUI Member
@@ -267,7 +285,8 @@
                 if (Helper.WindowsRegistry.HiddenMode) 
                     this.lbIsOk.Text = "Please commit! ("+objd.Ok.ToString()+")";                
                 this.pg.SelectedObject = null;
-                this.tc.SelectedTab = this.tpcatalogsort;                
+                //this.tc.SelectedTab = this.tpcatalogsort;
+                this.tc.SelectedIndex = InitialTab;
 
                 this.cbtype.SelectedIndex = 0;
                 for (int i=0; i<this.cbtype.Items.Count; i++)
@@ -1198,7 +1217,8 @@
 
         private void CangedTab(object sender, System.EventArgs e)
         {
-            if (tc.SelectedTab == tpraw)
+            InitialTab = tc.SelectedIndex;
+            if (tc.SelectedTab == tpraw)
             {
                 rbhex.Checked = (Ambertation.BaseChangeableNumber.DigitBase==16);
                 rbbin.Checked = (Ambertation.BaseChangeableNumber.DigitBase==2);


viewthread, 0, 0, ExtObjdFormcs-Remember-selected-tab-patch