Релиз AkelPad 3.1.7

Russian main discussion
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Релиз AkelPad 3.1.7

Post by Instructor »

Изменено: подкорректирована работа со списком последних файлов.

Исправлено: чтение не инициализированной памяти при открытии пустого файла.


<<Скачать>>

Offline
Posts: 11
Joined: Wed Sep 20, 2006 8:04 am

Post by VitRom »

IMHO нужно доработать вот что:
1. "объединить" Ctrl+F и F3 - при отсутствии предыдущего поиска (на только что открытом файле) F3 должен вызывать диалог
2. вынести всё-таки в отдельное меню кодировки, как в Акеле-2 и как делалось c Акелом-3 здесь

Offline
Posts: 12
Joined: Wed Sep 13, 2006 12:59 pm

Post by Natrio »

Есть в меню AkelPad такой пункт - "Выполнить" (Ctrl+F5, кнопка на ToolBar), который может открыть редактируемый файл произвольно заданным в настройках способом: можно указать открывающее приложение с командной строкой и текущую папку для него.
Все это замечательно, однако как раз самый простой способ использования этого пункта почему-то не реализован. А дело все в том, что для открытия файла использована не функция Windows для выполнения файла или запуска программы, а функция ТОЛЬКО для запуска исполняемого файла.
Потому для того, чтобы файлы открывались программами, назначенными для их типа "по умолчанию" приходится использовать "костыли"

%a\DefOpen.exe "%f"

там, можно было бы просто

"%f"

, если бы AkelPad использовал вторую функцию.

* %a - рабочая папка AkelPad;
* %f - текущий файл;
* DefOpen.exe - мой "костыль" (скрипт s0m), который открывает этот файл с помощью второй функции.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Natrio

Code: Select all

rundll32.exe shell32,ShellExec_RunDLL "%f"

Offline
Posts: 12
Joined: Wed Sep 13, 2006 12:59 pm

Post by Natrio »

Instructor

Code: Select all

rundll32.exe shell32,ShellExec_RunDLL "%f"
Спасибо!
Но пока это всего лишь замена самодельного "костыля" на на системный - прямой вызов той самой функции из командной строки. Даже мне не пришло в голову, а что уж говорить о "простом юзере"? "%f" было бы проще...

Offline
Posts: 30
Joined: Tue Nov 28, 2006 7:26 am

Post by SpellCaster »

Прежде всего, хочу поблагодарить автора за такую замечательную программу! Она оказалась как нельзя кстати - вчера как раз озаботился поиском нормального блокнота, и AkelPad прямо-таки лёг мне на душу, вот теперь юзаю его и балдею потихоньку )) (особенно после того, как поставил плагин тулбара - поначалу отсутствие такового играло против выбора Акеля). Но что больше всего порадовало, так это крайне шустрое чтение 2-3-метровых файлов, даже двоичных, на которых остальные блокноты начинали натужно пыхтеть и виснуть, и мгновенный запуск самой проги.

Есть несколько предложений небольших, но полезных усовершенствований проги:

1) Возможность быстро выбирать между типами шрифтов - моноширинный или пропорциональный. Первый часто нужен для просмотра разного рода исходников, а второй - для обычных текстов. Каждый раз лазить в настройки, ясно дело, неохота.
Можно даже сделать определение по расширению файлов - напр., pas, cpp, php автоматом отображаются в моноширинном.

2) Неплохо бы дизаблить кнопку/пункт меню "Сохранить", если файл не изменён. Мне, например, легче отслеживать текущее состояние файла по иконке на тулбаре, чем по надписи в статусбаре. Кстати, надпись можно заменить на другой стандарт - звездочку в заголовке окна после названия файла (smth.txt * - AkelPad).

3) Предупреждение об открытии бинарного файла. Не очень хорошая идея, ИМХО. Лучше бы предупреждать менее навязчивым образом - бибикать звуком ошибки или рисовать иконку ворнинга в статусбаре.

4) Контекстное меню. Несолидно как-то юзать стандартное меню рич эдита. Можно было бы расширить его полезными командами из верхнего меню.

