private void Main_Shown(object sender, EventArgs e) { LockControls(); cmdDisableX_Click(sender, e); bool update = false; Converters.MainConverter converter = new Converters.MainConverter(DirectoriesSettings.UnconvertedPath); if (converter.CheckForUpdates()) { Logs.WriteLine("Найдены обновления контента"); update = true; MessageBox.Show("Начинается распаковка нового контента" + Environment.NewLine + "Главный элемент с вкладками будет временно недоступен", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); //обновляем контент converter.UpdateContent(DirectoriesSettings.ConvertedPath); //перезаполняем treeview Scanners.MainScanner scanner = new Scanners.MainScanner(DirectoriesSettings.ConvertedPath); scanner.ScanContent(tree_Теория, tree_Примеры, tree_Тесты); //сериализуем treeview для будущего использования TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Теория); TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Примеры); TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Тесты); File.Delete(Path.Combine(DirectoriesSettings.UnconvertedPath, "update.conf")); MessageBox.Show("Распаковка нового контента успешно завершена", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Logs.WriteLine("Обновления контента не найдены"); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Теория); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Примеры); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Тесты); } tree_Теория.ExpandAll(); tree_Примеры.ExpandAll(); tree_Тесты.ExpandAll(); browser_Теория.Navigate("about:blank"); browser_Примеры.Navigate("about:blank"); Logs.WriteLine("Загрузка файла настроек"); Settings temp = Settings.Load(); if (temp == null) { Logs.WriteLine("Файл настроек не найден. Создание файла настроек."); settings = new Settings(this); try { settings.Save(); Logs.WriteLine("Успешно сохранён файл настроек со стандартными значениями."); } catch (Exception ex) { Logs.WriteLine("Ошибка при создании файла настроек."); Logs.WriteException(ex); MessageBox.Show("Невозможно сохранить настройки по умолчанию." + Environment.NewLine + "При следующем запуске будут загружены настройки по умолчанию." + Environment.NewLine + "Возможно, приложение нужно запустить с правами администратора.", "Ошибка сохранения", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { Logs.WriteLine("Файл настроек успешно загружен"); settings = temp; } UpdateAllStyles(); settings.LoadFormState(this); if (update == true) { settings.ResetBookmarks(); } else { settings.LoadBookmarks(tree_Теория, tree_Примеры, tree_Тесты); } cmdEnableX_Click(sender, e); UnlockControls(); }
private void Main_Shown(object sender, EventArgs e) { LockControls(); cmdDisableX_Click(sender, e); bool update = false; Converters.MainConverter converter = new Converters.MainConverter(DirectoriesSettings.UnconvertedPath); if (converter.CheckForUpdates()) { Logs.WriteLine("Найдены обновления контента"); update = true; MessageBox.Show("Начинается распаковка нового контента" + Environment.NewLine + "Главный элемент с вкладками будет временно недоступен", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); //обновляем контент converter.UpdateContent(DirectoriesSettings.ConvertedPath); //перезаполняем treeview Scanners.MainScanner scanner = new Scanners.MainScanner(DirectoriesSettings.ConvertedPath); scanner.ScanContent(tree_Теория, tree_Примеры, tree_Тесты); //сериализуем treeview для будущего использования TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Теория); TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Примеры); TreeViewUtils.Serialize(DirectoriesSettings.TreeViewPath, tree_Тесты); File.Delete(Path.Combine(DirectoriesSettings.UnconvertedPath, "update.conf")); MessageBox.Show("Распаковка нового контента успешно завершена", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Logs.WriteLine("Обновления контента не найдены"); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Теория); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Примеры); TreeViewUtils.Deserialize(DirectoriesSettings.TreeViewPath, ref tree_Тесты); } tree_Теория.ExpandAll(); tree_Примеры.ExpandAll(); tree_Тесты.ExpandAll(); browser_Теория.Navigate("about:blank"); browser_Примеры.Navigate("about:blank"); Logs.WriteLine("Загрузка файла настроек"); Settings temp = Settings.Load(); if (temp == null) { Logs.WriteLine("Файл настроек не найден. Создание файла настроек."); settings = new Settings(this); try { settings.Save(); Logs.WriteLine("Успешно сохранён файл настроек со стандартными значениями."); } catch (Exception ex) { Logs.WriteLine("Ошибка при создании файла настроек."); Logs.WriteException(ex); MessageBox.Show("Невозможно сохранить настройки по умолчанию." + Environment.NewLine + "При следующем запуске будут загружены настройки по умолчанию." + Environment.NewLine + "Возможно, приложение нужно запустить с правами администратора.", "Ошибка сохранения", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { Logs.WriteLine("Файл настроек успешно загружен"); settings = temp; } UpdateAllStyles(); settings.LoadFormState(this); if (update == true) settings.ResetBookmarks(); else settings.LoadBookmarks(tree_Теория, tree_Примеры, tree_Тесты); cmdEnableX_Click(sender, e); UnlockControls(); }