мелкий баг/нюанс:
открываем файл в akel, меняем в системе часовой пояс на другой => akel начинает ругаться на то, что файл был изменен извне (причем при каждой активации окна akel).
возможный вариант фикса: запоминать время редактирования файла не локальное, а системное (которое вроде не зависит от локальной зоны)
Posted: Tue Jul 01, 2014 5:53 am
by Instructor
DrakonHaSh
Это "мелкий баг/нюанс" WinAPI из-за разницы показаний GetFileTime и FindFirstFile.
Хотя странно, что AkelPad не сохраняет настройки/кеш в %AppData% или %LocalAppData%. Программа, поддерживающая Windows 7, не должна полагаться на запись в системные каталоги. Это является грубой ошибкой.
Posted: Wed Jul 16, 2014 12:05 pm
by Instructor
Infocatcher wrote:Видимо, какая-то проблема с настройкой «Следить за изменением файла»...
var hMainWnd=AkelPad.GetMainWnd();
var oSys=AkelPad.SystemFunction();
var pFile;
var lpFileTime;
if (pFile=AkelPad.GetEditFile(0))
{
if (oSys.Call("kernel32::DeleteFile" + _TCHAR, pFile))
{
lpFileTime=AkelPad.SendMessage(hMainWnd, 1223 /*AKD_GETFRAMEINFO*/, 133 /*FI_FILETIME*/, 0);
AkelPad.MemCopy(lpFileTime + 0 /*offsetof(FILETIME, dwLowDateTime)*/, 0, 3 /*DT_DWORD*/);
AkelPad.MemCopy(lpFileTime + 4 /*offsetof(FILETIME, dwHighDateTime)*/, 0, 3 /*DT_DWORD*/);
}
}
Posted: Thu Jul 17, 2014 10:37 am
by Infocatcher
Instructor
Спасибо!
Я правильно понимаю, что размер файла функция слежения за изменениями не учитывает – только время модификации?
Posted: Sun Jul 20, 2014 9:13 am
by Instructor
Infocatcher
Верно.
Posted: Wed Jul 30, 2014 6:17 pm
by VladSh
Instructor wrote:Добавлено (AkelPad 4.8.2): ручной параметр для "MouseOptions" со значением 64 - выделять всю, разделенную переносами, строку при клике в зону левого отступа.
У меня MouseOptions=87.
Только что заметил, что если клацать в зону левого отступа, то работает, а вот если тянуть, выделяя строки поочерёдно, и остановиться, то последняя строка будет без захвата, т.е. не будет выделена вся.
Это наверное не баг, а фича, но хотелось бы чтобы оно и при "протяжке" курсора мыши работало.
P.S. Возникла идея - чтобы срабатывало не на клике, а при отпускании лкм после клика.
Определение кодировки происходит как ANSI 1251. Но если мы добавим 11-й знак ®, то кодировка определяется как OEM 866.
Можно это подправить в следующей версии?
Posted: Sun Aug 17, 2014 11:15 am
by Drugmix
Баг: не срабатывает подсветка дубликатов выделенного слова в дополнительных частях окна (split window vertically/horizontally/into four panes), если слово на момент выделения не было видно в них из-за прокрутки.
Если слово в них находится в видимой области - то подсветка срабатывает нормально.
EDIT: отзываю багрепорт
оказывается, клик в тексте для активации другой панели - снимает выделение. Если прокручивать кликая по кнопкам скроллбара, то видно, что бага нет.
Posted: Sun Aug 17, 2014 12:12 pm
by Drugmix
Баг AkelUpdater'а: вызвать окно AkelUpdater'а (Help>Update), кликнув ЛКМ по строке в верхнем списке (где указана версия акелпада) выделить её, повести курсором вверх, чтобы он прошёл через слово "Программа" и пустое место над ним.
Результат: верхний список (состоящий из одной строки) очищается навсегда. Помогает только закрытие и повторное открытие этого окна.
Баг вылез на x64 версии параллельно с до сих пор не исправленным багом исчезающих пунктов меню.