コード例 #1
0
        public void Initialize()
        {
            var appSetting = AppSetting.GetAppSettings(AppSettingPath);
            var mockLogger = new Mock <ILogger>();

            _fileUpdater = new FileUpdater(appSetting, mockLogger.Object);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
ファイル: FilePreviewItem.cs プロジェクト: zuokaihuang/PTVS
        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();
        }
コード例 #4
0
        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));
        }
コード例 #5
0
ファイル: FilePreviewItem.cs プロジェクト: wenh123/PTVS
        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();
        }
コード例 #6
0
        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());
        }