From b65fa61272703a32399a9e50a986869507b3c370 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Tue, 5 Sep 2017 10:24:44 +0300 Subject: [PATCH] fix Float settings combobox behavior --- src/dlangui/dialogs/settingsdialog.d | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dlangui/dialogs/settingsdialog.d b/src/dlangui/dialogs/settingsdialog.d index 07f6c67c..632a187a 100644 --- a/src/dlangui/dialogs/settingsdialog.d +++ b/src/dlangui/dialogs/settingsdialog.d @@ -141,7 +141,7 @@ class FloatComboBoxItem : SettingsItem { ComboBox cb = new ComboBox(_id, _items); cb.minWidth = 100; Setting setting = settings.settingByPath(_id, SettingType.FLOAT); - long itemId = cast(long)(setting.floating * _divider); + long itemId = cast(long)(setting.floating * _divider + 0.5f); int index = -1; for (int i = 0; i < _items.length; i++) { if (_items[i].intId == itemId) { @@ -151,6 +151,9 @@ class FloatComboBoxItem : SettingsItem { } if (index >= 0) cb.selectedItemIndex = index; + if (index < 0) { + debug Log.d("FloatComboBoxItem : item ", itemId, " is not found for value ", setting.floating); + } cb.itemClick = delegate(Widget source, int itemIndex) { if (itemIndex >= 0 && itemIndex < _items.length) setting.floating = _items[itemIndex].intId / cast(double)_divider;