[LyX/master] ctests: uninvert DocBook test due to recent fix

2023-10-10 Thread Scott Kostyshak
commit e97ebe93d3bd0a61dcc97ce60ca304930f6b90ad
Author: Scott Kostyshak 
Date:   Tue Oct 10 10:35:53 2023 -0400

ctests: uninvert DocBook test due to recent fix
---
 development/autotests/invertedTests |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/development/autotests/invertedTests 
b/development/autotests/invertedTests
index 8bcf370..ff7a77b 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -516,8 +516,6 @@ 
export/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env_docbook5
 #   See also ML discussion:
 # 
https://www.mail-archive.com/search?l=mid=20211102011304.dmrcr7gjpxxwpd4o%40poole
 export/examples/(|ja/)Modules/LilyPond_Book_docbook5
-# Undiagnosed
-export/doc/es/Intro_docbook5
 
 Sublabel: docbook poster
 # Posters cannot be properly exported, the LyX documents are too far from
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] DocBook: in InsetInfo, ensure that no db:date is inserted within a db:date.

2023-10-10 Thread Scott Kostyshak
commit 43921861b9b14c2b4f5b2cef8e482a43776fc982
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 21:06:46 2023 +0200

DocBook: in InsetInfo, ensure that no db:date is inserted within a db:date.
---
 autotests/export/docbook/insetinfo.lyx |   11 +++
 autotests/export/docbook/insetinfo.xml |3 +++
 src/Paragraph.cpp  |   11 ++-
 src/insets/InsetInfo.cpp   |   27 +++
 4 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/autotests/export/docbook/insetinfo.lyx 
b/autotests/export/docbook/insetinfo.lyx
index 1ae6c30..a1b04a5 100644
--- a/autotests/export/docbook/insetinfo.lyx
+++ b/autotests/export/docbook/insetinfo.lyx
@@ -91,6 +91,17 @@ Test:
  InsetInfo
 \end_layout
 
+\begin_layout Date
+
+\lang japanese-cjk
+\begin_inset Info
+type  "moddate"
+arg   "long"
+\end_inset
+
+
+\end_layout
+
 \begin_layout Standard
 
 \lang spanish
diff --git a/autotests/export/docbook/insetinfo.xml 
b/autotests/export/docbook/insetinfo.xml
index 48ba1d8..dd0dd66 100644
--- a/autotests/export/docbook/insetinfo.xml
+++ b/autotests/export/docbook/insetinfo.xml
@@ -2,6 +2,9 @@
 
 http://docbook.org/ns/docbook; 
xmlns:xlink="http://www.w3.org/1999/xlink; 
xmlns:m="http://www.w3.org/1998/Math/MathML; 
xmlns:xi="http://www.w3.org/2001/XInclude; version="5.2">
+
 Test: InsetInfo
+2023-10-08
+
 Véase la User's 
Guide o Additional 
Features para más detalles.
 
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 333aeb8..5ac03fa 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3635,11 +3635,11 @@ std::tuple, 
vector> computeDocBookFontSwit
 
 std::tuple, std::vector, 
std::vector>
 Paragraph::simpleDocBookOnePar(Buffer const & buf,
-  OutputParams const & 
runparams,
-  Font const & outerfont,
-  pos_type initial,
-  bool is_last_par,
-  bool ignore_fonts) const
+   OutputParams const & runparams,
+   Font const & outerfont,
+   pos_type initial,
+   bool is_last_par,
+   bool ignore_fonts) const
 {
// Return values: segregation of the content of this paragraph.
std::vector prependedParagraphs; // Anything that must be 
output before the main tag of this paragraph.
@@ -3669,6 +3669,7 @@ std::tuple, 
std::vector, std::vector");
xs << qstring_to_ucs4(parseDate(buffer(), 
params_).toString(Qt::ISODate));
-   xml::closeTag(xs, "date", "inline");
+   if (!isWithinDate)
+   xml::closeTag(xs, "date", "inline");
break;
}
 
@@ -1752,9 +1763,17 @@ void InsetInfo::docbook(XMLStream & xs, OutputParams 
const & rp) const
}
 