5) Команды смены регистра. По-моему, нерационально заводить кучу сочетаний на каждый вариант, можно ограничиться всео лишь двумя - инвертирование и изменение регистра. Вторая команда - аналог таковой в МС Ворд (очень удобная фича): по нажатию Shift-F3 регистр текущего слова или выделения меняется циклически. Думаю, нажать это сочетание дважды, максимум трижды, для достижения нужного эффекта легче, чем запоминать, какое из бессмысленных сочетаний Ctrl+цифра за что отвечает. Причём ОЧЕНЬ хорошо было бы менять регистр текущего слова, на котором находится курсор, без выделения такового - а то сейчас при отсутствии выделенного текста затрагивается весь файл целиком.

Offline
Posts: 1
Joined: Wed Nov 29, 2006 1:54 pm

Post by kononsys »

Отличная прога. Автору респект и уважуха.

Вопрос: Предпросмотра печти не нашел, он есть?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Пожелания

Post by VladSh »

Полностью поддерживаю SpellCaster'а! И по причине появления здесь (сидел на раньше на Bred-2, но он не развивается, пришлось искать замену) и по пожеланиям.

Очень благодарен авторам, но будут и предложения ;)


I. Баги.
1. Открываем обычный файл кодировки 1251 (курсор находится в позиции 1:1), жмём "Правка\Перекодировать из...", затем я для эксперимента выбрал 65001 (UTF-8) - текст нормально перекодировался.
Выбираю "Правка\Отменить" - весь текст файла уносит в неизвестном направлении...
2. Возможный баг: В меню "Правка\Выделение" всегда (чтобы бы я не делал) "заморожены" (не доступны) следующие пункты:
- Добавить Tab;
- Убрать Tab;
- Добавить пробел;
- Убрать пробел.
Вопрос: когда они доступны и для чего вообще нужны?
3. При открытии одного и того же текстового файла из окна архиватора (в частности WinRar) - он каждый раз открывается в новой закладке (MDI), хотя в настройках указано "не открывать файл дважды" - не удобно. Это хоть и условный баг, т.к. на самом деле открывается временный файл, но, думаю, это можно проанализировать.
4. Плагин LinkExtract. Открываю обычный текстовый файл с html-сылками, жму "Плагины\LinkExtract\Вызвать" - весь текст файла также уносит в неизвестном направлении...


II. Функционал.
1. Очень бы хотелось ещё 2 функции в подменю "Правка\Выделение": 'Убрать повторяющиеся пробелы' и 'Убрать повторяющиеся Tab'! Учень удобная вещь!!!
2. В "Правка\Перекодировать из..." хочется галку "Автовыбор", как и при открытии файла.
3. Как уже заметил SpellCaster - нужно усовершенствовать контекстное меню, - хотелось бы чтобы на Right-click при выделении вылетало меню с возможностью обработки выделенного текста функционалом "Правка\Выделение" + "...\Перекодировать из..."
4. В подменю "Файл\Последние файлы" есть Item "Удалить несуществующие" - это отлично, но в продвинутых прогах есть ещё некоторые полезные функции, хотелось бы видеть их и в AkelPad.
В частности по Right-click определённой позиции хотелось бы видеть контекстное меню с такими возможностями:
- Open base Folder (очень удобно открывать дирректорию, в которой находится этот файл для последующей работы в ней: запустить какие-либо др. файлы, не текстовые - экзешники и проч... В общем это значительно улучшает навигацию по ОС и работу в ней, а это ещё одно ЗА работать в AkelPad'е);
- --Separator-- ;
- Remove Item;
- Delete File.


III. Интерфейс.
1. Хороший плагин Lines, но использовать его неудобно по причинам:
- нужно каждый раз заходить в "Настройки\Плагины", искать нужный плагин, выделять его, а потом клацать "Вызвать";
- такая же неудобная альтернатива - горячие клавиши... лучше действительно одну комбинацию на весь плагин, которая будет выводить перечень функционала данного плагина.
Хотя самый лучший выход - это добавить весь функциолал этого плагина в подменю "Правка\Выделение", а также повесить на Right-click, как уже писал в п. II.2 - это будет бомба! :)
2. В меню (к примеру "Вид") не совсем удобная реализация CheckBox'ов (галочек). Когда клацаешь, то меню сразу же исчезает с экрана и не понятно, поставил ты галочку или нет, а может даже промазал и клацнул по ошибке на другую строку... вынужден возвращаться в меню и перепроверять. По моему, самая лучшая реализация была бы не убирать меню после клика на какой-либо пункт (убирать только после клика на область с текстом), возможно, что пользователь хочет и другие "галки" наклацать - ему придётся каждый раз вызывать одно и то же меню :(
Лучший внешний вид "галок", по моему был в Bred2, хотя там была та же проблема с меню.
3. Плагин ToolBar. Хорошо, что он есть, но можно ли сделать плагин с кнопками (картинками) в старом строгом стиле (Win 98)? А то эти XP'шные мультяшные пиктограмы уже достали...
4. Хочется чтобы в пункты меню, соответствующие командам в ToolBar, также отображались с теми же иконками (как это сделано в Bred2). Было бы лучше включить ToolBar непосредственно в программу, т.к. им пользуются практически все, а там уже настраивать - отображать или нет.
5. В папке AkelPad'е есть htm-файл, - т.н. "руководство пользователя". Хотелось бы не искать его на диске, а иметь возможность открыть его (справку) из меню "Справка", как во всех прогах.


