View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000019 | Double Commander | Viewer | public | 2009-03-18 14:56 | 2012-10-24 14:26 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Projection | none | ETA | none | ||
Summary | 0000019: Смотрелка | ||||
Description | 1. Растягивается все подряд и большие файлы и маленькие иконки 2. Нет прокрутки горизонтальной для текстовых файлов 3. При просмотре больших изображений без масштаба, показывается пустая область после рисунка если прокручиваешь как по горизонтали так и по вертикали... а если ползунок до конца, то вообще часть изображения пропадает 4. Не просматриваются некоторые jpeg 5. Вообще не просматривается gif | ||||
Additional Information | http://sourceforge.net/support/tracker.php?aid=2691604 | ||||
Tags | No tags attached. | ||||
Attached Files | fviewer.pas.patch (2,836 bytes)
Index: fviewer.pas =================================================================== --- fviewer.pas (revision 4996) +++ fviewer.pas (working copy) @@ -695,7 +695,7 @@ UndoEY:=Y; end; end; - if not (gboxHightlight.Visible) and not (gboxPaint.Visible) then + if not (gboxHightlight.Visible) and not (gboxPaint.Visible) and (sboxImage.AutoScroll) then begin sboxImage.VertScrollBar.Position:=sboxImage.VertScrollBar.Position+tmpY-y; sboxImage.HorzScrollBar.Position:=sboxImage.HorzScrollBar.Position+tmpX-x; @@ -1336,16 +1336,28 @@ procedure TfrmViewer.miStretchClick(Sender: TObject); begin miStretch.Checked:= not miStretch.Checked; - Image.Stretch:= miStretch.Checked; - Image.AutoSize:= not Image.Stretch; - Image.Proportional:= Image.Stretch; if gboxHightlight.Visible then UndoTmp; if miStretch.Checked then begin + sboxImage.AutoScroll:=false; + sboxImage.HorzScrollBar.Visible:=false; + sboxImage.VertScrollBar.Visible:=false; + sboxImage.HorzScrollBar.Position:=0; + sboxImage.VertScrollBar.Position:=0; + gboxPaint.Visible:=false; gboxHightlight.Visible:=false; gboxView.Visible:=true; + end + else + begin + sboxImage.HorzScrollBar.Visible:=true; + sboxImage.VertScrollBar.Visible:=true; + sboxImage.AutoScroll:=true; end; + Image.Stretch:= miStretch.Checked; + Image.AutoSize:= not Image.Stretch; + Image.Proportional:= Image.Stretch; AdjustImageSize; end; @@ -1723,19 +1735,16 @@ begin if miStretch.Checked then begin - Image.Stretch:=true; - Image.AutoSize := true; //if gboxHightlight.Visible or gboxPaint.Visible then Image.Center:=false else Image.Center:=true; Image.Center:=true; if (Image.Picture.Width > sboxImage.ClientWidth) or (Image.Picture.Height > sboxImage.ClientHeight) then begin + Image.Stretch:=true; + Image.AutoSize:=false; Image.Left:= 0; Image.Top:= 0; - Image.AutoSize := false; Image.Width:= sboxImage.ClientWidth; Image.Height:= sboxImage.ClientHeight; - sboxImage.HorzScrollBar.Visible:=false; - sboxImage.VertScrollBar.Visible:=false; // show image resolution and scale if Image.Picture.Width < Image.Width then begin @@ -1758,6 +1767,8 @@ end else begin + Image.Stretch:=false; + Image.AutoSize:=true; Image.Left:= (sboxImage.ClientWidth-Image.Picture.Width) div 2; //move image to center Image.Top:= (sboxImage.ClientHeight-Image.Picture.Height) div 2; sResolution:= IntToStr(Image.Picture.Width) + 'x' + IntToStr(Image.Picture.Height); | ||||
Fixed in Revision | |||||
Operating system | |||||
Widgetset | |||||
Architecture | |||||
|
Похоже, что все перечисленные баги исправлены, поэтому думаю логичней было бы закрыть данный вопрос, чтобы он среди нерешённых не валялся, чем меньше красного (тем более неактуального) - тем позитивней :) Если поддержите данную инициативу, попробую поискать и другие подобные. Хотя небольшой баг в смотрелке всё-таки есть (билд 4993 самосбор в режиме nightly) - если включить растягивание (stretch), просмотрщик эту опцию запоминает и при открытии следующего изображения, соответственно применяет к нему. Баг заключается в том, что при этом появляются полосы прокрутки и, соответственно, часть изображения не видно. Интересно то, что в билде 4961M было несколько по-другому - изображение показывалось полностью, но ниже и правее него были белые полосы шириной с полосы прокрутки, похоже что-то с того билда подкорректировали, да только не очень удачно. Сейчас попробую скриншоты прикрепить. |
|
На всякий случай: Windows XP SP3 32bit На скриншотах просмотрщик развернут во весь экран |
|
Если в билде 4996 несколько раз изменить размер окна с помощью стандартной кнопки Windows "Развернуть/Восстановить", то полосы прокрутки то появляются, то пропадают, причём когда они появляются, часть изображения не видно, пока его не прокрутишь. То же самое наблюдается, если ресайзить окно просмотрщика с помощью мыши (тянуть за правый нижний угол). Посмотрел по коду - проблема в том, что почему-то размер клиентской области sboxImage в процедуре TfrmViewer.AdjustImageSize не постоянен, он то равен размеру sboxImage, то на 4 пикселя меньше. Когда он меньше - то полос прокруток нет, а когда равен - соответственно они появляются. Странное поведение, мне непонятное, вроде код из раза в раз один и тот же выполняется, а результат разный. В FPC и Delphi я новичек, может в этом дело, а может просто баг компилятора. В общем решить проблему смог, насколько коряво - судить вам, может решите её проще, но в принципе решение рабочее. Приложил патч fviewer.pas.patch |
|
Странно, в вашей сборке 4961М проблемы с "Развернуть/Восстановить" нет, но остальные присутствуют, но выглядят немного по-другому... Код вроде не менялся с этого билда, компилятор у меня тоже 2.6.0, разве что версия lazarus другая - 1.0.2. Похоже различия из-за лазаруса? Fullscreen оказывается тоже багнутый, надо его тоже править. |
|
-> разве что версия lazarus другая - 1.0.2. Похоже различия из-за лазаруса? Именно, скорее всего что-то поломали в Лазарус |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-10-23 12:04 | Alexx2000 | New Issue | |
2012-10-20 10:37 | klepa83 | Note Added: 0000961 | |
2012-10-20 10:41 | klepa83 | File Added: build_4961M.JPG | |
2012-10-20 10:42 | klepa83 | File Added: build_4993.JPG | |
2012-10-20 10:44 | klepa83 | Note Edited: 0000961 | |
2012-10-20 10:55 | klepa83 | Note Added: 0000962 | |
2012-10-24 14:03 | klepa83 | Note Added: 0000964 | |
2012-10-24 14:04 | klepa83 | File Added: fviewer.pas.patch | |
2012-10-24 14:10 | klepa83 | Note Added: 0000965 | |
2012-10-24 14:26 | Alexx2000 | Note Added: 0000966 |