private void ShowPreferencesDialog() { using IDisposable scope = s_logger.CreateScope("Show preferences dialog"); Preferences p = new Preferences(s_settings.Clone(), s_issueManager, SettingsFile, CacheFolder, s_logger); if (p.ShowDialog() == DialogResult.OK) { s_settings = p.NewSettings; // the issue manager was not successfully created, that is why we showed the preferences. if (s_issueManager == null) { // this will ensure the GH token is valid s_issueManager = IssueManager.Create(s_settings, CacheFolder, s_logger); } else { // refresh the ZenHub token s_issueManager.RefreshZenHubToken(s_settings.ZenHubToken); // refresh the GitHub token s_issueManager.RefreshGitHubToken(s_settings.GitHubToken); } // save the settings to disk s_settings.Serialize(SettingsFile, s_logger); // refresh the page LoadFormFromSettings(); } }
public static IssueManager Create(Settings settings, string cacheFolder) { IssueManager manager = new IssueManager(cacheFolder); if (!manager.RefreshGitHubToken(settings.GitHubToken)) { return(null); } manager.RefreshZenHubToken(settings.ZenHubToken); return(manager); }
public static IssueManager Create(Settings settings, string cacheFolder, FileLogger fileLogger) { using IDisposable scope = fileLogger.CreateScope($"Creating issue manager with cache folder: {cacheFolder}"); IssueManager manager = new IssueManager(cacheFolder, fileLogger); if (!manager.RefreshGitHubToken(settings.GitHubToken)) { return(null); } manager.RefreshZenHubToken(settings.ZenHubToken); return(manager); }
#pragma warning disable 1998 //We want a fire and forget async method here. private async void FrmMain_Load(object sender, EventArgs e) { #pragma warning restore 1998 using IDisposable scope = s_logger.CreateScope("Loading main form"); s_settings = Settings.Deserialize(SettingsFile, s_logger); s_issueManager = IssueManager.Create(s_settings, CacheFolder, s_logger); // if we don't have a github token, prompt settings. if (s_issueManager == null) { s_logger.Log("Opening preferences dialog"); ShowPreferencesDialog(); s_issueManager = IssueManager.Create(s_settings, CacheFolder, s_logger); if (s_issueManager == null) { MessageBox.Show("The application requires a GitHub token in order to work.", "Cannot continue", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(-1); } } else { s_logger.Log("Loading form settings"); LoadFormFromSettings(); } // load the version if (ApplicationDeployment.IsNetworkDeployed) { tssVersion.Text = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(); } else { tssVersion.Text = "dev"; } }
internal RepoSelector(IssueManager issueMgr) : this() { _issueManager = issueMgr; }