void MainForm_Activated(object sender, EventArgs e)
        {
            if (wasChangedExternally)
            {
                wasChangedExternally = false;

                if (file == null)
                {
                    return;
                }

                string fileName = file.FileName;
                if (!File.Exists(fileName))
                {
                    return;
                }

                string message = StringParser.Parse(
                    "${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage}",
                    new StringTagPair("File", Path.GetFullPath(fileName))
                    );
                if ((AutoLoadExternalChangesOption && file.IsDirty == false) ||
                    MessageService.AskQuestion(message, StringParser.Parse("${res:MainWindow.DialogName}")))
                {
                    if (File.Exists(fileName))
                    {
                        file.ReloadFromDisk();
                    }
                }
                else
                {
                    file.MakeDirty();
                }
            }
        }
Esempio n. 2
0
 public static void AskForReload()
 {
     if (currentlyReloading)
     {
         return;
     }
     currentlyReloading = true;
     try {
         lock (queue) {
             foreach (var file in queue)
             {
                 string fileName = file.FileName;
                 if (!File.Exists(fileName))
                 {
                     continue;
                 }
                 string message = StringParser.Parse(
                     "${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage}",
                     new StringTagPair("File", Path.GetFullPath(fileName))
                     );
                 if (SD.MessageService.AskQuestion(message, StringParser.Parse("${res:MainWindow.DialogName}")))
                 {
                     if (File.Exists(fileName))
                     {
                         file.ReloadFromDisk();
                     }
                 }
                 else
                 {
                     file.MakeDirty();
                 }
             }
             queue.Clear();
         }
     } finally {
         currentlyReloading = false;
     }
 }