#328 closed баг (fixed)
Странности при редактировании поля "Основаня конференция"
Reported by: | alx | Owned by: | dimag |
---|---|---|---|
Priority: | minor | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | interface |
Cc: | san |
Description
- Запускаем программу.
- Входим в сеть.
- Нажимаем Настройки программы.
- Переключаемся на подвкладку "Конференции". В поле "Основная конференция" видим "0", сразу после которого мигает курсор.
- Нажимаем backspace. В результате кнопки "Отмена" и "Сохранить настройки" становятся активными, но "0" из строки ввода никуда не девается. Убрать его оттуда нельзя никакими силами, что удивляет и вводит в замешательство.
Считаю, что нажатие backspace должно удалять из строки ввода символ, находящийся непосредственно слева от курсора.
Проверялось в r357.
Change History (17)
follow-up: 2 comment:1 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 by , 8 years ago
Replying to dimag:
данное поле не может быть пустое, так как я не могу передавать пустую строку в качестве имени конференции для вновь создаваемой конференции.
Данное поле не может быть пустое на момент применения введенных настроек (на момент нажатия кнопки "Сохранить настройки"). В процессе же редактирования в нем может быть что угодно. Допустим, пользователь хочет изменить имя основной конференции "0" на "9". Курсор уже мигает в нужной строке справа от символа "0". Что сделает 99% пользователей? Нажмут backspace чтобы удалить "0" и затем ввести на его место 9. Но у нас это не работает, что, если не поставит пользователя в тупик, то, как минимум, несколько озадачит... :)
Поэтому если строка с идентификатором конференции становиться пустой, то она сразу заполняется значением по умолчанию, то есть 0.
Считаю такое поведение некорректным по отношению к пользователю. Как я написал выше, значения полей ввода не обязаны быть корректными все время, а только на момент применения настроек. Нажал пользователь "Сохранить настройки" - вот в этот момент и следует проверить корректность введенных значений, и если в поле "Основная конференция" ничего нет, выдать сообщение об ошибке (обращаю внимание, сообщить об ошибке, а не подставлять какое-то значение за полдьзователя!). Ну, в крайнем случае, такую проверку можно выполнить когда пользователь переместил фокус на другой элемент (то есть закончил работать с полем "Основная конференция")...
Александр, хочется услышать твое мнение.
comment:3 by , 8 years ago
Согласен с Алексеем. Не нужно мешать пользователю редактировать поля, достаточно проверки при сохранении настроек.
comment:4 by , 8 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
comment:7 by , 8 years ago
follow-up: 9 comment:8 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Да.
Поле Основная конференция заблокированна для редактирования.
comment:10 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Так как ответа не последовало, я вынужден считать, что описанный с тикете баг исправлен не был. Тикет переоткрываю. Формальная причина: не указана ревизия коммита, которым исправлен баг.
comment:12 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
В r358 описанная в тикете проблема не решена. Закомментировал строку 1189 в MainAppFrameWindow3.cpp и получил те же симптомы, что изложены в описании тикета.
follow-up: 14 comment:13 by , 8 years ago
Зачем вы закомментировали строку 1189, если она устраняет проблему?
comment:14 by , 8 years ago
Replying to dimag:
Зачем вы закомментировали строку 1189, если она устраняет проблему?
В строке 1189 вызывается метод setEnabled(false);
объекта строки ввода. Таким образом, эта строка кода блокирует работу строки ввода, а никак не исправляет ее поведение при редактировании содержимого строки.
Отвечая на Ваш вопрос: я закомментировал строку 1189 для того чтобы проверить, действительно ли в r358 исправлено поведение строки ввода в процессе редактирования ее содержимого, а именно, удаляет ли теперь нажатие клавиши backspace символ слева от курсора или по-прежнему нет. Проверка показала, что по-прежнему нет.
comment:15 by , 8 years ago
Сейчас поле основная конференция находиться в задизайбленном, сером состояние.
Поле "Конференция" - в неё вводиться идентификатор основной конференции для сервера FreeSwitc, данное поле не может быть пустое, так как я не могу передавать пустую строку в качестве имени конференции для вновь создаваемой конференции.
Поэтому если строка с идентификатором конференции становиться пустой, то она сразу заполняется значением по умолчанию, то есть 0.