1
0
mirror of https://github.com/dkmstr/openuds.git synced 2024-12-22 13:34:04 +03:00

* Added meta groups support to administration interface

This commit is contained in:
Adolfo Gómez 2013-03-05 02:24:36 +00:00
parent 96ca4f4f14
commit 7375290573
20 changed files with 1189 additions and 170 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

View File

@ -411,6 +411,15 @@ namespace UdsAdmin {
}
}
/// <summary>
/// Busca una cadena traducida similar a Group is not a Meta group!!!.
/// </summary>
internal static string groupIsNotMeta {
get {
return ResourceManager.GetString("groupIsNotMeta", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a You need to select a group.
/// </summary>
@ -645,6 +654,15 @@ namespace UdsAdmin {
}
}
/// <summary>
/// Busca una cadena traducida similar a New meta group.
/// </summary>
internal static string newMetaGroup {
get {
return ResourceManager.GetString("newMetaGroup", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a New Service Provider.
/// </summary>

View File

@ -513,4 +513,10 @@
<data name="smallNameRequired" xml:space="preserve">
<value>An small name with at most 8 chars and using A-Z,a-z,0-9 -_ chars is required</value>
</data>
<data name="newMetaGroup" xml:space="preserve">
<value>New meta group</value>
</data>
<data name="groupIsNotMeta" xml:space="preserve">
<value>Group is not a Meta group!!!</value>
</data>
</root>

View File

@ -250,6 +250,12 @@
<Compile Include="forms\FileDownloader.Designer.cs">
<DependentUpon>FileDownloader.cs</DependentUpon>
</Compile>
<Compile Include="forms\GroupMetaForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="forms\GroupMetaForm.Designer.cs">
<DependentUpon>GroupMetaForm.cs</DependentUpon>
</Compile>
<Compile Include="forms\NetworkForm.cs">
<SubType>Form</SubType>
</Compile>
@ -677,6 +683,9 @@
<EmbeddedResource Include="forms\GroupForm.fr.resx">
<DependentUpon>GroupForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="forms\GroupMetaForm.resx">
<DependentUpon>GroupMetaForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="forms\LoginForm.de.resx">
<DependentUpon>LoginForm.cs</DependentUpon>
</EmbeddedResource>

View File

@ -28,12 +28,14 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DeployedGroupsPanel));
this.listView = new System.Windows.Forms.ListView();
this.auth = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.name = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.state = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.comments = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.auth = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.SuspendLayout();
//
// listView
@ -48,12 +50,17 @@
this.listView.FullRowSelect = true;
this.listView.GridLines = true;
this.listView.Name = "listView";
this.listView.SmallImageList = this.imageList1;
this.listView.UseCompatibleStateImageBehavior = false;
this.listView.View = System.Windows.Forms.View.Details;
this.listView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView_ColumnClick);
this.listView.KeyUp += new System.Windows.Forms.KeyEventHandler(this.listView_KeyUp);
this.listView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.listView_MouseUp);
//
// auth
//
resources.ApplyResources(this.auth, "auth");
//
// name
//
resources.ApplyResources(this.name, "name");
@ -69,9 +76,11 @@
resources.ApplyResources(this.comments, "comments");
this.comments.Width = global::UdsAdmin.Properties.Settings.Default.wCommentsCol;
//
// auth
// imageList1
//
resources.ApplyResources(this.auth, "auth");
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "meta");
//
// DeployedGroupsPanel
//
@ -91,5 +100,6 @@
private System.Windows.Forms.ColumnHeader state;
private System.Windows.Forms.ColumnHeader comments;
private System.Windows.Forms.ColumnHeader auth;
private System.Windows.Forms.ImageList imageList1;
}
}

View File

