@@ -70,13 +70,15 @@ public SettingsFormOptions(DataCache cache)
70
70
private List < ListViewItem > unfilteredBeaconList ;
71
71
private List < ListViewItem > unfilteredModuleList ;
72
72
private List < ListViewItem > unfilteredRecipeList ;
73
+ private List < ListViewItem > unfilteredQualityList ;
73
74
74
75
private List < ListViewItem > filteredAssemblerList ;
75
76
private List < ListViewItem > filteredMinerList ;
76
77
private List < ListViewItem > filteredPowerList ;
77
78
private List < ListViewItem > filteredBeaconList ;
78
79
private List < ListViewItem > filteredModuleList ;
79
80
private List < ListViewItem > filteredRecipeList ;
81
+ private List < ListViewItem > filteredQualityList ;
80
82
81
83
private MouseHoverDetector mhDetector ;
82
84
@@ -89,25 +91,29 @@ public SettingsForm(SettingsFormOptions options)
89
91
MainForm . SetDoubleBuffered ( MinerListView ) ;
90
92
MainForm . SetDoubleBuffered ( ModuleListView ) ;
91
93
MainForm . SetDoubleBuffered ( RecipeListView ) ;
94
+ MainForm . SetDoubleBuffered ( QualityListView ) ;
92
95
93
96
AssemblerListView . Columns [ 0 ] . Width = AssemblerListView . Width - 32 ;
94
97
MinerListView . Columns [ 0 ] . Width = MinerListView . Width - 32 ;
95
98
ModuleListView . Columns [ 0 ] . Width = ModuleListView . Width - 32 ;
96
99
RecipeListView . Columns [ 0 ] . Width = RecipeListView . Width - 32 ;
100
+ QualityListView . Columns [ 0 ] . Width = QualityListView . Width - 32 ;
97
101
98
102
unfilteredAssemblerList = new List < ListViewItem > ( ) ;
99
103
unfilteredMinerList = new List < ListViewItem > ( ) ;
100
104
unfilteredPowerList = new List < ListViewItem > ( ) ;
101
105
unfilteredBeaconList = new List < ListViewItem > ( ) ;
102
106
unfilteredModuleList = new List < ListViewItem > ( ) ;
103
107
unfilteredRecipeList = new List < ListViewItem > ( ) ;
108
+ unfilteredQualityList = new List < ListViewItem > ( ) ;
104
109
105
110
filteredAssemblerList = new List < ListViewItem > ( ) ;
106
111
filteredMinerList = new List < ListViewItem > ( ) ;
107
112
filteredPowerList = new List < ListViewItem > ( ) ;
108
113
filteredBeaconList = new List < ListViewItem > ( ) ;
109
114
filteredModuleList = new List < ListViewItem > ( ) ;
110
115
filteredRecipeList = new List < ListViewItem > ( ) ;
116
+ filteredQualityList = new List < ListViewItem > ( ) ;
111
117
112
118
SelectPresetMenuItem . Click += SelectPresetMenuItem_Click ;
113
119
DeletePresetMenuItem . Click += DeletePresetMenuItem_Click ;
@@ -198,6 +204,7 @@ private void UpdateModList()
198
204
}
199
205
RecipeDifficultyLabel . Text = presetInfo . ExpensiveRecipes ? "Expensive" : "Normal" ;
200
206
TechnologyDifficultyLabel . Text = presetInfo . ExpensiveTechnology ? "Expensive" : "Normal" ;
207
+
201
208
}
202
209
203
210
private void LoadUnfilteredLists ( )
@@ -211,13 +218,20 @@ private void LoadUnfilteredLists()
211
218
LoadUnfilteredList ( Options . DCache . Beacons . Values , unfilteredBeaconList ) ;
212
219
LoadUnfilteredList ( Options . DCache . Modules . Values , unfilteredModuleList ) ;
213
220
LoadUnfilteredList ( Options . DCache . Recipes . Values , unfilteredRecipeList ) ;
221
+ LoadUnfilteredList ( Options . DCache . Qualities . Values , unfilteredQualityList ) ;
214
222
215
223
UpdateFilteredLists ( ) ;
216
224
}
217
225
218
226
private void LoadUnfilteredList ( IEnumerable < DataObjectBase > origin , List < ListViewItem > lviList )
219
227
{
220
- foreach ( DataObjectBase dObject in origin . OrderByDescending ( a => a . Available ) . ThenBy ( a => a . FriendlyName ) )
228
+ IOrderedEnumerable < DataObjectBase > orderedList ;
229
+ if ( origin is IEnumerable < Quality > )
230
+ orderedList = origin . OrderByDescending ( a => a . Available ) . ThenBy ( a => a ) ;
231
+ else
232
+ orderedList = origin . OrderByDescending ( a => a . Available ) . ThenBy ( a => a . FriendlyName ) ;
233
+
234
+ foreach ( DataObjectBase dObject in orderedList )
221
235
{
222
236
ListViewItem lvItem = new ListViewItem ( ) ;
223
237
if ( dObject . Icon != null )
@@ -248,6 +262,7 @@ private void UpdateFilteredLists()
248
262
UpdateFilteredList ( unfilteredBeaconList , filteredBeaconList , BeaconListView ) ;
249
263
UpdateFilteredList ( unfilteredModuleList , filteredModuleList , ModuleListView ) ;
250
264
UpdateFilteredList ( unfilteredRecipeList , filteredRecipeList , RecipeListView ) ;
265
+ UpdateFilteredList ( unfilteredQualityList , filteredQualityList , QualityListView ) ;
251
266
}
252
267
253
268
private void UpdateFilteredList ( List < ListViewItem > unfilteredList , List < ListViewItem > filteredList , ListView owner )
@@ -442,6 +457,7 @@ private void ListView_MouseDoubleClick(object sender, MouseEventArgs e)
442
457
private void BeaconListView_RetrieveVirtualItem ( object sender , RetrieveVirtualItemEventArgs e ) { e . Item = filteredBeaconList [ e . ItemIndex ] ; }
443
458
private void ModuleListView_RetrieveVirtualItem ( object sender , RetrieveVirtualItemEventArgs e ) { e . Item = filteredModuleList [ e . ItemIndex ] ; }
444
459
private void RecipeListView_RetrieveVirtualItem ( object sender , RetrieveVirtualItemEventArgs e ) { e . Item = filteredRecipeList [ e . ItemIndex ] ; }
460
+ private void QualityListView_RetrieveVirtualItem ( object sender , RetrieveVirtualItemEventArgs e ) { e . Item = filteredQualityList [ e . ItemIndex ] ; }
445
461
446
462
private void RecipeListView_StartHover ( object sender , MouseEventArgs e )
447
463
{
@@ -616,7 +632,10 @@ private void EnableAllButton_Click(object sender, EventArgs e)
616
632
foreach ( Recipe recipe in Options . DCache . Recipes . Values . Where ( r => r . Available ) )
617
633
Options . EnabledObjects . Add ( recipe ) ;
618
634
619
- UpdateEnabledStatus ( ) ;
635
+ foreach ( Quality quality in Options . DCache . Qualities . Values . Where ( r => r . Available ) )
636
+ Options . EnabledObjects . Add ( quality ) ;
637
+
638
+ UpdateEnabledStatus ( ) ;
620
639
}
621
640
622
641
private void UpdateEnabledStatus ( )
@@ -647,6 +666,10 @@ private void UpdateEnabledStatus()
647
666
filteredRecipeList . AddRange ( unfilteredRecipeList ) ;
648
667
RecipeListView . VirtualListSize = filteredRecipeList . Count ;
649
668
669
+ filteredQualityList . Clear ( ) ;
670
+ filteredQualityList . AddRange ( unfilteredQualityList ) ;
671
+ QualityListView . VirtualListSize += filteredQualityList . Count ;
672
+
650
673
651
674
foreach ( ListViewItem item in unfilteredAssemblerList )
652
675
item . Checked = Options . EnabledObjects . Contains ( ( DataObjectBase ) item . Tag ) ;
@@ -660,8 +683,11 @@ private void UpdateEnabledStatus()
660
683
item . Checked = Options . EnabledObjects . Contains ( ( DataObjectBase ) item . Tag ) ;
661
684
foreach ( ListViewItem item in unfilteredRecipeList )
662
685
item . Checked = Options . EnabledObjects . Contains ( ( DataObjectBase ) item . Tag ) ;
686
+ foreach ( ListViewItem item in unfilteredQualityList )
687
+ item . Checked = Options . EnabledObjects . Contains ( ( DataObjectBase ) item . Tag ) ;
663
688
664
- UpdateFilteredLists ( ) ;
689
+
690
+ UpdateFilteredLists ( ) ;
665
691
}
666
692
667
693
protected override void OnClosed ( EventArgs e )
0 commit comments