DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Разработка Far.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 14267
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 468 times
Contact:

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by John Doe »

Хочется иметь поле ввода с обычной историей + некоторые предварительно заполненные значения.

[DM_ADDHISTORY] предоставляет данную функциональность, но если тупо добавлять "искусственные" элементы в DN_INITDIALOG, то получается совсем не то что хотелось бы.
  • Добавляемые элементы всегда попадают в начало списка. Это логично и ожидаемо при использовании с DIF_MANUALADDHISTORY.
    Но для моего сценария это не очень годится.
  • При использовании DIF_USELASTHISTORY "последним использованным" будет считаться именно вновь добавленный в DN_INITDIALOG искусственный элемент, что лишает затею смысла.
Чтобы привести поведение к желаемому, надо добавлять элементы только в случае, если их ещё в истории нет.
И это возможно через SettingsControl API. Но очевидно громоздко.

Предлагаю реализовать это в фаре, как отдельное сообщение DM_ADDHISTORY_IFNOT DM_ADDHISTORY_UNIQUE.



P.S.
Связанный вопрос: https://bugs.farmanager.com/view.php?id=3797
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11217
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 246 times
Been thanked: 389 times

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by HaRT »

John Doe wrote: Wed 03 Apr, 2024 00:44 отдельное сообщение DM_ADDHISTORY_IFNOT
Если добавлять, то, может, лучше назвать DM_ADDHISTORY_UNIQUE?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14267
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 468 times
Contact:

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by John Doe »

HaRT wrote: Wed 03 Apr, 2024 01:16 DM_ADDHISTORY_UNIQUE?
100%
https://t.me/FarManager — Telegram чат
User avatar
buniak_a_h
Posts: 4501
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 240 times
Been thanked: 670 times
Contact:

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by buniak_a_h »

Извините, я тут немного не понял…
  1. Вообще сообщение DM_ADDHISTORY и так добавляет значение уникально. Ну да, оно становится первым в истории. Но рекомендуемое имя сообщения, получается, не соответствует смыслу (любое добавление уникально).
  2. А вообще, что Вы (John Doe) хотите получить? Сохранять порядок добавленных значений (типа если такое уже имеется, то ни переносить его в начало списка)? Проверить наличие - это слишком затратно?
John Doe wrote: Wed 03 Apr, 2024 00:44 Но для моего сценария это не очень годится.
Если не секрет, каков Ваш сценарий?
User avatar
John Doe
Бюрократ
Posts: 14267
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 468 times
Contact:

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by John Doe »

John Doe wrote: Wed 03 Apr, 2024 00:44 Но рекомендуемое имя сообщения, получается, не соответствует смыслу (любое добавление уникально).
Вы правы, но хорошего имени сходу не приходит в голову.
buniak_a_h wrote: Wed 03 Apr, 2024 05:35 Проверить наличие - это слишком затратно?
Нет не слишком.
buniak_a_h wrote: Wed 03 Apr, 2024 05:35 Сохранять порядок добавленных значений (типа если такое уже имеется, то ни переносить его в начало списка)?
В контексте данного топика именно это.
(Но и другие варианты тоже интересны, поэтому я привёл ссылку на связанное обсуждение)
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 14267
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 468 times
Contact:

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by John Doe »

buniak_a_h wrote: Wed 03 Apr, 2024 05:35 Если не секрет, каков Ваш сценарий?
Хочется иметь поле ввода с обычной историей + некоторые предварительно заполненные значения.
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11217
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 246 times
Been thanked: 389 times

DM_ADDHISTORY конфликтует с DIF_USELASTHISTORY

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Development”