/// <summary> /// works at adding a new entry into the monitee list and storages. /// </summary> public void AddMonitoredItem() { //duplicate should not be added in listview. string[] items = new string[] { FolderSelectorBox.Text, ((DestinationBox.Text != "") ? DestinationBox.Text:_DefaultFolder) }; ListViewItem listItems = new ListViewItem(items[0]); ListViewItem.ListViewSubItem subItem1; listItems.Checked = true; subItem1 = new ListViewItem.ListViewSubItem(listItems, items[1]); //listItems.SubItems.Add(subItem1); xmlData = new XMLData(items[0], items[1], XMLDataList.Type(items[0])); monitee = new FolderMonitor.Monitees.Monitee(items[0], items[1], XMLDataList.Type(items[0])); if (XMLDataList.InsertFile(xmlData) && MoniteeList.InsertMonitee(monitee)) { if (!Monitees.MoniteeList.AddedExtra) { Lists.Items.Add(listItems); Monitees.MoniteeList.AddedExtra = false; } MessageBox.Show("Folder successfully added", "Success"); HasChanged = true; } this.FolderSelectorBox.Text = ""; this.DestinationBox.Text = ""; }
public void BuildMoniteeList() { XMLDataList.Clear(); XMLDataList.Load(text); int size = XMLDataList.Length; Assert.AreEqual(length, size); XMLDataListEntry current = XMLDataList.Head; while (current != null) { Assert.IsNotNull(MoniteeList.FindMonitee(current.Data.MoniteePath)); current = current.Next; } MoniteeListEntry current2 = MoniteeList.Head; while (current2 != null) { Assert.IsNotNull(current2.Data.Destinations); Assert.IsNotNull(current2.Data.Name); Assert.IsNotNull(current2.Data.Type); current2 = current2.Next; } }
public void TestBackup() { XMLDataList.Load(text); int size = XMLDataList.Length; Assert.AreEqual(length, size); XMLDataListEntry current = XMLDataList.Head; while (current != null) { Assert.IsNotNull(MoniteeList.FindMonitee(current.Data.MoniteePath)); current = current.Next; } XMLDataList.BackUpData(); Assert.IsTrue(System.IO.File.Exists("MonitoredFolders.bkup")); XmlDocument xdoc = new XmlDocument(); try { xdoc.Load("MonitoredFolders.bkup"); } catch (Exception e) { throw; } }
/// <summary> /// loops through monitees and removes selected monitees from listview and storage. /// </summary> private void RemoveListItem() { try { int increment = 0; if ((Lists.Items.Count > 0) && (Lists.SelectedIndices.Count > 0)) { ListViewItem[] selectedItems = new ListViewItem[this.Lists.SelectedIndices.Count]; if ((MessageBox.Show( "Are you sure you want to remove this entry?\nIt cannot be reversed.", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)) { System.Collections.IEnumerator iEnum = Lists.SelectedIndices.GetEnumerator(); while (iEnum.MoveNext()) { selectedItems[increment] = Lists.Items[(Int32.Parse(iEnum.Current.ToString()))]; increment += 1; XMLDataList.RemoveFile(Lists.Items[(Int32.Parse(iEnum.Current.ToString()))].Text); } foreach (ListViewItem list in selectedItems) { Lists.Items.Remove(list); MoniteeList.RemoveMonitee(list.Text); } if (Lists.Items.Count == 0) { Lists.Items.Clear(); } HasChanged = true; } } else { Exceptions.Exception("unselectedremove"); } } catch (Exception ex) { MessageBox.Show("Having problems removing item\n" + ex, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
void RemoveBtn_Click(object sender, EventArgs e) { try { int increment = 0; if ((destinationList.Items.Count > 0) && (destinationList.SelectedIndices.Count > 0)) { var selectedItems = new ListViewItem[destinationList.SelectedIndices.Count]; if ((MessageBox.Show( "Are you sure you want to remove this entry?\nIt cannot be reversed.", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)) { var iEnum = destinationList.SelectedIndices.GetEnumerator(); while (iEnum.MoveNext()) { selectedItems[increment] = destinationList.Items[(Int32.Parse(iEnum.Current.ToString()))]; increment += 1; XMLDataList.RemoveFile(destinationList.Items[(Int32.Parse(iEnum.Current.ToString()))].Text); } foreach (var list in selectedItems) { destinationList.Items.Remove(list); MoniteeList.RemoveDestination(MoniteeList.FindMonitee(monitee.Name), list.Text); } if (destinationList.Items.Count == 0) { destinationList.Items.Clear(); } MonitorListView.HasChanged = true; } } else { Exceptions.Exception("unselectedremove"); } } catch (Exception ex) { MessageBox.Show("Having problems removing item\n" + ex, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// ensures the monitor closes for the right reasons. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void MonitorUI_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e) { if (e.CloseReason == System.Windows.Forms.CloseReason.WindowsShutDown || e.CloseReason == System.Windows.Forms.CloseReason.TaskManagerClosing || e.CloseReason == System.Windows.Forms.CloseReason.ApplicationExitCall || e.CloseReason == System.Windows.Forms.CloseReason.UserClosing) { XMLDataList.BackUpData(); this.notifyIcon.Visible = false; this.CallClose(); } else { //this.WindowState = System.Windows.Forms.FormWindowState.Minimized; this.Hide(); } }
public void DumpDataTest() { XMLDataList.Load(text); int size = XMLDataList.Length; Assert.AreEqual(length, size); XMLDataListEntry current = XMLDataList.Head; while (current != null) { Assert.IsNotNull(MoniteeList.FindMonitee(current.Data.MoniteePath)); current = current.Next; } XMLDataList.DumpAll(); Assert.IsTrue(System.IO.File.Exists("monitoredfolder.dump")); }
/// <summary> /// Subroutine that calls the load of xml data into lists. /// </summary> internal void CallXMLLoad() { Console.WriteLine("It called me..."); XMLDataList.LoadAllMonitees(); }
/// <summary> /// To temporary stop or start monitoring files. /// </summary> /// <param name="sender">sender</param> /// <param name="e">e</param> void StartMonitorProc_Click(object sender, System.EventArgs e) { XMLDataList.BackUpData(); }