using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using Microsoft.Win32; using System.Security.Permissions; namespace OCAReports { /// /// Summary description for frmLocation. /// public class frmLocation : System.Windows.Forms.Form { private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private Microsoft.VisualBasic.Compatibility.VB6.DriveListBox driveListBox1; private System.Windows.Forms.Button cmdDone; private System.Windows.Forms.Button cmdAdd; private System.Windows.Forms.RadioButton optArchive; private System.Windows.Forms.RadioButton optWatson; private System.Windows.Forms.ListBox lstLocations; private System.Windows.Forms.TextBox txtNetwork; private System.Windows.Forms.Button cmdRemove; private System.Windows.Forms.RadioButton rDirectory; private System.Windows.Forms.RadioButton rPath; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public frmLocation() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmLocation)); this.cmdDone = new System.Windows.Forms.Button(); this.cmdAdd = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.optArchive = new System.Windows.Forms.RadioButton(); this.optWatson = new System.Windows.Forms.RadioButton(); this.lstLocations = new System.Windows.Forms.ListBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.driveListBox1 = new Microsoft.VisualBasic.Compatibility.VB6.DriveListBox(); this.txtNetwork = new System.Windows.Forms.TextBox(); this.rDirectory = new System.Windows.Forms.RadioButton(); this.rPath = new System.Windows.Forms.RadioButton(); this.cmdRemove = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // cmdDone // this.cmdDone.Location = new System.Drawing.Point(440, 16); this.cmdDone.Name = "cmdDone"; this.cmdDone.TabIndex = 0; this.cmdDone.Text = "&Done"; this.cmdDone.Click += new System.EventHandler(this.cmdDone_Click); // // cmdAdd // this.cmdAdd.Location = new System.Drawing.Point(440, 52); this.cmdAdd.Name = "cmdAdd"; this.cmdAdd.TabIndex = 1; this.cmdAdd.Text = "&Add"; this.cmdAdd.Click += new System.EventHandler(this.cmdAdd_Click); // // groupBox1 // this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] { this.optArchive, this.optWatson}); this.groupBox1.Location = new System.Drawing.Point(408, 120); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(112, 72); this.groupBox1.TabIndex = 2; this.groupBox1.TabStop = false; // // optArchive // this.optArchive.Location = new System.Drawing.Point(16, 48); this.optArchive.Name = "optArchive"; this.optArchive.Size = new System.Drawing.Size(64, 16); this.optArchive.TabIndex = 1; this.optArchive.Text = "Archive"; this.optArchive.CheckedChanged += new System.EventHandler(this.optArchive_CheckedChanged); // // optWatson // this.optWatson.Checked = true; this.optWatson.Location = new System.Drawing.Point(16, 16); this.optWatson.Name = "optWatson"; this.optWatson.Size = new System.Drawing.Size(64, 16); this.optWatson.TabIndex = 0; this.optWatson.TabStop = true; this.optWatson.Text = "Watson"; this.optWatson.CheckedChanged += new System.EventHandler(this.optWatson_CheckedChanged); // // lstLocations // this.lstLocations.Location = new System.Drawing.Point(240, 48); this.lstLocations.Name = "lstLocations"; this.lstLocations.Size = new System.Drawing.Size(144, 147); this.lstLocations.TabIndex = 3; this.lstLocations.Leave += new System.EventHandler(this.lstLocations_Leave); this.lstLocations.Enter += new System.EventHandler(this.lstLocations_Enter); this.lstLocations.SelectedIndexChanged += new System.EventHandler(this.lstLocations_SelectedIndexChanged); // // label1 // this.label1.Location = new System.Drawing.Point(16, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(120, 24); this.label1.TabIndex = 4; this.label1.Text = "Directory"; // // label2 // this.label2.Location = new System.Drawing.Point(248, 16); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(120, 24); this.label2.TabIndex = 5; this.label2.Text = "Location:"; // // driveListBox1 // this.driveListBox1.Location = new System.Drawing.Point(40, 48); this.driveListBox1.Name = "driveListBox1"; this.driveListBox1.Size = new System.Drawing.Size(168, 21); this.driveListBox1.TabIndex = 7; // // txtNetwork // this.txtNetwork.Location = new System.Drawing.Point(40, 88); this.txtNetwork.Name = "txtNetwork"; this.txtNetwork.Size = new System.Drawing.Size(168, 20); this.txtNetwork.TabIndex = 8; this.txtNetwork.Text = ""; this.txtNetwork.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtNetwork_KeyUp); this.txtNetwork.Enter += new System.EventHandler(this.txtNetwork_Enter); // // rDirectory // this.rDirectory.Checked = true; this.rDirectory.Location = new System.Drawing.Point(16, 48); this.rDirectory.Name = "rDirectory"; this.rDirectory.Size = new System.Drawing.Size(16, 16); this.rDirectory.TabIndex = 10; this.rDirectory.TabStop = true; // // rPath // this.rPath.Location = new System.Drawing.Point(16, 88); this.rPath.Name = "rPath"; this.rPath.Size = new System.Drawing.Size(16, 16); this.rPath.TabIndex = 1; this.rPath.CheckedChanged += new System.EventHandler(this.rPath_CheckedChanged); // // cmdRemove // this.cmdRemove.Location = new System.Drawing.Point(440, 88); this.cmdRemove.Name = "cmdRemove"; this.cmdRemove.TabIndex = 11; this.cmdRemove.Text = "&Remove"; this.cmdRemove.Click += new System.EventHandler(this.cmdRemove_Click); // // frmLocation // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(536, 206); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.rDirectory, this.txtNetwork, this.driveListBox1, this.label2, this.label1, this.lstLocations, this.groupBox1, this.cmdAdd, this.cmdDone, this.rPath, this.cmdRemove}); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "frmLocation"; this.Text = "Locate directories to search"; this.Load += new System.EventHandler(this.frmLocation_Load); this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); } #endregion private void cmdAdd_Click(object sender, System.EventArgs e) { AddToList(); } private void lstLocations_SelectedIndexChanged(object sender, System.EventArgs e) { } private void lstLocations_Enter(object sender, System.EventArgs e) { } private void lstLocations_Leave(object sender, System.EventArgs e) { } private void cmdRemove_Click(object sender, System.EventArgs e) { RegistryKey reg; if(optArchive.Checked == true) { reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Archive"); } else { reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Watson"); } int x = 0; // RegistryPermission f = new RegistryPermission(RegistryPermissionAccess.Read | RegistryPermissionAccess.Write, // "HKEY_CURRENT_USER\\Software\\Microsoft\\OCATools\\OCAReports\\Watson"); // f.AddPathList(RegistryPermissionAccess.Write | RegistryPermissionAccess.Read | RegistryPermissionAccess.Write, // "HKEY_CURRENT_USER\\Software\\Microsoft\\OCATools\\OCAReports\\Watson"); if(lstLocations.SelectedIndex > -1) { lstLocations.Items.Remove(lstLocations.SelectedItem); } for(x = 0;x < 5; x++) { reg.SetValue("Loc" + x.ToString(), ""); } for(x = 0;x < lstLocations.Items.Count; x++) { reg.SetValue("Loc" + x.ToString(), lstLocations.Items[x].ToString()); } } private void cmdDone_Click(object sender, System.EventArgs e) { this.Close(); } private void txtNetwork_Enter(object sender, System.EventArgs e) { rPath.Checked = true; } private void txtNetwork_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e) { if(e.KeyCode == System.Windows.Forms.Keys.Enter) { AddToList(); } } private void AddToList() { string sDrive; int x = 0; bool bolFound = false; string[] strWatson = new string[5]; RegistryKey reg; if(optArchive.Checked == true) { reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Archive"); } else { reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Watson"); } if(lstLocations.Items.Count >= 11) { MessageBox.Show("The maximum drives is 10", "Cannot add drive", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if(rDirectory.Checked == true) { sDrive = driveListBox1.Drive.ToString(); sDrive = sDrive.Substring(0, 1); sDrive = sDrive + ":\\"; for(x = 0; x < lstLocations.Items.Count;x++) { if(sDrive == lstLocations.Items[x].ToString()) { bolFound = true; } } if(bolFound == false) { lstLocations.Items.Add(sDrive); } else { MessageBox.Show("This item already exist in the listbox", "Cannot add drive", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } if(rPath.Checked == true) { sDrive = txtNetwork.Text; for(x = 0; x < lstLocations.Items.Count;x++) { if(sDrive == lstLocations.Items[x].ToString()) { bolFound = true; } } if(bolFound == false) { lstLocations.Items.Add(sDrive); } else { MessageBox.Show("This item already exist in the listbox", "Cannot add drive", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } txtNetwork.Focus(); txtNetwork.SelectAll(); } for(x = 0;x < 10; x++) { reg.SetValue("Loc" + x.ToString(), ""); } for(x = 0;x < lstLocations.Items.Count; x++) { reg.SetValue("Loc" + x.ToString(), lstLocations.Items[x].ToString()); } } private void rPath_CheckedChanged(object sender, System.EventArgs e) { if(rPath.Checked == true) { txtNetwork.Focus(); } } private void frmLocation_Load(object sender, System.EventArgs e) { int x = 0; RegistryKey reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Watson"); for(x = 0;x < 10; x++) { try { if(reg.GetValue("Loc" + x.ToString()).ToString().Length > 0) { lstLocations.Items.Add(reg.GetValue("Loc" + x.ToString())); } } catch { x = 10; } } } private void optWatson_CheckedChanged(object sender, System.EventArgs e) { int x = 0; lstLocations.Items.Clear(); RegistryKey reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Watson"); for(x = 0;x < 5; x++) { try { if(reg.GetValue("Loc" + x.ToString()).ToString().Length > 0) { lstLocations.Items.Add(reg.GetValue("Loc" + x.ToString())); } } catch { x = 10; } } } private void optArchive_CheckedChanged(object sender, System.EventArgs e) { int x = 0; lstLocations.Items.Clear(); RegistryKey reg = Registry.CurrentUser.OpenSubKey("software").OpenSubKey("microsoft", true).CreateSubKey("OCATools").CreateSubKey("OCAReports").CreateSubKey("Archive"); for(x = 0;x < 10; x++) { try { if(reg.GetValue("Loc" + x.ToString()).ToString().Length > 0) { lstLocations.Items.Add(reg.GetValue("Loc" + x.ToString())); } } catch { x = 10; } } } } }