Opened 8 years ago

Closed 7 years ago

Last modified 6 years ago

#328 closed баг (fixed)

Странности при редактировании поля "Основаня конференция"

Reported by: alx Owned by: dimag
Priority: minor Milestone: 2 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords: interface
Cc: san

Description

  1. Запускаем программу.
  2. Входим в сеть.
  3. Нажимаем Настройки программы.
  4. Переключаемся на подвкладку "Конференции". В поле "Основная конференция" видим "0", сразу после которого мигает курсор.
  5. Нажимаем backspace. В результате кнопки "Отмена" и "Сохранить настройки" становятся активными, но "0" из строки ввода никуда не девается. Убрать его оттуда нельзя никакими силами, что удивляет и вводит в замешательство.

Считаю, что нажатие backspace должно удалять из строки ввода символ, находящийся непосредственно слева от курсора.

Проверялось в r357.

Change History (17)

comment:1 by dimag, 8 years ago

Resolution: invalid
Status: newclosed

Поле "Конференция" - в неё вводиться идентификатор основной конференции для сервера FreeSwitc, данное поле не может быть пустое, так как я не могу передавать пустую строку в качестве имени конференции для вновь создаваемой конференции.
Поэтому если строка с идентификатором конференции становиться пустой, то она сразу заполняется значением по умолчанию, то есть 0.

in reply to:  1 comment:2 by alx, 8 years ago

Replying to dimag:

данное поле не может быть пустое, так как я не могу передавать пустую строку в качестве имени конференции для вновь создаваемой конференции.

Данное поле не может быть пустое на момент применения введенных настроек (на момент нажатия кнопки "Сохранить настройки"). В процессе же редактирования в нем может быть что угодно. Допустим, пользователь хочет изменить имя основной конференции "0" на "9". Курсор уже мигает в нужной строке справа от символа "0". Что сделает 99% пользователей? Нажмут backspace чтобы удалить "0" и затем ввести на его место 9. Но у нас это не работает, что, если не поставит пользователя в тупик, то, как минимум, несколько озадачит... :)

Поэтому если строка с идентификатором конференции становиться пустой, то она сразу заполняется значением по умолчанию, то есть 0.

Считаю такое поведение некорректным по отношению к пользователю. Как я написал выше, значения полей ввода не обязаны быть корректными все время, а только на момент применения настроек. Нажал пользователь "Сохранить настройки" - вот в этот момент и следует проверить корректность введенных значений, и если в поле "Основная конференция" ничего нет, выдать сообщение об ошибке (обращаю внимание, сообщить об ошибке, а не подставлять какое-то значение за полдьзователя!). Ну, в крайнем случае, такую проверку можно выполнить когда пользователь переместил фокус на другой элемент (то есть закончил работать с полем "Основная конференция")...

Александр, хочется услышать твое мнение.

comment:3 by san, 8 years ago

Согласен с Алексеем. Не нужно мешать пользователю редактировать поля, достаточно проверки при сохранении настроек.

comment:4 by san, 8 years ago

Resolution: invalid
Status: closedreopened

comment:5 by dimag, 8 years ago

Сейчас пункт "Конференция" заблокирован для редактирования

comment:6 by dimag, 8 years ago

Можно закрыть данный тикет?

in reply to:  6 comment:7 by alx, 8 years ago

Replying to dimag:

Можно закрыть данный тикет?

Описанный в тикете баг исправлен?

comment:8 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

Да.
Поле Основная конференция заблокированна для редактирования.

in reply to:  8 comment:9 by alx, 8 years ago

Replying to dimag:

Да.

Каким changeset'ом сделано исправление?

comment:10 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

Так как ответа не последовало, я вынужден считать, что описанный в тикете баг исправлен не был. Тикет переоткрываю. Формальная причина: не указана ревизия коммита, которым исправлен баг.

Last edited 8 years ago by alx (previous) (diff)

comment:11 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

comment:12 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r358 описанная в тикете проблема не решена. Закомментировал строку 1189 в MainAppFrameWindow3.cpp и получил те же симптомы, что изложены в описании тикета.

comment:13 by dimag, 8 years ago

Зачем вы закомментировали строку 1189, если она устраняет проблему?

in reply to:  13 comment:14 by alx, 8 years ago

Replying to dimag:

Зачем вы закомментировали строку 1189, если она устраняет проблему?

В строке 1189 вызывается метод setEnabled(false); объекта строки ввода. Таким образом, эта строка кода блокирует работу строки ввода, а никак не исправляет ее поведение при редактировании содержимого строки.

Отвечая на Ваш вопрос: я закомментировал строку 1189 для того чтобы проверить, действительно ли в r358 исправлено поведение строки ввода в процессе редактирования ее содержимого, а именно, удаляет ли теперь нажатие клавиши backspace символ слева от курсора или по-прежнему нет. Проверка показала, что по-прежнему нет.

Last edited 8 years ago by alx (previous) (diff)

comment:15 by dimag, 7 years ago

Сейчас поле основная конференция находиться в задизайбленном, сером состояние.

comment:16 by alx, 7 years ago

Resolution: fixed
Status: reopenedclosed

In 732/dispatcher:

Убрана блокировка строки ввода имени конференции по умолчанию.
Удален код, изменяющий текст строки в процессе ввода (из-за чего строка вела себя странни).

Реализовано изменение "на лету" настроек имени конференции по умолчанию
и маппинга имени конференции по умолчанию.

Closes #325, #328.

comment:17 by san, 6 years ago

Milestone: Текущее2 очередь

Milestone renamed

Note: See TracTickets for help on using tickets.