Page 1 of 1

FileDialog plugin

Posted: Thu Sep 05, 2024 12:11 am
by dothen
Диалог открытия и сохранения файла.

disk.yandex.ru

Re: FileDialog plugin

Posted: Thu Sep 05, 2024 12:57 pm
by ewild
Thanks for the plugin.

The vanilla "Open..." command (Command(4103)) being put in the toolbar comes as a button with a dropdown submenu (that consists of the recent files list and the "Delete non-existent" command).

It would be great if your plugin could repeat the said behavior of the vanilla command.

Re: FileDialog plugin

Posted: Sat Sep 07, 2024 12:19 pm
by ewild
Whether the OP modifies their FileDialog plugin or not, a user can replicate the vanilla "Open file dialog" button behavior by themselves as follows:

A ToolBar entry:

Code: Select all

# Open file dialog
# Akelpad2 style: with Recent Files submenu
"Open...|Recent Files..." Call("FileDialog::FileOpenDialog") Icon(2) Menu("RECENT")
# Vanilla: with Recent Files submenu
# "" Command(4103) Icon(2)
A ContextMenu entry:

Code: Select all

"RECENT"
{
# Special menu item: recent files list
RECENTFILES
SEPARATOR
# Silently delete records of non-existent files
"Delete non-existent" Command(5001)
SEPARATOR
# Manage recent files list
"Manage recent files list..." Call("RecentFiles::Manage")
SEPARATOR
# Edit this menu
"Change this menu..." Call("ContextMenu::Main",1,0,"RECENT")
}
Notes:
"Manage recent files list..." and "Change this menu..." entries aren't a part of the default submenu and have been added for convenience; feel free to just remove/comment those if you don't like the idea of them being there.

Image

Re: FileDialog plugin

Posted: Tue Sep 10, 2024 10:13 pm
by dothen
Сделал настройки в FileDialog.ini

Re: FileDialog plugin

Posted: Fri Sep 27, 2024 9:49 am
by dothen
FileDialog plugin v1.0

+ Выбор кодировки
+ Путь в заголовке диалога
+ Очистка поля ввода имени файла

Re: FileDialog plugin

Posted: Sat Oct 26, 2024 12:50 pm
by Instructor
dothen
Можно ещё вызов для сохранения добавить :wink:

Re: FileDialog plugin

Posted: Sat Oct 26, 2024 2:54 pm
by dothen
ОК :)

Re: FileDialog plugin

Posted: Sun Nov 03, 2024 10:00 pm
by dothen
FileDialog plugin v1.1

Добавлено: Диалог сохранения файла.

Re: FileDialog plugin

Posted: Thu Nov 14, 2024 4:22 pm
by Instructor
Пожелание: добавить возможность сохранять с BOM.

Re: FileDialog plugin

Posted: Tue Nov 19, 2024 5:40 pm
by yozhic
Пожелание 1: перекомпоновать местоположение пунктов Автовыбор/Распознавание/Распознавание с BOM.
Взгляните, пожалуйста, возможно вот так было бы удобнее:
Image
Описание соображения:
1. Доп. пункты переносятся в отдельный ComboBox, добавляется пункт «Выбор».
2. При выборе «Выбор» активизируется ComboBox выбора кодировки из списка.
3. При выборе остальных пунктов ComboBox выбора кодировки становится неактивным.

Каковы мотивы этого предложения?
1. Расположение универсальных пунктов Автовыбор/... в самом конце списка кодировок — неочевидно.
2. Если плагин предлагает альтернативу стандартному диалогу, то как минимум привычный функционал стандартного д-га не должен отсутствовать, а иначе какой смысл в альтернативе. Точнее, смысл то может и есть, но тогда альтернатива становится неполной.

Пожелание 2: ввести сохранение (запоминание) состояния комбобоксов. Пример: пользователь выбрал Распознавание, при следующем вызове плагина снова отобразится Распознавание.

Пожелание 3: вероятно была бы востребована возможность вызывать плагин из меню с параметром пути к папке. Например:

Code: Select all

"Save to Backup..."  Call("FileDialog::FileSaveDialog", 1, "d:\Archive\Backup\TXT") Icon("%a\AkelFiles\icons\myicons.dll", 1)
# или
"Save to Share..."  Call("FileDialog::FileSaveDialog", 2, "MyFavorite2") Icon("%a\AkelFiles\icons\myicons.dll", 2)
# при этом MyFavorite2 мог бы задаваться в ini
Спасибо :)

Re: FileDialog plugin

Posted: Wed May 14, 2025 6:07 pm
by dothen
FileDialog plugin v1.2

Добавлено: Создание дефолтного FileDialog.ini при запуске если файл FileDialog.ini не существует.
Добавлено: В диалоге "Сохранить", флажок "BOM".
Добавлено: В диалоге "Открыть", выпадающий список с пунктами "Выбрать", "Автовыбор", "Распознать", "Распознать с BOM".
Добавлено: Меню "Избранное".
Добавлено: Предварительный просмотр.
Добавлено: Запоминание настроек кодировки.
Добавлено: Параметры для внешнего вызова.

Re: FileDialog plugin

