private void StartupPeriode() { working.Visible = true; try { status.Text = eyeSync.langs.eyeSync.connecting_with_server; Update(); eye = new eyeos(); status.Text = eyeSync.langs.eyeSync.loading_data; Update(); eye.setCurrentUserDir(); status.Text = eyeSync.langs.eyeSync.building_local_tree; Update(); if (Environment.OSVersion.Platform.ToString().Contains("Win")) { build_local_tree_startup_windows(); } else { build_local_tree_startup_linux(); } status.Text = eyeSync.langs.eyeSync.building_remote_tree; Update(); tree_remote.Nodes.Clear(); TreeNode node = new TreeNode(Config.User + "@" + Config.Server); node.ImageIndex = 4; node.SelectedImageIndex = 4; tree_remote.Nodes.Add(node); build_remote_tree("", tree_remote.Nodes[0].Nodes); tree_remote.Nodes[0].Expand(); } catch (XmlRpc.XmlRpcFaultException) { MessageBox.Show(langs.eyeSync.error_not_a_user, langs.eyeSync.error, MessageBoxButtons.OK, MessageBoxIcon.Error); userPasswordToolStripMenuItem_Click(null, null); } catch (Exception) { MessageBox.Show(langs.eyeSync.error_not_eyeos, langs.eyeSync.error, MessageBoxButtons.OK, MessageBoxIcon.Error); serverURLToolStripMenuItem_Click(null, null); } status.Text = eyeSync.langs.eyeSync.ready; working.Visible = false; }
void RunJob_RealJob(object sender, DoWorkEventArgs e) { ((BackgroundWorker)sender).ReportProgress(0, e.Argument); eyeos eye = new eyeos(); eye.setCurrentUserDir(); if (Direction == 1) { string[] files; if (isRecursive) { files = System.IO.Directory.GetFiles(Local + "/", "*", System.IO.SearchOption.AllDirectories); } else { files = System.IO.Directory.GetFiles(Local + "/", "*", System.IO.SearchOption.TopDirectoryOnly); } int num = 0; foreach (string localfile in files) { ((BackgroundWorker)sender).ReportProgress(files.Length - num, e.Argument); string remotefile = remote + localfile.Replace(Local, ""); eye.uploadFile(localfile, remotefile); num++; } } else if (Direction == -1) { string[] files; if (isRecursive) { files = eye.getEveryDirContent(remote); } else { files = eye.getDirContent(remote); } int num = 0; foreach (string remotefile in files) { ((BackgroundWorker)sender).ReportProgress(files.Length - num, e.Argument); string localfile = local + "/" + remotefile; eye.downloadFile(remote + "/" + remotefile, localfile); num++; } } else if (Direction == 0) { string[] files; if (isRecursive) { files = System.IO.Directory.GetFiles(Local + "/", "*", System.IO.SearchOption.AllDirectories); } else { files = System.IO.Directory.GetFiles(Local + "/", "*", System.IO.SearchOption.TopDirectoryOnly); } int num = 0; foreach (string localfile in files) { num++; ((BackgroundWorker)sender).ReportProgress(files.Length - (num - 1), e.Argument); if (new System.IO.FileInfo(localfile).Name.StartsWith(".eyeSyncInfo__")) { continue; } string remotefile = remote + localfile.Replace(Local, ""); eye.updateFile(remotefile, localfile); } } ((BackgroundWorker)sender).ReportProgress(-1, e.Argument); isActive = false; }