Форум » » Новая версия Aml Pages 9.68 » Ответить

Новая версия Aml Pages 9.68

Carc: Выложил новую версию Aml Pages 9.68 Более новая версия 9.82 анонсирована здесь. Что нового добавлено: экспорт документов Aml Pages в OPML (здравствуй, поддержка просмотра в Android и прочих мобильных устройствах); Добавлены кнопки закрытия закладок в панели История. Обзор новой версии в блоге опубликован тут детальный список изменений на сайте здесь. Change log in English on official web site

Ответов - 75, стр: 1 2 3 4 All

Carc: Обновил версию до сборки Aml Pages 9.68 сборка 2587 Добавлены кнопки закрытия закладок в панели История

Carc: В принципе кнопки закрытия вкладок пока поддерживаются только панелью Истории. Остальные режимы не показывают кнопку, но ее легко добавить. Там кода то на 3 строчки добавить понадобится...

metabark: Где можно скачать предыдущую версию? Обновил программу и теперь сплошные тормоза. Закладки страниц - история - черные, текста не видно. В самой программе часть иконок серый цвет и т.д.


Carc: metabark пишет: Обновил программу и теперь сплошные тормоза. Тормоза в чем заключаются? В какой момент проявляются? metabark пишет: Закладки страниц - история - черные, текста не видно. Windows какая используется?

Carc: Залил исправленную версию на сайт Aml Pages 9.68 сборка 2588. Больше не должно быть ни тормозов, ни проблем с прорисовкой вкладок в режиме История. + пара настроек на случай, если все равно проблема останется. Сам я проверил и старую сборку и новую 2588. XP SP3, Win7 Sp1 - вроде и так и эдак все неплохо было. Но все же настройку приделал на всякий случай.

metabark: Семерка, 1 SP. Скачал спасибо, вкладки в режиме история теперь видно. Иконка сохранить теперь видна - не серая Хм. Насчет реакции с отставанием - может раньше не замечал. Файл/Правка/Страницы... по ним навигация идет с отставанием с пару секунд - нажал и ждешь. Хм. Хотя обыватель что с меня взять. ПС. Спасибо за программу.

Carc: metabark пишет: Семерка, 1 SP. Скачал спасибо, вкладки в режиме история теперь видно. Иконка сохранить теперь видна - не серая Спасибо за ответ. А иконка сохранить серая когда нет несохраненных изменений и документ новый (не открытый из файла, а только что созданный и ни разу не сохраненный). metabark пишет: Хм. Насчет реакции с отставанием - может раньше не замечал. Файл/Правка/Страницы... по ним навигация идет с отставанием с пару секунд - нажал и ждешь. Хм. Хотя обыватель что с меня взять. Да, действительно - появились какие-то тормоза. С какого перепуга!?! Я и меню то там и вовсе не трогал в последних версиях. Спасибо за репорт! Буду разбираться.

Carc: metabark пишет: ПС. Спасибо за программу. Рад стараться! И Вам спасибо за развернутые репорты Кое что поправлю сегодня уже по их следам.

Carc: Обновил сборку до 2589: исправил тормоза при открытии подменю Файл\Правка\Страницы и иже с ними + изменения по мелочам.

serkis: Здравствуйте. Не знаю куда задать вопрос, решил сюда. Некоторые плагины (в частности Aml2CHM) устанавливаются на английском. Как переключить на русский, подскажите пожалуйста.

Carc: serkis пишет: Здравствуйте. Не знаю куда задать вопрос, решил сюда. Некоторые плагины (в частности Aml2CHM) устанавливаются на английском. Как переключить на русский, подскажите пожалуйста. А сам плагин Aml2CHM на английском, и русской версии его пока нет.

urasvon: Всё никак не дождусь версии, где вручную не надо будет назначать вместо прямоугольников - русский

Carc: urasvon пишет: Всё никак не дождусь версии, где вручную не надо будет назначать вместо прямоугольников - русский Переделано аккурат в последней сборке. Она помнит уже установленные для веб-страниц кодировки.

Carc: urasvon пишет: Всё никак не дождусь версии, где вручную не надо будет назначать вместо прямоугольников - русский Кстати говоря, там во всплывающей подсказки в меню быстрых настроек "Автовыбор кодировки" описано как оно работает.

SetQ: А как АМЛ переходит по страницам дерева? Есть команда, которую можно послать в окно АМЛ, и произойдёт переход на страницу? И нужен обязательно ID страницы? Я то хочу написать программку на AutoHotkey, с помощью которой можно будет переходить на страницу документа, но страница будет задаваться именем, а не ID. Плагином, наверно, это проще сделать, но хочу начать с отдельного приложения для этой цели.

