View Issue Details

IDProjectCategoryView StatusLast Update
0001235SAS.ПланетаХотелка / Feature requestpublic10-10-2012 11:47
Reportervasketsov Assigned Tovasketsov  
PrioritylowSeverityminorReproducibilityN/A
Status closedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version.Nightly 
Target Version120808Fixed in Version120808 
Summary0001235: Отображать картинки в отдельном окне (не в вебброузере)
DescriptionВ общем после сохранения и показа больших картинок panoramio встаёт вопрос о том, чтобы научиться показывать картинки в отдельном окне (только окно, битмапка и масштабирование).

Но покуда скрипт формирования окошка в вебе и структура аттачей могут быть до известной степени совершенно произвольные, надо какой-то механизм, чтобы человеческим образом из внутреннего веб-броузера (при отбражении картинки panoramio) ПО ССЫЛКЕ уйти назад в сас. Там уже тривиально открыть в нём обычное окошко с битмапкой, открыть там картинку (исключительно локально, тут уже никаких скачек) и замасштабировать её на всё окошко (чтобы при изменении его размеров она растягивалась и сжималась). Тогда и квазиабстрактный интерфейс для скачки аттачей останется без ненужных костылеобразных опций, и в конкретном случае будет существенно проще жить.

Кстати в этом случае будет возможным отказаться от переключения картинок.

По сему возникает прежде всего вопрос о возможности перехвата протокола sas:// для ссылок. Ну я конечно сам попробую поколупаться как время будет, но если кто что имеет сказать...
Tagsбраузер
Attached Files
ParseAttachmentScript.txt (2,154 bytes)   
var
  VUrl1: String;
  VUrl2: String;
  VCache1: String;
  VCache2: String;
  VLocal1: String;
  VLocal2: String;
  VExt: String;
  VEnabled: Boolean;
  VCaption: String;
  VUserNumber: String;
  VUserDescr: String;
begin
  VEnabled := MapAttachmentsInfo.GetEnabled(0);
  
  if (not VEnabled) then
  begin
    ResultText := SourceText;
    Exit;
  end;
  
  // get params
  VUrl1 := MapAttachmentsInfo.GetDefURLBase(1);
  VUrl2 := MapAttachmentsInfo.GetDefURLBase(2);
  VCache1 := MapAttachmentsInfo.GetNameInCache(1);
  VCache2 := MapAttachmentsInfo.GetNameInCache(2);
  VExt := MapAttachmentsInfo.GetExt(0);
  
  // make local path for medium image
  VLocal1 := VCache1+AttachmentSubCache+AttachmentNumber+VExt;
  // download medium image
  //if (not FileExists(VLocal1)) then // if file not exists
    //DownloadFileToLocal(VUrl1+AttachmentNumber+VExt, VLocal1, MapAttachmentsInfo.GetContentType(1));
  
  // make local path for original image
  VLocal2 := VCache2+AttachmentSubCache+AttachmentNumber+VExt;
  // download original image
  //if (not FileExists(VLocal2)) then // if file not exists
    //DownloadFileToLocal(VUrl2+AttachmentNumber+VExt, VLocal2, MapAttachmentsInfo.GetContentType(2));
  
  // obtain description with tags
  VCaption := GetBetween(SourceText,'<h1>','</h1>');
  
  // replace filenames to http format
  VLocal1 := 'file:///' + RegExprReplaceMatchSubStr(VLocal1,'\\','\/');
  VLocal2 := 'file:///' + RegExprReplaceMatchSubStr(VLocal2,'\\','\/');
  
  // get user info
  VUserNumber := GetBetween(SourceText,'panoramio.com/user/','</a>');
  VUserDescr := GetAfter('>',VUserNumber);
  VUserNumber := GetNumberAfter('panoramio.com/user/',SourceText);
  
  // make result html text
  ResultText := '<a href="'+VLocal2+'"><img src="'+VLocal1+'" alt="������� ����������� �����������"></a><br>'+
                '<h1>'+VCaption+'</h1>'+
                '����� ����������: <a href="http://www.panoramio.com/user/'+VUserNumber+'">'+VUserDescr+'</a><br>'+
                '<a href="http://www.panoramio.com/photo/'+AttachmentNumber+'">������� �� ���� Panoramio</a>';


end.
ParseAttachmentScript.txt (2,154 bytes)   

Activities

vdemidov

23-03-2012 09:34

manager   ~0006268

И что делать если в описании метки или объекта не только картинка? ИМХО овчинка выделки не стоит.

vasketsov

23-03-2012 09:56

manager   ~0006269

Изначально отображаем как есть в соответствии с результатом паскальскрипта.
Просто в паскальскрипте на <img> сверху натягивается что-то типа <a href="sas://netshare/panoramio_big/foo.img">, соответственно линк в броузере перехватывается (ну то есть в обработчике), если картинка есть - отвечаем в броузер ПНХ, а сами показываем каринку.
Так что если есть побочные тексты и видеозарисовки - они не помешают.