// DocBook has no specific element for time, so use a date.
-   xml::openTag(xs, "date", "(role=\"" + role + "\"", "inline");
+   // See the discussion above (DATE_INFO, MODDATE_INFO, and 
FIXDATE_INFO) for a discussion about the choices that
+   // have been made.
+   const bool isWithinDate = 
buffer().getParFromID(rp.lastid).top().paragraph().layout().docbooktag() == 
"date";
+
+   if (!isWithinDate)
+   xml::openTag(xs, "date", "role=\"" + role + "\"", 
"inline");
+   else
+   xs << XMLStream::ESCAPE_NONE << 
from_ascii(std::string("");
xs << qstring_to_ucs4(parseTime(buffer(), 
params_).toString(Qt::ISODate));
-   xml::closeTag(xs, "date", "inline");
+   if (!isWithinDate)
+   xml::closeTag(xs, "date", "inline");
break;
}
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] DocBook: fix a crash in docbookSimpleAllParagraphs.

2023-10-10 Thread Scott Kostyshak
commit d8a0f1aadda25e11e5a330e8c7cdd0d413ff55b4
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 21:11:17 2023 +0200

DocBook: fix a crash in docbookSimpleAllParagraphs.

When having the code preview pane open with 
examples/Language_Support/Mixing_Japanese_with_other_Languages_(with_CJKutf8), 
clicking at random on paragraphs sometimes yielded a crash: *par when par is 
the end of the iterator. LyX could output the whole document as DocBook without 
this patch and still generates the same output with it (i.e. no text is 
missing).
---
 src/output_docbook.cpp |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 19f6de4..983d4e7 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -1127,8 +1127,9 @@ void docbookSimpleAllParagraphs(
 
// Then, the content. It starts where the  ends.
auto par = paragraphs.iterator_at(info.epit);
-   auto end = paragraphs.iterator_at(epit);
-   while (par != end) {
+   auto par_epit = paragraphs.iterator_at(epit);
+   auto par_end = paragraphs.end();
+   while (par != par_epit && par != par_end) {
if (!hasOnlyNotes(*par))
par = makeAny(text, buf, xs, runparams, par);
else
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] Fix three sign-compare compiler warning

2023-10-10 Thread Scott Kostyshak
commit 1273f25c76f313b4b4d89402b6c1cbc9b1644509
Author: Scott Kostyshak 
Date:   Tue Oct 10 10:07:23 2023 -0400

Fix three sign-compare compiler warning

Fixes three similar warnings. One of them is the following:

src/insets/InsetInfo.cpp:1583:20: error: comparison of integers of 
different signs: 'int' and 'std::basic_string::size_type' (aka 
'unsigned long') [-Werror,-Wsign-compare]
for (int i = 0; i < sequence.length(); ++i) {
~ ^ ~
---
 src/insets/InsetInfo.cpp |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 4b92774..1cb6853 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -1580,7 +1580,7 @@ void xhtmlShortcutInfo(XMLStream & xs, const 
InsetInfoParams & params) {
odocstringstream ods;
string const lcode = params.lang->code();
docstring trans;
-   for (int i = 0; i < sequence.length(); ++i) {
+   for (size_t i = 0; i < sequence.length(); ++i) {
char_type const c = sequence[i];
const auto keyMapping = keyToString.find(c);
if (keyMapping != keyToString.end()) {
@@ -1675,7 +1675,7 @@ void docbookMenuInfo(XMLStream & xs, Buffer const & 
buffer, const InsetInfoParam
xml::openTag(xs, "menuchoice", attr, "inline"); // More of an inline 
tag in this case, as there is no db:shortcut to
// accompany the succession of menus.
 
-   for (int i = 0; i < names.size(); ++i) {
+   for (size_t i = 0; i < names.size(); ++i) {
docstring const & name = names[i];
 
std::string tag;
@@ -1746,7 +1746,7 @@ void xhtmlMenuInfo(XMLStream & xs, Buffer const & buffer, 
const InsetInfoParams
// Use bdo instead of span to specify the text direction (dir is only 
allowed globally or on bdo).
xml::openTag(xs, "bdo", attr, "inline");
 
-   for (int i = 0; i < names.size(); ++i) {
+   for (size_t i = 0; i < names.size(); ++i) {
docstring const & name = names[i];
 
//FIXME: add proper underlines here. This
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] DocBook: add support for InsetInfo.

2023-10-10 Thread Scott Kostyshak
commit 0c2f3dedd6590d56d771d5d56dce2935a82e9289
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 01:20:14 2023 +0200

DocBook: add support for InsetInfo.

A similar patch would be required for LyXHTML, but it will come later. The 
main impact is that some text isn't output in XHTML (like DocBook before this 
patch).

The code isn't as clean as it could be. I avoided touching anything not 
related to DocBook, as the release of 2.4 is nearing, while leaving comments 
for parts to improve for the next release cycle. Given that the code compiles, 
there are no risks for TeX or XHTML outputs; for DocBook, less content is 
skipped, which is a net improvement for users.
---
 autotests/export/docbook/insetinfo.lyx |  121 +++
 autotests/export/docbook/insetinfo.xml |7 +
 src/insets/InsetInfo.cpp   |  545 
 src/insets/InsetInfo.h |2 +
 4 files changed, 675 insertions(+), 0 deletions(-)

diff --git a/autotests/export/docbook/insetinfo.lyx 
b/autotests/export/docbook/insetinfo.lyx
new file mode 100644
index 000..1ae6c30
--- /dev/null
+++ b/autotests/export/docbook/insetinfo.lyx
@@ -0,0 +1,121 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 620
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children no
+\language american
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\float_placement class
+\float_alignment class
+\paperfontsize default
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_formatted_ref 0
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content true
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\docbook_mathml_prefix 1
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Test:
+ InsetInfo
+\end_layout
+
+\begin_layout Standard
+
+\lang spanish
+Véase la 
+\emph on
+
+\begin_inset Info
+type  "l7n"
+arg   "User's Guide|U"
+\end_inset
+
+
+\emph default
+ o 
+\emph on
+
+\begin_inset Info
+type  "l7n"
+arg   "Additional Features|F"
+\end_inset
+
+
+\emph default
+ para más detalles.
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/insetinfo.xml 
b/autotests/export/docbook/insetinfo.xml
new file mode 100644
index 000..48ba1d8
--- /dev/null
+++ b/autotests/export/docbook/insetinfo.xml
@@ -0,0 +1,7 @@
+
+
+http://docbook.org/ns/docbook; 
xmlns:xlink="http://www.w3.org/1999/xlink; 
xmlns:m="http://www.w3.org/1998/Math/MathML; 
xmlns:xi="http://www.w3.org/2001/XInclude; version="5.2">
+Test: InsetInfo
+Véase la User's 
Guide o Additional 
Features para más detalles.
+
\ No newline at end of file
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 06851bb..1f50dfe 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -31,6 +31,7 @@
 #include "LyXRC.h"
 #include "LyXVC.h"
 #include "Lexer.h"
+#include "output_docbook.h"
 #include "Paragraph.h"
 #include "ParIterator.h"
 #include "ParagraphParameters.h"
@@ -54,6 +55,7 @@
 #include "support/Translator.h"
 
 #include 
+#include 
 
 #include 
 #include 
@@ -297,6 +299,7 @@ vector> 
InsetInfoParams::getArguments(Buffer const * buf,
case FIXDATE_INFO:
case DATE_INFO:
case MODDATE_INFO: {
+   // TODO: away from a release, use parseDate instead.
string const dt = split(name, '@');
QDate date;
if (itype == "moddate")
@@ -327,6 +330,7 @@ vector> 
InsetInfoParams::getArguments(Buffer const * buf,
case FIXTIME_INFO:
case 

[LyX/master] DocBook: fix closing formatting after deleted text.

2023-10-10 Thread Scott Kostyshak
commit 78b157b61eefc36c1c837a724f0cb067fe40f172
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 01:39:45 2023 +0200

DocBook: fix closing formatting after deleted text.

Previously, when closing font tags, only the previous character's font was 
used. However, if that character is deleted, it had no change of having the 
right font tags opened/closed. Hence, look further to compare the font of the 
current character to output with the font of the previously output character.
---
 autotests/export/docbook/tracking_formatting.lyx |  111 ++
 autotests/export/docbook/tracking_formatting.xml |7 ++
 src/Paragraph.cpp|   10 ++-
 3 files changed, 126 insertions(+), 2 deletions(-)

diff --git a/autotests/export/docbook/tracking_formatting.lyx 
b/autotests/export/docbook/tracking_formatting.lyx
new file mode 100644
index 000..44802ff
--- /dev/null
+++ b/autotests/export/docbook/tracking_formatting.lyx
@@ -0,0 +1,111 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 620
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children no
+\language american
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\float_placement class
+\float_alignment class
+\paperfontsize default
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_formatted_ref 0
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes true
+\output_changes false
+\change_bars false
+\postpone_fragile_content true
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\docbook_mathml_prefix 1
+\author 1075283030 "Thibaut"
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Test:
+ deleted text just after the end of formatted text
+\end_layout
+
+\begin_layout Standard
+
+\lang spanish
+incluye el archivo 
+\family typewriter
+config.log
+\change_deleted 1075283030 1696721001
+
+\family default
+,
+
+\change_unchanged
+ y menciona el compilador que usas.
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/tracking_formatting.xml 
b/autotests/export/docbook/tracking_formatting.xml
new file mode 100644
index 000..fb245c1
--- /dev/null
+++ b/autotests/export/docbook/tracking_formatting.xml
@@ -0,0 +1,7 @@
+
+
+http://docbook.org/ns/docbook; 
xmlns:xlink="http://www.w3.org/1999/xlink; 
xmlns:m="http://www.w3.org/1998/Math/MathML; 
xmlns:xi="http://www.w3.org/2001/XInclude; version="5.2">
+Test: deleted text just after the end of formatted text
+incluye el archivo config.log y menciona el compilador que 
usas.
+
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 3718bd4..333aeb8 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3721,10 +3721,16 @@ std::tuple, 
std::vector, std::vector 0) {
+   while (last_output_char > 0 && 
isDeleted(last_output_char))
+   --last_output_char;
+   }
FontInfo const font_old = (i == 0 ?
(style.labeltype == LABEL_MANUAL ? 
style.labelfont : style.font) :
-   getFont(buf.masterBuffer()->params(), i - 1, 
outerfont).fontInfo());
+   getFont(buf.masterBuffer()->params(), 
last_output_char, outerfont).fontInfo());
Font const font = getFont(buf.masterBuffer()->params(), i, 
outerfont);
 tie(tagsToOpen, tagsToClose) = computeDocBookFontSwitch(
font_old, font, 
buf.masterBuffer()->params().fonts_default_family, fs);
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org

[LyX/master] DocBook: fix formatting of TODOs.

2023-10-10 Thread Scott Kostyshak
commit b9fc4bae44ca8f41b636101909ef0596bf2d4def
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 01:38:27 2023 +0200

DocBook: fix formatting of TODOs.

The lines were very long; this commit truncates them to 120 characters.
---
 src/output_docbook.cpp |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index c80a7cd..19f6de4 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -1300,7 +1300,8 @@ void docbookParagraphs(Text const ,
}
 
// Close all sections before the bibliography.
-   // TODO: Only close all when the bibliography is at the end of 
the document? Or force to output the bibliography at the end of the document? 
Or don't care (as allowed by DocBook)?
+   // TODO: Only close all when the bibliography is at the end of 
the document? Or force to output the bibliography
+   // at the end of the document? Or don't care (as allowed by 
DocBook)?
if (!par->insetList().empty()) {
Inset const *firstInset = par->getInset(0);
if (firstInset && (firstInset->lyxCode() == 
BIBITEM_CODE || firstInset->lyxCode() == BIBTEX_CODE)) {
@@ -1326,7 +1327,8 @@ void docbookParagraphs(Text const ,
// Generate the  tag if a section was just opened.
// Some sections may require abstracts (mostly parts, in books: 
DocBookForceAbstractTag will not be NONE),
// others can still have an abstract (it must be detected so 
that it can be output at the right place).
-   // TODO: docbookforceabstracttag is a bit contrived here, but 
it does the job. Having another field just for this would be cleaner, but 
that's just for  and , so it's probably not worth the effort.
+   // TODO: docbookforceabstracttag is a bit contrived here, but 
it does the job. Having another field just for
+   // this would be cleaner, but that's just for  and 
, so it's probably not worth the effort.
if (isLayoutSectioning(style)) {
// This abstract may be found between the next 
paragraph and the next title.
pit_type cpit = 
std::distance(text.paragraphs().begin(), par);
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs


[LyX/master] XHTML: implement InsetInfo.

2023-10-10 Thread Scott Kostyshak
commit 531a37baee776e4a984820809d5ef4bcbe6f5047
Author: Thibaut Cuvelier 
Date:   Sun Oct 8 22:09:59 2023 +0200

XHTML: implement InsetInfo.
---
 src/insets/InsetInfo.cpp |  342 --
 src/insets/InsetInfo.h   |2 +
 2 files changed, 330 insertions(+), 14 deletions(-)

diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index b08eb7b..4b92774 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -1295,48 +1295,54 @@ namespace {
 
 // TODO: away from a release, use these functions in InsetInfo::build and 
InsetInfoParams::getArguments.
 
-QDate parseDate(Buffer const & buffer, const InsetInfoParams & params) {
+std::pair parseDate(Buffer const & buffer, const 
InsetInfoParams & params) {
std::string date_format = params.name;
std::string const date_specifier = (params.type == 
InsetInfoParams::FIXDATE_INFO
&& contains(params.name, '@'))
   ? split(params.name, date_format, 
'@') : string();
 
+   QDate date;
if (params.type == InsetInfoParams::MODDATE_INFO)
 #if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
-   return 
QDateTime::fromSecsSinceEpoch(buffer.fileName().lastModified()).date();
+   date = 
QDateTime::fromSecsSinceEpoch(buffer.fileName().lastModified()).date();
 #else
-   return 
QDateTime::fromTime_t(buffer.fileName().lastModified()).date();
+   date = 
QDateTime::fromTime_t(buffer.fileName().lastModified()).date();
 #endif
else if (params.type == InsetInfoParams::FIXDATE_INFO && 
!date_specifier.empty()) {
QDate date = QDate::fromString(toqstr(date_specifier), 
Qt::ISODate);
-   return (date.isValid()) ? date : QDate::currentDate();
+   date = (date.isValid()) ? date : QDate::currentDate();
} else {
if (params.type != InsetInfoParams::DATE_INFO && params.type != 
InsetInfoParams::FIXDATE_INFO)
lyxerr << "Unexpected InsetInfoParams::info_type in 
parseDate: " << params.type;
-   return QDate::currentDate();
+   date = QDate::currentDate();
}
+
+   return {date, date_format};
 }
 
-QTime parseTime(Buffer const & buffer, const InsetInfoParams & params) {
+std::pair parseTime(Buffer const & buffer, const 
InsetInfoParams & params) {
std::string time_format = params.name;
std::string const date_specifier = (params.type == 
InsetInfoParams::FIXTIME_INFO
&& contains(params.name, '@'))
   ? split(params.name, time_format, 
'@') : string();
 
+   QTime time;
if (params.type == InsetInfoParams::MODTIME_INFO)
 #if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
-   return 
QDateTime::fromSecsSinceEpoch(buffer.fileName().lastModified()).time();
+   time = 
QDateTime::fromSecsSinceEpoch(buffer.fileName().lastModified()).time();
 #else
-   return 
QDateTime::fromTime_t(buffer.fileName().lastModified()).time();
+   time = 
QDateTime::fromTime_t(buffer.fileName().lastModified()).time();
 #endif
else if (params.type == InsetInfoParams::FIXTIME_INFO && 
!date_specifier.empty()) {
-   QTime time = QTime::fromString(toqstr(date_specifier), 
Qt::ISODate);
-   return (time.isValid()) ? time : QTime::currentTime();
+   time = QTime::fromString(toqstr(date_specifier), Qt::ISODate);
+   time = (time.isValid()) ? time : QTime::currentTime();
} else {
if (params.type != InsetInfoParams::TIME_INFO && params.type != 
InsetInfoParams::FIXTIME_INFO)
lyxerr << "Unexpected InsetInfoParams::info_type in 
parseTime: " << params.type;
-   return QTime::currentTime();
+   time = QTime::currentTime();
}
+
+   return {time, time_format};
 }
 
 docstring getBufferInfo(Buffer const & buffer, const InsetInfoParams & params) 
{
@@ -1444,7 +1450,7 @@ void docbookShortcutInfo(XMLStream & xs, const 
InsetInfoParams & params) {
 
std::string attr;
if (params.type == InsetInfoParams::SHORTCUTS_INFO)
-   attr = R"(role="shorcuts")";
+   attr = R"(role="shortcuts")";
else if (params.type == InsetInfoParams::SHORTCUT_INFO)
attr = R"(role="shortcut")";
else {
@@ -1519,6 +1525,78 @@ void docbookShortcutInfo(XMLStream & xs, const 
InsetInfoParams & params) {
xml::closeTag(xs, "shortcut", "inline");
 }
 
+void xhtmlShortcutInfo(XMLStream & xs, const InsetInfoParams & params) {
+   std::string attr;
+   if (params.type == InsetInfoParams::SHORTCUTS_INFO)
+   attr = R"(class="shortcuts")";
+   else if (params.type == InsetInfoParams::SHORTCUT_INFO)
+   attr = R"(class="shortcut")";
+ 

[LyX/master] de.po

2023-10-10 Thread Juergen Spitzmueller
commit e8effd5d9dc9035fef50f183112c64b0335b40cd
Author: Juergen Spitzmueller 
Date:   Tue Oct 10 08:53:50 2023 +0200

de.po
---
 po/de.po |  260 +++---
 1 files changed, 130 insertions(+), 130 deletions(-)

diff --git a/po/de.po b/po/de.po
index 9574b6c..4473fd9 100644
--- a/po/de.po
+++ b/po/de.po
@@ -95,15 +95,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LyX 2.4git\n"
 "Report-Msgid-Bugs-To: lyx-de...@lists.lyx.org\n"
-"POT-Creation-Date: 2023-10-04 13:18+0200\n"
-"PO-Revision-Date: 2023-10-04 13:22+0200\n"
+"POT-Creation-Date: 2023-10-10 08:45+0200\n"
+"PO-Revision-Date: 2023-10-10 08:52+0200\n"
 "Last-Translator: Juergen Spitzmueller \n"
-"Language-Team: German \n"
+"Language-Team: German \n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 18.12.1\n"
+"X-Generator: Lokalize 23.08.1\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 #: src/frontends/qt/ui/AboutUi.ui:27
@@ -799,7 +799,7 @@ msgid "Add a new branch to the list"
 msgstr "Füge einen neuen Zweig zur Liste hinzu"
 
 #: src/frontends/qt/ui/BranchesUi.ui:116 src/frontends/qt/ui/CitationUi.ui:146
-#: src/frontends/qt/ui/IndicesUi.ui:134 src/CutAndPaste.cpp:477
+#: src/frontends/qt/ui/IndicesUi.ui:134 src/CutAndPaste.cpp:479
 msgid ""
 msgstr "ügen"
 
@@ -4317,7 +4317,7 @@ msgid "Use s instance"
 msgstr "Ein verwenden"
 
 #: src/frontends/qt/ui/PrefDocHandlingUi.ui:197
-msgid "Whether to place close button on each tab or only one in the top left."
+msgid "Whether to place close button on each tab or only one in the top right."
 msgstr ""
 "Zeige den \"Schließen\"-Knopf nicht auf jedem Unterfenster an, sondern "
 "rechts in der Unterfenster-Leiste."
@@ -17807,34 +17807,6 @@ msgstr "Kapitel \\thechapter"
 msgid "Appendix \\thechapter"
 msgstr "Anhang \\thechapter"
 
-#: lib/layouts/stdspecialchars.inc:8 lib/ui/stdmenus.inc:464
-msgid "Ligature Break|k"
-msgstr "Ligaturtrenner|r"
-
-#: lib/layouts/stdspecialchars.inc:17 lib/ui/stdmenus.inc:416
-msgid "End of Sentence|E"
-msgstr "Satzendepunkt|S"
-
-#: lib/layouts/stdspecialchars.inc:26 lib/ui/stdmenus.inc:415
-msgid "Ellipsis|i"
-msgstr "Fortsetzungspunkte|F"
-
-#: lib/layouts/stdspecialchars.inc:36 lib/ui/stdmenus.inc:422
-msgid "Menu Separator|M"
-msgstr "Menütrenner|M"
-
-#: lib/layouts/stdspecialchars.inc:49 lib/ui/stdmenus.inc:463
-msgid "Hyphenation Point|H"
-msgstr "Trennmöglichkeit|ö"
-
-#: lib/layouts/stdspecialchars.inc:56 lib/ui/stdmenus.inc:420
-msgid "Breakable Slash|a"
-msgstr "Umbruchfähiger Schrägstrich|ä"
-
-#: lib/layouts/stdspecialchars.inc:65
-msgid "Protected Hyphen|y"
-msgstr "Geschützter Trennstrich|T"
-
 #: lib/layouts/stdstarsections.inc:109
 msgid "Subparagraph*"
 msgstr "Unterparagraph*"
@@ -21985,6 +21957,14 @@ msgstr "Eingebettete Vorschau|i"
 msgid "Symbols...|b"
 msgstr "Symbole...|b"
 
+#: lib/ui/stdmenus.inc:415
+msgid "Ellipsis|i"
+msgstr "Fortsetzungspunkte|F"
+
+#: lib/ui/stdmenus.inc:416
+msgid "End of Sentence|E"
+msgstr "Satzendepunkt|S"
+
 #: lib/ui/stdmenus.inc:417
 msgid "Plain Quotation Mark|Q"
 msgstr "Nicht-typographisches Anführungszeichen|N"
@@ -21997,10 +21977,18 @@ msgstr "Inneres Anführungszeichen|I"
 msgid "Non-Breaking Hyphen|y"
 msgstr "Geschützter Trennstrich|T"
 
+#: lib/ui/stdmenus.inc:420
+msgid "Breakable Slash|a"
+msgstr "Umbruchfähiger Schrägstrich|ä"
+
 #: lib/ui/stdmenus.inc:421
 msgid "Visible Space|V"
 msgstr "Sichtbares Leerzeichen|L"
 
+#: lib/ui/stdmenus.inc:422
+msgid "Menu Separator|M"
+msgstr "Menütrenner|M"
+
 #: lib/ui/stdmenus.inc:423
 msgid "Phonetic Symbols|P"
 msgstr "Phonetische Symbole|P"
@@ -22101,6 +22089,14 @@ msgstr "Vertikaler Abstand...|V"
 msgid "Phantom|m"
 msgstr "Phantom|m"
 
+#: lib/ui/stdmenus.inc:463
+msgid "Hyphenation Point|H"
+msgstr "Trennmöglichkeit|ö"
+
+#: lib/ui/stdmenus.inc:464
+msgid "Ligature Break|k"
+msgstr "Ligaturtrenner|r"
+
 #: lib/ui/stdmenus.inc:465
 msgid "Optional Line Break|B"
 msgstr "Optionaler Zeilenumbruch|p"
@@ -27815,14 +27811,14 @@ msgid "LyX Archive (tar.gz)"
 msgstr "LyX-Archiv (tar.gz)"
 
 #: lib/examples/Articles:0
-msgid "Game 2"
-msgstr "Spiel 2"
-
-#: lib/examples/Articles:0
 msgid "Game 1"
 msgstr "Spiel 1"
 
 #: lib/examples/Articles:0
+msgid "Game 2"
+msgstr "Spiel 2"
+
+#: lib/examples/Articles:0
 msgid "Example (LyXified)"
 msgstr "Beispiel (geLyXt)"
 
@@ -27840,52 +27836,52 @@ msgid "External Material"
 msgstr "Externes Material"
 
 #: lib/examples/Articles:0
+msgid "Feynman Diagrams"
+msgstr "Feynman-Diagramme"
+
+#: lib/examples/Articles:0
 msgid "Instant Preview"
 msgstr "Eingebettete Vorschau"
 
 #: lib/examples/Articles:0
-msgid "XY-Figure"
-msgstr "XY-Figure"
+msgid "Itemize Bullets"
+msgstr "Auflistungszeichen"
 
 #: lib/examples/Articles:0
 msgid "Minted File Listing"
 msgstr "Minted-Programmlistings (Dateien)"
 
 #: lib/examples/Articles:0
-msgid "Feynman Diagrams"
-msgstr "Feynman-Diagramme"
+msgid