Carc: SetQ пишет: А как АМЛ переходит по страницам дерева? Есть команда, которую можно послать в окно АМЛ, и произойдёт переход на страницу? Да, есть такие команды в Plugin API. Кагбэ дерево здесь одновременно и вьюха и контроллер. Т.е. если переход делается пользователем из дерева, то она посылает сигнал центральному документу. И наоборот, если переход как-то делается иначе (избранное, из плагинов, еще как-то) - то центральный документ посылает сигнал дереву мол переставь выделение. SetQ пишет: И нужен обязательно ID страницы? Ну да, нужен. Тот же плагин FavEx так делает. Ты посмотри в папке плагинов на файл FavEx***.ini. Там видно что на каждый айтем из запомненных плагином, запоминается и ID страницы. Он по сути в документе вечный, и почти никогда не меняется. SetQ пишет: Я то хочу написать программку на AutoHotkey, с помощью которой можно будет переходить на страницу документа, но страница будет задаваться именем, а не ID. Плагином, наверно, это проще сделать, но хочу начать с отдельного приложения для этой цели. С плагином точно легче. Aml Pages предоставляет диалог выбора страниц, и он доступен плагинам. Не напрямую конечно, но типа там примерно есть команда ПокажиДиалогВыбораСтраниц(настройки) и Aml Pages вернет плагину ID выбранной страницы, а он в свою очередь может попросить Aml Pages к ней перейти. А почему отдельное приложение? Какая цель? Что сделать то требуется? Просто все эти CallBack API они доступны только в DLL плагинов. Т.е. как это примерно сделано. Плагин экспортирует из DLL предопределенные функции, по которым Aml Pages с плагином общается. Какие меню куда вставить, как называется, что показывать в подсказке, какую функцию плагина дернуть когда будет выбрано это меню и.т.д. Есть некая предопределенная функция в DLL плагина (по имени) - которая если плагин попросит будет получать всяческие события от Aml Pages. Ну там документ открыли такой, документ сохранили такой то, изменилось выделение в редакторе текста. К примеру то же Автозавершение - это же просто плагин, который получает события о наборе текста в редакторе, и подставляет варианты. Но главное, в Aml Pages есть и свои функции, которые доступны из DLL. Все то же самое - DLL делает GetProcAddress(HMODULE AmlPages.exe, "ИмяФунции") и дальше дергает уже Aml Pages саму на предмет сделай-то или то. Ну понятное дело, там цельный движок работает для этих функций - проверяет все параметры от А до Я, чтобы не допустить сбоя. Но главное, что этот механизм подразумевает что DLL плагина должна быть загружена в пространство AmlPages.exe - тогда плагин сможет пользоваться этим механизмом экспорта функций из самого exe-файла Aml Pages. А отдельным exe как? Я не знаю? Если только будет какая то отдельная промежуточная DLL разве. PS: Ну ясен перец плагины бесконечным экспортом функций не занимаются. Есть вспомогательный модуль в исходном коде в Plugin SDK, который попросту содержит набор этих команд. А начинка модуля (реализациия, CPP-файл) уже и занимается этими самыми экспортами, чтобы плагинописатели этой рутиной не мучались. Ну как-то так...

SetQ: Ага, понятненько. В последнее время всё больше автоматизирую с помощью Autohotkey - он удобно переносится, писать можно в любом редакторе, сразу запускается. Вот первое что под руку попадается. Цель-то у меня такая: вот на странице где-то написано название другой страницы, я ставлю курсор в эту строку, нажимаю некое сочетание клавиш и перехожу на эту страницу. По сути, это механизм гиперссылки, но без гиперрсылок. У меня нечто подобное уже есть: в тексте я пишу имя файла (обычно, это файл книг в пдф или дежавю), нажимаю некое сочетание клавиш, программа на AHK берёт текст из строки, ищет в некой папке файлы, содержащие слово из строки, если нашёл - открывает. ИЛи ещё есть: в строке полный путь к файлу. Я кое-что нажимаю и этот файл открывается (без выделения текста вручную и Выполнить..), а нажму другое сочетание клавиш - откроется содержащая этот файл папка в проводнике.

Carc: SetQ пишет: Цель-то у меня такая: вот на странице где-то написано название другой страницы, я ставлю курсор в эту строку, нажимаю некое сочетание клавиш и перехожу на эту страницу. По сути, это механизм гиперссылки, но без гиперрсылок. Ну дерево ну сначала придется найти эту страницу по заголовкам - по идее это команда "Быстрый поиск" видимо. SetQ пишет: ИЛи ещё есть: в строке полный путь к файлу. Я кое-что нажимаю и этот файл открывается (без выделения текста вручную и Выполнить..), а нажму другое сочетание клавиш - откроется содержащая этот файл папка в проводнике. А я для этого написал себе TwinkiePaste... Горячая клавиша - меню под курсором с командами, а там чего хочешь можно: выделенный текст поискать в интернет, открыть выделенный текст - да что угодно собственно. К слову гиперссылку BB-кодом на страницу TwinkiePaste в абзаце выше я ею же и вставлял. Скопировал гиперссылку в буфер обмена, выделил - выбрал команду. Готово. Там с макросами дофига чего описать можно PS: ссылка на макросы была аналогично вставлена

SetQ: Carc пишет: выделенный текст поискать в интернет А у меня не надо выделять, программа сама выделяет тройным кликом, а потом снимает выделение.

Carc: SetQ пишет: А у меня не надо выделять, программа сама выделяет тройным кликом, а потом снимает выделение. Тройным кликом обычно выделяется все, а вот поискать нужно конкретную фразу только из текста...

