You've already forked lazarus-ccr
fpspreadsheet: Add new metadata item "subject"
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7590 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -66,6 +66,7 @@ begin
|
||||
book.MetaData.DateLastModified := Now();
|
||||
book.MetaData.LastModifiedBy := 'Dagobert Duck';
|
||||
book.MetaData.Title := 'Test of metadata äöü';
|
||||
book.Metadata.Subject := 'FPSpreadsheet demos';
|
||||
book.MetaData.Comments.Add('This is a test of spreadsheet metadata.');
|
||||
book.MetaData.Comments.Add('Assign the author to the field CreatedBy.');
|
||||
book.MetaData.Comments.Add('Assign the creation date to the field CreatedAt.');
|
||||
@ -93,6 +94,7 @@ begin
|
||||
WriteLn('Modified by : ', book.MetaData.LastModifiedBy);
|
||||
WriteLn('Date last modified : ', DateTimeToStr(book.MetaData.DateLastModified));
|
||||
WriteLn('Title : ', book.MetaData.Title);
|
||||
WriteLn('Subject : ', book.MetaData.Subject);
|
||||
WriteLn('Keywords : ', book.MetaData.Keywords.CommaText);
|
||||
WriteLn('Comments: ');
|
||||
WriteLn(book.MetaData.Comments.Text);
|
||||
|
@ -1990,6 +1990,8 @@ begin
|
||||
book.MetaData.Comments.Text := s;
|
||||
'dc:title':
|
||||
book.MetaData.Title := s;
|
||||
'dc:subject':
|
||||
book.Metadata.Subject := s;
|
||||
end;
|
||||
ANode := ANode.NextSibling;
|
||||
end;
|
||||
@ -5868,6 +5870,13 @@ begin
|
||||
'<dc:title>%s</dc:title>', [s]));
|
||||
end;
|
||||
|
||||
if book.Metadata.Subject <> '' then
|
||||
begin
|
||||
s := book.Metadata.Subject;
|
||||
AppendToStream(FSMeta, Format(
|
||||
'<dc:subject>%s</dc:subject>', [s]));
|
||||
end;
|
||||
|
||||
if book.Metadata.CreatedBy <> '' then
|
||||
AppendToStream(FSMeta, Format(
|
||||
'<meta:initial-creator>%s</meta:initial-creator>', [book.MetaData.CreatedBy]));
|
||||
|
@ -973,6 +973,7 @@ type
|
||||
FDateLastModified: TDateTime;
|
||||
FLastModifiedBy: String;
|
||||
FTitle: String;
|
||||
FSubject: String;
|
||||
FComments: TStrings;
|
||||
FKeywords: TStrings;
|
||||
public
|
||||
@ -983,6 +984,7 @@ type
|
||||
property LastModifiedBy: String read FLastModifiedBy write FLastModifiedBy;
|
||||
property DateCreated: TDateTime read FDateCreated write FDateCreated;
|
||||
property DateLastModified: TDatetime read FDateLastModified write FDateLastModified;
|
||||
property Subject: String read FSubject write FSubject;
|
||||
property Title: String read FTitle write FTitle;
|
||||
property Comments: TStrings read FComments write FComments;
|
||||
property Keywords: TStrings read FKeywords write FKeywords;
|
||||
@ -1208,7 +1210,8 @@ end;
|
||||
|
||||
function TsMetaData.IsEmpty: Boolean;
|
||||
begin
|
||||
Result := (FCreatedBy = '') and (FLastModifiedBy = '') and (FTitle = '') and
|
||||
Result := (FCreatedBy = '') and (FLastModifiedBy = '') and
|
||||
(FTitle = '') and (FSubject = '') and
|
||||
(FComments.Count = 0) and (FKeywords.Count = 0) and
|
||||
(FDateCreated = 0) and (FDateLastModified = 0);
|
||||
end;
|
||||
|
@ -1121,6 +1121,8 @@ begin
|
||||
case nodeName of
|
||||
'Title':
|
||||
book.MetaData.Title := s;
|
||||
'Subject':
|
||||
book.MetaData.Subject := s;
|
||||
'Author':
|
||||
book.MetaData.CreatedBy := s;
|
||||
'LastAuthor':
|
||||
@ -2721,6 +2723,7 @@ const
|
||||
LE = LineEnding;
|
||||
var
|
||||
sTitle: String;
|
||||
sSubject: String;
|
||||
sAuthor: String;
|
||||
sLastAuthor: String;
|
||||
sDateCreated: String;
|
||||
@ -2744,6 +2747,11 @@ begin
|
||||
else
|
||||
sTitle := '';
|
||||
|
||||
if book.MetaData.Subject <> '' then
|
||||
sSubject := '<Subject>' + book.MetaData.Subject + '</Subject>' + LE + INDENT2
|
||||
else
|
||||
sSubject := '';
|
||||
|
||||
if book.MetaData.CreatedBy <> '' then
|
||||
sAuthor := '<Author>' + book.MetaData.CreatedBy + '</Author>' + LE + INDENT2
|
||||
else
|
||||
@ -2773,6 +2781,7 @@ begin
|
||||
AppendToStream(AStream, INDENT1 +
|
||||
'<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">' + LE + INDENT2 +
|
||||
sTitle +
|
||||
sSubject +
|
||||
sAuthor +
|
||||
sLastAuthor +
|
||||
sDateCreated +
|
||||
|
@ -2716,6 +2716,8 @@ begin
|
||||
case nodeName of
|
||||
'dc:title':
|
||||
book.MetaData.Title := s;
|
||||
'dc:subject':
|
||||
book.MetaData.Subject := s;
|
||||
'dc:creator':
|
||||
book.MetaData.CreatedBy := s;
|
||||
'cp:lastModifiedBy':
|
||||
@ -6197,6 +6199,10 @@ begin
|
||||
AppendToStream(AStream, Format(
|
||||
'<dc:title>%s</dc:title>', [UTF8TextToXMLText(book.MetaData.Title)]));
|
||||
|
||||
if book.MetaData.Subject <> '' then
|
||||
AppendToStream(AStream, Format(
|
||||
'<dc:subject>%s</dc:subject>', [UTF8TextToXMLText(book.Metadata.Subject)]));
|
||||
|
||||
if book.MetaData.CreatedBy <> '' then
|
||||
AppendToStream(AStream, Format(
|
||||
'<dc:creator>%s</dc:creator>', [UTF8TextToXMLText(book.MetaData.CreatedBy)]));
|
||||
|
Reference in New Issue
Block a user