8
8
using System . Linq ;
9
9
using System . Windows . Forms ;
10
10
using System . Windows . Media . Imaging ;
11
- using Microsoft . Vbe . Interop ;
12
11
using NLog ;
13
12
using Rubberduck . Parsing . VBA ;
14
13
using Rubberduck . SettingsProvider ;
17
16
using Rubberduck . UI . Command . MenuItems ;
18
17
using Rubberduck . VBEditor . Events ;
19
18
using Rubberduck . VBEditor . SafeComWrappers . Abstract ;
20
- using Rubberduck . VBEditor . SafeComWrappers . VBA ;
21
19
using resx = Rubberduck . UI . SourceControl . SourceControl ;
22
20
23
21
namespace Rubberduck . UI . SourceControl
@@ -82,11 +80,8 @@ public SourceControlViewViewModel(
82
80
83
81
_openCommandPromptCommand = new DelegateCommand ( LogManager . GetCurrentClassLogger ( ) , _ => OpenCommandPrompt ( ) ) ;
84
82
85
- Rubberduck . VBEditor . SafeComWrappers . VBA . VBProjects . ProjectRemoved += ProjectRemoved ;
86
- foreach ( var project in _vbe . VBProjects . Where ( proj => proj . VBComponents != null ) )
87
- {
88
- AddComponentEventHandlers ( project ) ;
89
- }
83
+
84
+ AddComponentEventHandlers ( ) ;
90
85
91
86
TabItems = new ObservableCollection < IControlView > ( views ) ;
92
87
SetTab ( SourceControlTab . Changes ) ;
@@ -108,15 +103,17 @@ public void SetTab(SourceControlTab tab)
108
103
109
104
private bool _listening = true ;
110
105
111
- private void AddComponentEventHandlers ( IVBProject project )
106
+ private void AddComponentEventHandlers ( )
112
107
{
108
+ VBEditor . SafeComWrappers . VBA . VBProjects . ProjectRemoved += ProjectRemoved ;
113
109
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentAdded += ComponentAdded ;
114
110
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentRemoved += ComponentRemoved ;
115
111
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentRenamed += ComponentRenamed ;
116
112
}
117
113
118
- private void RemoveComponentEventHandlers ( IVBProject project )
114
+ private void RemoveComponentEventHandlers ( )
119
115
{
116
+ VBEditor . SafeComWrappers . VBA . VBProjects . ProjectRemoved -= ProjectRemoved ;
120
117
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentAdded -= ComponentAdded ;
121
118
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentRemoved -= ComponentRemoved ;
122
119
VBEditor . SafeComWrappers . VBA . VBComponents . ComponentRenamed -= ComponentRenamed ;
@@ -185,8 +182,6 @@ private void ComponentRenamed(object sender, ComponentRenamedEventArgs e)
185
182
186
183
private void ProjectRemoved ( object sender , ProjectEventArgs e )
187
184
{
188
- RemoveComponentEventHandlers ( e . Project ) ;
189
-
190
185
if ( Provider == null || ! Provider . HandleVbeSinkEvents )
191
186
{
192
187
return ;
@@ -1090,11 +1085,7 @@ public void Dispose()
1090
1085
_fileSystemWatcher . Dispose ( ) ;
1091
1086
}
1092
1087
1093
- VBEditor . SafeComWrappers . VBA . VBProjects . ProjectRemoved -= ProjectRemoved ;
1094
- foreach ( var project in _vbe . VBProjects . Where ( proj => proj . VBComponents != null ) )
1095
- {
1096
- RemoveComponentEventHandlers ( project ) ;
1097
- }
1088
+ RemoveComponentEventHandlers ( ) ;
1098
1089
}
1099
1090
}
1100
1091
}
0 commit comments