Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#173 closed улучшение (fixed)

Быстрый поиск пользователя

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

Description

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

Когда фокус у списка пользователей, ввод с клавиатуры формирует строку поиска. При этом выделение автоматически переходит на первого абонента в списке, имеющего в URI и/или имени введенную строку.

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

Change History (24)

comment:1 by dimag, 8 years ago

Обсудить с Александром.

comment:2 by dimag, 8 years ago

Александр, что ты думаешь об этом улучшение?

comment:3 by san, 8 years ago

Идея интересная, тем более дизайнер забыл отрисовать поле для поиска пользователя по имени

comment:4 by san, 8 years ago

Priority: majortrivial

comment:5 by dimag, 8 years ago

Resolution: fixed
Status: newclosed

comment:6 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r328 не работает. Последовательность действий:

  1. Запускаю программу.
  2. Вхожу в систему как техник.
  3. Перевожу фокус на любого пользователя (кликаю его левой кнопкой мыши).
  4. Нажимаю "2".

Строка поиска с "2" не появляется, выделение на первого пользователя с цифрой "2" в имени и/или URI не переходит.

comment:7 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

r330
Не сразу понял что нужно сделать.

comment:8 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r330 по-прежнему не работает. Симптомы почти те же:

  1. Запускаю программу.
  2. Вхожу в систему как техник.
  3. Перевожу фокус на любого пользователя (кликаю его левой кнопкой мыши).
  4. Нажимаю "1"

Результат: строка поиска с "1" не появляется, список пользователей прокручивается до упора вниз, при этом выделения ни на одном из пользователей нет.

comment:9 by dimag, 8 years ago

Сейчас у меня происходит только фильтрации.
ТО есть если я ввожу 1, то список пользователей обновляется, в строку фильтра к её содержимому прибавляется 1, но сама строка не появляется автоматически.
В списке пользователей выводяться все пользователи в имени которых содержиться 1.
Так у меня всё работает под Windows и Kubuntu.
У вас всё происходит точно также или вообще нет фильтрации?

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

Replying to dimag:

У вас всё происходит точно также или вообще нет фильтрации?

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

comment:11 by dimag, 8 years ago

Александр, что нам нужно в данном случае - поиск пользователя или фильтрация?

comment:12 by san, 8 years ago

Дак это же разные функции.
Фильтрация сделана. В чём вопрос? По поводу функции поиска выше я отвечал что у меня нет возражений для реализации этой функции. Строку ввода для поиска можно отображать в "шапке" панели, чтобы отличать от фильтрации.

comment:13 by dimag, 8 years ago

А как сбросить строку поиска?

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

Replying to dimag:

А как сбросить строку поиска?

Я думаю, нажатием любой "несимвольной" клавиши. Типичный сценарий использования:
Диспетчер хочет вызвать "ГРС Светлогорск".

  1. Диспетчер нажимает "с". Курсор (выделение) перемещается на первого пользователя с буквой "с". Появляется строка ввода с "с".
  2. Диспетчер нажимает "в". Курсор перемещается на пользователя "ГРС Светлогорск". В строке ввода - "св".
  3. Диспетчер нажимает Enter. Строка ввода пропадает, выполняется вызов.
Last edited 8 years ago by alx (previous) (diff)

comment:15 by san, 8 years ago

Ну или если пользователь сам переставит селект на другого абонента, или мышью нажмёт какуюто кнопку, наверное тоже строка поиска должна очистится и пропасть

comment:16 by dimag, 8 years ago

Где отображать строку поиска?

comment:17 by dimag, 8 years ago

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

in reply to:  17 comment:18 by alx, 8 years ago

Replying to dimag:

Можно сделать так, строка поиска не отображается,

Мне не нравятся решения, при которых модальность не отображается визуально. Если поведение программы зависит от последовательности событий (в данном случае последовательности нажатия клавиш), должно быть видно, в какой точке последовательности находится программа в данный момент. Я не думаю, что так уж сложно найти на экране место для отображения коротенькой (на 5-6 символов) строки ввода. В конце концов, можно сделать как в firefox - строка появляется в нижней части окна, "отъедая" чуть-чуть от основного поля вывода. И никаких таймеров тогда делать не придется...

in reply to:  12 ; comment:19 by san, 8 years ago

А чем моё предложение не нравится?
Replying to san:

Строку ввода для поиска можно отображать в "шапке" панели, чтобы отличать от фильтрации.

in reply to:  19 comment:20 by alx, 8 years ago

Replying to san:

А чем моё предложение не нравится?

К кому вопрос? :)

Если ко мне, то мне оно нравится. Мне не нравится предложение Димы, о чем я и написал выше.

comment:21 by san, 8 years ago

Ну тогда специально для Димы повторю ещё раз :)

Строку ввода для поиска можно отображать в "шапке" панели, чтобы отличать от фильтрации.

comment:22 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

r453
Строка фильтации выводиться вверху вкладки вместе с название вкладки в скобках.
Ищется подстрока в выводимом имени пользователя, если найден, то текущий выделенный элемент переходит на найденный.

comment:23 by dimag, 8 years ago

r454
Немного поменял логику работу по рекомендациям Александра.

comment:24 by san, 7 years ago

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

Milestone renamed

Note: See TracTickets for help on using tickets.