Posted: Mon May 19, 2025 4:44 pm
by yozhic
Спасибо большое за обновы!
Пока не всё ещё получилось опробовать, но то, что опробовал, работает исправно. И уже есть несколько наблюдений, поэтому начну делиться ими, а как созреют, подтяну и другие, чтобы не громоздить всё в кучу и не затягивать по времени. И, безусловно, всё что пишу — не больше, чем пожелания. Пригодятся в чём-то — добро, нет — не беда. А то иногда стараешься излагать сжато, чтобы время не отнимать, а со стороны кажется будто рулить полез — но такого даже в настроениях нет. Мой испытательный полигон: Win 11 23H2.22631.

Пара пропусков:
  1. Если в файле окончания строк LF или CR, то в Preview не работают переносы строк.
  2. Если ShowPreview=1, то при открытии окошко Preview получает фокус и не работает Esc. Ожидаемо, чтобы в фокусе был диалог Explorer. А если в фокусе Preview, то чтобы работал Esc.
Несколько пожеланий по косметике Preview:
  1. Окошку Preview напрашивается иконка AkelPad вместо той, которая сейчас.
  2. Кажется избыточным в заголовке окошка Preview отображать полный путь к файлу. Возможно достаточно только имени с расширением. Полный путь очевиден слева, в диалоге Explorer'а.
  3. Для переключения окошка Preview напрашивается хоткей, например, Ctrl+P (Alt+P зарезервирован системой, переключает системный Preview).
  4. Шрифт на кнопке Preview сейчас растровый "System". Ожидаемо, чтобы кнопка соответствовала окружающим контролам.
  5. Шрифт в окошке Preview сейчас растровый "System". Ожидаемо, чтобы шрифт наследовался из настроек AkelPad, как это делается в родном AkelPad'овском диалоге Open. Или стандартный моноширинный, но точно не растровый.
  6. Посмотрите, быть может интересно было бы добавить окошку Preview стиль $WS_EX_MDICHILD (0x00000040). Оно становится как палитра, можно размер менять, располагать где угодно, но при перемещении главного диалога оно перемещается вместе с ним.
Несколько соображений по компоновке. С учётом того, как у Вас сейчас. Цель: согласованность элементов Open и Save диалогов между собой, согласованность с системными элементами.

– Диалог Open. Обратите, пожалуйста, внимание:
  1. Кнопка Favorites расположена в одном столбце с деревом папок — и то, и другое относится к навигации, к путям.
  2. Кнопка Favorites выровнена по вертикали с системной кнопкой Organize — список со списком.
  3. Кнопка Preview расположена в одном столбце с системной кнопкой Preview.
  4. Кнопка Preview выровнена с кнопкой Cancel.
  5. Кодировка: сначала детект, затем список способов определения, затем список кодировок == «какая есть» –> «какая будет».
Image


– Если никакой файл не выбран, или выбран не текстовый, то вместо детекта кодировки можно было бы отобразить чёрточку:
Image


– При минимальной ширине диалога получается так:
Image


– Диалог Save. Обратите, пожалуйста, внимание:
  1. Кнопку Favorites на то же место не поместить, оно занято, но если и немного правее, всё равно согласуется с Open.
  2. Кодировка: «какая есть» –> «какая будет», BOM — согласуется с Open.
Image


– При минимальной высоте диалога получается так:
Image


– Сейчас Кодировка «прилеплена» к нижней границе, из-за чего получается слишком сильный зазор. Лучше бы прилепить к верхней.
Image


– И последнее (на сегодня). Кнопка Preview сейчас так выглядит, будто «что-то где-то не завелось». При тёмной теме это особенно заметно:
Image

Re: FileDialog plugin

Posted: Wed Aug 06, 2025 6:58 pm
by dothen
FileDialog plugin v1.3

Изменено: Класс окна предпросмотра Edit изменен на AkelEditW (теперь работают все переносы строк).
Изменено: Шрифт, цвет текста и цвет фона в окне предпросмотра наследуются из настроек AkelPad.
Изменено: Иконка и отображение имени файла в заголовке окна предпросмотра.
Изменено: Кнопка "Просмотр" в диалоге "Открыть".

Добавлено: Сочетание клавиш Ctrl+P вкл/выкл предпросмотр.
Добавлено: Сочетание клавиш Ctrl+U вкл/выкл перенос по словам в окне предпросмотра.
Добавлено: Сочетание клавиш Ctrl+Shift+P переключает фокус в окно предпросмотра и обратно.
Добавлено: Закрытие окна предпросмотра клавишей Escape.
Добавлено: Магнитное свойство для окна предпросмотра.
Добавлено: Распознавание и отображение кодировки без предварительного просмотра.
Добавлено: Параметр BytesToRead количество считываемых байт для предпросмотра.
Добавлено: Кнопка "Настройки", открывает меню настроек.
Добавлено: Вращение колеса на кнопке "Просмотр" перемещает курсор по файлам.
Добавлено: ПКМ + Вращение колеса на кнопке "Просмотр" переключает кодировку в режиме "Ручной выбор".

Исправлено: Установка фокуса при запуске диалога "Открыть".


yozhic
Спасибо за замечания. Посмотрите эту версию.
В этих диалогах есть проблемы с компоновкой, размеры и позиция элементов установлены системой, менять можно только порядок расположения.
А еще ограничен набор разрешенных элементов управления.