11using System ;
22using System . Collections . Generic ;
3+ using System . Diagnostics ;
34using System . IO ;
45using System . Linq ;
56using System . Text ;
@@ -28,13 +29,6 @@ namespace SmartImage.Core
2829 /// <seealso cref="ConfigComponents" />
2930 public sealed class SearchConfig
3031 {
31- /// <summary>
32- /// Illegal <see cref="SearchEngineOptions" /> values for <see cref="SearchEngines" />
33- /// </summary>
34- private const SearchEngineOptions IllegalSearchEngineOptions =
35- SearchEngineOptions . None | SearchEngineOptions . Auto ;
36-
37-
3832 private SearchConfig ( )
3933 {
4034 // Read config from config file
@@ -60,13 +54,13 @@ private SearchConfig()
6054 /// <summary>
6155 /// Engines to use for searching
6256 /// </summary>
63- [ field: ConfigComponent ( "search_engines" , "--search-engines" , SearchEngineOptions . All ) ]
57+ [ field: ConfigComponent ( "search_engines" , "--search-engines" , SearchEngineOptions . All , true ) ]
6458 public SearchEngineOptions SearchEngines { get ; set ; }
6559
6660 /// <summary>
6761 /// Engines whose results should be opened in the browser
6862 /// </summary>
69- [ field: ConfigComponent ( "priority_engines" , "--priority-engines" , SearchEngineOptions . Auto ) ]
63+ [ field: ConfigComponent ( "priority_engines" , "--priority-engines" , SearchEngineOptions . Auto , true ) ]
7064 public SearchEngineOptions PriorityEngines { get ; set ; }
7165
7266 /// <summary>
@@ -82,7 +76,8 @@ private SearchConfig()
8276 public string SauceNaoAuth { get ; set ; }
8377
8478 /// <summary>
85- /// Does not open results from priority engines if the result similarity (if available) is below a certain threshold.
79+ /// Does not open results from priority engines if the result similarity (if available) is below a certain threshold,
80+ /// or there are no relevant results.
8681 /// <see cref="ISearchResult.Filter"/> is <c>true</c> if <see cref="ISearchEngine.FilterThreshold"/> is less than <see cref="ISearchResult.Similarity"/>
8782 /// </summary>
8883 [ field: ConfigComponent ( "filter_results" , "--filter-results" , true , true ) ]
@@ -155,24 +150,16 @@ public void EnsureConfig()
155150 * Check search engine options
156151 */
157152
158- var illegalOptions = SearchEngines & IllegalSearchEngineOptions ;
153+ const SearchEngineOptions Illegal = SearchEngineOptions . Auto ;
159154
160- if ( illegalOptions != 0 ) {
161- NConsole . WriteError ( $ "Search engine option { illegalOptions } cannot be used for search engine options") ;
162-
163- NConsole . WaitForSecond ( ) ;
164-
165- // Clear illegal options
166- SearchEngines &= ~ illegalOptions ;
155+ if ( SearchEngines . HasFlag ( Illegal ) ) {
156+ SearchEngines &= ~ Illegal ;
157+ Debug . WriteLine ( $ "Removed illegal flag -> { SearchEngines } ") ;
167158 }
168159
169- // Special case
170160 if ( SearchEngines == SearchEngineOptions . None ) {
171- NConsole . WriteInfo ( "Reverting search engine options to default" ) ;
172- NConsole . WaitForSecond ( ) ;
173161 ConfigComponents . ResetComponent ( this , nameof ( SearchEngines ) ) ;
174162 }
175-
176163 }
177164
178165
0 commit comments