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

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

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

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

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 вычисляет имя ини-файла сама, автоматически. А в случае импорта\экспорта работает тот же движок из настроек, только пользватель сам ему передает имя файла для экспорта\импорта.



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