MyDesktop_Form
    1| /*
	    2| NTC C# II Programming 152-124
	    3| Instructor: John Heckendorf
	    4| Student: Keith Gallistel
	    5| Lab ID: <35176> 
	    6| 
	    7| Project Name: My Desktop Launch Menu
	    8| 
	    9| Purpose: Allow a user to lauch favorite applications, drives, and websites from a menu
	  10|     on the desktop.
	  11| */
	  12| 
	  13| using System;
	  14| using System.Collections.Generic;
	  15| using System.ComponentModel;
	  16| using System.Data;
	  17| using System.Drawing;
	  18| using System.Linq;
	  19| using System.Text;
	  20| using System.Windows.Forms;
	  21| 
	  22| //add references
	  23| using DLL_User_ID;
	  24| 
	  25| namespace MyDesktop
	  26| {
	  27|     public partial class MyDesktop_Form : Form
	  28|     {
	  29|         string sUser_ID = "";
	  30|         string sXML_Drives_Location = "";
	  31|         string sXML_Apps_Location = "";
	  32|         string sXML_Sites_Location = "";
	  33| 
	  34|         public bool bPass = false;
	  35|         frmPassword oFP;
	  36| 
	  37|         //First time switches
	  38|         bool bFirst_Drive_Read = true;
	  39|         bool bFirst_App_Read = true;
	  40|         bool bFirst_Site_Read = true;
	  41| 
	  42|         //Declare an array of objects in the User_Class
	  43|         User_Class[] oUser;
	  44|         Drives_Class[] oDrive;
	  45|         Apps_Class[] oApp;
	  46|         Sites_Class[] oSite;
	  47| 
	  48|         public MyDesktop_Form()
	  49|         {
	  50|             InitializeComponent();
	  51| 
	  52|             oFP = new frmPassword();
	  53| 
	  54|             //instantiate class
	  55| 
	  56|             DLL_User_ID_Class oUserID = new DLL_User_ID_Class();
	  57| 
	  58|             sUser_ID = oUserID.Get_User_ID();
	  59| 
	  60|             this.Text = "Menu for " + sUser_ID;
	  61| 
	  62|             Read_User_XML_File();
	  63| 
	  64|             //ID and retrieve logged in user's parameters
	  65|             Get_Logged_User();
	  66| 
	  67|             rbnDrives.Checked = true;
	  68|         }
	  69| 
	  70|     private void Read_User_XML_File()
	  71|     {
	  72|         Read_User_XML_Parameters_Class oRUXP = new Read_User_XML_Parameters_Class();
	  73| 
	  74|         User_Class.iNextObj = 0;
	  75| 
	  76|         if (oRUXP.Parameter_File_Exist())
	  77|         {
	  78|             if (oRUXP.Open_XML_Parameter_File())
	  79|             {
	  80|                 oRUXP.Read_User_Nodes();
	  81|                 oUser = oRUXP.oUser;  
	  82|             }
	  83|             else
	  84|             {   
               
	  85|                 MessageBox.Show("The parameter file cannot be opened", "Error", MessageBoxButtons.OK,
	  86|                 MessageBoxIcon.Error);
	  87|                 //perform any other tasks here
	  88|             }
	  89|         }
	  90|         else
	  91|         {
	  92|             MessageBox.Show ("MyDesktop_Users.xml does not exist", "Error", MessageBoxButtons.OK,
	  93|               MessageBoxIcon.Error);
	  94| 
	  95|             //perform any other tasks here
	  96|         }
	  97|     }
	  98| 
	  99|     //find out what user is logged in and get the parameter file for this user
	100|     private void Get_Logged_User()
	101|     {
	102|         bool bHit = false;
	103| 
	104|         DLL_User_ID_Class oUI = new DLL_User_ID_Class();
	105| 
	106|         string sLogged_User = oUI.Get_User_ID();
	107| 
	108|         for (int x = 0; x < User_Class.iNextObj; x++)
	109|         {
	110|             if (oUser[x].Get_UserID().Equals(sLogged_User))
	111|             {
	112|                 sXML_Drives_Location = oUser[x].Get_Drives();
	113|                 sXML_Apps_Location = oUser[x].Get_Apps();
	114|                 sXML_Sites_Location = oUser[x].Get_Sites();
	115|                 bHit = true;
	116|                 break;
	117|             }
	118|         }
	119| 
	120|         if (!bHit)
	121|         {
	122|             MessageBox.Show("No User Parameter Files Found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
	123|             sXML_Drives_Location = "";
	124|         }
	125| 
	126|         //MessageBox.Show(sXML_Drives_Location, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
	127|     }
	128| 
	129|     private void rbnDrives_Checked()
	130|     {
	131|         bool bRead = false;
	132| 
	133|         //garbage collect after the first read
	134|         if (!bFirst_Drive_Read)
	135|         {
	136|             Destroy_Class oDC = new Destroy_Class();
	137|             oDC.Destroy_Drive_Objects(oDrive);
	138|         }
	139| 
	140|         //Declare an object
	141|         Read_XML_Drives_Class oRXDC;
	142| 
	143|         Drives_Class.iNextDriveObj = 0;
	144| 
	145|         if (!sXML_Drives_Location.Equals(""))
	146|         {
	147|             //Instantiate an object
	148|             oRXDC = new Read_XML_Drives_Class(sXML_Drives_Location);
	149| 
	150|             if (oRXDC.Parameter_File_Exist())
	151|             {
	152|                 if (oRXDC.Open_XML_Parameter_File())
	153|                 {
	154|                     oRXDC.Read_Drive_Nodes();
	155|                     oDrive = oRXDC.oDrive;
	156|                     bFirst_Drive_Read = false;
	157|                     Load_ListBox_Class.Load_ListBox_Drives(lbxItems, oDrive);
	158|                     bRead = true;
	159|                 }
	160| 
	161|             }
	162|         }
	163|         if(!bRead)
	164|         {
	165|             MessageBox.Show("Drives Parameter File doesn't exist.\nProgram will abort.");
	166|             //Application.Exit();
	167|         }
	168| 
	169|     }
	170| 
	171|     private void rbnApps_Checked()
	172|     {
	173|         bool bRead = false;
	174| 
	175|         //garbage collect after the first read
	176|         if (!bFirst_App_Read)
	177|         {
	178|             Destroy_Class oDC = new Destroy_Class();
	179|             oDC.Destroy_App_Objects(oApp);
	180|         }
	181| 
	182|         //Declare an object
	183|         Read_XML_Apps_Class oRXAC;
	184| 
	185|         Apps_Class.iNextAppObj = 0;
	186| 
	187|         if (!sXML_Apps_Location.Equals(""))
	188|         {
	189|             //Instantiate an object
	190|             oRXAC = new Read_XML_Apps_Class(sXML_Apps_Location);
	191| 
	192|                 if (oRXAC.Parameter_File_Exist())
	193|                 {
	194|                     if (oRXAC.Open_XML_Parameter_File())
	195|                     {
	196|                         oRXAC.Read_Drive_Nodes();
	197|                         oApp = oRXAC.oApp;
	198|                         bFirst_App_Read = false;
	199|                     Load_ListBox_Class.Load_ListBox_Apps(lbxItems, oApp);
	200|                         bRead = true;
	201|                     }
	202| 
	203|                 }
	204|             }
	205|             if (!bRead)
	206|             {
	207|                 MessageBox.Show("Apps Parameter File doesn't exist.\nProgram will abort.");
	208|                 //Application.Exit();
	209|             }
	210| 
	211|         }
	212| 
	213|         private void rbnSites_Checked()
	214|         {
	215|             bool bRead = false;
	216| 
	217|             //garbage collect after the first read
	218|             if (!bFirst_Site_Read)
	219|             {
	220|                 Destroy_Class oDC = new Destroy_Class();
	221|             oDC.Destroy_Site_Objects(oSite);
	222|             }
	223| 
	224|             //Declare an object
	225|             Read_XML_Sites_Class oRXSC;
	226| 
	227|             Sites_Class.iNextSiteObj = 0;
	228| 
	229|             if (!sXML_Sites_Location.Equals(""))
	230|             {
	231|                 //Instantiate an object
	232|                 oRXSC = new Read_XML_Sites_Class(sXML_Sites_Location);
	233| 
	234|                 if (oRXSC.Parameter_File_Exist())
	235|                 {
	236|                     if (oRXSC.Open_XML_Parameter_File())
	237|                     {
	238|                         oRXSC.Read_Drive_Nodes();
	239|                         oSite = oRXSC.oSite;
	240|                     bFirst_Site_Read = false;
	241|                     Load_ListBox_Class.Load_ListBox_Sites(lbxItems, oSite);
	242|                     bRead = true;
	243|                     }
	244| 
	245|                 }
	246|             }
	247|             if (!bRead)
	248|             {
	249|                 MessageBox.Show("Sites Parameter File doesn't exist.\nProgram will abort.");
	250|                 //Application.Exit();
	251|             }
	252|         }
	253| 
	254|         //one click event for all buttons
	255|         private void rbnButtons_Click(object sender, EventArgs e)
	256|         {
	257|             //Made changes in MyDesktop_Form.Designer.cs
	258|             if (rbnDrives.Checked)
	259|             {
	260|                 rbnDrives_Checked();
	261|             }
	262| 
	263|             if (rbnApps.Checked)
	264|             {
	265|                 rbnApps_Checked();
	266|             }
	267| 
	268|             if (rbnSites.Checked)
	269|             {
	270|                 rbnSites_Checked();
	271|             }
	272|         }
	273| 
	274|         private void lbxItems_SelectedIndexChanged(object sender, EventArgs e)
	275|         {
	276|             //int iIndex = lbxItems.SelectedIndex;
	277| 
	278|             if (rbnDrives.Checked)
	279|             {
	280|                 Launch_Programs_Class oLaunch = new Launch_Programs_Class();
	281|                 oLaunch.Launch_Drive(oDrive, lbxItems.SelectedIndex);
	282|                 // MessageBox.Show(oDrive[iIndex].Get_Path());
	283|             }
	284| 
	285|             if (rbnApps.Checked)
	286|             {
	287|                 Launch_Programs_Class oLaunch = new Launch_Programs_Class();
	288|                 oLaunch.Launch_App(oApp, lbxItems.SelectedIndex);
	289|                 // MessageBox.Show(oApp[iIndex].Get_Path());
	290|             }
	291| 
	292|             if (rbnSites.Checked)
	293|             {
	294|                 if (oSite[lbxItems.SelectedIndex].Get_Password().Equals("yes"))
	295|                 {
	296|                     if (!bPass)
	297|                     {
	298|                         oFP.Set_Up(this);
	299|                         oFP.Show();
	300|                     }
	301|                     else
	302|                     {
	303|                         Launch_Site();
	304|                     }
	305|                 }
	306|                 else
	307|                 {
	308|                     Launch_Site();
	309|                 }
	310|             }
	311|         }
	312| 
	313|         public void Launch_Site()
	314|         {
	315|             Launch_Programs_Class oLaunch = new Launch_Programs_Class();
	316|             oLaunch.Launch_Site(oSite, lbxItems.SelectedIndex);
	317|         }
	318| 
	319|     }//end of class
	320| }