Notes |
|
(0001003)
|
feya
|
15-02-2011 13:02
|
|
Я уже думал о том, чтоб избавиться от IE. Единственный нормальный вариант использовать Gecko SDK, но тогда придется тоскать с программой посути целый браузер, ибо весят эти библиотеки метров 15. Я к этому не готов пока) |
|
|
(0001098)
|
Tikh
|
03-03-2011 11:55
|
|
А нельзя просто сделать так, чтобы открывалось окно в выбранном на машине пользователя "браузере по умолчанию"? |
|
|
(0001100)
|
gpsMax
|
04-03-2011 20:41
|
|
Это будет неудобно - туда-сюда между окнами скакать. |
|
|
|
А какой конкретно браузер нужен? Для разных броузеров методы взаимодействия разные, не факт вообще, что он предоставляет библиотеку классов, например, или как олеаутосервер доступен.
>Единственный нормальный вариант использовать Gecko SDK
Ну как даже не временная затычка и не костыль, можно дать возможность просто открывать ссылку сразу в новом окне (по ПКМ или настройкой вообще по простому клику), а там уж пусть юзер думает, чего у него за зверь по умолчанию установлен. По аналогии с "Пуск" - "Выполнить" - там вводишь адрес http и открываешь. В общем, через shell32.dll вроде должно работать нормально. В конце концов, если надо просто кому-то дать ссылку на panoramio или если поглядеть все данные фотки, нет необходимости открывать встроенное окошко, хоть трижды IE стоит, всё равно из него уходить по "открытию в новом окне" в браузер. |
|
|
(0001154)
|
gpsMax
|
10-03-2011 18:51
|
|
Стоит оставить возможность встроенного окошка, оно, несмотря на то, что это IE, годное и комфортное. |
|
|
|
Да ещё если бы хотя бы два применения было у этого окошка, а из-за одного Панорамио городить... |
|
|
|
Еще есть как минимум Викимапия... |
|
|
|
То, что открывается в окошке от Викимапии, лучше бы вообще не открывать. Всё, что там написано, притом без всяких там "quot" и проч., видно при наведении мыши на объект. |
|
|
(0001167)
|
Tikh
|
11-03-2011 05:24
|
|
А описание метки открывается не в этом же окне ИЕ? |
|
|
(0001169)
|
gpsMax
|
11-03-2011 07:51
|
|
> То, что открывается в окошке от Викимапии, лучше бы вообще не открывать. Всё, что там написано, притом без всяких там "quot" и проч., видно при наведении мыши на объект.
Тултипы (хинты) могут глючить, могут быть вообще отключены. Но, вообще, соглашусь, стоило бы сразу автопереходить по ссылке. |
|
|
|
В общем, это не баг, а фитча, и изменений в ближайшее десятилетие не предвидится. |
|
|
|
Максимум что могу сделать - заюзать вместо IE почти что Mozilla Firefox - а в реальности Mozilla ActiveX Control. В принципе даже переключение можно сделать между броузерами без перезапуска программы, там программный интерфейс идентичен (исключая парочку мелких правок). |
|
|
(0005962)
|
Tolik
|
10-03-2012 05:20
|
|
> заюзать вместо IE... Mozilla ActiveX Control
Хорошо бы. А то мини-IE несколько раздражает своим убожеством. Надеюсь, мазила лучше?
Возможность переключения, конечно, тоже плюс. |
|
|
|
>мазила лучше?
Кто его знает. Но картинки там похоже что по другому рендерятся, визуально отличие есть даже в этом. Из минусов:
1. Пока не прошарил как зарегистрировать обработчик для протокола sas://, так что info.txt с картинками не поглядеть. Но ругается именно на незарегистрированность, так что по идее это возможно. Да и вообще вроде обработчики протоколов регистрятся на уровне ОСи.
2. Если открыта страничка 'about:blank' - туда руками не запихнуть картинку со ссылкой 'http:///C:/...', ну то есть она отображаться не будет. Должен быть протокол http при создании страницы. Соответственно надо таскать (или создавать заново) пустой файлик empty.html с содержимым типа '<html><head></head><body></body></html>'. По факту IE тут менее разборчив.
3. Скрипт для замены картинок в panoramio придётся поправить, но это мелочь. |
|
|
|
Сделаю мозиллу после релиза. Пусть висит и мозолит глаза. |
|
|
|
Встроенное окно - вещь хорошая, но сейчас на Panoramio поменяли все, что могли, и в результате при клике по фотографии во встроенном окне видим совсем уже непотребство (если включены скрипты в системном IE), или более-менее читабельную страницу, но без фотографии и элементов управления (если скрипты в IE отключены). А если начать на этой странице что-то делать, то это окно IE вместе с Планетой не то что подвисает, но перестает реагировать на что-либо, кроме снятия задачи.
Речь идет об IE6, по умолчанию находящемся в составе Windows XP.
А в качестве решения хочу предложить при клике на фото из встроенного окна открывать эту ссылку в браузере, зарегистрированном в системе по умолчанию. Считаю, гораздо лучше переключаться между двумя полноценно работающими приложениями, чем сидеть в одном обрезанном встроенном окне, ожидая, что оно вот-вот "подвиснет".:) |
|
|
|
Нужно будет сделать в качестве альтернативы простенький веб-сервер внутри САС.Планеты и открытие ссылок в просто в окне дефолтного браузера. |
|
|
|
>но сейчас на Panoramio поменяли все, что могли, и в результате при клике по фотографии во встроенном окне видим совсем уже непотребство
У меня НИЧЕГОШЕНЬКИ не поменялось.
Что я делаю не так? |
|
|
(0006812)
|
zed
|
05-05-2012 20:07
|
|
>Нужно будет сделать в качестве альтернативы простенький веб-сервер внутри САС.Планеты
Можно по-подробнее, а то что-то не улавливаю мысль? |
|
|
|
Ну что бы сас скармливал браузеру урлы на локалхост, а по этим урлам отдавал то что нужно через http. |
|
|
|
>У меня НИЧЕГОШЕНЬКИ не поменялось.
Что я делаю не так?
Посмотрите приложенные файлы, особенно 3 и 4... |
|
|
|
Понятно. Я использую zmp для panoramio со скачкой фоток в кэш и заменой страницы. Поэтому такого отстоя и нет, так как страница заменяется полностью. По поводу стандартного zmp для panoramio и отображения оригинальной страницы в броузере ничем помочь не могу, кроме рекомендации пользоваться zmp для panoramio со скачкой фоток в кэш. |
|
|
|
Это не тот zmp, который идет с Планетой? Он где-нибудь выложен? |
|
|
(0006831)
|
vasketsov
|
06-05-2012 17:48
(edited on: 06-05-2012 17:55) |
|
Он выложен в связанной с этой доработкой теме номер 0000152. Читать последнее сообщение + приложенные файлы.
|
|
|
|
Скачал, спасибо. Правда, моего мозга не хватило, чтобы оно у меня заработало, ну да ладно:) |
|
|
|
В каком режиме надо чтоб заработало? Надо ли фотки скачивать в кэш, или как? |
|
|
(0006838)
|
alexey65536
|
07-05-2012 05:04
(edited on: 07-05-2012 05:09) |
|
Хотелось, чтобы было вот так:
...пункт "Panoramio фотографии" не появляется в форме операций с выделенной областью.
Однако при открывании фотографий они будут скачиваться и сохраняться в кэше.
Текст в окне просмотра фотографий будет модифицирован в соответствии с процедурой... +(так, чтобы при клике по метке фотографии открывалось упрощенное окно с миниатюрой, а при нажатии на миниатюру - оригинал)
+При необходимости можно сделать сохранение в кэш только маленькой фотографии, а оригинальную не сохранять.
Но у меня вообще ничего не появилось - ни пунктов, ни папок. Я правильно понимаю, что этот модуль будет работать только с той измененной версией Планеты, которая прилагается к теме? Эта версия у меня при запуске сразу же выгружается...
|
|
|
(0006840)
|
vasketsov
|
07-05-2012 08:31
(edited on: 07-05-2012 08:51) |
|
Будет работать с любой ночной версией. Zmp как сделаю - приложу (надо разрахивировать в папку, все пути в NameInCache надо будет поправить как надо, и вё же разобраться на всякий случай в трёх параметрах). Правда непонятно что мешает сделать самому - написано же установить значения UseDwn=0 UseDel=0 Enabled=1.
|
|
|
(0006846)
|
alexey65536
|
07-05-2012 10:26
(edited on: 07-05-2012 10:48) |
|
Заработало. А можно ли сделать, чтобы оригинальные фото показывались, но не кешировались?
PS. Неудобства относительно стандартного модуля тоже есть - например, после выбора любой "ссылки" не работает навигация назад. Перейдя на страницу автора или фотографии на сайте, назад к миниатюре можно вернуться, только закрыв и снова открыв окно.
|
|
|
(0006851)
|
vasketsov
|
07-05-2012 12:04
(edited on: 07-05-2012 12:10) |
|
>оригинальные фото показывались, но не кешировались?
Можно. Делайте. Надо просто Enabled=0, а ссылки подставлять не в кэше, а оригинальные, это в скрипте делается при формировании тэга img.
|
|
|
(0006854)
|
alexey65536
|
07-05-2012 12:18
(edited on: 07-05-2012 14:01) |
|
Получилось вот так (Enabled1=0, Enabled2=0, а Enabled=1, иначе добавочная функциональность вообще не включается):
[см. ParseAttachmentScript.txt]
Жаль, "Назад" не работает - с оригинала никак не уйти, кроме как закрывать окно.
И выявилась одна странность - на некоторых (довольно редко) снимках почему-то не подставляется номер снимка, так и идет "/.jpg" в ссылке, соотв. ссылки не работают и изображение не показывается.
Вот если бы на уровне самой Планеты, без помощи скриптов, заменить ссылки "Misplaced? | Inappropriate | Comment it Загрузите свои фотографии »", на одну - "Оригинальное изображение"... Мечты:)
|
|
|
|
>Enabled1=0, Enabled2=0, а Enabled=1
Умница, всё верно.
>на некоторых (довольно редко) снимках
Как будет пример - можно будет смотреть в чём беда. |
|
|
(0007546)
|
Garl
|
20-06-2012 08:15
|
|
наксолько я понимаю сейчас DownloadFileToLocal() не работает?
Получаю ссылку на локальный файл, но скачивания нету.
или я чтото делаю не так? |
|
|
|
Сейчас такой функции как DownloadFileToLocal нету и не будет. |
|
|
(0007549)
|
Garl
|
20-06-2012 08:39
|
|
аналогом как не трудно догадаться тоже не светит ? |
|
|
|
Почему. Делаешь http запрос через объект Downloader, а результат сохраняешь в файл. Но скорее всего эту функцию я тоже прибью. Слишком уж это не секьюрно позволять скрипту писать куда угодно на винт. Нужно будет добавить объект AttachStorage или что-то в этом духе. |
|
|
|
Начиная с билда Nightly.120705.5919, перестал работать скрипт в исправленной zmp Panoramio. Остаюсь пока на Nightly.120704.5908... |
|
|
|
>Остаюсь пока на Nightly
Сделал интерфейс для хранилища аттачей, чтобы в релиз попало и скрипт потом можно было один иметь.
зы. Если б известно кто не махал бездумно шашкой - ща бы уже всё опубликовалось.
А так _третий_ раз с нуля реализовать и протестировать немаленькую функциональность - надо время и терпение. Ждите. И надейтесь что больше намеренно гадить никто не будет. |
|
|
|
А сделал бы ты это изначально нормально, то никто бы и не махал шашкой, а кривой код я исправлять не собираюсь. Вот сегодняшнее хранилище аттачментов мне вполне нравится. Разве что, я бы параметр AAttachmentNumber: AnsiString переименовал бы в AAttachmentID |
|
|
|
Дружище, если проблема в SaveToLocalFile, которое _осталось_ и пишет куда угодно "не секьюрно" - то при чём тут всё остальное тогда?
>AAttachmentID
Логично. |
|
|
|
Всё, сделал panoramio.
Приаттачил новую версию ParseAttachmentScript_NEW.rar
Теперь скрипт сильно упростился, и он сам определяет все параметры и скачивает (или не скачивает) то что нужно (или не нужно).
Параметры остались те же. |
|
|
|
>Дружище, если проблема в SaveToLocalFile, которое _осталось_ и пишет куда угодно "не секьюрно" - то при чём тут всё остальное тогда?
Нет. Там была одна сплошная проблема. Да ИМХО и сейчас из всего что ты добавил, мне только IMapAttachmentsStorage более менее нравится да и то с вопросами. |
|
|
(0009544)
|
vasketsov
|
15-10-2012 06:14
(edited on: 15-10-2012 06:17) |
|
>одна сплошная проблема
Почему она не была озвучена, кроме "не секьюрно", а было всё просто сломано и почти вычищено?
>да и то с вопросами
Вопрос был озвучен выше. Он разрулен. Появились новые?
Какой-то детский сад. Если сам делать не будешь - хотя бы не лезь, если оно надо и работает. Если сам делать будешь - сделай чтобы работало как нравится.
|
|
|
|
Я не лезу, пока оно не мешает мне делать то, что я собираюсь, как только начинает мешать, то я выкидываю все что мне не нравится.
Вот нафига метод GetAttachmentFilename. Должен быть метод GetAttachment и все. Про то как оно там хранит мы ничего знать не должны. |
|
|
|
>нафига метод GetAttachmentFilename
Ровно как нафига аналогичный (возвращающий ещё недавно ПОЛНЫЙ путь, если кто забыл) метод в тайловом кэше ))))))))))))))))))))). Когда его удалишь?
Весь смысл кэширования фоток - в их доступности при просмотре в оффлайне.
Без внутреннего http-сервера (которого не будет ещё 100500+ лет, а с ним и показа файлов не из файловых кэшей) это можно сделать ТОЛЬКО в случае файлового кэша фоток.
А чтобы сформировать HTTP для показа, надо что-то указать в качестве URL для картинки (буквально - атрибуты тэгов IMG и A). Этот метод именно для этого и используется. То есть он необходим в любом случае, покуда будет формироваться текст HTTP руками.
А желание формировать текст HTTP руками неистребимо, поскольку на вкус и цвет представления о расово верном виде страницы panoramio у всех разные. |
|
|
|
>Без внутреннего http-сервера (которого не будет ещё 100500+ лет, а с ним и показа файлов не из файловых кэшей) это можно сделать ТОЛЬКО в случае файлового кэша фоток.
Для этого в IE есть EmbeddedProtocol и в САС.Планете он уже давно используется. Смотри как реализовано отображение картинок из zmp-файлов. Кстати так же нужно реализовать и отображение информации из метки и информации из векторного объекта. Просто у меня еще руки до этого не дошли. Так что увы я все эти твои изменения буду игнорировать. |
|
|
|
>Ровно как нафига аналогичный (возвращающий ещё недавно ПОЛНЫЙ путь, если кто забыл) метод в тайловом кэше ))))))))))))))))))))). Когда его удалишь?
Сегодня и удалю. Точнее переименую в путь к контейнеру где хранится тайл. И все. Для файлового кэша это будет прямо сам тайл. Для берклевского кэша это будет база в которой живет тайл, а в случае ГЕ это будет файл с кэшем один и тот же для любого тайла. |
|
|
|
>в IE есть EmbeddedProtocol
На минуточку обрати внимание на ЭТУ тему - именно здесь просится отказ от IE.
С недавних пор IE даже битбукет перестал нормально показывать.
Ровно с тем же интерфейсом реализуется работа с мозилловским ActiveX.
Причём как сечас EmbeddedWB нафиг не нужен, так и для мозиллы тем более.
А есть ли у мозиллы EmbeddedProtocol и как с ним работать - большой вопрос.
Действуя симметрично твоим дествиям - надо добавить возможность использовать мозиллу, а потом похерить весь EmbeddedProtocol в сасе со словами что мне это не надо (читай - лень разбираться). Самому-то не смешно? А между тем ты именно так и делаешь.
>так же нужно реализовать и отображение информации из метки и информации из векторного объекта
Какая есть хотя бы одна разумная причина это делать? слишком много скорости работы? Желание подсесть на IE с концами?
Кроме того, это не отменяет того факта, что у векторного объекта нет информации о GUID-е его слоя-источника (а между тем это было сделано, и если внезапно делать через EmbeddedProtocol - тоже придётся делать). А без этого в любом случае некуда запросы слать, куда их перенаправить, если слой неизвестен.
А если вдруг слой становится известен - можно хоть сейчас не через EmbeddedProtocol делать, а прямо в слой запрос слать и получать описание. Зачем EmbeddedProtocol тогда?
>что увы
Как бы 4 месяца назад намеренное выжигание калёным железом, потом обнадёга "сделаем", а на днях "я всё равно не буду делать" - пора уже определиться, вырос ты из "войны правок" или нет.
>изменения буду игнорировать
Аргументы можно, кроме "я когда-нибудь сделаю красиво, а когда буду что-нибудь делать - всё опять отвалится"? А то я погляжу у нас тут дофига народу и времени, чтобы одно и то же переделывать и тестировать по куче раз сутками.
Тем более если сделаешь загрузку через EmbeddedProtocol - нет никакой разницы и сложности, чтобы позвать парсер объекта panoramio на том конце протокола. Для этого надо просто перенести вызов парсера. И всё. И ничего не отъедет.
Ибо если что-то сделано и работает - значит оно кому-то нужно. И если правишь - надо понять где что и как работает _всё_затрагиваемое_, чтобы работающее не отвалилось. А если не способен сам понять что-то - задай вопрос, увидишь, тебе хотя бы попробуют объяснить. Тем более что ничего сложного для panoramio не сделано.
>Для файлового кэша это будет прямо сам тайл
Ну и в чём тогда разница, если оно так и так вернёт полный путь и имя тайла? В имени метода интерфейса? Переименуй. Я сделаю аналогичное имя. Не перетружусь уж.
А если возвращать через GetAttachment некий интерфейс - надо его публиковать в паскальскрипте. А там IBinaryData. И его надо будет публиковать в паскальскрипте. А там и Downloader надо будет переделывать не на AnsiString. |
|
|
|
>есть ли у мозиллы EmbeddedProtocol и как с ним работать - большой вопрос
Собственно это единственное, что останавливает от реализации этой доработки. Так можно было бы использовать IE или мозиллу на выбор, и даже переключаться на лету. |
|
|
|
>>есть ли у мозиллы EmbeddedProtocol и как с ним работать - большой вопрос
> Собственно это единственное, что останавливает от реализации этой доработки. Так можно было бы использовать IE или мозиллу на выбор, и даже переключаться на лету.
Замени на простой http сервер и переключайся сколько угодно. Но до тех пор пока сервера нет, все будет работать через EmbeddedProtocol. То что оно еще не все так работает, это просто руки еще не дошли. |
|
|
|
После всех битв с мозиллой так и не удалось заставить заработать EmbeddedProtocol для неё. Причём понятно что надо делать, и даже какими способами это можно достичь, и это даже почти работает, даже описание из zmp показывается, но вот картинки - фигушки с маслицем. Возможно особенность в том, что у ActiveX слишком старая глюкавая версия.
Так что придётся подменять урл в обработчике протокола на http и пропихивать через внутренний прокси-сервер, о котором так давно мечтал vdemidov. |
|
|
(0009802)
|
vasketsov
|
31-10-2012 20:20
(edited on: 31-10-2012 20:22) |
|
Всё. Мозилла побеждена )).
Приаттачил EXE и DLL для игр и тестов (SASPlanet_401_MOZ.rar).
ActiveX мозиллы берётся отсюда:
http://www.adamlock.com/mozilla/control.htm#download
Прямой линк:
http://www.adamlock.com/mozilla/MozillaControl1712.exe
Ставить можно куда угодно.
Его настройки в его подпапке greprefs в файле all.js.
DLL прокси собрана из этого репозитория, она же настраивает мозиллу для работы с прокси в соответствии с настройками:
https://bitbucket.org/vasketsov/vsaembeddedproxy
Класть рядом.
Обращаю внимание на то, что опция "брать настройки подключения из реестра" для мозиллы очевидным образом означает "брать системные настройки ActiveX-а мозиллы", про реестр и IE она ничего не знает.
Параметры в ini в секции [Internet]:
InternalProxyEndpoint - хост:порт для внутреннего прокси (по умолчанию 127.0.0.1:7999).
UseInternalProxy - для включения указать 1.
UseMozilla - для включения указать 1 (будет использоваться вместо IE).
|
|