@ -85,6 +85,8 @@ namespace UdsAdmin.controls.panel
foreach (xmlrpc.Group grp in grps)
{
ListViewItem itm = new ListViewItem(new string[]{grp.nameParent, grp.name, grp.active ? Strings.active : Strings.inactive , grp.comments});
if (grp.isMeta)
itm.ImageKey = "meta";
itm.ForeColor = grp.active ? gui.Colors.ActiveColor : gui.Colors.InactiveColor;
itm.Tag = grp.id;
lst.Add(itm);

View File

@ -147,6 +147,22 @@
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 279</value>
</data>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA
AQAAAk1TRnQBSQFMAwEBAAEIAQABCAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
ARADAAEBAQABGAYAAQz/AP8A/wAYAAO0AwADtAkAA7QDAAO0DwADtJMAA7QDAAO0AwADtAkAA7QPAAO0
kwADtAMAA7QDAAO0CQADtA8AA7STAAO0AwADtA8AA7QPAAO0nwADtAkAA7QPAAO0nwADtAkAA7QPAAO0
kwADtAMAA7QJAAO0CQADtP8A/wD/AP8AYAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGA
FwAD/wEAAv8GAAL/BgAC/wYAAv8GAAGoAbYGAAGrAbYGAAGLAbYGAAGJAbAGAAGrAbYGAAGrAbYGAAGo
AQkGAAL/BgAC/wYAAv8GAAL/BgAC/wYACw==
</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
@ -171,6 +187,12 @@
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 279</value>
</data>
<data name="&gt;&gt;auth.Name" xml:space="preserve">
<value>auth</value>
</data>
<data name="&gt;&gt;auth.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;name.Name" xml:space="preserve">
<value>name</value>
</data>
@ -189,11 +211,11 @@
<data name="&gt;&gt;comments.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;auth.Name" xml:space="preserve">
<value>auth</value>
<data name="&gt;&gt;imageList1.Name" xml:space="preserve">
<value>imageList1</value>
</data>
<data name="&gt;&gt;auth.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;imageList1.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>DeployedGroupsPanel</value>

View File

@ -28,11 +28,13 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupsPanel));
this.listView = new System.Windows.Forms.ListView();
this.name = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.state = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.comments = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.imageList = new System.Windows.Forms.ImageList(this.components);
this.SuspendLayout();
//
// listView
@ -46,6 +48,7 @@
this.listView.FullRowSelect = true;
this.listView.GridLines = true;
this.listView.Name = "listView";
this.listView.SmallImageList = this.imageList;
this.listView.UseCompatibleStateImageBehavior = false;
this.listView.View = System.Windows.Forms.View.Details;
this.listView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView_ColumnClick);
@ -67,6 +70,12 @@
resources.ApplyResources(this.comments, "comments");
this.comments.Width = global::UdsAdmin.Properties.Settings.Default.wCommentsCol;
//
// imageList
//
this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
this.imageList.TransparentColor = System.Drawing.Color.Transparent;
this.imageList.Images.SetKeyName(0, "meta");
//
// GroupsPanel
//
resources.ApplyResources(this, "$this");
@ -84,5 +93,6 @@
private System.Windows.Forms.ColumnHeader name;
private System.Windows.Forms.ColumnHeader state;
private System.Windows.Forms.ColumnHeader comments;
private System.Windows.Forms.ImageList imageList;
}
}

View File

