Skip to content

Commit

Permalink
Merge pull request #1 from rubberduck-vba/next
Browse files Browse the repository at this point in the history
Next
  • Loading branch information
Hosch250 committed Jun 11, 2015
2 parents 00ce3c9 + 0d967a7 commit 9fe09d5
Show file tree
Hide file tree
Showing 15 changed files with 174 additions and 31 deletions.
41 changes: 29 additions & 12 deletions RetailCoder.VBE/App.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ public class App : IDisposable
{
private readonly VBE _vbe;
private readonly AddIn _addIn;
private readonly IList<IInspection> _inspections;
private readonly Inspector _inspector;
private readonly ParserErrorsPresenter _parserErrorsPresenter;
private IList<IInspection> _inspections;
private Inspector _inspector;
private ParserErrorsPresenter _parserErrorsPresenter;
private readonly IGeneralConfigService _configService = new ConfigurationLoader();
private readonly ActiveCodePaneEditor _editor;
private readonly IRubberduckParser _parser;
private IRubberduckParser _parser;

private Configuration _config;
private RubberduckMenu _menu;
Expand All @@ -35,18 +35,12 @@ public App(VBE vbe, AddIn addIn)
{
_vbe = vbe;
_addIn = addIn;
_inspections = _configService.GetImplementedCodeInspections();

_parser = new RubberduckParser();
_parserErrorsPresenter = new ParserErrorsPresenter(vbe, addIn);
_parser.ParseStarted += _parser_ParseStarted;
_parser.ParserError += _parser_ParserError;
_configService.SettingsChanged += _configService_SettingsChanged;

_editor = new ActiveCodePaneEditor(vbe);

_inspector = new Inspector(_parser, _inspections);

LoadConfig();
}

Expand All @@ -71,8 +65,6 @@ private void LoadConfig()
_configService.SaveConfiguration(_config);
}

EnableCodeInspections(_config);

if (_menu != null)
{
_menu.Dispose();
Expand All @@ -92,6 +84,31 @@ private void LoadConfig()
_codeInspectionsToolbar.Dispose();
}

if (_inspector != null)
{
_inspector.Dispose();
}

if (_parserErrorsPresenter != null)
{
_parserErrorsPresenter.Dispose();
}

if (_parser != null)
{
_parser.ParseStarted -= _parser_ParseStarted;
_parser.ParserError -= _parser_ParserError;
}
_parser = new RubberduckParser();
_parser.ParseStarted += _parser_ParseStarted;
_parser.ParserError += _parser_ParserError;

_inspections = _configService.GetImplementedCodeInspections();
_inspector = new Inspector(_parser, _inspections);
EnableCodeInspections(_config);

_parserErrorsPresenter = new ParserErrorsPresenter(_vbe, _addIn);

_menu = new RubberduckMenu(_vbe, _addIn, _configService, _parser, _editor, _inspector);
_menu.Initialize();

Expand Down
6 changes: 4 additions & 2 deletions RetailCoder.VBE/Rubberduck.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -1073,10 +1073,12 @@
</Target>
<Import Project="..\packages\Antlr4.4.3.0\build\Antlr4.targets" Condition="Exists('..\packages\Antlr4.4.3.0\build\Antlr4.targets')" />
<PropertyGroup>
<PostBuildEvent>c:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe "$(TargetPath)" /codebase /tlb</PostBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>c:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe "$(TargetPath)" /u</PreBuildEvent>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
2 changes: 1 addition & 1 deletion RetailCoder.VBE/UI/FolderBrowser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public FolderBrowser(string description, bool showNewFolderButton, Environment.S
}

public FolderBrowser(string description, bool showNewFolderButton)
:this(description, showNewFolderButton, Environment.SpecialFolder.MyDocuments)
:this(description, showNewFolderButton, Environment.SpecialFolder.MyComputer)
{ }

public FolderBrowser(string description)
Expand Down
1 change: 0 additions & 1 deletion RetailCoder.VBE/UI/RubberduckMenu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,6 @@ protected override void Dispose(bool disposing)
menuBarControls.Parent.FindControl(_menu.Type, _menu.Id, _menu.Tag, _menu.Visible).Delete();

_disposed = true;

