25#include "ImportField.h"
27TQString getFootnoteFramesetName(
const TQString&
id)
29 return i18n(
"Frameset name",
"Footnote %1").arg(
id);
32static void InsertTimeVariable(TQDomDocument& mainDocument,
33 TQDomElement& variableElement, TQString strKey)
35 TQDomElement typeElement=mainDocument.createElement(
"TYPE");
36 typeElement.setAttribute(
"key",strKey);
37 typeElement.setAttribute(
"type",2);
38 typeElement.setAttribute(
"text",
"-");
39 variableElement.appendChild(typeElement);
40 TQDomElement timeElement=mainDocument.createElement(
"TIME");
42 timeElement.setAttribute(
"hour",0);
43 timeElement.setAttribute(
"minute",0);
44 timeElement.setAttribute(
"second",0);
45 timeElement.setAttribute(
"fix",0);
46 variableElement.appendChild(timeElement);
49static void InsertDateVariable(TQDomDocument& mainDocument,
50 TQDomElement& variableElement, TQString strKey)
52 TQDomElement typeElement=mainDocument.createElement(
"TYPE");
53 typeElement.setAttribute(
"key",strKey);
54 typeElement.setAttribute(
"type",0);
55 typeElement.setAttribute(
"text",
"-");
56 variableElement.appendChild(typeElement);
57 TQDomElement dateElement=mainDocument.createElement(
"DATE");
59 dateElement.setAttribute(
"year",1970);
60 dateElement.setAttribute(
"month",1);
61 dateElement.setAttribute(
"day",1);
62 dateElement.setAttribute(
"fix",0);
63 variableElement.appendChild(dateElement);
66static bool ProcessTimeField(TQDomDocument& mainDocument,
67 TQDomElement& variableElement, TQString strType)
72 InsertTimeVariable(mainDocument, variableElement,
"TIMELocale");
74 else if (strType==
"time_miltime")
77 InsertTimeVariable(mainDocument, variableElement,
"TIMEhh:mm:ss");
79 else if (strType==
"time_ampm")
81 InsertTimeVariable(mainDocument, variableElement,
"TIMEam");
92static bool ProcessDateField(TQDomDocument& mainDocument,
93 TQDomElement& variableElement, TQString strType)
102 InsertDateVariable(mainDocument, variableElement,
"DATE0dddd mmmm dd, yyyy");
104 else if (strType==
"date_mmddyy")
106 InsertDateVariable(mainDocument, variableElement,
"DATE0mm/dd/yy");
108 else if (strType==
"date_ddmmyy")
110 InsertDateVariable(mainDocument, variableElement,
"DATE0dd/mm/yy");
112 else if (strType==
"date_mdy")
114 InsertDateVariable(mainDocument, variableElement,
"DATE0mmmm dd, yyyy");
116 else if (strType==
"date_mthdy")
118 InsertDateVariable(mainDocument, variableElement,
"DATE0mmm dd, yyyy");
120 else if (strType==
"date_dfl")
122 InsertDateVariable(mainDocument, variableElement,
"DATE0Locale");
124 else if (strType==
"date_ntdfl")
126 InsertDateVariable(mainDocument, variableElement,
"DATE0Locale");
128 else if (strType==
"date_wkday")
130 InsertDateVariable(mainDocument, variableElement,
"DATE0dddd");
140bool ProcessField(TQDomDocument& mainDocument,
141 TQDomElement& variableElement, TQString strType,
const TQXmlAttributes& attributes)
148 if (strType.startsWith(
"time"))
150 done=ProcessTimeField(mainDocument, variableElement, strType);
152 else if (strType.startsWith(
"date"))
154 done=ProcessDateField(mainDocument, variableElement, strType);
156 else if ((strType==
"page_number")||(strType==
"page_count"))
158 TQDomElement typeElement=mainDocument.createElement(
"TYPE");
159 typeElement.setAttribute(
"key",
"NUMBER");
160 typeElement.setAttribute(
"type",4);
161 typeElement.setAttribute(
"text",1);
162 variableElement.appendChild(typeElement);
163 TQDomElement pgnumElement=mainDocument.createElement(
"PGNUM");
164 pgnumElement.setAttribute(
"subtype",(strType==
"page_count")?1:0);
165 pgnumElement.setAttribute(
"value",1);
166 variableElement.appendChild(pgnumElement);
169 else if (strType==
"file_name")
171 TQDomElement typeElement=mainDocument.createElement(
"TYPE");
172 typeElement.setAttribute(
"key",
"STRING");
173 typeElement.setAttribute(
"type",8);
174 typeElement.setAttribute(
"text",
"?");
175 variableElement.appendChild(typeElement);
176 TQDomElement fieldElement=mainDocument.createElement(
"FIELD");
177 fieldElement.setAttribute(
"subtype",0);
178 fieldElement.setAttribute(
"value",
"?");
179 variableElement.appendChild(fieldElement);
182 else if (strType==
"endnote_ref")
184 TQDomElement typeElement=mainDocument.createElement(
"TYPE");
185 typeElement.setAttribute(
"key",
"STRING");
186 typeElement.setAttribute(
"type",11);
187 typeElement.setAttribute(
"text",
"?");
188 variableElement.appendChild(typeElement);
189 TQDomElement element=mainDocument.createElement(
"FOOTNOTE");
190 element.setAttribute(
"numberingtype",
"auto");
191 element.setAttribute(
"notetype",
"footnote");
192 TQString reference(attributes.value(
"endnote-id").stripWhiteSpace());
193 element.setAttribute(
"frameset", getFootnoteFramesetName(reference));
194 element.setAttribute(
"value",
"?");
195 variableElement.appendChild(element);