SetQ: Carc пишет: Тройным кликом обычно выделяется все, а вот поискать нужно конкретную фразу только из текста... А потом программа и анализирует полученный текст.

Carc: Фишка не в анализе - там ума много не надо, а вот как его из чужой программы сравнительно честным способом издуплить, это вопрос еще тот.

Carc: SetQ пишет: Я то хочу написать программку на AutoHotkey, с помощью которой можно будет переходить на страницу документа, но страница будет задаваться именем, а не ID. Я так подумал, что в принципе можно такое сделать - разве что только без поиска не обойтись. 1. Выделяется текст или слово с кареткой - помещается куда-то в буфер AutoHotKey 2. Запускается поиск по заголовка с этим текстом через определенный WM_COMMAND 3. Опять же в диалоге поиска AutoHotKey нажимает ОК. На выходе ты получишь найденную страницу. Если чисто на AutoHotKey делать, то как-то так.

SetQ: Ну да, можно так. Сейчас попутно пописывают бота для одной браузерной интернет-игры. Там и текст ищу в окне браузера, и картинки. Уже до 21 уровня рудокопа дошёл. :)

Carc: Я вот что подумал, ты можешь напрямую из AutoHotKey выделить и в дереве страницу. Разве что иногда ее нужно в дереве рекурсивно поискать надо будет, если дерево свернуто. И нужно понимать, что дерево в Aml Pages строится динамически, по мере необходимости достраиваются нужные узлы. Всё дерево никогда сразу не строится после открытия документа. Сразу только ветка верхнего уровня. Плюс иногда, потом, в Idle-обработчике Aml Pages может потихоньку подстраивать ветки второго уровня - та еще кодяра там мутная, такой невменяемый полуконечный автомат, что даже я на него со страхом поглядываю. Сначала ветки, потом поищет последние измененые страницы, потом из Избранного, потом подветки всяко разно - состояния еще себе хранит всякие, один узел за один вызов - в общем неслабая там наворотка. Но если в двух словах, то если в родительского узла дерева есть дочерний узел - то родителя нужно развернуть, Aml Pages тогда достроит дочернюю ветку на лету. Но есть и хитропопый трюк, если дочерних нет - все ОК, ветка достроена - просто она пустая. Если дочерних узлов больше одного опять же - дочерняя ветка достроена точно. А вот если 1 дочерний - то это или достроена, но с одной дочкой, или это бутафорский дочерний узел, признак для Aml Pages, что ветку нужно достраивать при разворачивании. Главное: в достроенной ветке узлы хранят реальные названия страниц - все остальное это не текст. Это прорисоывается сбоку ручками, как текста для Windows этого нет.

SetQ: Да уж, шайтна-машина.

