} /* UpdateSipperDriveStats */ private void Download_Click(object sender, EventArgs e) { UpdateAvailableBytes(); SipperFileControlBlockList selectedFCBs = GetSelectedFiles(); if (selectedFCBs.Count < 1) { MessageBox.Show("No files are selected"); return; } CheckHardDriveTimer.Enabled = false; // While we are downloading; we do not want to be periodically // polling the hard drive. That would interfere with the download. DownLoadFiles downLoadFiles = new DownLoadFiles(disk, selectedFCBs, destDir); downLoadFiles.ShowDialog(); downLoadFiles.Dispose(); downLoadFiles = null; UpdateAvailableBytes(); for (int x = 0; x < SipperFileListView.Items.Count; x++) { FcbListViewItem fcbLVI = (FcbListViewItem)SipperFileListView.Items[x]; SipperFileControlBlock fcb = fcbLVI.FCB; if (fcb.DownLoaded) { fcbLVI.BackColor = Color.LightGray; } } CheckHardDriveTimer.Enabled = true; } /* Download_Click */
} /* ViewSipperHeader */ private void LoadSipperFileListView() { SipperFileListView.Items.Clear(); { ContextMenuStrip cms = new ContextMenuStrip(); cms.Items.Add("View File", null, ViewSipperFile); cms.Items.Add("View Header Info", null, ViewSipperHeader); SipperFileListView.ContextMenuStrip = cms; } disk = null; try { disk = new SipperDisk(this.readDirFromLogFiles); } catch { if (disk != null) { disk.Dispose(); disk = null; } } if (disk == null) { return; } SipperFileListView.Enabled = false; SipperFileListViewDisabled = true; partition = disk.GetSipperPartitionTableEntry(); SipperFileControlBlockList files = disk.SipperFiles(); foreach (SipperFileControlBlock fcb in files) { FcbListViewItem flvi = new FcbListViewItem(fcb); SipperFileListView.Items.Add(flvi); } SipperFileListViewDisabled = false; SipperFileListView.Enabled = true; UpdateSelectedBytes(); } /* LoadSipperFileListView */
} /* UpdateAvailableBytes */ private void UpdateSelectedBytes() { selectedBytes = 0; SipperFileControlBlockList selecetedFiles = GetSelectedFiles(); foreach (SipperFileControlBlock fcb in selecetedFiles) { selectedBytes += fcb.FileSizeInBytes; } double selectedGig = (double)selectedBytes / 1000000000.0; SelectedSpace.Text = selectedGig.ToString("#,##0.00") + " Gb"; } /* UpdateSelectedBytes */
public SipperDiskManager() { destDir = OSservices.AddSlash(PicesSipperVariables.HomeDir()) + "SipperFiles"; OSservices.CreateDirectory(destDir); InitializeComponent(); UpdateAvailableBytes(); DownLoadDir.Text = destDir; selectedFiles = new SipperFileControlBlockList(); UpdateAvailableBytes(); oldHeight = this.Height; oldWidth = this.Width; }
} /* UpdateSelectedBytes */ private SipperFileControlBlockList GetSelectedFiles() { SipperFileControlBlockList selectedFCBs = new SipperFileControlBlockList(); ListView.CheckedListViewItemCollection checkedItems = SipperFileListView.CheckedItems; foreach (ListViewItem lvi in checkedItems) { SipperFileControlBlock fcb = ((FcbListViewItem)lvi).FCB; if (!fcb.DownLoaded) { selectedFCBs.Add(fcb); } } return(selectedFCBs); } /* GetSelectedFiles */
public DownLoadFiles(SipperDisk _disk, SipperFileControlBlockList _filesToCopy, string _destDir ) { disk = _disk; filesToCopy = _filesToCopy; destDir = _destDir; fileCopyStatsList = new List <FileCopyStats> (); InitializeComponent(); BuildFileListView(); downLoadingThread = new Thread(new ThreadStart(CopyFileList)); downLoadingThread.Start(); }
} /* SeeIfAllFilesHaveBeenDownLoaded */ private void resetDirectoryToolStripMenuItem_Click(object sender, EventArgs e) { bool allFilesDownLoaded = SeeIfAllFilesHaveBeenDownLoaded(); if (!allFilesDownLoaded) { DialogResult okToContinue = MessageBox.Show("Not all SIPPER files have been downloaded" + "\n\n" + " Are You Sure You Want To Continue ?", "Reset SIPPER Drive", MessageBoxButtons.YesNo ); if (okToContinue == DialogResult.No) { return; } } { DialogResult okToContinue = MessageBox.Show("You have asked to reset the SIPPER drive; once" + "\n" + "we do this the data on the drive will be lost" + "\n\n" + " Are You Sure You Want To Do This ?", "Reset SIPPER Drive", MessageBoxButtons.YesNo ); if (okToContinue == DialogResult.No) { return; } } disk.Dispose(); disk = null; LoadSipperFileListView(); UpdateAvailableBytes(); selectedFiles = new SipperFileControlBlockList(); disk.ResetSipperDirectory(); MessageBox.Show("The SIPPER drive has been reset", "Reset SIPPER Drive", MessageBoxButtons.OK); }