public void Initialize() { var appSetting = AppSetting.GetAppSettings(AppSettingPath); var mockLogger = new Mock <ILogger>(); _fileUpdater = new FileUpdater(appSetting, mockLogger.Object); }
private void UpdateFile(IFileUpdater updater) { for (int i = Items.Count - 1; i >= 0; i--) { LocationPreviewItem item = (LocationPreviewItem)Items[i]; if (item.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked) { // change is applied updater.Replace(item.Line - 1, item.Column - 1, item.Length, Engine.Request.Name); updater.Log(Strings.RefactorPreviewUpdatedLogEntry.FormatUI(Filename, item.Line, item.Column, item.Type == Analysis.VariableType.Definition ? Strings.RefactorPreviewUpdatedLogEntryDefinition : Strings.RefactorPreviewUpdatedLogEntryReference)); } } updater.Save(); }
private void UpdateFile(IFileUpdater updater) { for (int i = Items.Count - 1; i >= 0; i--) { LocationPreviewItem item = (LocationPreviewItem)Items[i]; if (item.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked) { // change is applied updater.Replace(item.Line - 1, item.Column - 1, item.Length, Engine.Request.Name); updater.Log(String.Format("{0}({1},{2}): updated {3}", Filename, item.Line, item.Column, item.Type == Analysis.VariableType.Definition ? "definition" : "reference")); } } updater.Save(); }
internal bool UpdateFile(SerializableVersion fromVersion, Tracker tracker) { if (fromVersion == null) { return(false); } IEnumerable <Type> updaterTypes = FindUpdateClass(fromVersion); if (updaterTypes.Count() != 1) { //no updater found, or too many return(false); } IFileUpdater updater = (IFileUpdater)Activator.CreateInstance(updaterTypes.First()); return(updater.UpdateFile(this.FullDataFilePath, tracker)); }
public MainAppContext(IAppSetting appSetting, IDnsManager dnsManager, IFileUpdater fileUpdater) { // Get config settings. _appSetting = appSetting; // Populate fields. _dnsManager = dnsManager; _fileUpdater = fileUpdater; // Subscribed to the application's exit event. Application.ApplicationExit += OnApplicationExit; // Make sure the 'Data' folder exists. if (!Directory.Exists(_appSetting.StorageInfo.Path)) { Directory.CreateDirectory(_appSetting.StorageInfo.Path); } // Construct the notification's context menu. var contextMenu = new ContextMenuStrip(); // Create menus for DNS entries. var tempUpdateDNSMenus = new List <ToolStripItem>(); foreach (Source source in _appSetting.Sources) { tempUpdateDNSMenus.Add(MenuBuilder.CreateMenu(source.Name).HookClickEvent(OnSetDNSMenuClicked)); } _updateDNSMenus = new ToolStripMenuItem[tempUpdateDNSMenus.Count]; tempUpdateDNSMenus.CopyTo(_updateDNSMenus); // Other essential menus. contextMenu.Items.AddRange(new ToolStripItem[] { MenuBuilder.CreateMenu($"DNS Resolver v{Application.ProductVersion}"), MenuBuilder.CreateMenu("Querying host file data..."), MenuBuilder.CreateMenu("DNS").AddManyChildMenu(_updateDNSMenus), MenuBuilder.CreateSeparator(), MenuBuilder.CreateMenu("Open Host File...").HookClickEvent(OnOpenHostFileMenuClicked), MenuBuilder.CreateSeparator(), MenuBuilder.CreateMenu("Reset DNS").HookClickEvent(OnDNSResetMenuClicked), MenuBuilder.CreateMenu("Clear Host File").HookClickEvent(OnHostFileResetMenuClicked), MenuBuilder.CreateSeparator(), MenuBuilder.CreateMenu("Exit").HookClickEvent(OnExitMenuClicked), }); contextMenu.Renderer = new CustomToolStripMenuRenderer(); // Make sure that the menu checked condition is refreshed everytime it is opening. contextMenu.Opening += OnNotifyIconContextMenuOpening; // Finally, the notification icon itself. _notifyIcon = new NotifyIcon { Icon = Resources.AppIcon, Text = Application.ProductName, Visible = true, ContextMenuStrip = contextMenu, BalloonTipIcon = ToolTipIcon.Info, BalloonTipTitle = Application.ProductName }; // Update the notify icon's text. UpdateNotifyIconText(); // Create menus for Host file data entries. _hostFileProgress = new Progress <ToolStripMenuItem[]>(HostFileMenusProgressHandler); Task.Run(() => ConstructHostFileContextMenu()); }