fpexif: Continue reading jpg when unexpected EXIF segment is found. Show built-in shell icons in metadata viewer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8003 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
c50e2a4f0a
commit
2ea4de6d2b
@ -29,7 +29,6 @@ object MainForm: TMainForm
|
|||||||
Align = alTop
|
Align = alTop
|
||||||
FileSortType = fstFoldersFirst
|
FileSortType = fstFoldersFirst
|
||||||
HideSelection = False
|
HideSelection = False
|
||||||
Images = ImageList
|
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnGetImageIndex = ShellTreeViewGetImageIndex
|
OnGetImageIndex = ShellTreeViewGetImageIndex
|
||||||
@ -58,7 +57,6 @@ object MainForm: TMainForm
|
|||||||
HideSelection = False
|
HideSelection = False
|
||||||
Mask = '*.jpg;*.jpeg;*.jpe;*.tiff;*.tif'
|
Mask = '*.jpg;*.jpeg;*.jpe;*.tiff;*.tif'
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
SmallImages = ImageList
|
|
||||||
SortColumn = 0
|
SortColumn = 0
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnSelectItem = ShellListViewSelectItem
|
OnSelectItem = ShellListViewSelectItem
|
||||||
@ -363,8 +361,8 @@ object MainForm: TMainForm
|
|||||||
SimplePanel = False
|
SimplePanel = False
|
||||||
end
|
end
|
||||||
object ImageList: TImageList
|
object ImageList: TImageList
|
||||||
left = 89
|
Left = 89
|
||||||
top = 118
|
Top = 118
|
||||||
Bitmap = {
|
Bitmap = {
|
||||||
4C7A0300000010000000100000009E0200000000000078DAEDD6DD4F52611CC0
|
4C7A0300000010000000100000009E0200000000000078DAEDD6DD4F52611CC0
|
||||||
712EBAE80FE81FE81FE8A69BAE9A372D7BD1B5B979916B6B8A446B85DA666CCE
|
712EBAE80FE81FE81FE8A69BAE9A372D7BD1B5B979916B6B8A446B85DA666CCE
|
||||||
|
@ -78,7 +78,7 @@ implementation
|
|||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
LCLType, IniFiles, Math, StrUtils, DateUtils, IntfGraphics,
|
LCLType, LCLVersion, IniFiles, Math, StrUtils, DateUtils, IntfGraphics,
|
||||||
fpeTags, fpeExifData, fpeIptcData;
|
fpeTags, fpeExifData, fpeIptcData;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -178,6 +178,10 @@ end;
|
|||||||
|
|
||||||
procedure TMainForm.FormCreate(Sender: TObject);
|
procedure TMainForm.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
{$IF LCL_FullVersion < 2010000}
|
||||||
|
ShellListView.SmallImages := ImageList;
|
||||||
|
ShellTreeView.Images := ImageList;
|
||||||
|
{$ENDIF}
|
||||||
//ShellListView.Parent.DoubleBuffered := true;
|
//ShellListView.Parent.DoubleBuffered := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -526,10 +526,9 @@ begin
|
|||||||
if FMetaDataKinds * [mdkExif, mdkExifNoMakerNotes] <> [] then begin
|
if FMetaDataKinds * [mdkExif, mdkExifNoMakerNotes] <> [] then begin
|
||||||
reader := TExifReader.Create(self);
|
reader := TExifReader.Create(self);
|
||||||
try
|
try
|
||||||
if not TExifReader(reader).ReadExifHeader(AStream) then
|
if TExifReader(reader).ReadExifHeader(AStream) and
|
||||||
exit;
|
TExifReader(reader).ReadTiffHeader(AStream, bigEndian) then
|
||||||
if not TExifReader(reader).ReadTiffHeader(AStream, bigEndian) then
|
begin
|
||||||
exit;
|
|
||||||
FExifData := CreateExifData(bigEndian);
|
FExifData := CreateExifData(bigEndian);
|
||||||
try
|
try
|
||||||
reader.ReadFromStream(AStream, ifJpeg);
|
reader.ReadFromStream(AStream, ifJpeg);
|
||||||
@ -537,6 +536,7 @@ begin
|
|||||||
FreeAndNil(FExifData);
|
FreeAndNil(FExifData);
|
||||||
raise;
|
raise;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
finally
|
finally
|
||||||
reader.Free;
|
reader.Free;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user