diff --git a/RetailCoder.VBE/App.cs b/RetailCoder.VBE/App.cs index 9beb0f332c..32b98321ad 100644 --- a/RetailCoder.VBE/App.cs +++ b/RetailCoder.VBE/App.cs @@ -37,6 +37,7 @@ public sealed class App : IDisposable private bool _handleSinkEvents = true; private readonly BranchesViewViewModel _branchesVM; private readonly SourceControlViewViewModel _sourceControlPanelVM; + private readonly UI.Settings.Settings _settings; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); @@ -52,6 +53,7 @@ public sealed class App : IDisposable new Dictionary>(); public App(VBE vbe, IMessageBox messageBox, + UI.Settings.Settings settings, IRubberduckParser parser, IGeneralConfigService configService, IAppMenu appMenus, @@ -61,6 +63,7 @@ public App(VBE vbe, IMessageBox messageBox, { _vbe = vbe; _messageBox = messageBox; + _settings = settings; _parser = parser; _configService = configService; _autoSave = new AutoSave.AutoSave(_vbe, _configService); @@ -543,6 +546,11 @@ public void Dispose() _hooks = null; } + if (_settings != null) + { + _settings.Dispose(); + } + if (_configService != null) { _configService.SettingsChanged -= _configService_SettingsChanged; diff --git a/RetailCoder.VBE/Common/DeclarationExtensions.cs b/RetailCoder.VBE/Common/DeclarationExtensions.cs index eef5726454..203c685a53 100644 --- a/RetailCoder.VBE/Common/DeclarationExtensions.cs +++ b/RetailCoder.VBE/Common/DeclarationExtensions.cs @@ -22,7 +22,7 @@ public static class DeclarationExtensions public static string ToLocalizedString(this DeclarationType type) { - return RubberduckUI.ResourceManager.GetString("DeclarationType_" + type); + return RubberduckUI.ResourceManager.GetString("DeclarationType_" + type, UI.Settings.Settings.Culture); } public static BitmapImage BitmapImage(this Declaration declaration) diff --git a/RetailCoder.VBE/Inspections/DefaultProjectNameInspectionResult.cs b/RetailCoder.VBE/Inspections/DefaultProjectNameInspectionResult.cs index 79d388f6dc..06ed3a1d96 100644 --- a/RetailCoder.VBE/Inspections/DefaultProjectNameInspectionResult.cs +++ b/RetailCoder.VBE/Inspections/DefaultProjectNameInspectionResult.cs @@ -41,7 +41,7 @@ public class RenameProjectQuickFix : CodeInspectionQuickFix private readonly RubberduckParserState _state; public RenameProjectQuickFix(ParserRuleContext context, QualifiedSelection selection, Declaration target, RubberduckParserState state) - : base(context, selection, string.Format(RubberduckUI.Rename_DeclarationType, RubberduckUI.ResourceManager.GetString("DeclarationType_" + DeclarationType.Project, RubberduckUI.Culture))) + : base(context, selection, string.Format(RubberduckUI.Rename_DeclarationType, RubberduckUI.ResourceManager.GetString("DeclarationType_" + DeclarationType.Project, UI.Settings.Settings.Culture))) { _target = target; _state = state; diff --git a/RetailCoder.VBE/Inspections/InspectionBase.cs b/RetailCoder.VBE/Inspections/InspectionBase.cs index ede9ac1ea3..69dbf223b5 100644 --- a/RetailCoder.VBE/Inspections/InspectionBase.cs +++ b/RetailCoder.VBE/Inspections/InspectionBase.cs @@ -54,13 +54,13 @@ protected InspectionBase(RubberduckParserState state, CodeInspectionSeverity def /// /// Meta-information about why an inspection exists. /// - public virtual string Meta { get { return InspectionsUI.ResourceManager.GetString(Name + "Meta"); } } + public virtual string Meta { get { return InspectionsUI.ResourceManager.GetString(Name + "Meta", UI.Settings.Settings.Culture); } } /// /// Gets a localized string representing the type of inspection. /// /// - public virtual string InspectionTypeName { get { return InspectionsUI.ResourceManager.GetString(InspectionType.ToString()); } } + public virtual string InspectionTypeName { get { return InspectionsUI.ResourceManager.GetString(InspectionType.ToString(), UI.Settings.Settings.Culture); } } /// /// Gets a string representing the text that must be present in an diff --git a/RetailCoder.VBE/Inspections/Inspector.cs b/RetailCoder.VBE/Inspections/Inspector.cs index 31f7d8fadf..a9f22f2621 100644 --- a/RetailCoder.VBE/Inspections/Inspector.cs +++ b/RetailCoder.VBE/Inspections/Inspector.cs @@ -81,7 +81,7 @@ public async Task> FindIssuesAsync(Rubberduck })).ToList(); await Task.WhenAll(inspections); - state.OnStatusMessageUpdate(RubberduckUI.ResourceManager.GetString("ParserState_" + state.Status)); // should be "Ready" + state.OnStatusMessageUpdate(RubberduckUI.ResourceManager.GetString("ParserState_" + state.Status, UI.Settings.Settings.Culture)); // should be "Ready" return allIssues; } diff --git a/RetailCoder.VBE/Inspections/UseMeaningfulNameInspectionResult.cs b/RetailCoder.VBE/Inspections/UseMeaningfulNameInspectionResult.cs index a4382a7fe2..c009efb497 100644 --- a/RetailCoder.VBE/Inspections/UseMeaningfulNameInspectionResult.cs +++ b/RetailCoder.VBE/Inspections/UseMeaningfulNameInspectionResult.cs @@ -28,7 +28,7 @@ public UseMeaningfulNameInspectionResult(IInspection inspection, Declaration tar public override string Description { - get { return string.Format(InspectionsUI.UseMeaningfulNameInspectionResultFormat, RubberduckUI.ResourceManager.GetString("DeclarationType_" + Target.DeclarationType), Target.IdentifierName); } + get { return string.Format(InspectionsUI.UseMeaningfulNameInspectionResultFormat, RubberduckUI.ResourceManager.GetString("DeclarationType_" + Target.DeclarationType, UI.Settings.Settings.Culture), Target.IdentifierName); } } public override NavigateCodeEventArgs GetNavigationArgs() @@ -47,7 +47,7 @@ public class RenameDeclarationQuickFix : CodeInspectionQuickFix private readonly IMessageBox _messageBox; public RenameDeclarationQuickFix(ParserRuleContext context, QualifiedSelection selection, Declaration target, RubberduckParserState state, IMessageBox messageBox) - : base(context, selection, string.Format(RubberduckUI.Rename_DeclarationType, RubberduckUI.ResourceManager.GetString("DeclarationType_" + target.DeclarationType, RubberduckUI.Culture))) + : base(context, selection, string.Format(RubberduckUI.Rename_DeclarationType, RubberduckUI.ResourceManager.GetString("DeclarationType_" + target.DeclarationType, UI.Settings.Settings.Culture))) { _target = target; _state = state; diff --git a/RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerViewModel.cs b/RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerViewModel.cs index 5233e2f2f2..660d0257fc 100644 --- a/RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerViewModel.cs +++ b/RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerViewModel.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Windows.Input; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.Folders; using Rubberduck.Parsing.Annotations; using Rubberduck.Parsing.Symbols; @@ -30,7 +31,7 @@ public CodeExplorerViewModel(FolderHelper folderHelper, RubberduckParserState st _state.StateChanged += ParserState_StateChanged; _state.ModuleStateChanged += ParserState_ModuleStateChanged; - _refreshCommand = new DelegateCommand(param => _state.OnParseRequested(this), + _refreshCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), param => _state.OnParseRequested(this), param => !IsBusy && _state.IsDirty()); _refreshComponentCommand = commands.OfType().FirstOrDefault(); @@ -54,7 +55,7 @@ public CodeExplorerViewModel(FolderHelper folderHelper, RubberduckParserState st _externalRemoveCommand = commands.OfType().FirstOrDefault(); if (_externalRemoveCommand != null) { - _removeCommand = new DelegateCommand(ExecuteRemoveComand, _externalRemoveCommand.CanExecute); + _removeCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteRemoveComand, _externalRemoveCommand.CanExecute); } _printCommand = commands.OfType().FirstOrDefault(); @@ -64,13 +65,13 @@ public CodeExplorerViewModel(FolderHelper folderHelper, RubberduckParserState st _copyResultsCommand = commands.OfType().FirstOrDefault(); - _setNameSortCommand = new DelegateCommand(param => + _setNameSortCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), param => { SortByName = (bool)param; SortBySelection = !(bool)param; }); - _setSelectionSortCommand = new DelegateCommand(param => + _setSelectionSortCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), param => { SortBySelection = (bool)param; SortByName = !(bool)param; diff --git a/RetailCoder.VBE/Root/FatalExceptionInterceptor.cs b/RetailCoder.VBE/Root/FatalExceptionInterceptor.cs deleted file mode 100644 index ffaafc587d..0000000000 --- a/RetailCoder.VBE/Root/FatalExceptionInterceptor.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using Ninject.Extensions.Interception; -using NLog; - -namespace Rubberduck.Root -{ - /// - /// An interceptor that logs an unhandled exception. - /// - public class FatalExceptionInterceptor : InterceptorBase - { - private readonly ILogger _logger = LogManager.GetCurrentClassLogger(); - - protected override void OnError(IInvocation invocation, Exception exception) - { - _logger.Fatal(exception); - throw new InterceptedException(exception); - } - } -} \ No newline at end of file diff --git a/RetailCoder.VBE/Root/RubberduckModule.cs b/RetailCoder.VBE/Root/RubberduckModule.cs index c29514dfee..16139ca471 100644 --- a/RetailCoder.VBE/Root/RubberduckModule.cs +++ b/RetailCoder.VBE/Root/RubberduckModule.cs @@ -326,8 +326,6 @@ private void BindCommandsToMenuItems() binding.When(request => whenCommandMenuItemCondition(request) || whenHooksCondition(request)) .InSingletonScope(); - - binding.Intercept().With(); } } catch (InvalidOperationException) diff --git a/RetailCoder.VBE/Rubberduck.csproj b/RetailCoder.VBE/Rubberduck.csproj index 684170afcf..fa6dbf0f03 100644 --- a/RetailCoder.VBE/Rubberduck.csproj +++ b/RetailCoder.VBE/Rubberduck.csproj @@ -256,6 +256,7 @@ + False @@ -391,7 +392,6 @@ - @@ -729,6 +729,7 @@ + SettingsControl.xaml diff --git a/RetailCoder.VBE/Settings/CodeInspectionSettings.cs b/RetailCoder.VBE/Settings/CodeInspectionSettings.cs index 7821a5e272..0f43d31213 100644 --- a/RetailCoder.VBE/Settings/CodeInspectionSettings.cs +++ b/RetailCoder.VBE/Settings/CodeInspectionSettings.cs @@ -53,7 +53,7 @@ public string LocalizedName { get { - return InspectionsUI.ResourceManager.GetString(Name + "Name"); + return InspectionsUI.ResourceManager.GetString(Name + "Name", UI.Settings.Settings.Culture); } } // not serialized because culture-dependent @@ -71,25 +71,25 @@ public string Meta { get { - return InspectionsUI.ResourceManager.GetString(Name + "Meta"); + return InspectionsUI.ResourceManager.GetString(Name + "Meta", UI.Settings.Settings.Culture); } } [XmlIgnore] public string TypeLabel { - get { return RubberduckUI.ResourceManager.GetString("CodeInspectionSettings_" + InspectionType); } + get { return RubberduckUI.ResourceManager.GetString("CodeInspectionSettings_" + InspectionType, UI.Settings.Settings.Culture); } } [XmlIgnore] public string SeverityLabel { - get { return RubberduckUI.ResourceManager.GetString("CodeInspectionSeverity_" + Severity, RubberduckUI.Culture); } + get { return RubberduckUI.ResourceManager.GetString("CodeInspectionSeverity_" + Severity, UI.Settings.Settings.Culture); } set { foreach (var severity in Enum.GetValues(typeof (CodeInspectionSeverity))) { - if (value == RubberduckUI.ResourceManager.GetString("CodeInspectionSeverity_" + severity, RubberduckUI.Culture)) + if (value == RubberduckUI.ResourceManager.GetString("CodeInspectionSeverity_" + severity, UI.Settings.Settings.Culture)) { Severity = (CodeInspectionSeverity)severity; return; diff --git a/RetailCoder.VBE/Settings/HotkeySetting.cs b/RetailCoder.VBE/Settings/HotkeySetting.cs index 5966015c0b..30704090fa 100644 --- a/RetailCoder.VBE/Settings/HotkeySetting.cs +++ b/RetailCoder.VBE/Settings/HotkeySetting.cs @@ -23,7 +23,7 @@ public class HotkeySetting [XmlIgnore] public string Prompt { - get { return RubberduckUI.ResourceManager.GetString("HotkeyDescription_" + Name); } + get { return RubberduckUI.ResourceManager.GetString("HotkeyDescription_" + Name, UI.Settings.Settings.Culture); } } public string ToMenuHotkeyString() diff --git a/RetailCoder.VBE/Settings/MinimumLogLevel.cs b/RetailCoder.VBE/Settings/MinimumLogLevel.cs index 9743f6aa02..7033150ea7 100644 --- a/RetailCoder.VBE/Settings/MinimumLogLevel.cs +++ b/RetailCoder.VBE/Settings/MinimumLogLevel.cs @@ -10,7 +10,7 @@ public sealed class MinimumLogLevel public MinimumLogLevel(int ordinal, string logLevelName) { _ordinal = ordinal; - _name = RubberduckUI.ResourceManager.GetString("GeneralSettings_" + logLevelName + "LogLevel"); + _name = RubberduckUI.ResourceManager.GetString("GeneralSettings_" + logLevelName + "LogLevel", UI.Settings.Settings.Culture); } public int Ordinal diff --git a/RetailCoder.VBE/UI/About/AboutControlViewModel.cs b/RetailCoder.VBE/UI/About/AboutControlViewModel.cs index 61fa8a73dc..6f4e1e68f2 100644 --- a/RetailCoder.VBE/UI/About/AboutControlViewModel.cs +++ b/RetailCoder.VBE/UI/About/AboutControlViewModel.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics; using System.Reflection; -using System.Windows.Input; +using NLog; using Rubberduck.UI.Command; namespace Rubberduck.UI.About @@ -26,7 +26,7 @@ public CommandBase UriCommand { return _uriCommand; } - return _uriCommand = new DelegateCommand(uri => + return _uriCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), uri => { Process.Start(new ProcessStartInfo(((Uri)uri).AbsoluteUri)); }); diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddClassModuleCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddClassModuleCommand.cs index b6af1d0089..9e8d691a15 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddClassModuleCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddClassModuleCommand.cs @@ -1,4 +1,5 @@ using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -9,17 +10,17 @@ public class CodeExplorer_AddClassModuleCommand : CommandBase { private readonly VBE _vbe; - public CodeExplorer_AddClassModuleCommand(VBE vbe) + public CodeExplorer_AddClassModuleCommand(VBE vbe) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return GetDeclaration(parameter) != null || _vbe.VBProjects.Count == 1; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (parameter != null) { diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddStdModuleCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddStdModuleCommand.cs index 3c320fe396..46eb486d4e 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddStdModuleCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddStdModuleCommand.cs @@ -1,4 +1,5 @@ using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -9,17 +10,17 @@ public class CodeExplorer_AddStdModuleCommand : CommandBase { private readonly VBE _vbe; - public CodeExplorer_AddStdModuleCommand(VBE vbe) + public CodeExplorer_AddStdModuleCommand(VBE vbe) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return GetDeclaration(parameter) != null || _vbe.VBProjects.Count == 1; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (parameter != null) { diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddTestModuleCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddTestModuleCommand.cs index 26a361637e..31e6c31c1e 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddTestModuleCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddTestModuleCommand.cs @@ -1,4 +1,5 @@ using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -11,18 +12,18 @@ public class CodeExplorer_AddTestModuleCommand : CommandBase private readonly VBE _vbe; private readonly NewUnitTestModuleCommand _newUnitTestModuleCommand; - public CodeExplorer_AddTestModuleCommand(VBE vbe, NewUnitTestModuleCommand newUnitTestModuleCommand) + public CodeExplorer_AddTestModuleCommand(VBE vbe, NewUnitTestModuleCommand newUnitTestModuleCommand) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _newUnitTestModuleCommand = newUnitTestModuleCommand; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return GetDeclaration(parameter) != null || _vbe.VBProjects.Count == 1; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (parameter != null) { diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddUserFormCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddUserFormCommand.cs index 48a0b5c901..a25c07a328 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddUserFormCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_AddUserFormCommand.cs @@ -1,4 +1,5 @@ using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -9,17 +10,17 @@ public class CodeExplorer_AddUserFormCommand : CommandBase { private readonly VBE _vbe; - public CodeExplorer_AddUserFormCommand(VBE vbe) + public CodeExplorer_AddUserFormCommand(VBE vbe) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return GetDeclaration(parameter) != null || _vbe.VBProjects.Count == 1; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (parameter != null) { diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CommitCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CommitCommand.cs index 9c40d3a90f..0798eb859a 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CommitCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CommitCommand.cs @@ -1,3 +1,4 @@ +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; using Rubberduck.UI.SourceControl; @@ -8,17 +9,17 @@ public class CodeExplorer_CommitCommand : CommandBase { private readonly SourceControlDockablePresenter _presenter; - public CodeExplorer_CommitCommand(SourceControlDockablePresenter presenter) + public CodeExplorer_CommitCommand(SourceControlDockablePresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return parameter is CodeExplorerComponentViewModel; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CopyResultsCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CopyResultsCommand.cs index 4bd3c63289..076a66318c 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CopyResultsCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_CopyResultsCommand.cs @@ -2,6 +2,7 @@ using System.Globalization; using System.Linq; using System.Windows; +using NLog; using Rubberduck.Common; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command; @@ -13,13 +14,13 @@ public class CodeExplorer_CopyResultsCommand : CommandBase private readonly RubberduckParserState _state; private readonly IClipboardWriter _clipboard; - public CodeExplorer_CopyResultsCommand(RubberduckParserState state) + public CodeExplorer_CopyResultsCommand(RubberduckParserState state) : base(LogManager.GetCurrentClassLogger()) { _state = state; _clipboard = new ClipboardWriter(); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { const string XML_SPREADSHEET_DATA_FORMAT = "XML Spreadsheet"; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ExportCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ExportCommand.cs index 6baf58e25c..f7291e9368 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ExportCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ExportCommand.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Windows.Forms; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; @@ -19,13 +20,13 @@ public class CodeExplorer_ExportCommand : CommandBase, IDisposable { vbext_ComponentType.vbext_ct_MSForm, ".frm" } }; - public CodeExplorer_ExportCommand(ISaveFileDialog saveFileDialog) + public CodeExplorer_ExportCommand(ISaveFileDialog saveFileDialog) : base(LogManager.GetCurrentClassLogger()) { _saveFileDialog = saveFileDialog; _saveFileDialog.OverwritePrompt = true; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (!(parameter is CodeExplorerComponentViewModel)) { @@ -37,7 +38,7 @@ public override bool CanExecute(object parameter) return _exportableFileExtensions.Select(s => s.Key).Contains(componentType); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var node = (CodeExplorerComponentViewModel)parameter; var component = node.Declaration.QualifiedName.QualifiedModuleName.Component; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllImplementationsCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllImplementationsCommand.cs index da380582ea..a78747e5c5 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllImplementationsCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllImplementationsCommand.cs @@ -1,3 +1,4 @@ +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command; @@ -9,20 +10,20 @@ public class CodeExplorer_FindAllImplementationsCommand : CommandBase private readonly RubberduckParserState _state; private readonly FindAllImplementationsCommand _findAllImplementations; - public CodeExplorer_FindAllImplementationsCommand(RubberduckParserState state, FindAllImplementationsCommand findAllImplementations) + public CodeExplorer_FindAllImplementationsCommand(RubberduckParserState state, FindAllImplementationsCommand findAllImplementations) : base(LogManager.GetCurrentClassLogger()) { _state = state; _findAllImplementations = findAllImplementations; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Ready && (parameter is CodeExplorerComponentViewModel || parameter is CodeExplorerMemberViewModel); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _findAllImplementations.Execute(((CodeExplorerItemViewModel) parameter).GetSelectedDeclaration()); } diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllReferencesCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllReferencesCommand.cs index 653b6725a5..844cb4d9d2 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllReferencesCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_FindAllReferencesCommand.cs @@ -1,3 +1,4 @@ +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command; @@ -9,20 +10,20 @@ public class CodeExplorer_FindAllReferencesCommand : CommandBase private readonly RubberduckParserState _state; private readonly FindAllReferencesCommand _findAllReferences; - public CodeExplorer_FindAllReferencesCommand(RubberduckParserState state, FindAllReferencesCommand findAllReferences) + public CodeExplorer_FindAllReferencesCommand(RubberduckParserState state, FindAllReferencesCommand findAllReferences) : base(LogManager.GetCurrentClassLogger()) { _state = state; _findAllReferences = findAllReferences; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Ready && parameter != null && !(parameter is CodeExplorerCustomFolderViewModel); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _findAllReferences.Execute(((CodeExplorerItemViewModel) parameter).GetSelectedDeclaration()); } diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ImportCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ImportCommand.cs index aa28aa81b2..93e41d5bb9 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ImportCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_ImportCommand.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Windows.Forms; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; @@ -11,7 +12,7 @@ public class CodeExplorer_ImportCommand : CommandBase, IDisposable { private readonly IOpenFileDialog _openFileDialog; - public CodeExplorer_ImportCommand(IOpenFileDialog openFileDialog) + public CodeExplorer_ImportCommand(IOpenFileDialog openFileDialog) : base(LogManager.GetCurrentClassLogger()) { _openFileDialog = openFileDialog; @@ -24,7 +25,7 @@ public CodeExplorer_ImportCommand(IOpenFileDialog openFileDialog) _openFileDialog.CheckFileExists = true; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { VBProject project; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_IndentCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_IndentCommand.cs index 2003ad51be..f8e30c66f9 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_IndentCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_IndentCommand.cs @@ -3,6 +3,7 @@ using Rubberduck.SmartIndenter; using Rubberduck.UI.Command; using System.Linq; +using NLog; using Rubberduck.Parsing.Annotations; using Rubberduck.Parsing.Symbols; @@ -14,14 +15,14 @@ public class CodeExplorer_IndentCommand : CommandBase private readonly IIndenter _indenter; private readonly INavigateCommand _navigateCommand; - public CodeExplorer_IndentCommand(RubberduckParserState state, IIndenter indenter, INavigateCommand navigateCommand) + public CodeExplorer_IndentCommand(RubberduckParserState state, IIndenter indenter, INavigateCommand navigateCommand) : base(LogManager.GetCurrentClassLogger()) { _state = state; _indenter = indenter; _navigateCommand = navigateCommand; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (parameter == null) { @@ -69,7 +70,7 @@ public override bool CanExecute(object parameter) && !(parameter is CodeExplorerCustomFolderViewModel); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (parameter == null) { diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_NavigateCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_NavigateCommand.cs index 53e87e7709..0e63e4618f 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_NavigateCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_NavigateCommand.cs @@ -1,3 +1,4 @@ +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; @@ -7,17 +8,17 @@ public class CodeExplorer_NavigateCommand : CommandBase { private readonly INavigateCommand _navigateCommand; - public CodeExplorer_NavigateCommand(INavigateCommand navigateCommand) + public CodeExplorer_NavigateCommand(INavigateCommand navigateCommand) : base(LogManager.GetCurrentClassLogger()) { _navigateCommand = navigateCommand; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return parameter != null && ((CodeExplorerItemViewModel)parameter).QualifiedSelection.HasValue; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { // ReSharper disable once PossibleInvalidOperationException _navigateCommand.Execute(((CodeExplorerItemViewModel)parameter).QualifiedSelection.Value.GetNavitationArgs()); diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenDesignerCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenDesignerCommand.cs index 752dec97c3..7d6b33da89 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenDesignerCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenDesignerCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -7,7 +8,9 @@ namespace Rubberduck.UI.CodeExplorer.Commands { public class CodeExplorer_OpenDesignerCommand : CommandBase { - public override bool CanExecute(object parameter) + public CodeExplorer_OpenDesignerCommand() : base(LogManager.GetCurrentClassLogger()) { } + + protected override bool CanExecuteImpl(object parameter) { if (parameter == null) { @@ -26,7 +29,7 @@ public override bool CanExecute(object parameter) } } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { ((ICodeExplorerDeclarationViewModel) parameter).Declaration .QualifiedName.QualifiedModuleName.Component.DesignerWindow() diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenProjectPropertiesCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenProjectPropertiesCommand.cs index 93e2252a25..3525a4abdb 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenProjectPropertiesCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_OpenProjectPropertiesCommand.cs @@ -1,4 +1,5 @@ using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.UI.Command; namespace Rubberduck.UI.CodeExplorer.Commands @@ -7,12 +8,12 @@ public class CodeExplorer_OpenProjectPropertiesCommand : CommandBase { private readonly VBE _vbe; - public CodeExplorer_OpenProjectPropertiesCommand(VBE vbe) + public CodeExplorer_OpenProjectPropertiesCommand(VBE vbe) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { const int openProjectPropertiesId = 2578; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_PrintCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_PrintCommand.cs index 2e3c54fc61..22662a6960 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_PrintCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_PrintCommand.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using System.Windows.Forms; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; @@ -11,7 +12,9 @@ namespace Rubberduck.UI.CodeExplorer.Commands { public class CodeExplorer_PrintCommand : CommandBase { - public override bool CanExecute(object parameter) + public CodeExplorer_PrintCommand() : base(LogManager.GetCurrentClassLogger()) { } + + protected override bool CanExecuteImpl(object parameter) { var node = parameter as CodeExplorerComponentViewModel; if (node == null) @@ -22,7 +25,7 @@ public override bool CanExecute(object parameter) return node.Declaration.QualifiedName.QualifiedModuleName.Component.CodeModule.CountOfLines != 0; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var node = (CodeExplorerComponentViewModel)parameter; var component = node.Declaration.QualifiedName.QualifiedModuleName.Component; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RefreshComponentCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RefreshComponentCommand.cs index 1e3dd33998..718012ffd7 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RefreshComponentCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RefreshComponentCommand.cs @@ -1,4 +1,5 @@ -using Rubberduck.Navigation.CodeExplorer; +using NLog; +using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command; @@ -8,12 +9,12 @@ public class CodeExplorer_RefreshComponentCommand : CommandBase { private readonly RubberduckParserState _state; - public CodeExplorer_RefreshComponentCommand(RubberduckParserState state) + public CodeExplorer_RefreshComponentCommand(RubberduckParserState state) : base(LogManager.GetCurrentClassLogger()) { _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { var node = parameter as CodeExplorerComponentViewModel; @@ -21,7 +22,7 @@ public override bool CanExecute(object parameter) _state.GetOrCreateModuleState(node.QualifiedSelection.Value.QualifiedName.Component) == ParserState.Pending; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var node = (CodeExplorerComponentViewModel) parameter; diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RemoveCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RemoveCommand.cs index 6b8ff47d5f..48e0eb1e75 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RemoveCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RemoveCommand.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Windows.Forms; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.UI.Command; @@ -21,7 +22,7 @@ public class CodeExplorer_RemoveCommand : CommandBase, IDisposable { vbext_ComponentType.vbext_ct_MSForm, ".frm" } }; - public CodeExplorer_RemoveCommand(ISaveFileDialog saveFileDialog, IMessageBox messageBox) + public CodeExplorer_RemoveCommand(ISaveFileDialog saveFileDialog, IMessageBox messageBox) : base(LogManager.GetCurrentClassLogger()) { _saveFileDialog = saveFileDialog; _saveFileDialog.OverwritePrompt = true; @@ -29,7 +30,7 @@ public CodeExplorer_RemoveCommand(ISaveFileDialog saveFileDialog, IMessageBox me _messageBox = messageBox; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (!(parameter is CodeExplorerComponentViewModel)) { @@ -41,7 +42,7 @@ public override bool CanExecute(object parameter) return _exportableFileExtensions.Select(s => s.Key).Contains(componentType); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var message = string.Format("Do you want to export '{0}' before removing?", ((CodeExplorerComponentViewModel)parameter).Name); var result = _messageBox.Show(message, "Rubberduck Export Prompt", MessageBoxButtons.YesNoCancel, diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RenameCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RenameCommand.cs index bbdaf932ac..6b04a4f9f0 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RenameCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RenameCommand.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.Parsing.VBA; using Rubberduck.Refactorings.Rename; @@ -14,7 +15,7 @@ public class CodeExplorer_RenameCommand : CommandBase, IDisposable private readonly IRenameDialog _view; private readonly IMessageBox _msgBox; - public CodeExplorer_RenameCommand(VBE vbe, RubberduckParserState state, IRenameDialog view, IMessageBox msgBox) + public CodeExplorer_RenameCommand(VBE vbe, RubberduckParserState state, IRenameDialog view, IMessageBox msgBox) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _state = state; @@ -22,12 +23,12 @@ public CodeExplorer_RenameCommand(VBE vbe, RubberduckParserState state, IRenameD _msgBox = msgBox; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Ready && parameter is ICodeExplorerDeclarationViewModel; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var factory = new RenamePresenterFactory(_vbe, _view, _state, _msgBox); var refactoring = new RenameRefactoring(_vbe, factory, _msgBox, _state); diff --git a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_UndoCommand.cs b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_UndoCommand.cs index 2aba277325..ffd61e017e 100644 --- a/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_UndoCommand.cs +++ b/RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_UndoCommand.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Navigation.CodeExplorer; using Rubberduck.SourceControl; using Rubberduck.UI.Command; @@ -13,13 +14,13 @@ public class CodeExplorer_UndoCommand : CommandBase private readonly SourceControlDockablePresenter _presenter; private readonly IMessageBox _messageBox; - public CodeExplorer_UndoCommand(SourceControlDockablePresenter presenter, IMessageBox messageBox) + public CodeExplorer_UndoCommand(SourceControlDockablePresenter presenter, IMessageBox messageBox) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; _messageBox = messageBox; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { var node = parameter as CodeExplorerComponentViewModel; if (node == null) @@ -46,7 +47,7 @@ public override bool CanExecute(object parameter) changesVM.IncludedChanges.Select(s => s.FilePath).Contains(GetFileName(node)); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var panel = _presenter.Window() as SourceControlPanel; if (panel == null) diff --git a/RetailCoder.VBE/UI/Command/AboutCommand.cs b/RetailCoder.VBE/UI/Command/AboutCommand.cs index 6dfcff8d97..85d120f58b 100644 --- a/RetailCoder.VBE/UI/Command/AboutCommand.cs +++ b/RetailCoder.VBE/UI/Command/AboutCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.UI.About; namespace Rubberduck.UI.Command @@ -9,7 +10,9 @@ namespace Rubberduck.UI.Command [ComVisible(false)] public class AboutCommand : CommandBase { - public override void Execute(object parameter) + public AboutCommand() : base(LogManager.GetCurrentClassLogger()) { } + + protected override void ExecuteImpl(object parameter) { using (var window = new AboutDialog()) { diff --git a/RetailCoder.VBE/UI/Command/AddTestMethodCommand.cs b/RetailCoder.VBE/UI/Command/AddTestMethodCommand.cs index 1ee6f7a30d..0b45707838 100644 --- a/RetailCoder.VBE/UI/Command/AddTestMethodCommand.cs +++ b/RetailCoder.VBE/UI/Command/AddTestMethodCommand.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.Annotations; using Rubberduck.Parsing.Symbols; using Rubberduck.Parsing.VBA; @@ -18,14 +19,14 @@ public class AddTestMethodCommand : CommandBase private readonly NewTestMethodCommand _command; private readonly RubberduckParserState _state; - public AddTestMethodCommand(VBE vbe, RubberduckParserState state, NewTestMethodCommand command) + public AddTestMethodCommand(VBE vbe, RubberduckParserState state, NewTestMethodCommand command) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _command = command; _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (_state.Status != ParserState.Ready) { return false; } @@ -36,7 +37,7 @@ public override bool CanExecute(object parameter) return testModules.Any(a => a.QualifiedName.QualifiedModuleName.Component == _vbe.SelectedVBComponent); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _command.NewTestMethod(); } diff --git a/RetailCoder.VBE/UI/Command/AddTestMethodExpectedErrorCommand.cs b/RetailCoder.VBE/UI/Command/AddTestMethodExpectedErrorCommand.cs index 2c6a26a7f2..21a68c8d59 100644 --- a/RetailCoder.VBE/UI/Command/AddTestMethodExpectedErrorCommand.cs +++ b/RetailCoder.VBE/UI/Command/AddTestMethodExpectedErrorCommand.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.Annotations; using Rubberduck.Parsing.Symbols; using Rubberduck.Parsing.VBA; @@ -18,14 +19,14 @@ public class AddTestMethodExpectedErrorCommand : CommandBase private readonly NewTestMethodCommand _command; private readonly RubberduckParserState _state; - public AddTestMethodExpectedErrorCommand(VBE vbe, RubberduckParserState state, NewTestMethodCommand command) + public AddTestMethodExpectedErrorCommand(VBE vbe, RubberduckParserState state, NewTestMethodCommand command) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _command = command; _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (_state.Status != ParserState.Ready) { return false; } @@ -36,7 +37,7 @@ public override bool CanExecute(object parameter) return testModules.Any(a => a.QualifiedName.QualifiedModuleName.Component == _vbe.SelectedVBComponent); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _command.NewExpectedErrorTestMethod(); } diff --git a/RetailCoder.VBE/UI/Command/AddTestModuleCommand.cs b/RetailCoder.VBE/UI/Command/AddTestModuleCommand.cs index 7faf0ef48a..aee776c908 100644 --- a/RetailCoder.VBE/UI/Command/AddTestModuleCommand.cs +++ b/RetailCoder.VBE/UI/Command/AddTestModuleCommand.cs @@ -1,5 +1,6 @@ using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.VBA; using Rubberduck.UnitTesting; using Rubberduck.VBEditor.Extensions; @@ -13,22 +14,20 @@ namespace Rubberduck.UI.Command public class AddTestModuleCommand : CommandBase { private readonly VBE _vbe; - private readonly RubberduckParserState _state; private readonly NewUnitTestModuleCommand _command; - public AddTestModuleCommand(VBE vbe, RubberduckParserState state, NewUnitTestModuleCommand command) + public AddTestModuleCommand(VBE vbe, RubberduckParserState state, NewUnitTestModuleCommand command) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; - _state = state; _command = command; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _vbe.HostSupportsUnitTests(); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _command.NewUnitTestModule(_vbe.ActiveVBProject); } diff --git a/RetailCoder.VBE/UI/Command/CodeExplorerCommand.cs b/RetailCoder.VBE/UI/Command/CodeExplorerCommand.cs index 02c2a94d3f..f09aff579a 100644 --- a/RetailCoder.VBE/UI/Command/CodeExplorerCommand.cs +++ b/RetailCoder.VBE/UI/Command/CodeExplorerCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Settings; namespace Rubberduck.UI.Command @@ -11,7 +12,7 @@ public class CodeExplorerCommand : CommandBase { private readonly IPresenter _presenter; - public CodeExplorerCommand(IPresenter presenter) + public CodeExplorerCommand(IPresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } @@ -21,7 +22,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.CodeExplorer; } } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Command/CommandBase.cs b/RetailCoder.VBE/UI/Command/CommandBase.cs index 243aa1ffc1..4598f6bbf8 100644 --- a/RetailCoder.VBE/UI/Command/CommandBase.cs +++ b/RetailCoder.VBE/UI/Command/CommandBase.cs @@ -1,6 +1,8 @@ using System; using System.Runtime.InteropServices; +using System.Windows.Forms; using System.Windows.Input; +using NLog; using Rubberduck.Settings; namespace Rubberduck.UI.Command @@ -8,12 +10,56 @@ namespace Rubberduck.UI.Command [ComVisible(false)] public abstract class CommandBase : ICommand { - public virtual bool CanExecute(object parameter) + protected CommandBase(ILogger logger) + { + _logger = logger; + } + + private readonly ILogger _logger; + protected virtual ILogger Logger { get { return _logger; } } + + protected virtual bool CanExecuteImpl(object parameter) { return true; } - public abstract void Execute(object parameter); + protected abstract void ExecuteImpl(object parameter); + + public bool CanExecute(object parameter) + { + try + { + return CanExecuteImpl(parameter); + } + catch (Exception exception) + { + _logger.Fatal(exception); + + var messageBox = new MessageBox(); + messageBox.Show( + RubberduckUI.RubberduckFatalError, RubberduckUI.Rubberduck, + MessageBoxButtons.OK, MessageBoxIcon.Error); + + return false; + } + } + + public void Execute(object parameter) + { + try + { + ExecuteImpl(parameter); + } + catch (Exception exception) + { + _logger.Fatal(exception); + + var messageBox = new MessageBox(); + messageBox.Show( + RubberduckUI.RubberduckFatalError, RubberduckUI.Rubberduck, + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } public virtual string ShortcutText { get; set; } diff --git a/RetailCoder.VBE/UI/Command/DelegateCommand.cs b/RetailCoder.VBE/UI/Command/DelegateCommand.cs index b8aac9b1f6..ed49b2a26a 100644 --- a/RetailCoder.VBE/UI/Command/DelegateCommand.cs +++ b/RetailCoder.VBE/UI/Command/DelegateCommand.cs @@ -1,5 +1,6 @@ using System; using System.Runtime.InteropServices; +using NLog; namespace Rubberduck.UI.Command { @@ -9,18 +10,18 @@ public class DelegateCommand : CommandBase private readonly Predicate _canExecute; private readonly Action _execute; - public DelegateCommand(Action execute, Predicate canExecute = null) + public DelegateCommand(ILogger logger, Action execute, Predicate canExecute = null) : base(logger) { _canExecute = canExecute; _execute = execute; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _canExecute == null || _canExecute.Invoke(parameter); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _execute.Invoke(parameter); } diff --git a/RetailCoder.VBE/UI/Command/FindAllImplementationsCommand.cs b/RetailCoder.VBE/UI/Command/FindAllImplementationsCommand.cs index c3cba20992..0e2bcfa20c 100644 --- a/RetailCoder.VBE/UI/Command/FindAllImplementationsCommand.cs +++ b/RetailCoder.VBE/UI/Command/FindAllImplementationsCommand.cs @@ -4,6 +4,7 @@ using System.Runtime.InteropServices; using System.Windows.Forms; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Common; using Rubberduck.Parsing.Grammar; using Rubberduck.Parsing.Symbols; @@ -29,6 +30,7 @@ public class FindAllImplementationsCommand : CommandBase, IDisposable public FindAllImplementationsCommand(INavigateCommand navigateCommand, IMessageBox messageBox, RubberduckParserState state, VBE vbe, ISearchResultsWindowViewModel viewModel, SearchResultPresenterInstanceManager presenterService) + : base(LogManager.GetCurrentClassLogger()) { _navigateCommand = navigateCommand; _messageBox = messageBox; @@ -86,7 +88,7 @@ private void UpdateTab() } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (_vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -99,7 +101,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (_state.Status != ParserState.Ready) { diff --git a/RetailCoder.VBE/UI/Command/FindAllReferencesCommand.cs b/RetailCoder.VBE/UI/Command/FindAllReferencesCommand.cs index 533f9fbd4d..f18a468803 100644 --- a/RetailCoder.VBE/UI/Command/FindAllReferencesCommand.cs +++ b/RetailCoder.VBE/UI/Command/FindAllReferencesCommand.cs @@ -3,6 +3,7 @@ using System.Runtime.InteropServices; using System.Windows.Forms; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.Symbols; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command.MenuItems; @@ -26,6 +27,7 @@ public class FindAllReferencesCommand : CommandBase, IDisposable public FindAllReferencesCommand(INavigateCommand navigateCommand, IMessageBox messageBox, RubberduckParserState state, VBE vbe, ISearchResultsWindowViewModel viewModel, SearchResultPresenterInstanceManager presenterService) + : base(LogManager.GetCurrentClassLogger()) { _navigateCommand = navigateCommand; _messageBox = messageBox; @@ -83,7 +85,7 @@ private void UpdateTab() } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (_vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -96,7 +98,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (_state.Status != ParserState.Ready) { diff --git a/RetailCoder.VBE/UI/Command/FindSymbolCommand.cs b/RetailCoder.VBE/UI/Command/FindSymbolCommand.cs index 44947c6dc6..bda106d8d7 100644 --- a/RetailCoder.VBE/UI/Command/FindSymbolCommand.cs +++ b/RetailCoder.VBE/UI/Command/FindSymbolCommand.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Common; using Rubberduck.Parsing.VBA; using Rubberduck.Settings; @@ -19,7 +20,7 @@ public class FindSymbolCommand : CommandBase private readonly DeclarationIconCache _iconCache; private readonly NavigateCommand _navigateCommand = new NavigateCommand(); - public FindSymbolCommand(VBE vbe, RubberduckParserState state, DeclarationIconCache iconCache) + public FindSymbolCommand(VBE vbe, RubberduckParserState state, DeclarationIconCache iconCache) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _state = state; @@ -31,7 +32,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.FindSymbol; } } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var viewModel = new FindSymbolViewModel(_state.AllDeclarations.Where(item => !item.IsBuiltIn), _iconCache); using (var view = new FindSymbolDialog(viewModel)) diff --git a/RetailCoder.VBE/UI/Command/IndentCurrentModuleCommand.cs b/RetailCoder.VBE/UI/Command/IndentCurrentModuleCommand.cs index 1fca286299..9692e8c3b2 100644 --- a/RetailCoder.VBE/UI/Command/IndentCurrentModuleCommand.cs +++ b/RetailCoder.VBE/UI/Command/IndentCurrentModuleCommand.cs @@ -1,5 +1,6 @@ using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Settings; using Rubberduck.SmartIndenter; @@ -11,7 +12,7 @@ public class IndentCurrentModuleCommand : CommandBase private readonly VBE _vbe; private readonly IIndenter _indenter; - public IndentCurrentModuleCommand(VBE vbe, IIndenter indenter) + public IndentCurrentModuleCommand(VBE vbe, IIndenter indenter) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _indenter = indenter; @@ -22,12 +23,12 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.IndentModule; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _vbe.ActiveCodePane != null; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _indenter.IndentCurrentModule(); } diff --git a/RetailCoder.VBE/UI/Command/IndentCurrentProcedureCommand.cs b/RetailCoder.VBE/UI/Command/IndentCurrentProcedureCommand.cs index 83425b5720..ee7480e8d8 100644 --- a/RetailCoder.VBE/UI/Command/IndentCurrentProcedureCommand.cs +++ b/RetailCoder.VBE/UI/Command/IndentCurrentProcedureCommand.cs @@ -1,5 +1,6 @@ using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Settings; using Rubberduck.SmartIndenter; @@ -11,7 +12,7 @@ public class IndentCurrentProcedureCommand : CommandBase private readonly VBE _vbe; private readonly IIndenter _indenter; - public IndentCurrentProcedureCommand(VBE vbe, IIndenter indenter) + public IndentCurrentProcedureCommand(VBE vbe, IIndenter indenter) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _indenter = indenter; @@ -22,12 +23,12 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.IndentProcedure; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _vbe.ActiveCodePane != null; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _indenter.IndentCurrentProcedure(); } diff --git a/RetailCoder.VBE/UI/Command/InspectionResultsCommand.cs b/RetailCoder.VBE/UI/Command/InspectionResultsCommand.cs index 7f68cd50b3..47c37f243b 100644 --- a/RetailCoder.VBE/UI/Command/InspectionResultsCommand.cs +++ b/RetailCoder.VBE/UI/Command/InspectionResultsCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Settings; namespace Rubberduck.UI.Command @@ -11,7 +12,7 @@ public class InspectionResultsCommand : CommandBase { private readonly IPresenter _presenter; - public InspectionResultsCommand(IPresenter presenter) + public InspectionResultsCommand(IPresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } @@ -25,7 +26,7 @@ public override RubberduckHotkey Hotkey /// Runs code inspections /// /// - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Command/MenuItems/CommandMenuItemBase.cs b/RetailCoder.VBE/UI/Command/MenuItems/CommandMenuItemBase.cs index c2fcb663a1..d585ea5d43 100644 --- a/RetailCoder.VBE/UI/Command/MenuItems/CommandMenuItemBase.cs +++ b/RetailCoder.VBE/UI/Command/MenuItems/CommandMenuItemBase.cs @@ -24,7 +24,7 @@ public Func Caption { return () => Key.IsNullOrEmpty() ? string.Empty - : RubberduckUI.ResourceManager.GetString(Key, RubberduckUI.Culture); + : RubberduckUI.ResourceManager.GetString(Key, UI.Settings.Settings.Culture); } } diff --git a/RetailCoder.VBE/UI/Command/MenuItems/ParentMenus/ParentMenuItemBase.cs b/RetailCoder.VBE/UI/Command/MenuItems/ParentMenus/ParentMenuItemBase.cs index c6dab1c921..cfb970f66f 100644 --- a/RetailCoder.VBE/UI/Command/MenuItems/ParentMenus/ParentMenuItemBase.cs +++ b/RetailCoder.VBE/UI/Command/MenuItems/ParentMenus/ParentMenuItemBase.cs @@ -31,7 +31,7 @@ protected ParentMenuItemBase(string key, IEnumerable items, int? befo public string Key { get { return Item == null ? null : Item.Tag; } } - public Func Caption { get { return () => Key == null ? null : RubberduckUI.ResourceManager.GetString(Key, RubberduckUI.Culture); } } + public Func Caption { get { return () => Key == null ? null : RubberduckUI.ResourceManager.GetString(Key, UI.Settings.Settings.Culture); } } public virtual bool BeginGroup { get { return false; } } public virtual int DisplayOrder { get { return default(int); } } diff --git a/RetailCoder.VBE/UI/Command/MenuItems/RubberduckCommandBar.cs b/RetailCoder.VBE/UI/Command/MenuItems/RubberduckCommandBar.cs index b536383b79..a701b9cf3a 100644 --- a/RetailCoder.VBE/UI/Command/MenuItems/RubberduckCommandBar.cs +++ b/RetailCoder.VBE/UI/Command/MenuItems/RubberduckCommandBar.cs @@ -6,7 +6,6 @@ using Rubberduck.Properties; using Rubberduck.UI.Command.MenuItems.ParentMenus; using Rubberduck.VBEditor; -using ParserState = Rubberduck.Parsing.VBA.ParserState; namespace Rubberduck.UI.Command.MenuItems { @@ -30,7 +29,7 @@ public RubberduckCommandBar(RubberduckParserState state, VBE vbe, IShowParserErr Initialize(); } - private void _statusButton_Click(CommandBarButton ctrl, ref bool cancelDefault) + private void _statusButton_Click(CommandBarButton Ctrl, ref bool CancelDefault) { if (_state.Status == ParserState.Error) { @@ -40,7 +39,7 @@ private void _statusButton_Click(CommandBarButton ctrl, ref bool cancelDefault) public void SetStatusText(string value = null) { - var text = value ?? RubberduckUI.ResourceManager.GetString("ParserState_" + _state.Status); + var text = value ?? RubberduckUI.ResourceManager.GetString("ParserState_" + _state.Status, UI.Settings.Settings.Culture); UiDispatcher.Invoke(() => _statusButton.Caption = text); } @@ -62,11 +61,8 @@ public void SetSelectionText(Declaration declaration) declaration.QualifiedSelection.Selection, declaration.QualifiedName.QualifiedModuleName, declaration.IdentifierName, - RubberduckUI.ResourceManager.GetString("DeclarationType_" + declaration.DeclarationType), - string.IsNullOrEmpty(declaration.AsTypeName) - ? string.Empty - : ": " + typeName); - + RubberduckUI.ResourceManager.GetString("DeclarationType_" + declaration.DeclarationType, UI.Settings.Settings.Culture), + string.IsNullOrEmpty(declaration.AsTypeName) ? string.Empty : ": " + typeName); _selectionButton.TooltipText = string.IsNullOrEmpty(declaration.DescriptionString) ? _selectionButton.Caption : declaration.DescriptionString; @@ -82,7 +78,7 @@ private void State_StateChanged(object sender, EventArgs e) { if (_state.Status != ParserState.ResolvedDeclarations) { - SetStatusText(RubberduckUI.ResourceManager.GetString("ParserState_" + _state.Status)); + SetStatusText(RubberduckUI.ResourceManager.GetString("ParserState_" + _state.Status, UI.Settings.Settings.Culture)); } } @@ -97,7 +93,7 @@ private void OnRefresh() } } - private void Initialize() + public void Initialize() { _commandbar = _vbe.CommandBars.Add("Rubberduck", MsoBarPosition.msoBarTop, false, true); @@ -121,7 +117,7 @@ private void Initialize() _commandbar.Visible = true; } - private void refreshButton_Click(CommandBarButton ctrl, ref bool cancelDefault) + private void refreshButton_Click(CommandBarButton Ctrl, ref bool CancelDefault) { OnRefresh(); } diff --git a/RetailCoder.VBE/UI/Command/NavigateCommand.cs b/RetailCoder.VBE/UI/Command/NavigateCommand.cs index 4d472516b5..21b53952f1 100644 --- a/RetailCoder.VBE/UI/Command/NavigateCommand.cs +++ b/RetailCoder.VBE/UI/Command/NavigateCommand.cs @@ -1,5 +1,6 @@ using System.Runtime.InteropServices; using System.Windows.Input; +using NLog; namespace Rubberduck.UI.Command { @@ -11,7 +12,9 @@ public interface INavigateCommand : ICommand { } [ComVisible(false)] public class NavigateCommand : CommandBase, INavigateCommand { - public override void Execute(object parameter) + public NavigateCommand() : base(LogManager.GetCurrentClassLogger()) { } + + protected override void ExecuteImpl(object parameter) { var param = parameter as NavigateCodeEventArgs; if (param == null || param.QualifiedName.Component == null) diff --git a/RetailCoder.VBE/UI/Command/NoIndentAnnotationCommand.cs b/RetailCoder.VBE/UI/Command/NoIndentAnnotationCommand.cs index 07186600cf..858796d1b0 100644 --- a/RetailCoder.VBE/UI/Command/NoIndentAnnotationCommand.cs +++ b/RetailCoder.VBE/UI/Command/NoIndentAnnotationCommand.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Runtime.InteropServices; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.Annotations; using Rubberduck.Parsing.Symbols; using Rubberduck.Parsing.VBA; @@ -13,13 +14,13 @@ public class NoIndentAnnotationCommand : CommandBase private readonly VBE _vbe; private readonly RubberduckParserState _state; - public NoIndentAnnotationCommand(VBE vbe, RubberduckParserState state) + public NoIndentAnnotationCommand(VBE vbe, RubberduckParserState state) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { var target = FindTarget(parameter); @@ -27,7 +28,7 @@ public override bool CanExecute(object parameter) target.Annotations.All(a => a.AnnotationType != AnnotationType.NoIndent); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _vbe.ActiveCodePane.CodeModule.InsertLines(1, "'@NoIndent"); } diff --git a/RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs index b5bccb81b6..98e7d80083 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/CodePaneRefactorRenameCommand.cs @@ -27,7 +27,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.RefactorRename; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { @@ -38,7 +38,7 @@ public override bool CanExecute(object parameter) return _state.Status == ParserState.Ready && target != null && !target.IsBuiltIn; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { return; } diff --git a/RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs index abbe54c99e..cdbc974abc 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/FormDesignerRefactorRenameCommand.cs @@ -21,12 +21,12 @@ public FormDesignerRefactorRenameCommand(VBE vbe, RubberduckParserState state) _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Ready; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { using (var view = new RenameDialog()) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/ProjectExplorerRefactorRenameCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/ProjectExplorerRefactorRenameCommand.cs index 473b5d922a..5588a43a02 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/ProjectExplorerRefactorRenameCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/ProjectExplorerRefactorRenameCommand.cs @@ -21,12 +21,12 @@ public ProjectExplorerRefactorRenameCommand(VBE vbe, RubberduckParserState state _msgBox = msgBox; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Ready; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { using (var view = new RenameDialog()) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorCommandBase.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorCommandBase.cs index fadab1353a..7ee86c7632 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorCommandBase.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorCommandBase.cs @@ -1,6 +1,7 @@ using Microsoft.Vbe.Interop; using System; using System.Windows.Forms; +using NLog; namespace Rubberduck.UI.Command.Refactorings { @@ -8,7 +9,7 @@ public abstract class RefactorCommandBase : CommandBase { protected readonly VBE Vbe; - protected RefactorCommandBase(VBE vbe) + protected RefactorCommandBase(VBE vbe) : base (LogManager.GetCurrentClassLogger()) { Vbe = vbe; } diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorEncapsulateFieldCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorEncapsulateFieldCommand.cs index f2b985ea73..fa9f017a75 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorEncapsulateFieldCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorEncapsulateFieldCommand.cs @@ -18,7 +18,7 @@ public RefactorEncapsulateFieldCommand(VBE vbe, RubberduckParserState state) _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { var pane = Vbe.ActiveCodePane; if (pane == null || _state.Status != ParserState.Ready) @@ -35,7 +35,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractInterfaceCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractInterfaceCommand.cs index 225dac5c6b..1643cb2202 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractInterfaceCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractInterfaceCommand.cs @@ -28,7 +28,7 @@ public RefactorExtractInterfaceCommand(VBE vbe, RubberduckParserState state, IMe vbext_ComponentType.vbext_ct_MSForm, }; - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { var activePane = Vbe.ActiveCodePane; if (activePane == null) @@ -54,7 +54,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractMethodCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractMethodCommand.cs index e9d0ce06b6..6f072c29ce 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractMethodCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorExtractMethodCommand.cs @@ -30,7 +30,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.RefactorExtractMethod; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -61,7 +61,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var declarations = _state.AllDeclarations; var qualifiedSelection = Vbe.ActiveCodePane.GetQualifiedSelection(); diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorImplementInterfaceCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorImplementInterfaceCommand.cs index 07432a641b..46f8acae8a 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorImplementInterfaceCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorImplementInterfaceCommand.cs @@ -19,7 +19,7 @@ public RefactorImplementInterfaceCommand(VBE vbe, RubberduckParserState state) _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -43,7 +43,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceFieldCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceFieldCommand.cs index 2340b7ec0c..c51b4f2d27 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceFieldCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceFieldCommand.cs @@ -16,7 +16,7 @@ public RefactorIntroduceFieldCommand (VBE vbe, RubberduckParserState state) _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -36,7 +36,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var selection = Vbe.ActiveCodePane.GetQualifiedSelection(); if (!selection.HasValue) diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceParameterCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceParameterCommand.cs index b7e90f314c..4572837efd 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceParameterCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorIntroduceParameterCommand.cs @@ -16,7 +16,7 @@ public RefactorIntroduceParameterCommand (VBE vbe, RubberduckParserState state) _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -36,7 +36,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { var selection = Vbe.ActiveCodePane.GetQualifiedSelection(); if (!selection.HasValue) diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorMoveCloserToUsageCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorMoveCloserToUsageCommand.cs index 62d95d984a..a30a5ef3ed 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorMoveCloserToUsageCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorMoveCloserToUsageCommand.cs @@ -26,7 +26,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.RefactorMoveCloserToUsage; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -41,7 +41,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorRemoveParametersCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorRemoveParametersCommand.cs index 78da818892..46a24daa60 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorRemoveParametersCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorRemoveParametersCommand.cs @@ -29,8 +29,8 @@ public RefactorRemoveParametersCommand(VBE vbe, RubberduckParserState state) DeclarationType.PropertyLet, DeclarationType.PropertySet }; - - public override bool CanExecute(object parameter) + + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -52,7 +52,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/Refactorings/RefactorReorderParametersCommand.cs b/RetailCoder.VBE/UI/Command/Refactorings/RefactorReorderParametersCommand.cs index d84f56876f..465c75dba5 100644 --- a/RetailCoder.VBE/UI/Command/Refactorings/RefactorReorderParametersCommand.cs +++ b/RetailCoder.VBE/UI/Command/Refactorings/RefactorReorderParametersCommand.cs @@ -12,7 +12,7 @@ namespace Rubberduck.UI.Command.Refactorings { [ComVisible(false)] - class RefactorReorderParametersCommand : RefactorCommandBase + public class RefactorReorderParametersCommand : RefactorCommandBase { private readonly RubberduckParserState _state; private readonly ICodePaneWrapperFactory _wrapperWrapperFactory; @@ -34,7 +34,7 @@ public RefactorReorderParametersCommand(VBE vbe, RubberduckParserState state, IC DeclarationType.PropertySet }; - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null || _state.Status != ParserState.Ready) { @@ -56,7 +56,7 @@ public override bool CanExecute(object parameter) return canExecute; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (Vbe.ActiveCodePane == null) { diff --git a/RetailCoder.VBE/UI/Command/RegexSearchReplaceCommand.cs b/RetailCoder.VBE/UI/Command/RegexSearchReplaceCommand.cs index 38a3794fcd..828f2595de 100644 --- a/RetailCoder.VBE/UI/Command/RegexSearchReplaceCommand.cs +++ b/RetailCoder.VBE/UI/Command/RegexSearchReplaceCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Navigation.RegexSearchReplace; namespace Rubberduck.UI.Command @@ -8,12 +9,12 @@ public class RegexSearchReplaceCommand : CommandBase { private readonly RegexSearchReplacePresenter _presenter; - public RegexSearchReplaceCommand(RegexSearchReplacePresenter presenter) + public RegexSearchReplaceCommand(RegexSearchReplacePresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Command/ReparseCommand.cs b/RetailCoder.VBE/UI/Command/ReparseCommand.cs index fc1232d928..c0f5a21a49 100644 --- a/RetailCoder.VBE/UI/Command/ReparseCommand.cs +++ b/RetailCoder.VBE/UI/Command/ReparseCommand.cs @@ -1,5 +1,5 @@ using System.Runtime.InteropServices; -using System.Windows.Input; +using NLog; using Rubberduck.Parsing.VBA; using Rubberduck.Settings; using Rubberduck.UI.Command.MenuItems; @@ -24,7 +24,7 @@ public class ReparseCommand : CommandBase { private readonly RubberduckParserState _state; - public ReparseCommand(RubberduckParserState state) + public ReparseCommand(RubberduckParserState state) : base(LogManager.GetCurrentClassLogger()) { _state = state; } @@ -34,7 +34,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.ParseAll; } } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _state.Status == ParserState.Pending || _state.Status == ParserState.Ready @@ -42,7 +42,7 @@ public override bool CanExecute(object parameter) || _state.Status == ParserState.ResolverError; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _state.OnParseRequested(this); } diff --git a/RetailCoder.VBE/UI/Command/RunAllTestsCommand.cs b/RetailCoder.VBE/UI/Command/RunAllTestsCommand.cs index df7d4ba3b6..01cf10e837 100644 --- a/RetailCoder.VBE/UI/Command/RunAllTestsCommand.cs +++ b/RetailCoder.VBE/UI/Command/RunAllTestsCommand.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics; -using System.Linq; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.VBA; using Rubberduck.UI.UnitTesting; using Rubberduck.UnitTesting; @@ -19,7 +19,7 @@ public class RunAllTestsCommand : CommandBase private readonly TestExplorerModel _model; private readonly RubberduckParserState _state; - public RunAllTestsCommand(VBE vbe, RubberduckParserState state, ITestEngine engine, TestExplorerModel model) + public RunAllTestsCommand(VBE vbe, RubberduckParserState state, ITestEngine engine, TestExplorerModel model) : base(LogManager.GetCurrentClassLogger()) { _vbe = vbe; _engine = engine; @@ -27,12 +27,12 @@ public RunAllTestsCommand(VBE vbe, RubberduckParserState state, ITestEngine engi _state = state; } - public override bool CanExecute(object parameter) + protected override bool CanExecuteImpl(object parameter) { return _vbe.IsInDesignMode(); } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (!_state.IsDirty()) { diff --git a/RetailCoder.VBE/UI/Command/SettingsCommand.cs b/RetailCoder.VBE/UI/Command/SettingsCommand.cs index 036c4b3a67..f6fced1522 100644 --- a/RetailCoder.VBE/UI/Command/SettingsCommand.cs +++ b/RetailCoder.VBE/UI/Command/SettingsCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Settings; using Rubberduck.UI.Settings; using Rubberduck.Common; @@ -13,13 +14,13 @@ public class SettingsCommand : CommandBase { private readonly IGeneralConfigService _service; private readonly IOperatingSystem _operatingSystem; - public SettingsCommand(IGeneralConfigService service, IOperatingSystem operatingSystem) + public SettingsCommand(IGeneralConfigService service, IOperatingSystem operatingSystem) : base(LogManager.GetCurrentClassLogger()) { _service = service; _operatingSystem = operatingSystem; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { using (var window = new SettingsForm(_service, _operatingSystem)) { diff --git a/RetailCoder.VBE/UI/Command/ShowParserErrorsCommand.cs b/RetailCoder.VBE/UI/Command/ShowParserErrorsCommand.cs index 18b1fc4fec..8e6f57574d 100644 --- a/RetailCoder.VBE/UI/Command/ShowParserErrorsCommand.cs +++ b/RetailCoder.VBE/UI/Command/ShowParserErrorsCommand.cs @@ -4,6 +4,7 @@ using System.Runtime.InteropServices; using System.Windows.Input; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Parsing.Symbols; using Rubberduck.Parsing.VBA; using Rubberduck.UI.Command.MenuItems; @@ -22,7 +23,11 @@ public class ShowParserErrorsCommand : CommandBase, IShowParserErrorsCommand private readonly ISearchResultsWindowViewModel _viewModel; private readonly SearchResultPresenterInstanceManager _presenterService; - public ShowParserErrorsCommand(INavigateCommand navigateCommand, RubberduckParserState state, ISearchResultsWindowViewModel viewModel, SearchResultPresenterInstanceManager presenterService) + public ShowParserErrorsCommand(INavigateCommand navigateCommand, + RubberduckParserState state, + ISearchResultsWindowViewModel viewModel, + SearchResultPresenterInstanceManager presenterService) + : base(LogManager.GetCurrentClassLogger()) { _navigateCommand = navigateCommand; _state = state; @@ -69,7 +74,7 @@ private void UpdateTab() } } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { if (_viewModel == null) { diff --git a/RetailCoder.VBE/UI/Command/ShowSourceControlPanelCommand.cs b/RetailCoder.VBE/UI/Command/ShowSourceControlPanelCommand.cs index 8ec69f4872..869e4ef6c4 100644 --- a/RetailCoder.VBE/UI/Command/ShowSourceControlPanelCommand.cs +++ b/RetailCoder.VBE/UI/Command/ShowSourceControlPanelCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.UI.SourceControl; namespace Rubberduck.UI.Command @@ -11,12 +12,12 @@ public class ShowSourceControlPanelCommand : CommandBase { public readonly IPresenter _presenter; - public ShowSourceControlPanelCommand(SourceControlDockablePresenter presenter) + public ShowSourceControlPanelCommand(SourceControlDockablePresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Command/TestExplorerCommand.cs b/RetailCoder.VBE/UI/Command/TestExplorerCommand.cs index b8528e9ecc..705c974bed 100644 --- a/RetailCoder.VBE/UI/Command/TestExplorerCommand.cs +++ b/RetailCoder.VBE/UI/Command/TestExplorerCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; using Rubberduck.Settings; namespace Rubberduck.UI.Command @@ -8,7 +9,7 @@ public class TestExplorerCommand : CommandBase { private readonly IPresenter _presenter; - public TestExplorerCommand(IPresenter presenter) + public TestExplorerCommand(IPresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } @@ -18,7 +19,7 @@ public override RubberduckHotkey Hotkey get { return RubberduckHotkey.TestExplorer; } } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Command/ToDoExplorerCommand.cs b/RetailCoder.VBE/UI/Command/ToDoExplorerCommand.cs index 33ea1f2299..7dab56ab26 100644 --- a/RetailCoder.VBE/UI/Command/ToDoExplorerCommand.cs +++ b/RetailCoder.VBE/UI/Command/ToDoExplorerCommand.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using NLog; namespace Rubberduck.UI.Command { @@ -10,12 +11,12 @@ public class ToDoExplorerCommand : CommandBase { private readonly IPresenter _presenter; - public ToDoExplorerCommand(IPresenter presenter) + public ToDoExplorerCommand(IPresenter presenter) : base(LogManager.GetCurrentClassLogger()) { _presenter = presenter; } - public override void Execute(object parameter) + protected override void ExecuteImpl(object parameter) { _presenter.Show(); } diff --git a/RetailCoder.VBE/UI/Controls/DeclarationTypeToStringConverter.cs b/RetailCoder.VBE/UI/Controls/DeclarationTypeToStringConverter.cs index 4b3e7dbf67..76a7d8a069 100644 --- a/RetailCoder.VBE/UI/Controls/DeclarationTypeToStringConverter.cs +++ b/RetailCoder.VBE/UI/Controls/DeclarationTypeToStringConverter.cs @@ -12,7 +12,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn if (value is DeclarationType) { var type = (DeclarationType)value; - var text = RubberduckUI.ResourceManager.GetString("DeclarationType_" + type) ?? string.Empty; + var text = RubberduckUI.ResourceManager.GetString("DeclarationType_" + type, UI.Settings.Settings.Culture) ?? string.Empty; return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text); } diff --git a/RetailCoder.VBE/UI/Controls/SearchResultsViewModel.cs b/RetailCoder.VBE/UI/Controls/SearchResultsViewModel.cs index 3d4e6c7e48..6bd0f0ae63 100644 --- a/RetailCoder.VBE/UI/Controls/SearchResultsViewModel.cs +++ b/RetailCoder.VBE/UI/Controls/SearchResultsViewModel.cs @@ -4,6 +4,7 @@ using System.ComponentModel; using System.Windows.Data; using System.Windows.Input; +using NLog; using Rubberduck.Parsing.Symbols; using Rubberduck.UI.Command; @@ -27,7 +28,7 @@ public SearchResultsViewModel(INavigateCommand navigateCommand, string header, D SearchResults = new ObservableCollection(searchResults); - _closeCommand = new DelegateCommand(ExecuteCloseCommand); + _closeCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteCloseCommand); } private ObservableCollection _searchResults; diff --git a/RetailCoder.VBE/UI/Inspections/InspectionDescriptionConverter.cs b/RetailCoder.VBE/UI/Inspections/InspectionDescriptionConverter.cs index 874dcfeb25..cb555d88ef 100644 --- a/RetailCoder.VBE/UI/Inspections/InspectionDescriptionConverter.cs +++ b/RetailCoder.VBE/UI/Inspections/InspectionDescriptionConverter.cs @@ -15,7 +15,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn return null; } - return RubberduckUI.ResourceManager.GetString("CodeInspectionSettings_" + inspection.InspectionType); + return RubberduckUI.ResourceManager.GetString("CodeInspectionSettings_" + inspection.InspectionType, UI.Settings.Settings.Culture); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) @@ -34,7 +34,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn return null; } - return InspectionsUI.ResourceManager.GetString(inspection.Name + "Name"); + return InspectionsUI.ResourceManager.GetString(inspection.Name + "Name", UI.Settings.Settings.Culture); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) diff --git a/RetailCoder.VBE/UI/Inspections/InspectionResultsViewModel.cs b/RetailCoder.VBE/UI/Inspections/InspectionResultsViewModel.cs index db3515417e..7b24de675e 100644 --- a/RetailCoder.VBE/UI/Inspections/InspectionResultsViewModel.cs +++ b/RetailCoder.VBE/UI/Inspections/InspectionResultsViewModel.cs @@ -9,6 +9,7 @@ using System.Windows; using System.Windows.Input; using Microsoft.Vbe.Interop; +using NLog; using Rubberduck.Common; using Rubberduck.Inspections; using Rubberduck.Parsing.VBA; @@ -40,23 +41,23 @@ public InspectionResultsViewModel(RubberduckParserState state, IInspector inspec _clipboard = clipboard; _configService = configService; _operatingSystem = operatingSystem; - _refreshCommand = new DelegateCommand(async param => await Task.Run(() => ExecuteRefreshCommandAsync()), CanExecuteRefreshCommand); - _disableInspectionCommand = new DelegateCommand(ExecuteDisableInspectionCommand); - _quickFixCommand = new DelegateCommand(ExecuteQuickFixCommand, CanExecuteQuickFixCommand); - _quickFixInModuleCommand = new DelegateCommand(ExecuteQuickFixInModuleCommand); - _quickFixInProjectCommand = new DelegateCommand(ExecuteQuickFixInProjectCommand); - _copyResultsCommand = new DelegateCommand(ExecuteCopyResultsCommand, CanExecuteCopyResultsCommand); - _openSettingsCommand = new DelegateCommand(OpenSettings); + _refreshCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), async param => await Task.Run(() => ExecuteRefreshCommandAsync()), CanExecuteRefreshCommand); + _disableInspectionCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteDisableInspectionCommand); + _quickFixCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteQuickFixCommand, CanExecuteQuickFixCommand); + _quickFixInModuleCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteQuickFixInModuleCommand); + _quickFixInProjectCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteQuickFixInProjectCommand); + _copyResultsCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), ExecuteCopyResultsCommand, CanExecuteCopyResultsCommand); + _openSettingsCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), OpenSettings); _configService.SettingsChanged += _configService_SettingsChanged; - _setInspectionTypeGroupingCommand = new DelegateCommand(param => + _setInspectionTypeGroupingCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), param => { GroupByInspectionType = (bool)param; GroupByLocation = !(bool)param; }); - _setLocationGroupingCommand = new DelegateCommand(param => + _setLocationGroupingCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), param => { GroupByLocation = (bool)param; GroupByInspectionType = !(bool)param; diff --git a/RetailCoder.VBE/UI/Refactorings/RenameDialog.cs b/RetailCoder.VBE/UI/Refactorings/RenameDialog.cs index aa6d250ed4..077f002110 100644 --- a/RetailCoder.VBE/UI/Refactorings/RenameDialog.cs +++ b/RetailCoder.VBE/UI/Refactorings/RenameDialog.cs @@ -53,7 +53,7 @@ public Declaration Target NewName = _target.IdentifierName; var declarationType = - RubberduckUI.ResourceManager.GetString("DeclarationType_" + _target.DeclarationType, RubberduckUI.Culture); + RubberduckUI.ResourceManager.GetString("DeclarationType_" + _target.DeclarationType, UI.Settings.Settings.Culture); InstructionsLabel.Text = string.Format(RubberduckUI.RenameDialog_InstructionsLabelText, declarationType, _target.IdentifierName); } diff --git a/RetailCoder.VBE/UI/RubberduckUI.Designer.cs b/RetailCoder.VBE/UI/RubberduckUI.Designer.cs index 6a2f73e57e..818aed30c4 100644 --- a/RetailCoder.VBE/UI/RubberduckUI.Designer.cs +++ b/RetailCoder.VBE/UI/RubberduckUI.Designer.cs @@ -2811,6 +2811,15 @@ public static string RubberduckCommandbarRefreshButtonTooltip { } } + /// + /// Looks up a localized string similar to Rubberduck encountered an error. Please save your work and restart the host program, then upload your log file to our GitHub page.. + /// + public static string RubberduckFatalError { + get { + return ResourceManager.GetString("RubberduckFatalError", resourceCulture); + } + } + /// /// Looks up a localized string similar to Rubberduck Add-In could not be loaded. /// @@ -3253,11 +3262,20 @@ public static string SourceControl_Changes { } /// - /// Looks up a localized string similar to Clone Repository. + /// Looks up a localized string similar to Clones remote repository from provided URI. Requires an empty project to be open in the VBE.. /// - public static string SourceControl_CloneRepoButtonToolTip { + public static string SourceControl_CloneRepositoryDescription { get { - return ResourceManager.GetString("SourceControl_CloneRepoButtonToolTip", resourceCulture); + return ResourceManager.GetString("SourceControl_CloneRepositoryDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clone Remote Repository. + /// + public static string SourceControl_CloneRepositoryTitle { + get { + return ResourceManager.GetString("SourceControl_CloneRepositoryTitle", resourceCulture); } } @@ -3739,11 +3757,20 @@ public static string SourceControl_IncomingCommits { } /// - /// Looks up a localized string similar to Init New Repo from this Project. + /// Looks up a localized string similar to Creates a new repository from the open project.. + /// + public static string SourceControl_InitializeRepositoryDescription { + get { + return ResourceManager.GetString("SourceControl_InitializeRepositoryDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initialize New Repository. /// - public static string SourceControl_InitRepoButtonToolTip { + public static string SourceControl_InitializeRepositoryTitle { get { - return ResourceManager.GetString("SourceControl_InitRepoButtonToolTip", resourceCulture); + return ResourceManager.GetString("SourceControl_InitializeRepositoryTitle", resourceCulture); } } @@ -3765,6 +3792,15 @@ public static string SourceControl_LoginInstructions { } } + /// + /// Looks up a localized string similar to Manage. + /// + public static string SourceControl_ManageRepositories { + get { + return ResourceManager.GetString("SourceControl_ManageRepositories", resourceCulture); + } + } + /// /// Looks up a localized string similar to Merge. /// @@ -3891,6 +3927,24 @@ public static string SourceControl_OpenCommandPromptFailureTitle { } } + /// + /// Looks up a localized string similar to Open repository from disk. Requires an empty project to be open in the VBE.. + /// + public static string SourceControl_OpenRepositoryDescription { + get { + return ResourceManager.GetString("SourceControl_OpenRepositoryDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Existing Repository. + /// + public static string SourceControl_OpenRepositoryTitle { + get { + return ResourceManager.GetString("SourceControl_OpenRepositoryTitle", resourceCulture); + } + } + /// /// Looks up a localized string similar to Open Working Directory. /// @@ -3955,11 +4009,20 @@ public static string SourceControl_PublishRepo_NoOpenRepo { } /// - /// Looks up a localized string similar to Publish repository to GitHub. + /// Looks up a localized string similar to Publishes an existing repository to a remote location. Requires the open project to be connected to a repository.. + /// + public static string SourceControl_PublishRepositoryDescription { + get { + return ResourceManager.GetString("SourceControl_PublishRepositoryDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Publish Existing Repository. /// - public static string SourceControl_PublishRepoButtonToolTip { + public static string SourceControl_PublishRepositoryTitle { get { - return ResourceManager.GetString("SourceControl_PublishRepoButtonToolTip", resourceCulture); + return ResourceManager.GetString("SourceControl_PublishRepositoryTitle", resourceCulture); } } diff --git a/RetailCoder.VBE/UI/RubberduckUI.resx b/RetailCoder.VBE/UI/RubberduckUI.resx index 3ffc8687e4..fef5204d6a 100644 --- a/RetailCoder.VBE/UI/RubberduckUI.resx +++ b/RetailCoder.VBE/UI/RubberduckUI.resx @@ -1,4 +1,4 @@ - + - + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + + + + + + + + + + + + + + + + + + + - + + @@ -89,13 +109,13 @@ text/microsoft-resx - 1.3 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Checkout failed. @@ -157,4 +177,8 @@ Unpublish failed. - + + There must be a project open for Rubberduck to successfully initialize a repository. + This isn't a git error, so no Git prefix + + \ No newline at end of file