FileDialog plugin
- Author
- Message
-
Offline
- Posts: 40
- Joined: Thu May 05, 2022 5:38 am
FileDialog plugin
Last edited by dothen on Wed May 14, 2025 6:02 pm, edited 4 times in total.
-
Offline
- Posts: 43
- Joined: Sat Jul 05, 2008 11:30 am
- Location: Odesa, Ukraine
Re: FileDialog plugin
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.
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.
-
Offline
- Posts: 43
- Joined: Sat Jul 05, 2008 11:30 am
- Location: Odesa, Ukraine
Re: FileDialog plugin
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:
A ContextMenu entry:
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.
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)
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")
}
"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.
-
Offline
- Posts: 40
- Joined: Thu May 05, 2022 5:38 am
Re: FileDialog plugin
Сделал настройки в FileDialog.ini
-
Offline
- Posts: 40
- Joined: Thu May 05, 2022 5:38 am
Re: FileDialog plugin
FileDialog plugin v1.0
+ Выбор кодировки
+ Путь в заголовке диалога
+ Очистка поля ввода имени файла
+ Выбор кодировки
+ Путь в заголовке диалога
+ Очистка поля ввода имени файла
-
Offline
- Site Admin
- Posts: 6403
- Joined: Thu Jul 06, 2006 7:20 am
Re: FileDialog plugin
dothen
Можно ещё вызов для сохранения добавить
Можно ещё вызов для сохранения добавить

-
Offline
- Posts: 40
- Joined: Thu May 05, 2022 5:38 am
Re: FileDialog plugin
FileDialog plugin v1.1
Добавлено: Диалог сохранения файла.
Добавлено: Диалог сохранения файла.
-
Offline
- Site Admin
- Posts: 6403
- Joined: Thu Jul 06, 2006 7:20 am
Re: FileDialog plugin
Пожелание: добавить возможность сохранять с BOM.
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
Re: FileDialog plugin
Пожелание 1: перекомпоновать местоположение пунктов Автовыбор/Распознавание/Распознавание с BOM.
Взгляните, пожалуйста, возможно вот так было бы удобнее:

Описание соображения:
1. Доп. пункты переносятся в отдельный ComboBox, добавляется пункт «Выбор».
2. При выборе «Выбор» активизируется ComboBox выбора кодировки из списка.
3. При выборе остальных пунктов ComboBox выбора кодировки становится неактивным.
Каковы мотивы этого предложения?
1. Расположение универсальных пунктов Автовыбор/... в самом конце списка кодировок — неочевидно.
2. Если плагин предлагает альтернативу стандартному диалогу, то как минимум привычный функционал стандартного д-га не должен отсутствовать, а иначе какой смысл в альтернативе. Точнее, смысл то может и есть, но тогда альтернатива становится неполной.
Пожелание 2: ввести сохранение (запоминание) состояния комбобоксов. Пример: пользователь выбрал Распознавание, при следующем вызове плагина снова отобразится Распознавание.
Пожелание 3: вероятно была бы востребована возможность вызывать плагин из меню с параметром пути к папке. Например:
Спасибо 
Взгляните, пожалуйста, возможно вот так было бы удобнее:

Описание соображения:
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