@ -60,12 +60,14 @@ namespace UdsAdmin.controls.panel
ToolStripMenuItem enable = new ToolStripMenuItem(Strings.enable); enable.Click += enableItem; enable.Image = Images.apply16;
ToolStripMenuItem disable = new ToolStripMenuItem(Strings.disable); disable.Click += disableItem; disable.Image = Images.cancel16;
ToolStripSeparator sep = new ToolStripSeparator();
ToolStripMenuItem newG1 = new ToolStripMenuItem(Strings.newItem); newG1.Click += newItem; newG1.Image = Images.new16;
ToolStripMenuItem newG2 = new ToolStripMenuItem(Strings.newItem); newG2.Click += newItem; newG2.Image = Images.new16;
ToolStripMenuItem newG1 = new ToolStripMenuItem(Strings.newItem); newG1.Click += newGroup; newG1.Image = Images.new16;
ToolStripMenuItem newMG1 = new ToolStripMenuItem(Strings.newMetaGroup); newMG1.Click += newMetaGroup; newMG1.Image = Images.new16;
ToolStripMenuItem newG2 = new ToolStripMenuItem(Strings.newItem); newG2.Click += newGroup; newG2.Image = Images.new16;
ToolStripMenuItem newMG2 = new ToolStripMenuItem(Strings.newMetaGroup); newMG2.Click += newMetaGroup; newMG2.Image = Images.new16;
ToolStripMenuItem delete = new ToolStripMenuItem(Strings.deleteItem); delete.Click += deleteItem; delete.Image = Images.delete16;
_emptyMenu.Items.Add(newG1);
_fullMenu.Items.AddRange(new ToolStripItem[] { modify, enable, disable, sep, newG2, delete });
_emptyMenu.Items.AddRange(new ToolStripItem[] { newG1, newMG1 });
_fullMenu.Items.AddRange(new ToolStripItem[] { enable, disable, sep, newG2, newMG2, modify, delete });
listView.Columns[0].Text = _authType.groupNameLabel;
@ -89,9 +91,14 @@ namespace UdsAdmin.controls.panel
List<ListViewItem> lst = new List<ListViewItem>();
foreach (xmlrpc.Group grp in grps)
{
ListViewItem itm = new ListViewItem(new string[]{grp.name, grp.active ? Strings.active : Strings.inactive , grp.comments});
ListViewItem itm = new ListViewItem(new string[]{ grp.name, grp.active ? Strings.active : Strings.inactive , grp.comments});
if (grp.isMeta == true)
{
itm.ImageKey = "meta";
}
itm.ForeColor = grp.active ? gui.Colors.ActiveColor : gui.Colors.InactiveColor;
itm.Tag = grp.id;
itm.Tag = grp;
lst.Add(itm);
}
listView.Items.Clear();
@ -104,7 +111,7 @@ namespace UdsAdmin.controls.panel
}
private void newItem(object sender, EventArgs e)
private void newGroup(object sender, EventArgs e)
{
UdsAdmin.forms.GroupForm form = new UdsAdmin.forms.GroupForm(_auth, _authType, null);
if (form.ShowDialog() == DialogResult.OK)
@ -113,12 +120,33 @@ namespace UdsAdmin.controls.panel
}
}
private void newMetaGroup(object sender, EventArgs e)
{
UdsAdmin.forms.GroupMetaForm form = new UdsAdmin.forms.GroupMetaForm(_auth, null);
if (form.ShowDialog() == DialogResult.OK)
{
updateList();
}
}
private void modifyItem(object sender, EventArgs e)
{
if (listView.SelectedItems.Count != 1)
return;
UdsAdmin.forms.GroupForm form = new UdsAdmin.forms.GroupForm(_auth, _authType, (string)listView.SelectedItems[0].Tag);
if (form.ShowDialog() == DialogResult.OK)
xmlrpc.Group group = (xmlrpc.Group)listView.SelectedItems[0].Tag;
DialogResult res = DialogResult.No;
if (group.isMeta == true)
{
res = (new UdsAdmin.forms.GroupMetaForm(_auth, group.id)).ShowDialog();
}
else
{
res = (new UdsAdmin.forms.GroupForm(_auth, _authType, group.id)).ShowDialog();
}
if (res == DialogResult.OK)
{
updateList();
}
@ -134,7 +162,7 @@ namespace UdsAdmin.controls.panel
int n = 0;
foreach (ListViewItem i in listView.SelectedItems)
{
ids[n++] = (string)i.Tag;
ids[n++] = ((xmlrpc.Group)i.Tag).id;
i.SubItems[1].Text = info;
i.ForeColor = col;
}
@ -160,7 +188,7 @@ namespace UdsAdmin.controls.panel
int n = 0;
foreach (ListViewItem i in listView.SelectedItems)
{
ids[n++] = (string)i.Tag;
ids[n++] = ((xmlrpc.Group)i.Tag).id;
listView.Items.Remove(i);
}
xmlrpc.UdsAdminService.RemoveGroups(ids);

View File

@ -139,7 +139,23 @@
<value>0, 0</value>
</data>
<data name="listView.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 279</value>
<value>677, 294</value>
</data>
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA
AQAAAk1TRnQBSQFMAwEBAAEIAQABCAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
ARADAAEBAQABGAYAAQz/AP8A/wAYAAPBAwADwQkAA8EDAAPBDwADwZMAA8EDAAPBAwADwQkAA8EPAAPB
kwADwQMAA8EDAAPBCQADwQ8AA8GTAAPBAwADwQ8AA8EPAAPBnwADwQkAA8EPAAPBnwADwQkAA8EPAAPB
kwADwQMAA8EJAAPBCQADwf8A/wD/AP8AYAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGA
FwAD/wEAAv8GAAL/BgAC/wYAAv8GAAGoAbYGAAGrAbYGAAGLAbYGAAGJAbAGAAGrAbYGAAGrAbYGAAGo
AQkGAAL/BgAC/wYAAv8GAAL/BgAC/wYACw==
</value>
</data>
<data name="listView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -163,7 +179,7 @@
<value>6, 13</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 279</value>
<value>677, 294</value>
</data>
<data name="&gt;&gt;name.Name" xml:space="preserve">
<value>name</value>
@ -183,6 +199,12 @@
<data name="&gt;&gt;comments.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;imageList.Name" xml:space="preserve">
<value>imageList</value>
</data>
<data name="&gt;&gt;imageList.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>GroupsPanel</value>
</data>

View File

@ -0,0 +1,343 @@
namespace UdsAdmin.forms
{
partial class GroupMetaForm
{
/// <summary>
/// Variable del diseñador requerida.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Limpiar los recursos que se estén utilizando.
/// </summary>
/// <param name="disposing">true si los recursos administrados se deben eliminar; false en caso contrario, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Código generado por el Diseñador de Windows Forms
/// <summary>
/// Método necesario para admitir el Diseñador. No se puede modificar
/// el contenido del método con el editor de código.
/// </summary>
private void InitializeComponent()
{
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.accept = new System.Windows.Forms.Button();
this.cancel = new System.Windows.Forms.Button();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.selectedGroups = new System.Windows.Forms.ListBox();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.name = new System.Windows.Forms.TextBox();
this.comments = new System.Windows.Forms.TextBox();
this.groupLabel = new System.Windows.Forms.Label();
this.active = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.availableGroups = new System.Windows.Forms.ListBox();
this.tableLayoutPanel2.SuspendLayout();
this.tableLayoutPanel4.SuspendLayout();
this.groupBox2.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 3;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 40F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel2.Controls.Add(this.accept, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.cancel, 2, 0);
this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 376);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(555, 33);
this.tableLayoutPanel2.TabIndex = 8;
//
// accept
//
this.accept.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.accept.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.accept.Location = new System.Drawing.Point(3, 7);
this.accept.Name = "accept";
this.accept.Size = new System.Drawing.Size(160, 23);
this.accept.TabIndex = 0;
this.accept.Text = "Accept";
this.accept.UseVisualStyleBackColor = true;
this.accept.Click += new System.EventHandler(this.accept_Click);
//
// cancel
//
this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.cancel.Location = new System.Drawing.Point(391, 7);
this.cancel.Name = "cancel";
this.cancel.Size = new System.Drawing.Size(161, 23);
this.cancel.TabIndex = 1;
this.cancel.Text = "Cancel";
this.cancel.UseVisualStyleBackColor = true;
this.cancel.Click += new System.EventHandler(this.cancel_Click);
//
// tableLayoutPanel3
//
this.tableLayoutPanel3.ColumnCount = 3;
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(169, 3);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 1;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel3.Size = new System.Drawing.Size(216, 27);
this.tableLayoutPanel3.TabIndex = 2;
//
// tableLayoutPanel4
//
this.tableLayoutPanel4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel4.ColumnCount = 3;
this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F));
this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel4.Controls.Add(this.groupBox2, 2, 0);
this.tableLayoutPanel4.Controls.Add(this.flowLayoutPanel1, 1, 0);
this.tableLayoutPanel4.Controls.Add(this.groupBox1, 0, 0);
this.tableLayoutPanel4.Location = new System.Drawing.Point(11, 103);
this.tableLayoutPanel4.Name = "tableLayoutPanel4";
this.tableLayoutPanel4.RowCount = 1;
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel4.Size = new System.Drawing.Size(538, 264);
this.tableLayoutPanel4.TabIndex = 10;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.selectedGroups);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Location = new System.Drawing.Point(312, 3);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(223, 258);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Selected Groups";
//
// selectedGroups
//
this.selectedGroups.Dock = System.Windows.Forms.DockStyle.Fill;
this.selectedGroups.FormattingEnabled = true;
this.selectedGroups.Location = new System.Drawing.Point(3, 16);
this.selectedGroups.Name = "selectedGroups";
this.selectedGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;
this.selectedGroups.Size = new System.Drawing.Size(217, 239);
this.selectedGroups.TabIndex = 0;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.flowLayoutPanel1.Controls.Add(this.button1);
this.flowLayoutPanel1.Controls.Add(this.button2);
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
this.flowLayoutPanel1.Location = new System.Drawing.Point(232, 46);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 46, 3, 3);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(74, 64);
this.flowLayoutPanel1.TabIndex = 2;
//
// button1
//
this.button1.Location = new System.Drawing.Point(3, 3);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(70, 23);
this.button1.TabIndex = 0;
this.button1.Text = ">";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(3, 32);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(70, 23);
this.button2.TabIndex = 1;
this.button2.Text = "<";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 22.52252F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 77.47748F));
this.tableLayoutPanel1.Controls.Add(this.label3, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.name, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.comments, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.groupLabel, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.active, 1, 2);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(531, 85);
this.tableLayoutPanel1.TabIndex = 11;
//
// label3
//
this.label3.AutoSize = true;
this.label3.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label3.Location = new System.Drawing.Point(3, 56);
this.label3.Margin = new System.Windows.Forms.Padding(3, 6, 3, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(32, 13);
this.label3.TabIndex = 7;
this.label3.Text = "State";
//
// label2
//
this.label2.AutoSize = true;
this.label2.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label2.Location = new System.Drawing.Point(3, 31);
this.label2.Margin = new System.Windows.Forms.Padding(3, 6, 3, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(56, 13);
this.label2.TabIndex = 1;
this.label2.Text = "Comments";
//
// name
//
this.name.Dock = System.Windows.Forms.DockStyle.Fill;
this.name.Location = new System.Drawing.Point(122, 3);
this.name.Name = "name";
this.name.Size = new System.Drawing.Size(406, 20);
this.name.TabIndex = 2;
//
// comments
//
this.comments.Dock = System.Windows.Forms.DockStyle.Fill;
this.comments.Location = new System.Drawing.Point(122, 28);
this.comments.Name = "comments";
this.comments.Size = new System.Drawing.Size(406, 20);
this.comments.TabIndex = 3;
//
// groupLabel
//
this.groupLabel.AutoSize = true;
this.groupLabel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.groupLabel.Location = new System.Drawing.Point(3, 6);
this.groupLabel.Margin = new System.Windows.Forms.Padding(3, 6, 3, 0);
this.groupLabel.Name = "groupLabel";
this.groupLabel.Size = new System.Drawing.Size(67, 13);
this.groupLabel.TabIndex = 0;
this.groupLabel.Text = "Group Name";
//
// active
//
this.active.Appearance = System.Windows.Forms.Appearance.Button;
this.active.AutoSize = true;
this.active.Checked = true;
this.active.CheckState = System.Windows.Forms.CheckState.Checked;
this.active.Dock = System.Windows.Forms.DockStyle.Fill;
this.active.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.active.Location = new System.Drawing.Point(122, 56);
this.active.Margin = new System.Windows.Forms.Padding(3, 6, 3, 3);
this.active.Name = "active";
this.active.Size = new System.Drawing.Size(406, 26);
this.active.TabIndex = 6;
this.active.Text = "Active";
this.active.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.active.UseVisualStyleBackColor = true;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.availableGroups);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(223, 258);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Available Groups";
//
// availableGroups
//
this.availableGroups.Dock = System.Windows.Forms.DockStyle.Fill;
this.availableGroups.FormattingEnabled = true;
this.availableGroups.Location = new System.Drawing.Point(3, 16);
this.availableGroups.Name = "availableGroups";
this.availableGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;
this.availableGroups.Size = new System.Drawing.Size(217, 239);
this.availableGroups.TabIndex = 4;
//
// GroupMetaForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(555, 409);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.tableLayoutPanel4);
this.Controls.Add(this.tableLayoutPanel2);
this.Name = "GroupMetaForm";
this.Text = "Meta Group";
this.Load += new System.EventHandler(this.GroupMetaForm_Load);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel4.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.flowLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Button accept;
private System.Windows.Forms.Button cancel;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.ListBox selectedGroups;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
public System.Windows.Forms.TextBox name;
public System.Windows.Forms.TextBox comments;
private System.Windows.Forms.Label groupLabel;
private System.Windows.Forms.CheckBox active;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.ListBox availableGroups;
}
}

