private void StartArticleProcessing()
{
if (_stopProcessing)
return;
try
{
Tools.WriteDebug(Name, "Starting");
Shutdown();
// Check edit summary
txtEdit.Enabled = txtReviewEditSummary.Enabled = true;
SetEditToolBarEnabled(true);
if (Variables.Project != ProjectEnum.custom && string.IsNullOrEmpty(cmboEditSummary.Text) &&
!Plugin.AWBPlugins.Any())
{
MessageBox.Show("Please enter an edit summary.", "Edit summary", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
Stop();
return;
}
if (!string.IsNullOrEmpty(cmboEditSummary.Text) && !cmboEditSummary.Items.Contains(cmboEditSummary.Text))
cmboEditSummary.Items.Add(cmboEditSummary.Text);
txtReviewEditSummary.Text = "";
StopDelayedRestartTimer();
DisableButtons();
Skippable = true;
txtEdit.Clear();
ArticleInfo(true);
if (listMaker.NumberOfArticles < 1)
{
StopSaveInterval();
lblTimer.Text = "";
StopProgressBar();
StatusLabelText = "No articles in list, you need to use the Make list";
Text = _settingsFileDisplay;
listMaker.MakeListEnabled = true;
return;
}
string title = listMaker.SelectedArticle().Name;
if (!Tools.IsValidTitle(title))
{
// create TheArticle else skip won't work
TheArticle = new Article(title, "");
SkipPage("Invalid page title");
return;
}
string fixedTitle = Parsers.CanonicalizeTitleAggressively(title);
if (fixedTitle != title)
{
listMaker.ReplaceArticle(listMaker.SelectedArticle(), new Article(fixedTitle));
title = fixedTitle;
}
if (BotMode)
NudgeTimer.StartMe();
// reset last article text if now processing a different article
if (TheArticle != null && !TheArticle.Name.Equals(title))
LastArticle = "";
TheArticle = new Article(title, "");
// https://en.wikipedia.org/wiki/Wikipedia_talk:AutoWikiBrowser/Bugs/Archive_12#.27Find.27_sometimes_fails_to_use_the_search_key
txtEdit.ResetFind();
NewHistory(title);
NewWhatLinksHere(title);
EditBoxSaveTimer.Enabled = _autoSaveEditBoxEnabled;
// if (dlg != null && dlg.AutoProtectAll)
// TheArticle.Protect(TheSession);
StartProgressBar();
// Navigate to edit page
OpenPage(title);
}
catch (Exception ex)
{
Tools.WriteDebug(Name, "Start() error: " + ex.Message);
StartDelayedRestartTimer();
}
}