Page 1 of 1

Автодополнение в полях редактирования имени файла/папки

Posted: Mon 13 Jan, 2020 09:15
by NekoKoneko
При вводе любого символа из Editor.WordDiv в поле редактирования, где ожидается имя файла или папки (например, в диалоге копирования или создания нового файла Shift+F4) список автодополнения не содержит подходящие папки/файлы, хотя они есть.

Последовательность воспроизведения:
1. Находясь в любой непустой папке создать папку с любым допустимым символом из Editor.WordDiv, например, [test]
2. Перейти на любой другой файл/папку и нажать F5
3. В поле "Copy xxx to" ввести [
4. Списка автодополнения либо вообще не будет, либо будет только история без списка подходящих файлов/папок

Отсечение происходит в editcontrol.cpp:456

Автодополнение в полях редактирования имени файла/папки

Posted: Mon 13 Jan, 2020 10:55
by DrKnS
Ну так разделитель же. Вводите "[.

Автодополнение в полях редактирования имени файла/папки

Posted: Mon 13 Jan, 2020 11:16
by John Doe
DrKnS wrote: Mon 13 Jan, 2020 10:55 Ну так разделитель же.
И фар не может обработать этот случай самостоятельно?
https://bugs.farmanager.com/view.php?id=3526

Автодополнение в полях редактирования имени файла/папки

Posted: Mon 13 Jan, 2020 21:21
by DrKnS
John Doe wrote: Mon 13 Jan, 2020 11:16И фар не может обработать этот случай самостоятельно?
Напишете формальный алгоритм - может быть и сможет.

Автодополнение в полях редактирования имени файла/папки

Posted: Wed 15 Jan, 2020 12:28
by John Doe
Предполагаю, что сейчас дополнение действует примерно так:
1. Извлечь искомую подстроку, начиная с последнего разделителя (System.WordDiv).
2. Сопоставить её со всеми объектами дополнения.
3. Вывести список подходящих.

Моё предложение (описанное на мантисе) заключается в том, что надо извлекать и сопоставлять не единственную подстроку, а все.

Предположим, в командной строке введено следующее:

Code: Select all

1 2 3 4 5
Сейчас сопоставляется только "5*".
А должно "1 2 3 4 5*", "2 3 4 5*, "3 4 5*", "4 5*", "5*".