С нетерпением ждём усовершенствований! :)

Offline
Posts: 47
Joined: Sun Jul 23, 2006 10:40 am
Location: Munich

Post by Photon »

Ну, Instructor, работы тебе привалило... :)
Насчет предпросмотра: Вроде нету. :D
@VladSh:
III 3+4: Я в программировании полный ноль, поэтому не знаю, можно ли это реализовать, но может попробовать для меню TBX (http://www.g32.org/tbx/index.html#Screenshots)? Там есть и старый и новый стиль и иконки в самих меню. Правда наверно это повлияет на скорость AkelPad'a? :?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

SpellCaster
1. Плагином. Возможно в 3.1.8 будет добавлено сообщение AKD_SETFONT.
2. Из History-Rus.txt AkelPad 3.0.3 - "Исправлено: нельзя было нажать сохранить в случае, когда не было сделано изменений, а редактируемый файл был удален."
3. Предполагается, что открытие бинарного файла не желательно. Например, при отсутствии "навязчивого" сообщения, случайное открытие из файлового менеджера 700Mb видео файла приведет к подвисанию программы.
4. Вы можете реализовать свое меню см. FAQ. (в Resource Hacker'e "Menu->4002->1033").

kononsys
Да, предпросмотра нету.

VladSh
I. Баги
1. Посмотрим.
2. Они доступны, когда выделено не менее одной строки.
3. При открытии из WinRAR'а, создается временный файл, как вы заметили, и при каждой распаковке файла, его имя(путь) уникально.
4. Посмотрим.

II. Функционал.
1. Плагином или заменять пока количество замен не станет равно нулю: что " ", чем " ".
Last edited by Instructor on Thu Nov 30, 2006 11:53 am, edited 1 time in total.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
I. Баги
1. Похоже на баг RichEdit'а. Проблема с отменой действий и сообщением EM_STREAMIN возникает, если в текст вставляются символы из арабского, иврита (RichEdit 3.0).
4. Поправил.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

По багам

Post by VladSh »

Instructor

I. Баги
Установил версию 3.1.8 и новую версию плагина; по пунктам 1,4 ничего не изменилось, могу выслать файл. Ивритом и арабским не пользуюсь :)
2. > Они доступны, когда выделено не менее одной строки.
Не доступны, хоть выделяй всё Ctrl + A.
3. > При открытии из WinRAR'а, создается временный файл, как вы заметили, и при каждой распаковке файла, его имя(путь) уникально.
Я об этом и говорил. Но если в пути файла есть знак $ ("доллара") и старт из Temp'овской папки, то при открытии файла можно запоминать контрольную сумму файла (к примеру MD5) и сделать глобальный List зависимостей закладок не от имени файла, а от контр.суммы.


Photon

> III 3+4: ... не знаю, можно ли это реализовать
Да, к примеру это было сделано в Bred2.
Вообще самая лучшая технология меню-тулбаров была в AutoCAD до версии 2005 включительно. Там *.mnu-файл (обычный текстовый) чем-то напоминал ini... короче можно было самому добавлять пункты меню, добавлять под свои макросы/проги или убирать неиспользуемые пункты меню и подменю. Также там настраивались и отображения картинок для меню и тулбаров + горячие клавиши. В итоге пользователь мог переделать интерфейс чисто под себя и сохранить/загрузить свой профиль.
Всё это можно было менять в одном единственном файле либо настраивать прямо из программы - для этого был спец. удобный интерфейс.

> может попробовать для меню TBX
Можно, но неохота разбираться в чужом коде, хочется чтоб всё уже было, да побесплатнее :)