View File

@ -0,0 +1,191 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UdsAdmin.forms
{
public partial class GroupMetaForm : Form
{
private xmlrpc.Authenticator _auth;
private string _id;
public GroupMetaForm(xmlrpc.Authenticator auth, string groupId)
{
InitializeComponent();
_auth = auth;
_id = groupId;
}
private void GroupMetaForm_Load(object sender, EventArgs e)
{
availableGroups.BeginUpdate();
selectedGroups.BeginUpdate();
try
{
foreach (xmlrpc.Group grp in xmlrpc.UdsAdminService.GetGroups(_auth.id))
{
if (grp.isMeta == false)
availableGroups.Items.Add(grp);
}
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
Close();
}
if (_id != null)
{
try
{
xmlrpc.Group grp = xmlrpc.UdsAdminService.GetGroup(_id);
name.Text = grp.name;
comments.Text = grp.comments;
active.Checked = grp.active;
// Sanity check
if (grp.isMeta == false)
throw new CookComputing.XmlRpc.XmlRpcFaultException(-1, Strings.groupIsNotMeta);
foreach (string id in grp.groupsIds)
{
foreach( xmlrpc.Group av in availableGroups.Items )
{
if (av.id == id)
{
selectedGroups.Items.Add(av);
availableGroups.Items.Remove(av);
break;
}
}
}
sortListbox(availableGroups);
sortListbox(selectedGroups);
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
Close();
}
}
availableGroups.EndUpdate();
selectedGroups.EndUpdate();
Location = MainForm.centerLocation(this);
}
private static int compareGroups(xmlrpc.Group g1, xmlrpc.Group g2)
{
return String.Compare(g1.name, g2.name);
}
private void sortListbox(ListBox l)
{
List<xmlrpc.Group> lst = new List<xmlrpc.Group>(l.Items.OfType<xmlrpc.Group>());
lst.Sort(compareGroups);
l.Items.Clear();
l.Items.AddRange(lst.ToArray());
}
private void button1_Click(object sender, EventArgs e)
{
if (availableGroups.SelectedItems.Count == 0)
return;
availableGroups.BeginUpdate();
selectedGroups.BeginUpdate();
List<xmlrpc.Group> toRemove = new List<xmlrpc.Group>();
foreach (xmlrpc.Group grp in availableGroups.SelectedItems)
{
toRemove.Add(grp);
selectedGroups.Items.Add(grp);
}
// Now remove groups from availables
foreach( xmlrpc.Group grp in toRemove )
availableGroups.Items.Remove(grp);
sortListbox(availableGroups);
sortListbox(selectedGroups);
selectedGroups.EndUpdate();
availableGroups.EndUpdate();
}
private void button2_Click(object sender, EventArgs e)
{
if (selectedGroups.SelectedItems.Count == 0)
return;
availableGroups.BeginUpdate();
selectedGroups.BeginUpdate();
List<xmlrpc.Group> toRemove = new List<xmlrpc.Group>();
foreach (xmlrpc.Group grp in selectedGroups.SelectedItems)
{
toRemove.Add(grp);
availableGroups.Items.Add(grp);
}
// Now remove groups from availables
foreach (xmlrpc.Group grp in toRemove)
selectedGroups.Items.Remove(grp);
sortListbox(availableGroups);
sortListbox(selectedGroups);
selectedGroups.EndUpdate();
availableGroups.EndUpdate();
}
private void cancel_Click(object sender, EventArgs e)
{
DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
private void accept_Click(object sender, EventArgs e)
{
if (name.Text.Trim().Length == 0)
{
gui.UserNotifier.notifyError(Strings.nameRequired);
return;
}
xmlrpc.Group grp = new xmlrpc.Group();
grp.idParent = _auth.id; grp.id = ""; grp.name = name.Text; grp.comments = comments.Text; grp.active = active.Checked;
grp.isMeta = true;
List<string> groupsIds = new List<string>();
foreach( xmlrpc.Group g in selectedGroups.Items )
groupsIds.Add(g.id);
grp.groupsIds = groupsIds.ToArray();
try
{
if (_id == null)
{
xmlrpc.UdsAdminService.CreateGroup(grp);
}
else
{
grp.id = _id;
xmlrpc.UdsAdminService.ModifyGroup(grp);
}
DialogResult = System.Windows.Forms.DialogResult.OK;
}
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
{
gui.UserNotifier.notifyRpcException(ex);
}
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -204,9 +204,9 @@ namespace UdsAdmin.forms
{
gui.UserNotifier.notifyRpcException(ex);
}
catch (Exception)
catch (Exception ex2)
{
// Nothing done right now
gui.UserNotifier.notifyError(ex2.Message);
}
}

View File

@ -228,6 +228,7 @@
//
// groupsList
//
this.groupsList.CheckOnClick = true;
this.groupsList.FormattingEnabled = true;
resources.ApplyResources(this.groupsList, "groupsList");
this.groupsList.Name = "groupsList";

View File

@ -124,6 +124,8 @@ namespace UdsAdmin.forms
if (gg != null)
active = gg.active;
}
if (grp.isMeta == true)
grp.name = grp.name + " (meta)";
groupsList.Items.Add(grp, active);
}
}
@ -155,13 +157,16 @@ namespace UdsAdmin.forms
{
if (_authType.isExternalSource == false)
{
_user.groups = new xmlrpc.Group[groupsList.CheckedItems.Count];
int n = 0;
List<xmlrpc.Group> lst = new List<xmlrpc.Group>();
foreach (xmlrpc.Group grp in groupsList.CheckedItems)
{
_user.groups[n++] = grp;
if (grp.isMeta == false)
lst.Add(grp);
}
_user.groups = lst.ToArray();
}
else
_user.groups = new xmlrpc.Group[0];
_user.idParent = _auth.id; _user.name = name.Text; _user.realName = realName.Text;
_user.comments = comments.Text; _user.state = states[state.SelectedIndex];
_user.password = password.Text;

View File

@ -180,21 +180,6 @@
<data name="tableLayoutPanel3.ColumnCount" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="check.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="check.Location" type="System.Drawing.Point, System.Drawing">
<value>33, 3</value>
</data>
<data name="check.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 21</value>
</data>
<data name="check.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="check.Text" xml:space="preserve">
<value>Check name</value>
</data>
<data name="&gt;&gt;check.Name" xml:space="preserve">
<value>check</value>
</data>
@ -264,15 +249,360 @@
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="accept" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="cancel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="tableLayoutPanel3" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,30,Percent,40,Percent,30" /&gt;&lt;Rows Styles="Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="check.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="check.Location" type="System.Drawing.Point, System.Drawing">
<value>33, 3</value>
</data>
<data name="check.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 21</value>
</data>
<data name="check.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="check.Text" xml:space="preserve">
<value>Check name</value>
</data>
<data name="&gt;&gt;check.Name" xml:space="preserve">
<value>check</value>
</data>
<data name="&gt;&gt;check.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;check.Parent" xml:space="preserve">
<value>tableLayoutPanel3</value>
</data>
<data name="&gt;&gt;check.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabs.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>user</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="realName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="label4" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="name" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="comments" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="searchButton" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="userNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="state" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="passwordLabel" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="staffMemberLabel" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="adminLabel" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="password" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="staffMember" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="admin" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,27,54098,Percent,72,45902,Absolute,56" /&gt;&lt;Rows Styles="Percent,15,Percent,15,Percent,14,Percent,14,Percent,14,Percent,14,Percent,14,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="user.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="user.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="user.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 210</value>
</data>
<data name="user.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="user.Text" xml:space="preserve">
<value>User</value>
</data>
<data name="&gt;&gt;user.Name" xml:space="preserve">
<value>user</value>
</data>
<data name="&gt;&gt;user.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;user.Parent" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;user.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupsList.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 7</value>
</data>
<data name="groupsList.Size" type="System.Drawing.Size, System.Drawing">
<value>372, 184</value>
</data>
<data name="groupsList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;groupsList.Name" xml:space="preserve">
<value>groupsList</value>
</data>
<data name="&gt;&gt;groupsList.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupsList.Parent" xml:space="preserve">
<value>group</value>
</data>
<data name="&gt;&gt;groupsList.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="group.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="group.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="group.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 210</value>
</data>
<data name="group.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="group.Text" xml:space="preserve">
<value>Groups</value>
</data>
<data name="&gt;&gt;group.Name" xml:space="preserve">
<value>group</value>
</data>
<data name="&gt;&gt;group.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;group.Parent" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;group.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tabs.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 13</value>
</data>
<data name="tabs.Size" type="System.Drawing.Size, System.Drawing">
<value>393, 237</value>
</data>
<data name="tabs.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;tabs.Name" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;tabs.Type" xml:space="preserve">
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tabs.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tabs.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;realName.Name" xml:space="preserve">
<value>realName</value>
</data>
<data name="&gt;&gt;realName.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;realName.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;realName.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;name.Name" xml:space="preserve">
<value>name</value>
</data>
<data name="&gt;&gt;name.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;name.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;name.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;comments.Name" xml:space="preserve">
<value>comments</value>
</data>
<data name="&gt;&gt;comments.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;comments.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;comments.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;searchButton.Name" xml:space="preserve">
<value>searchButton</value>
</data>
<data name="&gt;&gt;searchButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;searchButton.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;searchButton.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;userNameLabel.Name" xml:space="preserve">
<value>userNameLabel</value>
</data>
<data name="&gt;&gt;userNameLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;userNameLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;userNameLabel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;state.Name" xml:space="preserve">
<value>state</value>
</data>
<data name="&gt;&gt;state.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;state.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;state.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;passwordLabel.Name" xml:space="preserve">
<value>passwordLabel</value>
</data>
<data name="&gt;&gt;passwordLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;passwordLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;passwordLabel.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;staffMemberLabel.Name" xml:space="preserve">
<value>staffMemberLabel</value>
</data>
<data name="&gt;&gt;staffMemberLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;staffMemberLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;staffMemberLabel.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="&gt;&gt;adminLabel.Name" xml:space="preserve">
<value>adminLabel</value>
</data>
<data name="&gt;&gt;adminLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;adminLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;adminLabel.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="&gt;&gt;label5.Name" xml:space="preserve">
<value>label5</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label5.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="&gt;&gt;password.Name" xml:space="preserve">
<value>password</value>
</data>
<data name="&gt;&gt;password.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;password.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;password.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="&gt;&gt;staffMember.Name" xml:space="preserve">
<value>staffMember</value>
</data>
<data name="&gt;&gt;staffMember.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;staffMember.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;staffMember.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="&gt;&gt;admin.Name" xml:space="preserve">
<value>admin</value>
</data>
<data name="&gt;&gt;admin.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;admin.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;admin.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>373, 195</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>user</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="realName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="label4" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="name" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="comments" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="searchButton" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="userNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="state" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="passwordLabel" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="staffMemberLabel" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="adminLabel" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="password" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="staffMember" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="admin" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,27,54098,Percent,72,45902,Absolute,56" /&gt;&lt;Rows Styles="Percent,15,Percent,15,Percent,14,Percent,14,Percent,14,Percent,14,Percent,14,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="realName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -364,7 +694,7 @@
<value>90, 3</value>
</data>
<data name="name.Size" type="System.Drawing.Size, System.Drawing">
<value>224, 20</value>
<value>223, 20</value>
</data>
<data name="name.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -409,7 +739,7 @@
<value>NoControl</value>
</data>
<data name="searchButton.Location" type="System.Drawing.Point, System.Drawing">
<value>320, 3</value>
<value>319, 3</value>
</data>
<data name="searchButton.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 20</value>
@ -640,7 +970,7 @@
<value>90, 115</value>
</data>
<data name="staffMember.Size" type="System.Drawing.Size, System.Drawing">
<value>224, 21</value>
<value>223, 21</value>
</data>
<data name="staffMember.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
@ -667,7 +997,7 @@
<value>90, 142</value>
</data>
<data name="admin.Size" type="System.Drawing.Size, System.Drawing">
<value>224, 21</value>
<value>223, 21</value>
</data>
<data name="admin.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@ -684,129 +1014,6 @@
<data name="&gt;&gt;admin.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>373, 195</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>user</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="realName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="label4" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="name" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="comments" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="searchButton" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="userNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="state" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="passwordLabel" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="staffMemberLabel" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="adminLabel" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="password" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="staffMember" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="admin" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,27,54098,Percent,72,45902,Absolute,55" /&gt;&lt;Rows Styles="Percent,15,Percent,15,Percent,14,Percent,14,Percent,14,Percent,14,Percent,14,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="user.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="user.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="user.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 210</value>
</data>
<data name="user.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="user.Text" xml:space="preserve">
<value>User</value>
</data>
<data name="&gt;&gt;user.Name" xml:space="preserve">
<value>user</value>
</data>
<data name="&gt;&gt;user.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;user.Parent" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;user.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupsList.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 7</value>
</data>
<data name="groupsList.Size" type="System.Drawing.Size, System.Drawing">
<value>372, 184</value>
</data>
<data name="groupsList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;groupsList.Name" xml:space="preserve">
<value>groupsList</value>
</data>
<data name="&gt;&gt;groupsList.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupsList.Parent" xml:space="preserve">
<value>group</value>
</data>
<data name="&gt;&gt;groupsList.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="group.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 23</value>
</data>
<data name="group.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="group.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 210</value>
</data>
<data name="group.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="group.Text" xml:space="preserve">
<value>Groups</value>
</data>
<data name="&gt;&gt;group.Name" xml:space="preserve">
<value>group</value>
</data>
<data name="&gt;&gt;group.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;group.Parent" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;group.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tabs.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 13</value>
</data>
<data name="tabs.Size" type="System.Drawing.Size, System.Drawing">
<value>393, 237</value>
</data>
<data name="tabs.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;tabs.Name" xml:space="preserve">
<value>tabs</value>
</data>
<data name="&gt;&gt;tabs.Type" xml:space="preserve">
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tabs.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tabs.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -58,11 +58,20 @@ namespace UdsAdmin.gui
sortOrderImages = new ImageList();
if( lst.SmallImageList != null )
{
foreach(string k in lst.SmallImageList.Images.Keys )
{
sortOrderImages.Images.Add(k, lst.SmallImageList.Images[k]);
}
}
sortOrderImages.ColorDepth = ColorDepth.Depth24Bit;
sortOrderImages.Images.Add("up", Images.uparrow16);
sortOrderImages.Images.Add("down", Images.downarrow16);
sortOrderImages.Images.Add("empty", Images.empty16);
lst.SmallImageList = sortOrderImages;
foreach (ColumnHeader h in lst.Columns)
{

View File

@ -237,10 +237,19 @@ namespace UdsAdmin.xmlrpc
public string name;
public string comments;
public bool active;
public bool isMeta;
[XmlRpcMissingMapping(MappingAction.Ignore)]
public string[] groupsIds; // If isMeta, this will hold to wich groups this makes references to
public override string ToString()
{
return name + ", " + comments;
string res = name;
if( isMeta == true )
res += "(meta)";
if (comments == null || comments == "")
res += " ," + comments;
return res;
}
}
@ -264,7 +273,14 @@ namespace UdsAdmin.xmlrpc
public override string ToString()
{
return name + "(" + realName + ")" + ", " + comments;
string rn = "";
if (realName != null && realName != "")
rn = " (" + realName + ")";
string cmnts = "";
if (comments != null && comments != "")
cmnts = ", " + comments;
return name + rn + cmnts;
}
}