Ну это в теории так. В реальности может sas:// как раз тут не подойдёт, может ещё чего не сростётся.

А в качестве "выделки" - если хотя бы одна лишь смена картинок (с маленькой на большую и наоборот) уйдёт, уже проще будет.

vdemidov

23-03-2012 10:06

manager   ~0006270

Все равно не уловил идеи. Вот кто-то клацает по метке с описанием или полигону викимапии. Что он должен увидеть?

vasketsov

23-03-2012 10:09

manager   ~0006271

Last edited: 23-03-2012 10:10

Если ссылка не sas:// или не картинка или картинки нет - всё будет как и сейчас.
Но возможно надо не просто sas://, а что-нибудь другое использовать.

vasketsov

23-03-2012 15:58

manager   ~0006272

Есть вообще какой-нибуь референсный пример zmp с картинками? Чтобы понять как они открываются?

vdemidov

23-03-2012 18:31

manager   ~0006273

Если я правильно понял твою мысль, то sas:// тебе не поможет. Оно запрашивается барузером асинхронно, тоесть вместо него можно встроить простой http сервер и обращаться по адресам типа http://localhost:77777/sas

vasketsov

24-03-2012 08:55

manager   ~0006275

Last edited: 24-03-2012 09:50

Вощем sas:// и вправду ни разу не помогло в этом деле.
Если в скрипте сказано открыть file://///netshare/folder/img.jpeg - в обработчик прилетает уже '\\netshare\folder\img.jpeg'.
Если в скрипте указать href="ID=file://///netshare/folder/img.jpeg" - в оббработчик прилетает 'about:ID=file://///netshare/folder/img.jpeg' - и совершенно нет никакого желания это парсить, да и что будет с мозиллой в этом случае - ещё неизвестно.

Так что сделал просто показ всех существующих локальных картинок в битмапке.
По нажатию на битмапку переход к тому что было в броузере.

В итоге логика квазиабстрактных аттачментов не пострадала.
А скрипт panoramio (ParseAttachmentScript.txt) стало возможным упростить в части формирования ResultText, пример приаттачил.
Получилось довольно нарядненько. Хотя конечно хотел отдельное окно сделать, но пока что так.

Tolik

24-03-2012 11:55

manager   ~0006276

> Так что сделал
Я не понял, это относится только к panoramio, ко всяко-разным яндекс-фоткам или также к меткам?
Если и к меткам, то как надо вставлять картинки?

vasketsov

24-03-2012 13:41

manager   ~0006277

Last edited: 24-03-2012 13:43

По идее ко всем локально существующим картинкам, которые пытаются открыться в веб-браузере в одиночку (а не как часть большой странички с другими элементами).

Чтобы картинка просто показалась:
<img src="url1" alt="">

Чтобы картинка показалась и при клике (большая или эта же) открывалась в битмапке:
<a href="url2"><img src="url1" alt=""></a>
или вообще
<а hrеf="url2">просто текст ссылки</а> (тут есть русские буквы, это не копировать, иначе отображается неверно).
В частном случае url1 и url2 могут совпадать.

Как формировать урлы для локальных файлов - см. в приаттаченном примере.

Issue History

Date Modified Username Field Change
23-03-2012 08:15 vasketsov New Issue
23-03-2012 09:34 vdemidov Note Added: 0006268
23-03-2012 09:56 vasketsov Note Added: 0006269
23-03-2012 10:06 vdemidov Note Added: 0006270
23-03-2012 10:09 vasketsov Note Added: 0006271
23-03-2012 10:10 vasketsov Note Edited: 0006271
23-03-2012 15:58 vasketsov Note Added: 0006272
23-03-2012 18:31 vdemidov Note Added: 0006273
24-03-2012 08:55 vasketsov Note Added: 0006275
24-03-2012 08:56 vasketsov Note Edited: 0006275
24-03-2012 08:57 vasketsov Note Edited: 0006275
24-03-2012 08:58 vasketsov File Added: ParseAttachmentScript.txt
24-03-2012 09:01 vasketsov Note Edited: 0006275
24-03-2012 09:02 vasketsov Assigned To => vasketsov
24-03-2012 09:02 vasketsov Status new => assigned
24-03-2012 09:02 vasketsov Status assigned => resolved
24-03-2012 09:02 vasketsov Fixed in Version => 120808
24-03-2012 09:02 vasketsov Resolution open => fixed
24-03-2012 09:50 vasketsov Note Edited: 0006275
24-03-2012 11:55 Tolik Note Added: 0006276
24-03-2012 13:41 vasketsov Note Added: 0006277
24-03-2012 13:42 vasketsov Note Edited: 0006277
24-03-2012 13:43 vasketsov Note Edited: 0006277
24-03-2012 21:41 vdemidov Target Version => 120808
13-05-2012 09:09 gpsMax Tag Attached: браузер
10-10-2012 11:47 Tolik Status resolved => closed
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request