using DevExpress.Mvvm.Native; using DevExpress.XtraBars; using DevExpress.XtraGrid; using DevExpress.XtraSplashScreen; using System; using System.ComponentModel; using System.IO; using System.Windows.Forms; namespace NewArchivesCenter { public partial class MainWindow : DevExpress.XtraBars.TabForm { string Password = "fbHQb7L9ODdO9pyPB4cDaMtiW7AgYKJLmQb7FewTiJZhyQwzCJucVf4scvQt7R6b"; string DataPath = Path.GetTempPath() + @"ArchivesCenter\Data\" + Properties.Settings.Default.current_user; //TabFormPage newTabPage = new TabFormPage(); public MainWindow() { InitializeComponent(); panelControl1.Visible = true; listBoxControl1.Items.Clear(); listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Yfolders = Directory.GetDirectories(DataPath); foreach (string folder in Yfolders) { listBoxControl1.Items.Add(Path.GetFileName(folder)); } string selectedYText = listBoxControl1.SelectedItem as string; Properties.Settings.Default.selectedYText = selectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } InitializeListView(); } private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) { SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Password); DeleteFolderWithAdminRights.DeleteFolder(Path.GetTempPath() + @"ArchivesCenter"); string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz"); Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T); if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted")) File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted"); if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted")) File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted"); Environment.Exit(0); } public void tabFormControl1_PageCreated(object sender, PageCreatedEventArgs e) { LogDetail logDetail = new LogDetail(); AddNewLog addNewLog = new AddNewLog(); Backups backups = new Backups(); if (Properties.Settings.Default.NewPageType == 0) { logDetail.Dock = DockStyle.Fill; e.Page.ContentContainer.Controls.Add(logDetail); e.Page.Text = Properties.Settings.Default.selectedDText; } if (Properties.Settings.Default.NewPageType == 1) { addNewLog.Dock = DockStyle.Fill; e.Page.ContentContainer.Controls.Add(addNewLog); e.Page.Text = "编辑日志"; } if (Properties.Settings.Default.NewPageType == 2) { backups.Dock = DockStyle.Fill; e.Page.ContentContainer.Controls.Add(backups); e.Page.Text = "管理备份"; } if (Properties.Settings.Default.NewPageType == 3) { addNewLog.Dock = DockStyle.Fill; e.Page.ContentContainer.Controls.Add(addNewLog); e.Page.Text = "关于Archives Center"; } if (Properties.Settings.Default.NewPageType == 4) { addNewLog.Dock = DockStyle.Fill; e.Page.ContentContainer.Controls.Add(addNewLog); e.Page.Text = "设置"; } if (Properties.Settings.Default.NewPageType == 5) { } } public void AddNewPage() { tabFormControl1.AddNewPage(); } private void barLargeButtonItem1_ItemClick(object sender, ItemClickEventArgs e) { tabFormControl1.SelectedPage = null; panelControl1.Visible = true; } private void tabFormControl1_SelectedPageChanged_1(object sender, TabFormSelectedPageChangedEventArgs e) { if (tabFormControl1.SelectedPage == null) panelControl1.Visible = true; else panelControl1.Visible = false; } private void MainWindow_Load(object sender, EventArgs e) { panelControl1.Visible = true; listBoxControl1.Items.Clear(); listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Yfolders = Directory.GetDirectories(DataPath); foreach (string folder in Yfolders) { listBoxControl1.Items.Add(Path.GetFileName(folder)); } string selectedYText = listBoxControl1.SelectedItem as string; Properties.Settings.Default.selectedYText = selectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } InitializeListView(); //home1.Visible = true; if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted")) { SevenZipHelper.ExtractEncryptedArchive(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Path.GetTempPath() + @"ArchivesCenter\Data\", Password); } //home1.RE //tabFormControl1.AddNewPage(); splashScreenManager1.ShowWaitForm(); Delay(2500); listBoxControl1.Items.Clear(); listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] BYfolders = Directory.GetDirectories(DataPath); foreach (string folder in BYfolders) { listBoxControl1.Items.Add(Path.GetFileName(folder)); } if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\")) Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\"); string BselectedYText = listBoxControl1.SelectedItem as string; Properties.Settings.Default.selectedYText = BselectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } InitializeListView(); splashScreenManager1.CloseWaitForm(); } public static void Delay(int milliSecond) { int start = Environment.TickCount; while (Math.Abs(Environment.TickCount - start) < milliSecond) { Application.DoEvents(); } } private void groupControl1_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e) { listBoxControl1.Items.Clear(); listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Yfolders = Directory.GetDirectories(DataPath); foreach (string folder in Yfolders) { listBoxControl1.Items.Add(Path.GetFileName(folder)); } if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\")) Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\"); string selectedYText = listBoxControl1.SelectedItem as string; Properties.Settings.Default.selectedYText = selectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } InitializeListView(); } private void InitializeListView() { listView1.Items.Clear(); listView1.Columns.Clear(); listView1.View = View.Details; listView1.Columns.Add("日期", 150); listView1.Columns.Add("标题", 300); string[] subDirectories = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText + @"\" + Properties.Settings.Default.selectedMText); foreach (string dirPath in subDirectories) { DirectoryInfo dirInfo = new DirectoryInfo(dirPath); FileInfo[] textFiles = dirInfo.GetFiles("LogInfo.actxt"); if (textFiles.Length > 0) { string firstLine = File.ReadAllLines(textFiles[0].FullName)[0]; ListViewItem item = new ListViewItem(dirInfo.Name); item.SubItems.Add(firstLine); listView1.Items.Add(item); } } } private void listBoxControl1_SelectedIndexChanged(object sender, EventArgs e) { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string selectedYText = listBoxControl1.SelectedItem as string; Properties.Settings.Default.selectedYText = selectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } string selectedMText = listBoxControl2.SelectedItem as string; Properties.Settings.Default.selectedMText = selectedMText; Properties.Settings.Default.Save(); InitializeListView(); } private void listBoxControl2_SelectedIndexChanged(object sender, EventArgs e) { string selectedMText = listBoxControl2.SelectedItem as string; Properties.Settings.Default.selectedMText = selectedMText; Properties.Settings.Default.Save(); InitializeListView(); } private void groupControl2_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e) { if (Properties.Settings.Default.selectedYText != "") { listBoxControl2.Items.Clear(); listView1.Items.Clear(); string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBoxControl2.Items.Add(Path.GetFileName(folder)); } } InitializeListView(); } private void groupControl3_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e) { InitializeListView(); } private void listView1_DoubleClick(object sender, EventArgs e) { splashScreenManager1.ShowWaitForm(); if (listView1.SelectedItems.Count > 0) { Properties.Settings.Default.selectedDText = listView1.SelectedItems[0].Text; Properties.Settings.Default.Save(); tabFormControl1.AddNewPage(); } Delay(1000); splashScreenManager1.CloseWaitForm(); } private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e) { splashScreenManager1.ShowWaitForm(); Properties.Settings.Default.NewPageType = 1; Properties.Settings.Default.Save(); tabFormControl1.AddNewPage(); Delay(2000); Properties.Settings.Default.NewPageType = 0; Properties.Settings.Default.Save(); splashScreenManager1.CloseWaitForm(); } private void barButtonItem2_ItemClick(object sender, ItemClickEventArgs e) { splashScreenManager1.ShowWaitForm(); Properties.Settings.Default.NewPageType = 2; Properties.Settings.Default.Save(); tabFormControl1.AddNewPage(); Delay(2000); Properties.Settings.Default.NewPageType = 0; Properties.Settings.Default.Save(); splashScreenManager1.CloseWaitForm(); } private void barButtonItem4_ItemClick(object sender, ItemClickEventArgs e) { AboutBox1 aboutBox1 = new AboutBox1(); aboutBox1.ShowDialog(); } } }