import unicodedata
import sys, os
+from datetime import date
+
# Uncomment only what you need to import, please.
from parser_tools import (count_pars_in_inset, find_end_of_inset, find_end_of_layout,
i = i + 1
+def revert_dateinfo(document):
+ " Revert date info insets to static text. "
+
+# FIXME This currently only considers the main language and uses the system locale
+# Ideally, it should honor context languages and switch the locale accordingly.
+
+ # The date formats for each language using strftime syntax:
+ # long, short, loclong, locmedium, locshort
+ dateformats = {
+ "afrikaans" : ["%A, %d %B %Y", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y/%m/%d"],
+ "albanian" : ["%A, %d %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "american" : ["%A, %B %d, %Y", "%m/%d/%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "amharic" : ["%A ፣%d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "ancientgreek" : ["%A, %d %B %Y", "%d %b %Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "arabic_arabi" : ["%A، %d %B، %Y", "%d/%m/%Y", "%d %B، %Y", "%d/%m/%Y", "%d/%m/%Y"],
+ "arabic_arabtex" : ["%A، %d %B، %Y", "%d/%m/%Y", "%d %B، %Y", "%d/%m/%Y", "%d/%m/%Y"],
+ "armenian" : ["%Y թ. %B %d, %A", "%d.%m.%y", "%d %B، %Y", "%d %b، %Y", "%d/%m/%Y"],
+ "asturian" : ["%A, %d %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "australian" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "austrian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "bahasa" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "bahasam" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "basque" : ["%Y(e)ko %B %d, %A", "%y/%m/%d", "%Y %B %d", "%Y %b %d", "%Y/%m/%d"],
+ "belarusian" : ["%A, %d %B %Y г.", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "bosnian" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%Y-%m-%d"],
+ "brazilian" : ["%A, %d de %B de %Y", "%d/%m/%Y", "%d de %B de %Y", "%d de %b de %Y", "%d/%m/%Y"],
+ "breton" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "british" : ["%A, %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "bulgarian" : ["%A, %d %B %Y г.", "%d.%m.%y г.", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "canadian" : ["%A, %B %d, %Y", "%Y-%m-%d", "%B %d, %Y", "%d %b %Y", "%Y-%m-%d"],
+ "canadien" : ["%A %d %B %Y", "%y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "catalan" : ["%A, %d %B de %Y", "%d/%m/%y", "%d / %B / %Y", "%d / %b / %Y", "%d/%m/%Y"],
+ "chinese-simplified" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y-%m-%d", "%y-%m-%d"],
+ "chinese-traditional" : ["%Y年%m月%d日 %A", "%Y/%m/%d", "%Y年%m月%d日", "%Y年%m月%d日", "%y年%m月%d日"],
+ "coptic" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "croatian" : ["%A, %d. %B %Y.", "%d. %m. %Y.", "%d. %B %Y.", "%d. %b. %Y.", "%d.%m.%Y."],
+ "czech" : ["%A %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b. %Y", "%d.%m.%Y"],
+ "danish" : ["%A den %d. %B %Y", "%d/%m/%Y", "%d. %B %Y", "%d. %b %Y", "%d/%m/%Y"],
+ "divehi" : ["%Y %B %d, %A", "%Y-%m-%d", "%Y %B %d", "%Y %b %d", "%d/%m/%Y"],
+ "dutch" : ["%A %d %B %Y", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "english" : ["%A, %B %d, %Y", "%m/%d/%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "esperanto" : ["%A, %d %B %Y", "%d %b %Y", "la %d de %B %Y", "la %d de %b %Y", "%m/%d/%Y"],
+ "estonian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "farsi" : ["%A %d %B %Y", "%Y/%m/%d", "%d %B %Y", "%d %b %Y", "%Y/%m/%d"],
+ "finnish" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "french" : ["%A %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "friulan" : ["%A %d di %B dal %Y", "%d/%m/%y", "%d di %B dal %Y", "%d di %b dal %Y", "%d/%m/%Y"],
+ "galician" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d de %b de %Y", "%d/%m/%Y"],
+ "georgian" : ["%A, %d %B, %Y", "%d.%m.%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "german" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "german-ch" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "german-ch-old" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "greek" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "hebrew" : ["%A, %d ב%B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "hindi" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "icelandic" : ["%A, %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "interlingua" : ["%Y %B %d, %A", "%Y-%m-%d", "le %d de %B %Y", "le %d de %b %Y", "%Y-%m-%d"],
+ "irish" : ["%A %d %B %Y", "%d/%m/%Y", "%d. %B %Y", "%d. %b %Y", "%d/%m/%Y"],
+ "italian" : ["%A %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d/%b/%Y", "%d/%m/%Y"],
+ "japanese" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y/%m/%d", "%y/%m/%d"],
+ "japanese-cjk" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y/%m/%d", "%y/%m/%d"],
+ "kannada" : ["%A, %B %d, %Y", "%d/%m/%y", "%d %B %Y", "%d %B %Y", "%d-%m-%Y"],
+ "kazakh" : ["%Y ж. %d %B, %A", "%d.%m.%y", "%d %B %Y", "%d %B %Y", "%Y-%d-%m"],
+ "khmer" : ["%A %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %B %Y", "%d/%m/%Y"],
+ "korean" : ["%Y년 %m월 %d일 %A", "%y. %m. %d.", "%Y년 %m월 %d일", "%Y. %m. %d.", "%y. %m. %d."],
+ "kurmanji" : ["%A, %d %B %Y", "%d %b %Y", "%d. %B %Y", "%d. %m. %Y", "%Y-%m-%d"],
+ "lao" : ["%A ທີ %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %B %Y", "%d/%m/%Y"],
+ "latin" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "latvian" : ["%A, %Y. gada %d. %B", "%d.%m.%y", "%Y. gada %d. %B", "%Y. gada %d. %b", "%d.%m.%Y"],
+ "lithuanian" : ["%Y m. %B %d d., %A", "%Y-%m-%d", "%Y m. %B %d d.", "%Y m. %B %d d.", "%Y-%m-%d"],
+ "lowersorbian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "macedonian" : ["%A, %d %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "magyar" : ["%Y. %B %d., %A", "%Y. %m. %d.", "%Y. %B %d.", "%Y. %b %d.", "%Y.%m.%d."],
+ "marathi" : ["%A, %d %B, %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "mongolian" : ["%A, %Y оны %m сарын %d", "%Y-%m-%d", "%Y оны %m сарын %d", "%d-%m-%Y", "%d-%m-%Y"],
+ "naustrian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "newzealand" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "ngerman" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "norsk" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "nynorsk" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "occitan" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "piedmontese" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "polish" : ["%A, %d %B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "polutonikogreek" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "portuguese" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d de %b de %Y", "%Y/%m/%d"],
+ "romanian" : ["%A, %d %B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "romansh" : ["%A, ils %d da %B %Y", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "russian" : ["%A, %d %B %Y г.", "%d.%m.%Y", "%d %B %Y г.", "%d %b %Y г.", "%d.%m.%Y"],
+ "samin" : ["%Y %B %d, %A", "%Y-%m-%d", "%B %d. b. %Y", "%b %d. b. %Y", "%d.%m.%Y"],
+ "sanskrit" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "scottish" : ["%A, %dmh %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "serbian" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "serbian-latin" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "slovak" : ["%A, %d. %B %Y", "%d. %m. %Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "slovene" : ["%A, %d. %B %Y", "%d. %m. %y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "spanish" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B %de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "spanish-mexico" : ["%A, %d de %B %de %Y", "%d/%m/%y", "%d de %B de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "swedish" : ["%A %d %B %Y", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "syriac" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "tamil" : ["%A, %d %B, %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "telugu" : ["%d, %B %Y, %A", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "thai" : ["%Aที่ %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "tibetan" : ["%Y %Bའི་ཚེས་%d, %A", "%Y-%m-%d", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "turkish" : ["%d %B %Y %A", "%d.%m.%Y", "%d %B %Y", "%d.%b.%Y", "%d.%m.%Y"],
+ "turkmen" : ["%d %B %Y %A", "%d.%m.%Y", "%Y ý. %B %d", "%d.%m.%Y ý.", "%d.%m.%y ý."],
+ "ukrainian" : ["%A, %d %B %Y р.", "%d.%m.%y", "%d %B %Y", "%d %m %Y", "%d.%m.%Y"],
+ "uppersorbian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "urdu" : ["%A، %d %B، %Y", "%d/%m/%y", "%d %B, %Y", "%d %b %Y", "%d/%m/%Y"],
+ "vietnamese" : ["%A, %d %B, %Y", "%d/%m/%Y", "%d tháng %B %Y", "%d-%m-%Y", "%d/%m/%Y"],
+ "welsh" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "afrikaans" : ["%A, %d %B %Y", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y/%m/%d"],
+ "albanian" : ["%A, %d %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "american" : ["%A, %B %d, %Y", "%m/%d/%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "amharic" : ["%A ፣%d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "ancientgreek" : ["%A, %d %B %Y", "%d %b %Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "arabic_arabi" : ["%A، %d %B، %Y", "%d/%m/%Y", "%d %B، %Y", "%d/%m/%Y", "%d/%m/%Y"],
+ "arabic_arabtex" : ["%A، %d %B، %Y", "%d/%m/%Y", "%d %B، %Y", "%d/%m/%Y", "%d/%m/%Y"],
+ "armenian" : ["%Y թ. %B %d, %A", "%d.%m.%y", "%d %B، %Y", "%d %b، %Y", "%d/%m/%Y"],
+ "asturian" : ["%A, %d %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "australian" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "austrian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "bahasa" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "bahasam" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "basque" : ["%Y(e)ko %B %d, %A", "%y/%m/%d", "%Y %B %d", "%Y %b %d", "%Y/%m/%d"],
+ "belarusian" : ["%A, %d %B %Y г.", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "bosnian" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%Y-%m-%d"],
+ "brazilian" : ["%A, %d de %B de %Y", "%d/%m/%Y", "%d de %B de %Y", "%d de %b de %Y", "%d/%m/%Y"],
+ "breton" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "british" : ["%A, %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "bulgarian" : ["%A, %d %B %Y г.", "%d.%m.%y г.", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "canadian" : ["%A, %B %d, %Y", "%Y-%m-%d", "%B %d, %Y", "%d %b %Y", "%Y-%m-%d"],
+ "canadien" : ["%A %d %B %Y", "%y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "catalan" : ["%A, %d %B de %Y", "%d/%m/%y", "%d / %B / %Y", "%d / %b / %Y", "%d/%m/%Y"],
+ "chinese-simplified" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y-%m-%d", "%y-%m-%d"],
+ "chinese-traditional" : ["%Y年%m月%d日 %A", "%Y/%m/%d", "%Y年%m月%d日", "%Y年%m月%d日", "%y年%m月%d日"],
+ "coptic" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "croatian" : ["%A, %d. %B %Y.", "%d. %m. %Y.", "%d. %B %Y.", "%d. %b. %Y.", "%d.%m.%Y."],
+ "czech" : ["%A %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b. %Y", "%d.%m.%Y"],
+ "danish" : ["%A den %d. %B %Y", "%d/%m/%Y", "%d. %B %Y", "%d. %b %Y", "%d/%m/%Y"],
+ "divehi" : ["%Y %B %d, %A", "%Y-%m-%d", "%Y %B %d", "%Y %b %d", "%d/%m/%Y"],
+ "dutch" : ["%A %d %B %Y", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "english" : ["%A, %B %d, %Y", "%m/%d/%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "esperanto" : ["%A, %d %B %Y", "%d %b %Y", "la %d de %B %Y", "la %d de %b %Y", "%m/%d/%Y"],
+ "estonian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "farsi" : ["%A %d %B %Y", "%Y/%m/%d", "%d %B %Y", "%d %b %Y", "%Y/%m/%d"],
+ "finnish" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "french" : ["%A %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "friulan" : ["%A %d di %B dal %Y", "%d/%m/%y", "%d di %B %dal %Y", "%d di %b dal %Y", "%d/%m/%Y"],
+ "galician" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d de %b de %Y", "%d/%m/%Y"],
+ "georgian" : ["%A, %d %B, %Y", "%d.%m.%y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "german" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "german-ch" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "german-ch-old" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "greek" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "hebrew" : ["%A, %d ב%B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "hindi" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "icelandic" : ["%A, %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "interlingua" : ["%Y %B %d, %A", "%Y-%m-%d", "le %d de %B %Y", "le %d de %b %Y", "%Y-%m-%d"],
+ "irish" : ["%A %d %B %Y", "%d/%m/%Y", "%d. %B %Y", "%d. %b %Y", "%d/%m/%Y"],
+ "italian" : ["%A %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d/%b/%Y", "%d/%m/%Y"],
+ "japanese" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y/%m/%d", "%y/%m/%d"],
+ "japanese-cjk" : ["%Y年%m月%d日%A", "%Y/%m/%d", "%Y年%m月%d日", "%Y/%m/%d", "%y/%m/%d"],
+ "kannada" : ["%A, %B %d, %Y", "%d/%m/%y", "%d %B %Y", "%d %B %Y", "%d-%m-%Y"],
+ "kazakh" : ["%Y ж. %d %B, %A", "%d.%m.%y", "%d %B %Y", "%d %B %Y", "%Y-%d-%m"],
+ "khmer" : ["%A %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %B %Y", "%d/%m/%Y"],
+ "korean" : ["%Y년 %m월 %d일 %A", "%y. %m. %d.", "%Y년 %m월 %d일", "%Y. %m. %d.", "%y. %m. %d."],
+ "kurmanji" : ["%A, %d %B %Y", "%d %b %Y", "%d. %B %Y", "%d. %m. %Y", "%Y-%m-%d"],
+ "lao" : ["%A ທີ %d %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %B %Y", "%d/%m/%Y"],
+ "latin" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "latvian" : ["%A, %Y. gada %d. %B", "%d.%m.%y", "%Y. gada %d. %B", "%Y. gada %d. %b", "%d.%m.%Y"],
+ "lithuanian" : ["%Y m. %B %d d., %A", "%Y-%m-%d", "%Y m. %B %d d.", "%Y m. %B %d d.", "%Y-%m-%d"],
+ "lowersorbian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "macedonian" : ["%A, %d %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "magyar" : ["%Y. %B %d., %A", "%Y. %m. %d.", "%Y. %B %d.", "%Y. %b %d.", "%Y.%m.%d."],
+ "marathi" : ["%A, %d %B, %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "mongolian" : ["%A, %Y оны %m сарын %d", "%Y-%m-%d", "%Y оны %m сарын %d", "%d-%m-%Y", "%d-%m-%Y"],
+ "naustrian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "newzealand" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "ngerman" : ["%A, %d. %B %Y", "%d.%m.%y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "norsk" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "nynorsk" : ["%A %d. %B %Y", "%d.%m.%Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "occitan" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "piedmontese" : ["%A, %d %B %Y", "%d %b %Y", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "polish" : ["%A, %d %B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "polutonikogreek" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "portuguese" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d de %b de %Y", "%Y/%m/%d"],
+ "romanian" : ["%A, %d %B %Y", "%d.%m.%Y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "romansh" : ["%A, ils %d da %B %Y", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "russian" : ["%A, %d %B %Y г.", "%d.%m.%Y", "%d %B %Y г.", "%d %b %Y г.", "%d.%m.%Y"],
+ "samin" : ["%Y %B %d, %A", "%Y-%m-%d", "%B %d. b. %Y", "%b %d. b. %Y", "%d.%m.%Y"],
+ "sanskrit" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "scottish" : ["%A, %dmh %B %Y", "%d/%m/%Y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "serbian" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "serbian-latin" : ["%A, %d. %B %Y.", "%d.%m.%y.", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "slovak" : ["%A, %d. %B %Y", "%d. %m. %Y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "slovene" : ["%A, %d. %B %Y", "%d. %m. %y", "%d. %B %Y", "%d. %b %Y", "%d.%m.%Y"],
+ "spanish" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "spanish-mexico" : ["%A, %d de %B de %Y", "%d/%m/%y", "%d de %B de %Y", "%d %b %Y", "%d/%m/%Y"],
+ "swedish" : ["%A %d %B %Y", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%Y-%m-%d"],
+ "syriac" : ["%Y %B %d, %A", "%Y-%m-%d", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "tamil" : ["%A, %d %B, %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "telugu" : ["%d, %B %Y, %A", "%d-%m-%y", "%d %B %Y", "%d %b %Y", "%d-%m-%Y"],
+ "thai" : ["%Aที่ %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"],
+ "tibetan" : ["%Y %Bའི་ཚེས་%d, %A", "%Y-%m-%d", "%B %d, %Y", "%b %d, %Y", "%m/%d/%Y"],
+ "turkish" : ["%d %B %Y %A", "%d.%m.%Y", "%d %B %Y", "%d.%b.%Y", "%d.%m.%Y"],
+ "turkmen" : ["%d %B %Y %A", "%d.%m.%Y", "%Y ý. %B %d", "%d.%m.%Y ý.", "%d.%m.%y ý."],
+ "ukrainian" : ["%A, %d %B %Y р.", "%d.%m.%y", "%d %B %Y", "%d %m %Y", "%d.%m.%Y"],
+ "uppersorbian" : ["%A, %d. %B %Y", "%d.%m.%y", "%d %B %Y", "%d %b %Y", "%d.%m.%Y"],
+ "urdu" : ["%A، %d %B، %Y", "%d/%m/%y", "%d %B, %Y", "%d %b %Y", "%d/%m/%Y"],
+ "vietnamese" : ["%A, %d %B, %Y", "%d/%m/%Y", "%d tháng %B %Y", "%d-%m-%Y", "%d/%m/%Y"],
+ "welsh" : ["%A, %d %B %Y", "%d/%m/%y", "%d %B %Y", "%d %b %Y", "%d/%m/%Y"]
+ }
+
+ types = ["date", "fixdate", "moddate" ]
+ i = 0
+ i = find_token(document.header, "\\language", 0)
+ if i == -1:
+ # this should not happen
+ document.warning("Malformed LyX document! No \\language header found!")
+ return
+ lang = get_value(document.header, "\\language", i)
+
+ i = 0
+ while True:
+ i = find_token(document.body, "\\begin_inset Info", i)
+ if i == -1:
+ return
+ j = find_end_of_inset(document.body, i + 1)
+ if j == -1:
+ document.warning("Malformed LyX document: Could not find end of Info inset.")
+ i = i + 1
+ continue
+ tp = find_token(document.body, 'type', i, j)
+ tpv = get_quoted_value(document.body, "type", tp)
+ if tpv not in types:
+ i = i + 1
+ continue
+ arg = find_token(document.body, 'arg', i, j)
+ argv = get_quoted_value(document.body, "arg", arg)
+ isodate = ""
+ dte = date.today()
+ if tpv == "fixdate":
+ datecomps = argv.split('@')
+ if len(datecomps) > 1:
+ argv = datecomps[0]
+ isodate = datecomps[1]
+ m = re.search('(\d\d\d\d)-(\d\d)-(\d\d)', isodate)
+ if m:
+ dte = date(int(m.group(1)), int(m.group(2)), int(m.group(3)))
+# FIXME if we had the path to the original document (not the one in the tmp dir),
+# we could use the mtime.
+# elif tpv == "moddate":
+# dte = date.fromtimestamp(os.path.getmtime(document.dir))
+ result = ""
+ if argv == "ISO":
+ result = dte.isodate()
+ elif argv == "long":
+ result = dte.strftime(dateformats[lang][0])
+ elif argv == "short":
+ result = dte.strftime(dateformats[lang][1])
+ elif argv == "loclong":
+ result = dte.strftime(dateformats[lang][2])
+ elif argv == "locmedium":
+ result = dte.strftime(dateformats[lang][3])
+ elif argv == "locshort":
+ result = dte.strftime(dateformats[lang][4])
+ else:
+ fmt = argv.replace("MMMM", "%b").replace("MMM", "%b").replace("MM", "%m").replace("M", "%m")
+ fmt = fmt.replace("yyyy", "%Y").replace("yy", "%y")
+ fmt = fmt.replace("dddd", "%A").replace("ddd", "%a").replace("dd", "%d")
+ fmt = re.sub('[^\'%]d', '%d', fmt)
+ fmt = fmt.replace("'", "")
+ result = dte.strftime(fmt)
+ document.body[i : j+1] = result
+ i = i + 1
+
+
##
# Conversion hub
#
[555, []],
[556, []],
[557, [convert_vcsinfo]],
- [558, [removeFrontMatterStyles]]
+ [558, [removeFrontMatterStyles]],
+ [559, []]
]
revert = [
- [557, [addFrontMatterStyles]],
+ [558, [revert_dateinfo]],
+ [557, [addFrontMatterStyles]],
[556, [revert_vcsinfo]],
[555, [revert_bibencoding]],
[554, [revert_vcolumns]],
* Licence details can be found in the file COPYING.
*
* \author Bo Peng
+ * \author Jürgen Spitzmüller
*
* Full author contact details are available in file CREDITS.
*/
#include <sstream>
#include <QtGui/QImage>
+#include <QDate>
+#include <QLocale>
using namespace std;
using namespace lyx::support;
translator.addPair(InsetInfo::BUFFER_INFO, "buffer");
translator.addPair(InsetInfo::LYX_INFO, "lyxinfo");
translator.addPair(InsetInfo::VCS_INFO, "vcs");
+ translator.addPair(InsetInfo::DATE_INFO, "date");
+ translator.addPair(InsetInfo::MODDATE_INFO, "moddate");
+ translator.addPair(InsetInfo::FIXDATE_INFO, "fixdate");
return translator;
}
return translator;
}
+
+typedef Translator<InsetInfo::info_type, string> DefaultValueTranslator;
+
+DefaultValueTranslator const initDVTranslator()
+{
+ DefaultValueTranslator translator(InsetInfo::UNKNOWN_INFO, "");
+
+ translator.addPair(InsetInfo::SHORTCUTS_INFO, "info-insert");
+ translator.addPair(InsetInfo::SHORTCUT_INFO, "info-insert");
+ translator.addPair(InsetInfo::LYXRC_INFO, "user_name");
+ translator.addPair(InsetInfo::PACKAGE_INFO, "graphics");
+ translator.addPair(InsetInfo::TEXTCLASS_INFO, "article");
+ translator.addPair(InsetInfo::MENU_INFO, "info-insert");
+ translator.addPair(InsetInfo::ICON_INFO, "info-insert");
+ translator.addPair(InsetInfo::BUFFER_INFO, "name");
+ translator.addPair(InsetInfo::LYX_INFO, "version");
+ translator.addPair(InsetInfo::VCS_INFO, "revision");
+ translator.addPair(InsetInfo::DATE_INFO, "loclong");
+ translator.addPair(InsetInfo::MODDATE_INFO, "loclong");
+ translator.addPair(InsetInfo::FIXDATE_INFO, "loclong");
+
+ return translator;
+}
+
+/// The translator between the information type enum and some sensible default value.
+DefaultValueTranslator const & defaultValueTranslator()
+{
+ static DefaultValueTranslator const translator = initDVTranslator();
+ return translator;
+}
+
} // namespace
/////////////////////////////////////////////////////////////////////////
case LYX_INFO:
result = _("The current LyX version");
break;
+ case DATE_INFO:
+ result = _("The current date");
+ break;
+ case MODDATE_INFO:
+ result = _("The date of last save");
+ break;
+ case FIXDATE_INFO:
+ result = _("A static date");
+ break;
}
return result;
bool InsetInfo::validateModifyArgument(docstring const & arg) const
{
string type;
- string const name = trim(split(to_utf8(arg), type, ' '));
+ string name = trim(split(to_utf8(arg), type, ' '));
switch (nameTranslator().find(type)) {
case UNKNOWN_INFO:
case LYX_INFO:
return name == "version";
+
+ case FIXDATE_INFO: {
+ string date;
+ string piece;
+ date = split(name, piece, '@');
+ if (!date.empty() && !QDate::fromString(toqstr(date), Qt::ISODate).isValid())
+ return false;
+ if (!piece.empty())
+ name = piece;
+ }
+ // fall through
+ case DATE_INFO:
+ case MODDATE_INFO: {
+ if (name == "long" || name == "short" || name == "ISO")
+ return true;
+ else {
+ QDate date = QDate::currentDate();
+ return !date.toString(toqstr(name)).isEmpty();
+ }
+ }
}
return false;
} // namespace anon
+docstring InsetInfo::getDate(string const name, QDate const date) const
+{
+ QLocale loc;
+ if (lang_)
+ loc = QLocale(toqstr(lang_->code()));
+ if (name == "long")
+ return qstring_to_ucs4(loc.toString(date, QLocale::LongFormat));
+ else if (name == "short")
+ return qstring_to_ucs4(loc.toString(date, QLocale::ShortFormat));
+ else if (name == "ISO")
+ return qstring_to_ucs4(date.toString(Qt::ISODate));
+ else if (name == "loclong")
+ return qstring_to_ucs4(loc.toString(date, toqstr(lang_->dateFormat(0))));
+ else if (name == "locmedium")
+ return qstring_to_ucs4(loc.toString(date, toqstr(lang_->dateFormat(1))));
+ else if (name == "locshort")
+ return qstring_to_ucs4(loc.toString(date, toqstr(lang_->dateFormat(2))));
+ else
+ return qstring_to_ucs4(loc.toString(date, toqstr(name)));
+}
+
+
vector<pair<string,docstring>> InsetInfo::getArguments(string const & type) const
{
vector<pair<string,docstring>> result;
case LYX_INFO:
result.push_back(make_pair("version", _("LyX version")));
break;
+
+ case FIXDATE_INFO:
+ case DATE_INFO:
+ case MODDATE_INFO:
+ string const dt = split(name_, '@');
+ QDate date;
+ if (type == "moddate")
+ date = QDateTime::fromTime_t(buffer().fileName().lastModified()).date();
+ else if (type == "fixdate" && !dt.empty())
+ date = QDate::fromString(toqstr(dt), Qt::ISODate);
+ else
+ date = QDate::currentDate();
+ result.push_back(make_pair("long",getDate("long", date)));
+ result.push_back(make_pair("short", getDate("short", date)));
+ result.push_back(make_pair("loclong", getDate("loclong", date)));
+ result.push_back(make_pair("locmedium", getDate("locmedium", date)));
+ result.push_back(make_pair("locshort", getDate("locshort", date)));
+ result.push_back(make_pair("ISO", getDate("ISO", date)));
+ result.push_back(make_pair("yyyy", getDate("yyyy", date)));
+ result.push_back(make_pair("MMMM", getDate("MMMM", date)));
+ result.push_back(make_pair("MMM", getDate("MMM", date)));
+ result.push_back(make_pair("dddd", getDate("dddd", date)));
+ result.push_back(make_pair("ddd", getDate("ddd", date)));
+ result.push_back(make_pair("custom", _("Custom")));
+ break;
}
return result;
case LFUN_INSET_MODIFY:
if (validateModifyArgument(cmd.argument())) {
flag.setEnabled(true);
+ string typestr;
+ string name = trim(split(to_utf8(cmd.argument()), typestr, ' '));
+ info_type type = nameTranslator().find(typestr);
+ string origname = name_;
+ if (type == FIXDATE_INFO)
+ split(name_, origname, '@');
+ flag.setOnOff(type == type_ && name == origname);
return true;
}
//fall through
{
if (name.empty())
return;
+
+ string saved_date_specifier;
+ // Store old date specifier for potential re-use
+ if (!name_.empty())
+ saved_date_specifier = split(name_, '@');
// info_type name
string type;
name_ = trim(split(name, type, ' '));
type_ = nameTranslator().find(type);
+ if (name_.empty())
+ name_ = defaultValueTranslator().find(type_);
+ if (type_ == FIXDATE_INFO) {
+ string const date_specifier = split(name_, '@');
+ // If an explicit new fix date is specified, use that
+ // Otherwise, use the old one or, if there is none,
+ // the current date
+ if (date_specifier.empty()) {
+ if (saved_date_specifier.empty())
+ name_ += "@" + fromqstr(QDate::currentDate().toString(Qt::ISODate));
+ else
+ name_ += "@" + saved_date_specifier;
+ }
+ }
}
return;
BufferParams const & bp = buffer().params();
- Language const * lang = it.paragraph().getFontSettings(bp, it.pos()).language();
+ lang_ = it.paragraph().getFontSettings(bp, it.pos()).language();
Language const * tryguilang = languages.getFromCode(Messages::guiLanguage());
// Some info insets use the language of the GUI (if available)
- Language const * guilang = tryguilang ? tryguilang : lang;
+ Language const * guilang = tryguilang ? tryguilang : lang_;
- force_ltr_ = !lang->rightToLeft();
+ force_ltr_ = !lang_->rightToLeft();
// This is just to get the string into the po files
docstring gui;
switch (type_) {
case UNKNOWN_INFO:
gui = _("Unknown Info!");
- info(from_ascii("Unknown Info!"), lang);
+ info(from_ascii("Unknown Info!"), lang_);
initialized_ = false;
break;
case SHORTCUT_INFO:
FuncRequest const func = lyxaction.lookupFunc(name_);
if (func.action() == LFUN_UNKNOWN_ACTION) {
gui = _("Unknown action %1$s");
- error(from_ascii("Unknown action %1$s"), lang);
+ error(from_ascii("Unknown action %1$s"), lang_);
break;
}
KeyMap::Bindings bindings = theTopLevelKeymap().findBindings(func);
if (bindings.empty()) {
gui = _("undefined");
- info(from_ascii("undefined"), lang);
+ info(from_ascii("undefined"), lang_);
break;
}
if (type_ == SHORTCUT_INFO)
setText(bindings.begin()->print(KeySequence::ForGui), guilang);
else
setText(theTopLevelKeymap().printBindings(func, KeySequence::ForGui), guilang);
- force_ltr_ = !guilang->rightToLeft() && !lang->rightToLeft();
+ force_ltr_ = !guilang->rightToLeft() && !lang_->rightToLeft();
break;
}
case LYXRC_INFO: {
ostringstream oss;
if (name_.empty()) {
gui = _("undefined");
- info(from_ascii("undefined"), lang);
+ info(from_ascii("undefined"), lang_);
break;
}
// FIXME this uses the serialization mechanism to get the info
string result = oss.str();
if (result.size() < 2) {
gui = _("undefined");
- info(from_ascii("undefined"), lang);
+ info(from_ascii("undefined"), lang_);
break;
}
string::size_type loc = result.rfind("\n", result.size() - 2);
if (result.size() < loc + name_.size() + 1
|| result.substr(loc + 1, name_.size()) != name_) {
gui = _("undefined");
- info(from_ascii("undefined"), lang);
+ info(from_ascii("undefined"), lang_);
break;
}
// remove leading comments and \\name and space
// remove \n and ""
result = rtrim(result, "\n");
result = trim(result, "\"");
- setText(from_utf8(result), lang);
+ setText(from_utf8(result), lang_);
break;
}
case PACKAGE_INFO:
// check in packages.lst
if (LaTeXFeatures::isAvailable(name_)) {
gui = _("yes");
- info(from_ascii("yes"), lang);
+ info(from_ascii("yes"), lang_);
} else {
gui = _("no");
- info(from_ascii("no"), lang);
+ info(from_ascii("no"), lang_);
}
initialized_ = true;
break;
available = list[name_].isTeXClassAvailable();
if (available) {
gui = _("yes");
- info(from_ascii("yes"), lang);
+ info(from_ascii("yes"), lang_);
} else {
gui = _("no");
- info(from_ascii("no"), lang);
+ info(from_ascii("no"), lang_);
}
break;
}
FuncRequest const func = lyxaction.lookupFunc(name_);
if (func.action() == LFUN_UNKNOWN_ACTION) {
gui = _("Unknown action %1$s");
- error(from_ascii("Unknown action %1$s"), lang);
+ error(from_ascii("Unknown action %1$s"), lang_);
break;
}
// iterate through the menubackend to find it
if (!theApp()) {
gui = _("Can't determine menu entry for action %1$s in batch mode");
- error(from_ascii("Can't determine menu entry for action %1$s in batch mode"), lang);
+ error(from_ascii("Can't determine menu entry for action %1$s in batch mode"), lang_);
break;
}
if (!theApp()->searchMenu(func, names)) {
gui = _("No menu entry for action %1$s");
- error(from_ascii("No menu entry for action %1$s"), lang);
+ error(from_ascii("No menu entry for action %1$s"), lang_);
break;
}
// if found, return its path.
igp.width = Length(1, Length::EM);
inset->setParams(igp);
clear();
- Font const f(inherit_font, lang);
+ Font const f(inherit_font, lang_);
paragraphs().front().insertInset(0, inset, f,
Change(Change::UNCHANGED));
break;
case BUFFER_INFO: {
// this could all change, so we will recalculate each time
if (name_ == "name")
- setText(from_utf8(buffer().fileName().onlyFileName()), lang);
+ setText(from_utf8(buffer().fileName().onlyFileName()), lang_);
else if (name_ == "path")
- setText(from_utf8(os::latex_path(buffer().filePath())), lang);
+ setText(from_utf8(os::latex_path(buffer().filePath())), lang_);
else if (name_ == "class")
- setText(from_utf8(bp.documentClass().name()), lang);
+ setText(from_utf8(bp.documentClass().name()), lang_);
break;
}
case VCS_INFO: {
// recalculate each time through
if (!buffer().lyxvc().inUse()) {
gui = _("No version control!");
- info(from_ascii("No version control!"), lang);
+ info(from_ascii("No version control!"), lang_);
break;
}
LyXVC::RevisionInfo itype = LyXVC::Unknown;
string binfo = buffer().lyxvc().revisionInfo(itype);
if (binfo.empty()) {
gui = _("%1$s[[vcs data]] unknown");
- error(from_ascii("%1$s[[vcs data]] unknown"), lang);
+ error(from_ascii("%1$s[[vcs data]] unknown"), lang_);
} else
- setText(from_utf8(binfo), lang);
+ setText(from_utf8(binfo), lang_);
break;
}
case LYX_INFO:
if (initialized_)
break;
if (name_ == "version")
- setText(from_ascii(lyx_version), lang);
+ setText(from_ascii(lyx_version), lang_);
initialized_ = true;
break;
+ case DATE_INFO:
+ case MODDATE_INFO:
+ case FIXDATE_INFO: {
+ string date_format = name_;
+ string const date_specifier = (type_ == FIXDATE_INFO && contains(name_, '@'))
+ ? split(name_, date_format, '@') : string();
+ QDate date;
+ if (type_ == MODDATE_INFO)
+ date = QDateTime::fromTime_t(buffer().fileName().lastModified()).date();
+ else if (type_ == FIXDATE_INFO && !date_specifier.empty())
+ date = QDate::fromString(toqstr(date_specifier), Qt::ISODate);
+ else
+ date = QDate::currentDate();
+ setText(getDate(date_format, date), lang_);
+ }
}
// Just to do something with that string
LYXERR(Debug::INFO, "info inset text: " << gui);