-
Offline
- Posts: 40
- Joined: Thu May 05, 2022 5:38 am
Re: FileDialog plugin
FileDialog plugin v1.2
Добавлено: Создание дефолтного FileDialog.ini при запуске если файл FileDialog.ini не существует.
Добавлено: В диалоге "Сохранить", флажок "BOM".
Добавлено: В диалоге "Открыть", выпадающий список с пунктами "Выбрать", "Автовыбор", "Распознать", "Распознать с BOM".
Добавлено: Меню "Избранное".
Добавлено: Предварительный просмотр.
Добавлено: Запоминание настроек кодировки.
Добавлено: Параметры для внешнего вызова.
Добавлено: Создание дефолтного FileDialog.ini при запуске если файл FileDialog.ini не существует.
Добавлено: В диалоге "Сохранить", флажок "BOM".
Добавлено: В диалоге "Открыть", выпадающий список с пунктами "Выбрать", "Автовыбор", "Распознать", "Распознать с BOM".
Добавлено: Меню "Избранное".
Добавлено: Предварительный просмотр.
Добавлено: Запоминание настроек кодировки.
Добавлено: Параметры для внешнего вызова.
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
Re: FileDialog plugin
Спасибо большое за обновы!
Пока не всё ещё получилось опробовать, но то, что опробовал, работает исправно. И уже есть несколько наблюдений, поэтому начну делиться ими, а как созреют, подтяну и другие, чтобы не громоздить всё в кучу и не затягивать по времени. И, безусловно, всё что пишу — не больше, чем пожелания. Пригодятся в чём-то — добро, нет — не беда. А то иногда стараешься излагать сжато, чтобы время не отнимать, а со стороны кажется будто рулить полез — но такого даже в настроениях нет. Мой испытательный полигон: Win 11 23H2.22631.
Пара пропусков:
– Диалог Open. Обратите, пожалуйста, внимание:
– Если никакой файл не выбран, или выбран не текстовый, то вместо детекта кодировки можно было бы отобразить чёрточку:
– При минимальной ширине диалога получается так:
– Диалог Save. Обратите, пожалуйста, внимание:
– При минимальной высоте диалога получается так:
– Сейчас Кодировка «прилеплена» к нижней границе, из-за чего получается слишком сильный зазор. Лучше бы прилепить к верхней.
– И последнее (на сегодня). Кнопка Preview сейчас так выглядит, будто «что-то где-то не завелось». При тёмной теме это особенно заметно:
Пока не всё ещё получилось опробовать, но то, что опробовал, работает исправно. И уже есть несколько наблюдений, поэтому начну делиться ими, а как созреют, подтяну и другие, чтобы не громоздить всё в кучу и не затягивать по времени. И, безусловно, всё что пишу — не больше, чем пожелания. Пригодятся в чём-то — добро, нет — не беда. А то иногда стараешься излагать сжато, чтобы время не отнимать, а со стороны кажется будто рулить полез — но такого даже в настроениях нет. Мой испытательный полигон: Win 11 23H2.22631.
Пара пропусков:
- Если в файле окончания строк LF или CR, то в Preview не работают переносы строк.
- Если ShowPreview=1, то при открытии окошко Preview получает фокус и не работает Esc. Ожидаемо, чтобы в фокусе был диалог Explorer. А если в фокусе Preview, то чтобы работал Esc.
- Окошку Preview напрашивается иконка AkelPad вместо той, которая сейчас.
- Кажется избыточным в заголовке окошка Preview отображать полный путь к файлу. Возможно достаточно только имени с расширением. Полный путь очевиден слева, в диалоге Explorer'а.
- Для переключения окошка Preview напрашивается хоткей, например, Ctrl+P (Alt+P зарезервирован системой, переключает системный Preview).
- Шрифт на кнопке Preview сейчас растровый "System". Ожидаемо, чтобы кнопка соответствовала окружающим контролам.
- Шрифт в окошке Preview сейчас растровый "System". Ожидаемо, чтобы шрифт наследовался из настроек AkelPad, как это делается в родном AkelPad'овском диалоге Open. Или стандартный моноширинный, но точно не растровый.
- Посмотрите, быть может интересно было бы добавить окошку Preview стиль $WS_EX_MDICHILD (0x00000040). Оно становится как палитра, можно размер менять, располагать где угодно, но при перемещении главного диалога оно перемещается вместе с ним.
– Диалог Open. Обратите, пожалуйста, внимание:
- Кнопка Favorites расположена в одном столбце с деревом папок — и то, и другое относится к навигации, к путям.
- Кнопка Favorites выровнена по вертикали с системной кнопкой Organize — список со списком.
- Кнопка Preview расположена в одном столбце с системной кнопкой Preview.
- Кнопка Preview выровнена с кнопкой Cancel.
- Кодировка: сначала детект, затем список способов определения, затем список кодировок == «какая есть» –> «какая будет».
– Если никакой файл не выбран, или выбран не текстовый, то вместо детекта кодировки можно было бы отобразить чёрточку:
– При минимальной ширине диалога получается так:
– Диалог Save. Обратите, пожалуйста, внимание:
- Кнопку Favorites на то же место не поместить, оно занято, но если и немного правее, всё равно согласуется с Open.
- Кодировка: «какая есть» –> «какая будет», BOM — согласуется с Open.
– При минимальной высоте диалога получается так:
– Сейчас Кодировка «прилеплена» к нижней границе, из-за чего получается слишком сильный зазор. Лучше бы прилепить к верхней.
– И последнее (на сегодня). Кнопка Preview сейчас так выглядит, будто «что-то где-то не завелось». При тёмной теме это особенно заметно: