private void tsbAdd_Click(object sender, EventArgs e)
        {
            // Create a new admin
            if (tcMain.SelectedTab == tpAdmin)
            {
                // Create the row
                dsAdmins.dtAdminsRow row = _dsAdmins.dtAdmins.NewdtAdminsRow();

                // Set the name
                row.name = "New Admin";

                // Add the row
                _dsAdmins.dtAdmins.AdddtAdminsRow(row);
            }
            else if (tcMain.SelectedTab == tpGroup)
            {
                // Create the row
                dsGroups.dtGroupsRow row = _dsGroups.dtGroups.NewdtGroupsRow();

                // Set the name
                row.name = "New Group";

                // Add the row
                _dsGroups.dtGroups.AdddtGroupsRow(row);
            }
        }
        /// <summary>
        /// Loads admins into a DS
        ///</summary>
        /// <param name="admins">
        /// The admin KVs to load from
        /// </param>
        /// <param name="ds">
        /// The dataset to load to
        /// </param>
        private void LoadAdminsToDS(KVItem admins, dsAdmins ds)
        {
            // Make sure the root section is admins
            if (admins.key == "Admins")
            {
                // Create admin rows for each admin
                foreach (KVItem adm in admins.subItems)
                {
                    // Create the row
                    dsAdmins.dtAdminsRow row = ds.dtAdmins.NewdtAdminsRow();

                    // Set the name
                    row.name = adm.key;

                    foreach (KVItem item in adm.subItems)
                    {
                        // Find where this value is supposed
                        // to go
                        switch (item.key.ToLower())
                        {
                        case "auth":
                            row.authType = item.value.ToLower();
                            break;

                        case "identity":
                            row.identity = item.value;
                            break;

                        case "group":
                            row.group = item.value;
                            break;

                        case "immunity":
                            row.immunity = Decimal.Parse(item.value);
                            break;

                        case "flags":
                            row.flags = item.value.ToLower();
                            break;

                        default:
                            break;
                        }
                    }

                    // Add the row
                    ds.dtAdmins.AdddtAdminsRow(row);
                }
            }
            else
            {
                // User tried to load an invalid admin file
                MessageBox.Show("Invalid admins.cfg.", "Invalid File",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }