Автор Тема: Местоположение курсора при заполнении свойств задачи  (Прочитано 2738 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Solaris

  • Знаток
  • ****
  • Сообщений: 206
  • Репутация +27/-0
  • Делай, что должен - и будь, что будет
    • Просмотр профиля
Предлагаю при заполнении свойств задач помещать курсор по умолчанию в окно поиска.
Нужно это для ускорения работы. В принципе, сама схема заполнения свойств задачи построена таким образом, что свойства задач заполняются мышкой. Но в окно поиска текст нужно вводить с клавиатуры - и это единственное поле, предназначенное для ввода текста.
При этом, когда открывается окно заполнения свойств задачи, фокус в нем отсутствует. То есть, невозможно сразу начать вводить текст или сделать выбор - нужно дополнительно ткнуть мышью в поле поиска. То есть, без клика мышью окно остается "слепым". А это действие кажется излишним.
Считаю, что будет удобнее, если настроить программу так, чтобы после открытия окна сразу можно было вводить текст в поле поиска. Кстати, и выбор из найденных вариантов в таком случае также удобнее делать с клавы, а не хвататься за мышь (например, при помощи стрелок и пробела).
Думаю также, что при нажатии на стрелочки на клаве фокус должен перемещаться по списку вверх-вниз. Иными словами, думаю, что можно построить алгоритм по принципу раличения клавиш ввода - если это стрелки и пробел - то перемещение будет производиться по списку вверх вниз и осуществляться выбор, а если это будет текст - то он будет вводиться в окно поиска. Это должно существенно повысить эргономику программы.

Пример: открываем окно и сразу начинаем вводить текст в поле поиска (см. скриншот). Далее, если найдено несколько удовлетворяющих условиям поиска вариантов, перемещаемся по ним с помощью стрелок на клавиатуре (не помню, как эти клавиши правильно называются) и далее жмем пробел-энтер. Если кто привык работать мышью - ему это никак не помешает.

Такая функция очень нужна тем, кто работает с большим количеством параметров (у меня очень много проектов, подозреваю, что многие используют большое количество контактов, и выбирать нужный из списка мышью крайне неудобно - тем более, что автоматическая сортировка по алфавиту программой не поддерживается).
« Последнее редактирование: 20 Ноября 2009, 12:32:48 от Solaris »
Non sunt entia multiplicanda praeter necessitatem - Не следует умножать сущности сверх необходимого

Оффлайн Айдос

  • Авторитет
  • Опытный
  • *****
  • Сообщений: 688
  • Репутация +138/-0
    • Просмотр профиля
Точно! Думаю, сделать фокус сразу на поиске будет легко.
Хотел тоже это предложить, но в конце концов все вылилось в нечто чуть-чуть большее:)

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
В данной схеме всё должно работать также как сейчас в окне поиска? Т.е. печатаем - те что не подпадают под результат с экрана исчезают?
Как на счет такого решения:
Когда мы печатаем какие либо буквы/цифры они попадают в это окно поиска - без передачи ему фокуса, клавиша BackSpase убирает последний символ в строке поиска.

Оффлайн Айдос

  • Авторитет
  • Опытный
  • *****
  • Сообщений: 688
  • Репутация +138/-0
    • Просмотр профиля
По сути, одно и то же. Только в таком варианте будет менее очевидно.

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
По сути, одно и то же. Только в таком варианте будет менее очевидно.
Да, менее очевидно, но поставленную проблему решает. А так же не будет возникать вопросов у пользователей - вроде того, "Сделайте чтобы фокус был в таблице по умолчанию, мне приходится постоянно щелкать в неё мышкой" ;)

Оффлайн Solaris

  • Знаток
  • ****
  • Сообщений: 206
  • Репутация +27/-0
  • Делай, что должен - и будь, что будет
    • Просмотр профиля
В данной схеме всё должно работать также как сейчас в окне поиска? Т.е. печатаем - те что не подпадают под результат с экрана исчезают?
Как на счет такого решения:
Когда мы печатаем какие либо буквы/цифры они попадают в это окно поиска - без передачи ему фокуса, клавиша BackSpase убирает последний символ в строке поиска.
Да, Вы правильно понимаете, это решает проблему. Проблема сейчас только в том, что нужно в это окошко лишний раз тыкать мышкой. Если этого не нужно делать, то вопрос мигания курсора - это лишь вопрос эргономики.

Но это половина предложения. Вторая половина состоит в том, что в этом окне должны вводиться только буквенно-цифровые символы. А вот если будет нажата клавиша управления курсором (стрелка) то реагировать должен уже список проектов: в нем должно появиться выделение одной из строк, и по нажатию на стрелку выделение должно перемещаться вверх или вниз. Я не программист, но думаю, что несложно настроить сортировку вводимых символов по ascii коду, и в зависимости от этого предпринимать действие.
Выбор нужного пункта из списка проектов предлагаю сделать пробелом. Энтер - оно понятно и сейчас.

Иными словами, при вводе текстовых символов в окошке поиска вводится текст для поиска и неподходящие пункты исчезают, как это есть сейчас,
а при нажатии не стрелки вверх-вниз (клавиши управления курсором на клавиатуре) происходит выделение одного из пунктов и перемещение по списку категорий. Пробел-энтер и все готово. Или, например, выбрав один пункт из списка по BackSpace удаляем из окошка введенные символы, вводим новые, снова стрелками-пробелом выбираем из списка нужное и так повторяем необходимое количество раз.

P.S. Кстати, стрелки вправо-влево могут быть использованы для перемещения в начало - в конец списка, а могут для перемещения по вводимому тексту. Однако, поскольку для поиска будет вводиться не такое большое количество символов, исправить через BackSpace будет проще, чем перемещать курсор в нужное место слова.
« Последнее редактирование: 22 Ноября 2009, 22:29:52 от Solaris »
Non sunt entia multiplicanda praeter necessitatem - Не следует умножать сущности сверх необходимого