base.Dispose(true);
}
}
Expand Down
11 changes: 10 additions & 1 deletion RetailCoder.VBE/UI/RubberduckUI.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions RetailCoder.VBE/UI/RubberduckUI.fr.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1049,4 +1049,7 @@ Attention: les valeurs personnalisées seront perdues.</value>
<data name="SourceControl_MergeFormTitle" xml:space="preserve">
<value>Fusionner les branches</value>
</data>
<data name="SourceControl_NoRepoFound" xml:space="preserve">
<value>z No repository found.</value>
</data>
</root>
3 changes: 3 additions & 0 deletions RetailCoder.VBE/UI/RubberduckUI.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1053,4 +1053,7 @@ Are you sure you want to proceed with this rename?</value>
<data name="SourceControl_MergeFormTitle" xml:space="preserve">
<value>Merge branches</value>
</data>
<data name="SourceControl_NoRepoFound" xml:space="preserve">
<value>No repository found.</value>
</data>
</root>
3 changes: 3 additions & 0 deletions RetailCoder.VBE/UI/RubberduckUI.sv.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1040,4 +1040,7 @@ Are you sure you want to proceed with this rename?</value>
<data name="SourceControl_MergeFormTitle" xml:space="preserve">
<value>z Merge branches</value>
</data>
<data name="SourceControl_NoRepoFound" xml:space="preserve">
<value>z No repository found.</value>
</data>
</root>
6 changes: 4 additions & 2 deletions RetailCoder.VBE/UI/Settings/GeneralSettingsControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ namespace Rubberduck.UI.Settings
{
public partial class GeneralSettingsControl : UserControl
{
private IGeneralConfigService _configService;
private readonly IGeneralConfigService _configService;
private readonly DisplayLanguageSetting _currentLanguage;

public GeneralSettingsControl()
{
Expand Down Expand Up @@ -36,13 +37,14 @@ private void ResetSettings()
{
File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Rubberduck\\rubberduck.config"));
var config = _configService.GetDefaultConfiguration();
_configService.SaveConfiguration(config);
_configService.SaveConfiguration(config, !Equals(_currentLanguage, config.UserSettings.LanguageSetting));
}

public GeneralSettingsControl(DisplayLanguageSetting displayLanguage, IGeneralConfigService configService)
: this()
{
_configService = configService;
_currentLanguage = displayLanguage;
LanguageList.SelectedItem = displayLanguage;
}

Expand Down
4 changes: 3 additions & 1 deletion RetailCoder.VBE/UI/Settings/SettingsDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,12 @@ private void ActivateControl(Control control)

private void SaveConfig()
{
var langChanged = !Equals(_config.UserSettings.LanguageSetting, _generalSettingsView.SelectedLanguage);

_config.UserSettings.LanguageSetting = _generalSettingsView.SelectedLanguage;
_config.UserSettings.ToDoListSettings.ToDoMarkers = _todoView.TodoMarkers.ToArray();
// The datagrid view of the CodeInspectionControl seems to keep the config magically in sync, so I don't manually do it here.
_configService.SaveConfiguration(_config);
_configService.SaveConfiguration(_config, langChanged);
}
}
}
7 changes: 6 additions & 1 deletion RetailCoder.VBE/UI/SourceControl/BranchesPresenter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ private void HideCreateBranchView()

private void OnShowCreateBranchView(object sender, EventArgs e)
{
if (_view.Local == null) { return; }
_createView.Show();
}

Expand All @@ -141,11 +142,15 @@ private void OnCreateViewCancel(object sender, EventArgs e)

private void OnCreateBranchTextChanged(object sender, EventArgs e)
{
_createView.OkButtonEnabled = !string.IsNullOrEmpty(_createView.UserInputText);
_createView.OkButtonEnabled = !string.IsNullOrEmpty(_createView.UserInputText) &&
!_view.Local.Contains(_createView.UserInputText) &&
!_createView.UserInputText.Any(char.IsWhiteSpace);
}

private void OnShowMerge(object sender, EventArgs e)
{
if (_view.Local == null) { return; }

var localBranchNames = _view.Local.ToList();
_mergeView.SourceSelectorData = localBranchNames;
_mergeView.DestinationSelectorData = localBranchNames;
Expand Down
16 changes: 8 additions & 8 deletions RetailCoder.VBE/UI/SourceControl/CreateBranchForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 11 additions & 1 deletion RetailCoder.VBE/UI/SourceControl/SourceControlPresenter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,17 @@ private void OnOpenWorkingDirectory(object sender, EventArgs e)

var project = this.VBE.ActiveVBProject;
var repo = new Repository(project.Name, folderPicker.SelectedPath, string.Empty);
_provider = _providerFactory.CreateProvider(project, repo);

try
{
_provider = _providerFactory.CreateProvider(project, repo);
}
catch (SourceControlException)
{
MessageBox.Show(RubberduckUI.SourceControl_NoRepoFound, RubberduckUI.SourceControlPanel_Caption,
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}

AddRepoToConfig(repo);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@ public ISourceControlProvider CreateProvider(VBProject project)

public ISourceControlProvider CreateProvider(VBProject project, IRepository repository)
{
return new GitProvider(project, repository);
try
{
return new GitProvider(project, repository);
}
catch (SourceControlException e)
{
throw;
}
}
}
}

0 comments on commit 9fe09d5

Please sign in to comment.