修訂 | 0f782a4f5f8796c9a91fb0598b8c089d2ecc73ce (tree) |
---|---|
時間 | 2020-09-05 17:59:45 |
作者 | Kazuhiro Fujieda <fujieda@user...> |
Commiter | Kazuhiro Fujieda |
DPIズーム時に一覧のレイアウトがくずれるのを直す
クラッシュするのを直したときの直し方がまずくScaler.Factorが
設定されるより前にShipListPanelのラベル生成が走っていた。
@@ -31,7 +31,7 @@ namespace KancolleSniffer.Forms | ||
31 | 31 | private readonly Config _config; |
32 | 32 | private readonly Form _form; |
33 | 33 | private readonly MainWindow.TimeOutChecker _suppressActivate; |
34 | - private CheckBox[] _shipTypeCheckBoxes; | |
34 | + private readonly CheckBox[] _shipTypeCheckBoxes; | |
35 | 35 | private bool _isMaster; |
36 | 36 | private Settings _settings; |
37 | 37 | public const int PanelWidth = 215; |
@@ -103,32 +103,7 @@ namespace KancolleSniffer.Forms | ||
103 | 103 | _form = main.Form; |
104 | 104 | _sniffer = main.Sniffer; |
105 | 105 | _config = main.Config; |
106 | - ApplySettings(); | |
107 | - SetupShipTypeCheckBoxes(); | |
108 | 106 | _suppressActivate = main.SuppressActivate; |
109 | - battleResultPanel.HpLabelClick += ToggleHpPercent; | |
110 | - shipListPanel.HpLabelClick += ToggleHpPercent; | |
111 | - var swipe = new SwipeScrollify(); | |
112 | - swipe.AddShipListPanel(shipListPanel); | |
113 | - swipe.AddTreeView(itemTreeView); | |
114 | - swipe.AddPanel(fleetPanel); | |
115 | - } | |
116 | - | |
117 | - private void ApplySettings() | |
118 | - { | |
119 | - var config = GetConfig(); | |
120 | - _settings = Settings.FromShipListConfig(config); | |
121 | - if (_settings.ShowHpInPercent) | |
122 | - { | |
123 | - shipListPanel.ToggleHpPercent(); | |
124 | - battleResultPanel.ToggleHpPercent(); | |
125 | - } | |
126 | - LoadShipGroupFromConfig(); | |
127 | - comboBoxGroup.SelectedItem = _settings.Mode; | |
128 | - } | |
129 | - | |
130 | - private void SetupShipTypeCheckBoxes() | |
131 | - { | |
132 | 107 | _shipTypeCheckBoxes = new[] |
133 | 108 | { |
134 | 109 | checkBoxSTypeBattleShip, |
@@ -140,7 +115,12 @@ namespace KancolleSniffer.Forms | ||
140 | 115 | checkBoxSTypeSubmarine, |
141 | 116 | checkBoxSTypeAuxiliary |
142 | 117 | }; |
143 | - SetCheckBoxSTypeState(); | |
118 | + battleResultPanel.HpLabelClick += ToggleHpPercent; | |
119 | + shipListPanel.HpLabelClick += ToggleHpPercent; | |
120 | + var swipe = new SwipeScrollify(); | |
121 | + swipe.AddShipListPanel(shipListPanel); | |
122 | + swipe.AddTreeView(itemTreeView); | |
123 | + swipe.AddPanel(fleetPanel); | |
144 | 124 | } |
145 | 125 | |
146 | 126 | public void UpdateList() |
@@ -297,8 +277,16 @@ namespace KancolleSniffer.Forms | ||
297 | 277 | { |
298 | 278 | AdjustHeader(); |
299 | 279 | SetMinimumSize(); |
300 | - comboBoxGroup.SelectedItem = _settings.Mode; | |
301 | 280 | var config = GetConfig(); |
281 | + _settings = Settings.FromShipListConfig(config); | |
282 | + if (_settings.ShowHpInPercent) | |
283 | + { | |
284 | + shipListPanel.ToggleHpPercent(); | |
285 | + battleResultPanel.ToggleHpPercent(); | |
286 | + } | |
287 | + LoadShipGroupFromConfig(); | |
288 | + comboBoxGroup.SelectedItem = _settings.Mode; | |
289 | + SetCheckBoxSTypeState(); | |
302 | 290 | if (config.Location.X == int.MinValue) |
303 | 291 | return; |
304 | 292 | var bounds = new Rectangle(config.Location, config.Size); |
@@ -359,6 +347,8 @@ namespace KancolleSniffer.Forms | ||
359 | 347 | |
360 | 348 | public void SaveConfig() |
361 | 349 | { |
350 | + if (_settings == null) | |
351 | + return; | |
362 | 352 | if (_isMaster) |
363 | 353 | { |
364 | 354 | SaveMasterState(); |