@@ -124,6 +124,7 @@ public ObservableCollection<Filter> DefaultFilters
124
124
Search = "ext:3g2;3gp;3gp2;3gpp;amr;amv;asf;avi;bdmv;bik;d2v;divx;drc;dsa;dsm;dss;dsv;evo;f4v;flc;fli;flic;flv;hdmov;ifo;ivf;m1v;m2p;m2t;m2ts;m2v;m4b;m4p;m4v;mkv;mp2v;mp4;mp4v;mpe;mpeg;mpg;mpls;mpv2;mpv4;mov;mts;ogm;ogv;pss;pva;qt;ram;ratdvd;rm;rmm;rmvb;roq;rpm;smil;smk;swf;tp;tpr;ts;vob;vp6;webm;wm;wmp;wmv"
125
125
}
126
126
} ;
127
+ private ObservableCollection < Filter > userFiltersCache ;
127
128
public ObservableCollection < Filter > UserFilters
128
129
{
129
130
get
@@ -136,7 +137,7 @@ public ObservableCollection<Filter> UserFilters
136
137
{
137
138
if ( Properties . Settings . Default . isImportFilters )
138
139
{
139
- return LoadFilters ( ) ;
140
+ return userFiltersCache ?? LoadFilters ( ) ;
140
141
}
141
142
else
142
143
{
@@ -177,13 +178,13 @@ private void OnPropertyChanged(object sender, System.ComponentModel.PropertyChan
177
178
RefreshFilters ( ) ;
178
179
}
179
180
180
- void RefreshFilters ( )
181
+ private void RefreshFilters ( )
181
182
{
182
183
PropertyChanged ? . Invoke ( this , new PropertyChangedEventArgs ( "DefaultFilters" ) ) ;
183
184
PropertyChanged ? . Invoke ( this , new PropertyChangedEventArgs ( "UserFilters" ) ) ;
184
185
}
185
186
186
- ObservableCollection < Filter > LoadFilters ( )
187
+ private ObservableCollection < Filter > LoadFilters ( )
187
188
{
188
189
var filters = new ObservableCollection < Filter > ( ) ;
189
190
@@ -265,10 +266,11 @@ ObservableCollection<Filter> LoadFilters()
265
266
return DefaultUserFilters ;
266
267
}
267
268
269
+ userFiltersCache = filters ;
268
270
return filters ;
269
271
}
270
272
271
- public void CreateFileWatcher ( )
273
+ private void CreateFileWatcher ( )
272
274
{
273
275
if ( ! File . Exists ( Properties . Settings . Default . filtersPath ) )
274
276
return ;
@@ -290,11 +292,13 @@ public void CreateFileWatcher()
290
292
291
293
private void OnFileRenamed ( object sender , RenamedEventArgs e )
292
294
{
295
+ LoadFilters ( ) ;
293
296
RefreshFilters ( ) ;
294
297
}
295
298
296
299
private void OnFileChanged ( object source , FileSystemEventArgs e )
297
300
{
301
+ LoadFilters ( ) ;
298
302
RefreshFilters ( ) ;
299
303
}
300
304
}
0 commit comments