Carc: Выложил новую версию плагина Aml2Dropbox 2.14, с поддержкой последнего вышедшего Dropbox`а Также выложил новую версию плагина ChangeLog 1.03 с мелкими улучшениями. Статья про плагин тут Обновленный ChangeLog будет включен в ближайшую же сборку Aml Pages (есть там парочка улучшений, замечания - завтра\послезавтра выложу)

Carc: Выложил новую версию Aml Pages 9.68 сборка 2592 небольшой баг-фикс бизнес логики для автозапуска; изменения в панели закладок; обещанные обновленные версии плагинов;

SetQ: Ткнулся сейчас в поиск по заголовком с включенной опцией "Приблизетельный поиск". То ли я не правильно понял, как должно работать, то ли не работает. Никто не пользуется? И клавиши ctrl+1 - ctrl+5 не рабоют в этом окне.

Carc: SetQ пишет: Ткнулся сейчас в поиск по заголовком с включенной опцией "Приблизетельный поиск". То ли я не правильно понял, как должно работать, то ли не работает. Никто не пользуется? И клавиши ctrl+1 - ctrl+5 не рабоют в этом окне. Да, действительно не работают. Спасибо за репорт! Поправлю. А вообще приблизительным поиском как-то не очень пользуются. В перспективе я хотел его убрать. Но позже. В текущем UI это не особо мешает (но и не помогает), а вот в другой реализации явно будет лишним.

SetQ: Так работает приблизительный поиск сейчас или нет? У меня не работает. Ввожу слово из названия одного из документов, одну букву меняю на другую, ищу - результатов ноль. ЧЯДНТ?

Carc: SetQ пишет: Так работает приблизительный поиск сейчас или нет? У меня не работает. Ввожу слово из названия одного из документов, одну букву меняю на другую, ищу - результатов ноль. ЧЯДНТ? Да, мне там надо проверить - как-то там не все так просто стало с переходом на Unicode-версию...

Carc: В общем покопался... Действительно, я этот код с цифирью убрал давным давно, а надпись в пользовательском интерфейсе осталось. Сделал проще управление с клавиатуры Ctrl + стрелка влево\вправо, и то что надо. И проще, и не конфликтует с другими командами которые управляются через Ctrl+цифры (вкладки слева, переключающую панель дерева через в разные режимы).

SetQ: И ещё: результаты добавляются фильтром в дерево, а обратно этот фильтр не снять - пункт меню недоступен.

Carc: SetQ пишет: ещё: результаты добавляются фильтром в дерево, а обратно этот фильтр не снять - пункт меню недоступен. Меню Вид\Фильтры\Отменить - или то же самое в меню кнопки тулбара над деревом.

SetQ: Carc пишет: Меню Вид\Фильтры\Отменить - или то же самое в меню кнопки тулбара над деревом. я то смотрел в кнопке над деревом, сейчас попробовал снова на другом компьютере - норм, всё работает. Так что гляну перепроверю ещё. Но там точно - была недоступна, надо было ещё какой-нибудь фильтр включить и потом оба отключать.

Carc: SetQ пишет: я то смотрел в кнопке над деревом, сейчас попробовал снова на другом компьютере - норм, всё работает. Так что гляну перепроверю ещё. Но там точно - была недоступна, надо было ещё какой-нибудь фильтр включить и потом оба отключать. В общем, более менее там все правильно работает. Но стойкое ощущение неадекватности даже у меня осталось. Я переделал, вечером или завтра выложу обновленную сборку. Чтобы и в дереве результаты поиска по заголовкам показывались, и в панели закладок вкладки можно было закрывать.

Carc: SetQ пишет: я то смотрел в кнопке над деревом, сейчас попробовал снова на другом компьютере - норм, всё работает. Так что гляну перепроверю ещё. Но там точно - была недоступна, надо было ещё какой-нибудь фильтр включить и потом оба отключать. Умеешь ты утро пятницы обеспечить Покопался я в фильтрах, такую багу не видал я сроду причем и в тихую безлунную погоду... Там полдвижка фильтров дурит по черному. PS: спасибо за репорт!!!

SetQ: Обнаружен баг: при перемещении папки внутрь другой папки перетаскиванием мышью в дереве в этой папке назначения создаётся две копии перемещаемой папки. Если одну из копий удалить и если корзина была пуста перед этим (не отображалась в дереве), то после удаелиения этой копии коризина не появляется. Но главное, чтобы копия переносимой папки не возникала. А вот через Вырезать - Вставить корректно работает, только напрасно, мне кажется, после команды вырезать сразу удаляется объект вырезки из дерева: в проводнике виндовос ведь не так сделано, там то что вырезано - становится бледного цвета и из прежнего расположения до команды "Вставить" не изымается.

Carc: SetQ пишет: А вот через Вырезать - Вставить корректно работает, только напрасно, мне кажется, после команды вырезать сразу удаляется объект вырезки из дерева: в проводнике виндовос ведь не так сделано, там то что вырезано - становится бледного цвета и из прежнего расположения до команды "Вставить" не изымается. Я подумаю, как такое сделать. Там не так просто все сделать.

Carc: SetQ пишет: Обнаружен баг: при перемещении папки внутрь другой папки перетаскиванием мышью в дереве в этой папке назначения создаётся две копии перемещаемой папки. Если одну из копий удалить и если корзина была пуста перед этим (не отображалась в дереве), то после удаелиения этой копии коризина не появляется. Но главное, чтобы копия переносимой папки не возникала. Любимая бага, хит №1 Я эту багу наблюдаю уже который раз, но поймать ее устойчиво никак не могу. Не удалось заметить ли? перетаскивание именно папки, или просто страницы с другими дочерними страницами? перетаскивал куда? Вообще в другую ветку или как-то рядом?

SetQ: Carc пишет: Любимая бага, хит №1 Я эту багу наблюдаю уже который раз, но поймать ее устойчиво никак не могу. Не удалось заметить ли? перетаскивание именно папки, или просто страницы с другими дочерними страницами? перетаскивал куда? Вообще в другую ветку или как-то рядом? Довольно устойчиво повторяема. Именно перетаскивание папки, в другую ветку, т.е. не изменение порядка узлов. Могу посмотреть в файле примера sample.apd, что куда претащить для воспроизведения баги.

Carc: SetQ пишет: Довольно устойчиво повторяема. Именно перетаскивание папки, в другую ветку, т.е. не изменение порядка узлов. Могу посмотреть в файле примера sample.apd, что куда претащить для воспроизведения баги. Да, посмотри плз. Перетаскивать можно что угодно. Файл sample.apd всего лишь демонстрашка и не более.

SetQ: Например, так: надо перетащить папку "Примеры использования и советы" в папку "Другие наши продукты" (в запросе выбрать "Переместить в [Другие наши продукты]"), а потом обратно в коревую папку "Это демо-пример документа".

Carc: SetQ пишет: Например, так: надо перетащить папку "Примеры использования и советы" в папку "Другие наши продукты" (в запросе выбрать "Переместить в [Другие наши продукты]"), а потом обратно в коревую папку "Это демо-пример документа". Даа-а-а, знатная бага - могучий варяг. Ох уж мне этот драгндроп... А вот вопрос на засыпку: кто нибудь пользуется перетаскивание из дерева во вне дерева? Именно вовне, а не внутри дерева? А то я там такие навороты с драгндропом через OLE наворотил, что мало не покажется, хоть из проводника таскай, хоть во в него. Круто, не то слово. Как оно работает - я и сам до сих пор не очень понимаю. Отсюда и кой-какие баги торчат - и главное править их, с ума сойдешь - такой дремучий лес там код тогда получился. А что по сути? Как оказалось, драгндроп в 99 из 100 нужен в пределах дерева и только. А там никакое OLE не нафиг не нужно. И все можно реализовать проще, а соответственно и без багов. А для оставшегося 1 из 100 случаев есть команда "Переместить В", есть Копировать\Вставить... Может переделать драгндроп в следующей версии напопроще, зато поаккуратнее? Но отсюда и вопрос: нужен ли кому драгндроп из дерева во что то внешнее?

SetQ: При переносе из дерева в проводник у меня в Вин 8.1 ничего не происходит. Пока ни разу не понадобилось таскать из дерева куда-либо ещё.

Carc: SetQ пишет: При переносе из дерева в проводник у меня в Вин 8.1 ничего не происходит. Дык в том то, все и дело: что там такие навороты, что перетаскивать можно куда угодно: хоть в Проводник, хоть на Рабочий Стол, хоть в Корзину, хоть на сетевой диск. Shell-подсистема запросит данные у Aml Pages после перетаскивания. Технологически это сделано - это и есть OLE Drandrop. Т.е. есть тонна сложнейшего кода по поддержке перетаскивания куда угодно, но Aml Pages его не задействует в смысле "куда угодно", а внутри нее драгндроп работает по той же технологии. SetQ пишет: ока ни разу не понадобилось таскать из дерева куда-либо ещё. И я о том же. Shell-подсистема данные то запросит, вот мол притащили сюда-то, чего изволите. Да толку? Ну зачем что-то вытаскивать из Aml Pages вовне? Я понимаю, еще там текст. Дык с этим без проблем - текст перетаскивается отдельным функционалом. И это так и так будет работать. Навскидку: выдели текст в редакторе и перетащи его куда-нить в тот же Ворд или ВордПад. Все работает. Текст перемещается\копируется. Но вот что делать при перетаскивании узлов дерева? Поэтому когда shell запрашивает данные после перетаскивания из дерева, то Aml Pages собственно ничего и не делает, хотя и умеет. В общем те еще навороты. А перетаскивание исключительно всегда внутри дерева идет. Вот я и подумал. А может забить на крутое перетаскивание куда-угодно - все равно куда-угодно никто не перетаскивает, и переписать драгндроп с нуля. Он будет работать только в пределах дерева - зато надежно и без багов.

SetQ: Вообще, на мой взгляд, таскать между окнами неудобно, я и в других программах ничего не таскаю между окнами. Это, конечно, интуитивно понятная операция - на уровень домохозяек - взял на этой полке, положил на ту. Если серъёзное что-то надо перенести, обычно есть экспорт-импорт в программах.

Carc: SetQ пишет: Вообще, на мой взгляд, таскать между окнами неудобно, я и в других программах ничего не таскаю между окнами. Это, конечно, интуитивно понятная операция - на уровень домохозяек - взял на этой полке, положил на ту. Если серъёзное что-то надо перенести, обычно есть экспорт-импорт в программах. Воооо! Узнаю брата Колю (Ц) Точно такого же мнения. Попробуй догадайся, почему есть настройка отключить перетаскивание текста? Проблем больше чем пользы. А началось таскание между окнами с банального перетаскивания между окнами открытых документов в Aml Pages. Потом "Пообедали, не хватило! В гастроном. Не хватило!" (ц) понеслось короче - перетаскивание на рабочий стол, в проводник и прочия. Месяца два наверное писал всё это в незапамятные времена. А когда оно закончено было, то выяснилось что это всё нафиг не нужно. Даже я сам не пользуюсь кроме как в дереве, ибо неудобно совсем. Хотя уж я то в Aml Pages все поднаготные фокусы знаю (навскидку: зайди на любую веб-страницу, скопируй URL из адресной строки, и нажми в меню на Aml Assist, "Добавить в страницу" - сколько всего интересного Aml Pages надергает с веб-страницы вместе с URL. Все собираюсь описать эту штуку да руки не доходят). А еще вдовесок получилось, что поддерживать, улучшать код такого супер-пупер перетаскивания, да хотя бы изменять его - просто невозможно. Такой дремучий лес намешанный с маршаллингом, что рехнуться можно. Предлагаю: резать не дожидаясь перитонита. Сделать новый драгндроп в дереве. Без наворотов, зато удобный и без проблемный. Вчера, устав от креатива, набросал прототипичик класса примеси, который полностью берет обработку драгндропа на себя (таскание, картинки, скроллинг вверх-вниз, разворот папок), только аккуратненько дергая бизнес-логику и контроллеры - мол вот сюда вот значит притащили, отсюда вот значит. Аккуратненько так получается как я посмотрел. Все очень просто, понятно, легко изменять. И фиг с ним с драгндропом в проводники и рабочие столы. Ты не поверишь - разрыв шаблона - даже домохозяйки не таскают узлы дальше дерева. И чего я собсна выпендриваюсь?

Carc: SetQ пишет: А вот через Вырезать - Вставить корректно работает, только напрасно, мне кажется, после команды вырезать сразу удаляется объект вырезки из дерева: в проводнике виндовос ведь не так сделано, там то что вырезано - становится бледного цвета и из прежнего расположения до команды "Вставить" не изымается. В общем, поковырял я отложенное вырезать-вставить. Не сработает это в Aml Pages. Там технология какая? В буфер обмена через Ole вставляет в буфер обмена только формат данных которые якобы туда копируются. Сами данные никуда не вставляются. Кешируются OLE-интерфейсом (нашей реализацией). Затем, когда буферу обмена с какого то перепуга кто-нибудь запросит реальные данные, дергается этот самый наш интерфейс. В этот момент он де факто и копирует данные. Если данные не запрошены, то интерфейс освобождается и он в этот момент знает, кешировал он данные или нет. Как тогда работает? В момент Вырезать, мы декларируем в буфере обмена формат Aml Pages и помечаем вырезанными узлы дерева. Потом когда реально буфер обмена запросит данные, интерфейс может дернуть саму Aml Pages, мол подруга - реально им данные понадобились. В этот момент Aml Pages де факто аккурат и удаляет вырезенный (помеченный) узел. А что на самом деле? RichEdit в течении 10 миллисекунд после команды "Вырезать" - просит данные. Как сказал выше, тут их и надо удалить из дерева. Собственно, получаем ту же проблему только в профиль. Данные практически сразу же будут вырезаны. Ничего это не решает. Пока активно не используется OLE, то все на простых примерах работает. А в Aml Pages RichEdit очень активно использует OLE. И все сводится к той же проблеме. В старом варианте все сразу вырезается. А в новом с отложенным вырезом транзакция распределенная по времени. Только таймауты между шагами в десятки милисекунд. Собственно для пользователя разницы вообще никакой. Что вижу? Проблема только в одном. Вырезали данные, из дерева они ушли, вырезали еще. И данные первого выреза больше никому не доступны вовсе. Из дерева ушли на первом шаге, на втором вырезе их затерло новыми в буфере обмена. Это означает что они больше никому не доступны. Как решать. Ну могу отмену прикрутить для вырезания из дерева. Делов-то: типа очереди\стека на 10 отмен например, на 10 последовательных вырезов. Сами данные есть, откуда вырезали знаем. Соответственно можно отменить из очереди (вставить обратно). Только в контекстном меню дерева не хочу размещать. Там и так дофига уже. А вот в главном меню - пожалуйста. А чтобы память не ело мегами - можно сделать ограниченную очередь отмен. Все равно это защита от случайностей. Достаточно будет буфера отмен на 5-10 последовательных команд "Вырезать"

SetQ: Carc пишет: Только в контекстном меню дерева не хочу размещать. Там и так дофига уже. А вот в главном меню - пожалуйста. А чтобы память не ело мегами - можно сделать ограниченную очередь отмен. Все равно это защита от случайностей. Достаточно будет буфера отмен на 5-10 последовательных команд "Вырезать" Через меню Правка-Отмена к месту будет весьма.

Carc: SetQ пишет: Через меню Правка-Отмена к месту будет весьма. Ок, ну приделаем тогда со временем. Там как бы всё очевидно, но надо немного над архитектурой подумать, где разместить, ответственность и прочее.

Carc: Залил новую версию Aml Pages 9.68 build 2593 Масса баг-фикса: приблизительный поиск, фильтры, отображение результатов поиска в дерева и многое другое.

LordNEVR: Carc пишет: Aml Pages 9.63 build 2593 Очепятка.

Carc: LordNEVR пишет: Очепятка. Угу, точно! Спасибо Исправил

Carc: ОПРОС: Кто нибудь пользуется плагином Aml2Dropbox? Если да, то а) накатывали ли последнее обновление от Dropbpox до версии 3.10.11 и\или рядом номер? б) не появились ли проблемы в работе плагина? Потому как у меня лично проблемы в работе плагина возникли, и еще у одного пользователя то же. Hot Bug Fix уже внесен, и у меня плагин поднялся. Но не все так гладко, у другого пользователя те же проблемы остались.

kutshai: Здравствуйте При перемещении папок узлов дерева (хватаю мышкой, тащу, выбираю пункт "изменить порядок узлов) порядок узлов меняется так: вместо сдвигаемой папки сдвигается та, которая выбрана целью. Сортировка родительской папки стоит "Вручную", "Папки сверху". Перед перемещением несколько раз сворачивал-разворачивал списки подпапок для нескольких папок в главной родительской папке. Пример: Папка1 Папка2 папка3 Папка4 Папка5 Хватаю папку2, тащу к папке5, выбираю изменить порядок узлов, получаю: Папка1 Папка5 Папка2 папка3 Папка4 Помимо этого: Невозможно настроить шрифт редактора в настройках внешнего вида. Какой бы шрифт не был выбран все равно подставляется "Aucida Sans Unicode, 10 abcdefghijklmnopqrstuvwxyz". Размер, вроде, меняется При этом в результате, что ни выбери, сам шрифт похож на ms sans serif Версия: 9.68 сборка 2593, RICHED20.dll 12.0.4518.1014 Windows 7 лицензия

Carc: kutshai пишет: Помимо этого: Невозможно настроить шрифт редактора в настройках внешнего вида. Какой бы шрифт не был выбран все равно подставляется "Aucida Sans Unicode, 10 abcdefghijklmnopqrstuvwxyz". Размер, вроде, меняется При этом в результате, что ни выбери, сам шрифт похож на ms sans serif Откуда выбирали шрифт? Из меню или из диалога настроек? Галку "Использовать по умолчанию при выборе шрифта" включали?

kutshai: Carc пишет: Откуда выбирали шрифт? Из меню или из диалога настроек? Галку "Использовать по умолчанию при выборе шрифта" включали? Выбирал из меню: Сервис - настройки - Внешний вид - Шрифт и значки - Изменить. Выбираю "ms sans serif", он подставляется в окошко, нажимаю ОК, в результате получаю "Mucida Sans Unicode" Если выбирать через меню Формат - Шрифт, то шрифт не изменяется, ни в выделенном фрагменте, ни вообще, ни для установленной галки "Использовать по умолчанию", ни для снятой. Поведение не зависит от типа представления странички, что простой текст, что форматированный. Фрагмент текста не меняет шрифт. Попробовал и на домашнем компьютере, и на рабочем - одинаковое поведение. Windows 7 Версия: 9.68 сборка 2593, RICHED20.dll 12.0.4518.1014 (на рабочем) Вопрос: Файл настроек ini сохраняется с именем пользователя, правильно понял? На работе захожу под корпоративным именем, дома под домашним. Есть ли возможность в настройках указать откуда и какой файл настроек использовать?

Carc: kutshai пишет: Вопрос: Файл настроек ini сохраняется с именем пользователя, правильно понял? На работе захожу под корпоративным именем, дома под домашним. Есть ли возможность в настройках указать откуда и какой файл настроек использовать? Нет, такой возможности нет. Aml Pages сама автоматически решает где файл. Но есть импорт\экспорт настроек. Ну сами подумайте, если бы была возможность указать пользователю из какого ини-файла брать настройки, то Aml Pages должна была бы где-то запомнить выбранный файл (его же пользователь выбрал). И где? В ини-файле? А в каком? Ведь для него же понадобится указать в каком? И запомнить для него? А для того, второго ини-файла... и.т.д. Можно конечно завести какой-нибудь мастер-ини файл, в котором будет храниться путь к ини. Но тогда это нарушит разделение настроек между разными пользователями. А импорт\экспорт настроек есть в меню Сервис\Настройки. В самом диалоге Настройки так же есть меню - там в подменю Файл есть команды Экспорта\Импорта настроек. Это помогает переносить настройки. Хотя конечно по 5 раз в день это не сделаешь - команда редко используемая и положена куда подальше. ЗЫ: импорт\экспорт работает почти прекрасно, помимо разве что а) списков последних файлов - т.к. они частенько хранятся как относительные пути, и соответственно соотносятся они как раз с путем с исполняемым файлом AmlPages.exe б) настройки отдельных кнопок на отдельных тулбарах - тут я вовсе не знаю как такое мимо реестра писать. Костыли есть, но это не наш метод. В остальном, все должно работать ОК. Т.к. нет никакого отдельного экспорта\импорта. Есть движок чтения\сохранения настроек. В случае если пользователь выбрал хранить настройки в ини-файле, Aml Pages вычисляет имя ини-файла сама, автоматически. А в случае импорта\экспорта работает тот же движок из настроек, только пользватель сам ему передает имя файла для экспорта\импорта.

Carc: С изменением порядка узлов дерева после перетаскивания, да есть бага. Поправлю! Спасибо за репорт!

Carc: kutshai пишет: Здравствуйте При перемещении папок узлов дерева (хватаю мышкой, тащу, выбираю пункт "изменить порядок узлов) порядок узлов меняется так: вместо сдвигаемой папки сдвигается та, которая выбрана целью. Сортировка родительской папки стоит "Вручную", "Папки сверху". Перед перемещением несколько раз сворачивал-разворачивал списки подпапок для нескольких папок в главной родительской папке. Исправил! Спасибо за репорт! К вечеру выложу обновленную сборку!

Carc: kutshai пишет: Помимо этого: Невозможно настроить шрифт редактора в настройках внешнего вида. Какой бы шрифт не был выбран все равно подставляется "Aucida Sans Unicode, 10 abcdefghijklmnopqrstuvwxyz". Размер, вроде, меняется При этом в результате, что ни выбери, сам шрифт похож на ms sans serif Еще раз проверил выбор шрифтов под семеркой. Да вроде нормально все, все правильно выбирается.... А из панели шрифты как выбирается шрифт, нормально?

Carc: Выложил сборку 2594. Исправления для перетаскивания узлов дерева + работа со шрифта малехо переделана.

kutshai: По мере сил заморочился, постараюсь описать Попробовал выбрать шрифт из панели "Шрифт". Шрифт меняется для текущей странички и для всех страничек с типом представления "Простой текст". И на этом можно было остановиться. НО! Иногда после изменения в панели "Шрифт" в редакторе не отображаются изменения шрифта, изменения шрифта применяются только после перехода на папку дерева, потом возвращаемся на страничку, тогда изменение шрифта отображается. Такая штука происходит если менять шрифт несколько раз подряд. Стабильного алгоритма нет, от количества замен не зависит. Сидишь тыкаешь два шрифта Таймс и Курьер — шрифты, якобы, меняются, тыкнул Ариал после Таймса — не изменился, продолжаем менять Ариал/Таймс — изменений нет. При этом на самом-то деле на Таймс с Курьера не менялся, а менялся на Ариал, т.е. в панели меняем Курьер на Таймс, шрифт явно меняется, но это явно не Таймс (скорее всего Ариал), Таймс отобразится после прыжка дерево-страница. На Курьер все шрифты меняются корректно, отображается сразу, без прыжков. Я выбирал кириллические шрифты. Использовал дефолтную Lucida, Times new roman Cyr, Arial cyr, Courier new cyr. Прыгал между ними. Размер шрифта выбирал 14 чтобы было нагляднее Попробуйте такую комбинацию: указать для начала Lucida, затем выбрать Ариал, затем Courier new, а за ним выбрать Times new roman. И обратите внимание на получившийся Times new roman, это реально он, точно? )) При чем, вот этот самый текст набирал в Aml Pages. Порой, латинские названия шрифтов, которые тут написаны, отображались жирно при смене шрифта, а после скачка на папку дерева, возврата обратно в страничку, они отображались нормально, при смене шрифта на другой тоже жирность пропадает. Все это для страницы простого текста Завтра проверю на рабочей машине. Винды разные, но софт примерно одинаковый стоит. Может у меня что-то стоит, "благодаря" чему и происходит такая грязюка. Меня это особо не парит, тем более, что способ выбора шрифта найден )) Надеюсь, что написал понятно. Видео снимать с экрана не стал, не настолько проблема для меня лично важна. А если у Вас не повторяется, то, думаю, видео мое ничем не поможет, но если прям нужно, то сниму Тестировал установленную Aml Pages. Версия: 9.68 сборка 2593, RICHED20.dll 12.0.4518.1014

Carc: Еще поковыряю. Сегодня я уже не успеваю, а завтра наверное выложу поправленную сборку 2594 (перетаскивание узлов дерева с изменением порядка переделано, и улучшен выбор шрифтов).

Carc: Новая версия Aml Pages 9.68 сборка 2594 исправления для перетаскивания узлов дерева для изменения порядка; масса мелких улучшений.

SetQ: Ага, та бага с перетаскивание папок не повторяется. Это совершенно новый движок? Другую багу заметил. Если в страницу простого текст поместить такой текст: текст, затем текст с точками внутри, а потом на новой строке собаки: ddd.ddd.ddd @@ включается подсветка гиперссылки, которой нет то возникнет подчёркивание гиперссылки на разрыве двух строк. Для воспроизведения бага в конце первой строки надо удалить пробел, если он будет после копирования, это за текстом "ddd.ddd.ddd". Поясню, как я обнаружил этот баг: строкой @@ я подсвечиваю текст в своей синт. подсветке.

Carc: SetQ пишет: Ага, та бага с перетаскивание папок не повторяется. Это совершенно новый движок? Та нет. Это старый движок. В том то и дело, что бага с перетаскиванием какая-то мигающая, и я никак не возьму в толк с какого такого перепуга она и вовсе возникает. Там данные передаются через XML, дык вот он парсится нормально. А дальше что-то там MFC, судя по всему мутит со считыванием данных из буфера...

Carc: В принципе я этот движок драгндропа уже прикрутил в редактор фраз TwinkiePaste. Там можно поиграться и посмотреть как оно примерно будет выглядеть.

Carc: SetQ пишет: то возникнет подчёркивание гиперссылки на разрыве двух строк. Для воспроизведения бага в конце первой строки надо удалить пробел, если он будет после копирования, это за текстом "ddd.ddd.ddd". Поясню, как я обнаружил этот баг: строкой @@ я подсвечиваю текст в своей синт. подсветке. А можно весь сбойный текст? И потом, там вроде же нет в синтаксической подсветке подсветки именно ссылок. Это делает сама Aml Pages. Т.е. она и так и так делает подсветку ссылок сама, но правила для синтаксической подсветки задаются в ash-файлах. А там правил нет для подсветки гиперссылок. Хотя бы потому, а что с ними делать, когда кликают по ним?

SetQ: Да, синт. подсветка здесь не причём. Просто я использую символы @ в начале строки из-за своей подсветки. Вот пример, где появляется подчёркивание гиперссылки: https://yadi.sk/d/2FoSXJB3kj2NN А где у меня возникло такое сочетание, сейчас и не найду, но это не суть.

Carc: SetQ пишет: Да, синт. подсветка здесь не причём. Просто я использую символы @ в начале строки из-за своей подсветки. Вот пример, где появляется подчёркивание гиперссылки: https://yadi.sk/d/2FoSXJB3kj2NN Да, действительно подсвечивает как емейл. Поправлю. Спасибо за репорт!

SetQ: Carc пишет: Да, действительно подсвечивает как емейл. Поправлю. Спасибо за репорт! Ещё не появилась исправление?

Carc: SetQ пишет: Ага, та бага с перетаскивание папок не повторяется. Это совершенно новый движок? Выложил новую версию Aml Pages 9.69 с новым движком драгндропа в дерева.



полная версия страницы