public MainForm() { InitializeComponent(); ServicePointManager.SecurityProtocol = Tls12; if (Properties.Settings.Default.NeedUpgrade) { Properties.Settings.Default.Upgrade(); Properties.Settings.Default.NeedUpgrade = false; Properties.Settings.Default.AutoUpdateThisVersion = true; Properties.Settings.Default.Save(); } if (Program.Mono) { comboBoxUserColor1.BackColor = Color.DarkGreen; comboBoxUserColor1.ForeColor = Color.White; comboBoxUserColor2.BackColor = Color.DarkBlue; comboBoxUserColor2.ForeColor = Color.White; comboBoxUserColor3.BackColor = Color.DarkRed; comboBoxUserColor3.ForeColor = Color.White; comboBoxUserColor4.BackColor = Color.DarkViolet; comboBoxUserColor4.ForeColor = Color.White; comboBoxUserColor5.BackColor = Color.DarkOrange; comboBoxUserColor5.ForeColor = Color.White; richTextBox1.Font = new Font(richTextBox1.Font, FontStyle.Bold); } createProjectMenu(); #region loadSettings loadSelectedProject(); #endregion #region initialization of background workers bwSuggestions.DoWork += new DoWorkEventHandler(bwSuggestions_DoWork); bwSuggestions.WorkerSupportsCancellation = true; bwLoadHistory.DoWork += new DoWorkEventHandler(bwLoadHistory_DoWork); bwLoadHistory.WorkerSupportsCancellation = true; bwFindRevision.DoWork += new DoWorkEventHandler(bwFindRevision_DoWork); bwFindRevision.WorkerSupportsCancellation = true; bwAuthors.DoWork += new DoWorkEventHandler(bwAuthors_DoWork); bwAuthors.WorkerSupportsCancellation = true; #endregion articleSuggestions.Left = textBoxArticleTitle.Left + groupBox1.Left; articleSuggestions.Width = textBoxArticleTitle.Width; articleSuggestions.Top = textBoxArticleTitle.Top + groupBox1.Top + textBoxArticleTitle.Height; listViewEdits.ListViewItemSorter = lvwColumnSorterEdits; listViewUsers.ListViewItemSorter = lvwColumnSorterUsers; suggestionFetcher = new SuggestionFetcher(Projects.currentProjectBaseUrl, 30); revisionsFetcher = new RevisionsFetcher(Projects.currentProjectBaseUrl); comboBox1.SelectedIndex = 0; prepareListViewStatistics(); if ((Properties.Settings.Default.AutoUpdate) && (Properties.Settings.Default.AutoUpdateThisVersion)) { AutoUpdate.CheckForUpdate(); } }
private void loadSelectedProject() { #region search Project/Language Projects.Project selectedProject = null;; Projects.ProjectLanguage selectedLanguage = null; foreach (Projects.Project p in Projects.projects) { if (p.shortname == Properties.Settings.Default.Project) { selectedProject = p; if (p.languages.Count > 0) { foreach (Projects.ProjectLanguage lang in p.languages) { if (lang.shortname == Properties.Settings.Default.ProjectLanguage) { selectedLanguage = lang; break; } } } break; } } if ((selectedProject != null) && (selectedProject.languages.Count == 0)) { selectedLanguage = null; } if (selectedProject == null) { selectedProject = Projects.projects[0]; // Wikipedia } if ((selectedProject.languages.Count > 0) && (selectedLanguage == null)) { selectedLanguage = selectedProject.languages[0]; // some (random) standard! // search for standard language foreach (Projects.ProjectLanguage lang in selectedProject.languages) { if (lang.shortname == selectedProject.standardLanguage) { selectedLanguage = lang; break; } } // maybe the system is in another language CultureInfo ci = Thread.CurrentThread.CurrentCulture; string localLanguage = ci.TwoLetterISOLanguageName; foreach (Projects.ProjectLanguage lang in selectedProject.languages) { if (lang.shortname == localLanguage) { selectedLanguage = lang; break; } } } // save Properties.Settings.Default.Project = selectedProject.shortname; if (selectedLanguage != null) { Properties.Settings.Default.ProjectLanguage = selectedLanguage.shortname; } else { Properties.Settings.Default.ProjectLanguage = ""; } Properties.Settings.Default.Save(); #endregion // baseUrl if (selectedProject.languages.Count == 0) { Projects.currentProjectBaseUrl = selectedProject.baseUrl; } else { Projects.currentProjectBaseUrl = selectedLanguage.baseUrl; } Projects.currentProjectBaseUrl += selectedProject.adding;//"/w/"; suggestionFetcher = new SuggestionFetcher(Projects.currentProjectBaseUrl, 30); revisionsFetcher = new RevisionsFetcher(Projects.currentProjectBaseUrl); // show name Projects.currentProjectSaveName = ""; if (selectedLanguage != null) { Projects.currentProjectSaveName = selectedLanguage.shortname + "."; } Projects.currentProjectSaveName += selectedProject.shortname; labelProject.Text = "Project: " + Projects.currentProjectSaveName; #region show in menu // remove all checked foreach (ToolStripMenuItem m in menuProject.DropDownItems) { m.Checked = false; foreach (ToolStripMenuItem m2 in m.DropDownItems) { m2.Checked = false; } } // set checked foreach (ToolStripMenuItem m in menuProject.DropDownItems) { Projects.Project project = ((Projects.Project)m.Tag); if (project == selectedProject) { if (project.languages.Count == 0) { m.Checked = true; } else { foreach (ToolStripMenuItem m2 in m.DropDownItems) { object[] properties = (object[])m2.Tag; Projects.ProjectLanguage lang = (Projects.ProjectLanguage)(properties[1]); if (lang == selectedLanguage) { m2.Checked = true; break; } } } break; } } #endregion }