> наверно это повлияет на скорость AkelPad'a?
Используя TBX... - думаю наверняка.
А на Bred2 никак не повлияло - ресурсы (рисунки кнопок) загружаются при загрузке проги, т.к. они есть на тулбаре. Сам Bred2 занимал всего лишь 75kb, да и работал быстрее всех, почти как родной виндовый notepad.

-----------------------------------------------------------------------------------
Updated:
нашёл побочный эффект плагина URLMenu - перестали открываться ссылки по DoubleClick - только с помощью RightClick-меню :(

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Установил версию 3.1.8 и новую версию плагина; по пунктам 1,4 ничего не изменилось, могу выслать файл.
Высылайте по пункту 4.
Ивритом и арабским не пользуюсь
Когда используется "Конвертировать из..." UTF-8 на тексте не являющимся UTF-8, то могут появляться самые разные символы.
Не доступны, хоть выделяй всё Ctrl + A.
Перенос по словам должен быть выключен.
нашёл побочный эффект плагина URLMenu - перестали открываться ссылки по DoubleClick - только с помощью RightClick-меню
Все верно.

Offline
Posts: 30
Joined: Tue Nov 28, 2006 7:26 am

Post by SpellCaster »

2. Из History-Rus.txt AkelPad 3.0.3 - "Исправлено: нельзя было нажать сохранить в случае, когда не было сделано изменений, а редактируемый файл был удален."
Полагаю, такие случаи бывают довольно редко. К тому же здесь много других возможностей:
1) Всё равно доступно "Сохранить как".
2) Можно просто ввести какой-нибудь символ, а затем стереть его
3) Посмотрел, как сделано в TextEd: после открытия команда "Сохранить" изначально доступна. Она дизаблится только после сохранения вручную.
3. Предполагается, что открытие бинарного файла не желательно. Например, при отсутствии "навязчивого" сообщения, случайное открытие из файлового менеджера 700Mb видео файла приведет к подвисанию программы.
Если дело только в этом, то не лучше ли выдавать предупреждение только для файлов большого размера? Причем это касается и текстовых: просто надо посмотреть, какой размер сколько грузится, и как только время превышает, скажем, 5 сек., брать этот размер за границу и при открытии спрашивать юзера, действительно ли он желает загрузить этот файл.
Также можно открывать бинарники изначально в режиме "Только чтение", чтобы случайно не повредить файл.
1. Плагином.
Понятно желание максимально разгрузить ядро программы потенциально невостребованными фичами. Однако не станет ли в итоге легкий блокнот неким громоздким конструктором, в котором на каждый чих требуется отдельный плагин - покруче файрфокса, который тормозит после прикрутки десяти практически необходимых плагинов?

P.S. Как насчёт включения в программу ХР-манифеста? Я, конечно, слепил файлик AkelPad.exe.manifest и положил рядом с прогой, но много ли народу до этого додумаются?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

SpellCaster
Однако не станет ли в итоге легкий блокнот неким громоздким конструктором, в котором на каждый чих требуется отдельный плагин - покруче файрфокса, который тормозит после прикрутки десяти практически необходимых плагинов?
Станет, если не иначе.
Post Reply