[LyX/master] ctests: uninvert couple of suspended tests
commit bb55c3429ff194a24836a50a5c94ea7978bc4605 Author: Scott Kostyshak Date: Sat Sep 30 20:43:10 2023 -0400 ctests: uninvert couple of suspended tests Due to recent changes, 'xcolor' is now loaded in the corresponding document export, which somehow fixes the compilation error that was occurring. --- development/autotests/invertedTests |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests index 25f3643..8bcf370 100644 --- a/development/autotests/invertedTests +++ b/development/autotests/invertedTests @@ -55,7 +55,6 @@ export/export/lyx2lyx/lyx_2_3_test_lyx(16|20|21|22) export/export/lyx2lyx/lyx_2_3_test2_lyx(16|20) # nonstandard tests failing for unknown reason: -export/templates/Obsolete/ACM_SIGGGRAPH.*_pdf5_(texF|systemF) export/templates/Articles/R_Journal_(dvi3|pdf[45])_systemF #export/templates/Articles/Kluwer_.*_systemF -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Amend 087f6bce
commit a6882a1db0152af270bcba08215424793946d99a Author: Scott Kostyshak Date: Sat Sep 30 20:21:22 2023 -0400 Amend 087f6bce Explanation from Udi: There is a missing validation for the requirement of xcolor in InsetBox::validate, the case we use Boxed with non-default color. Patch from Udi. --- src/insets/InsetBox.cpp |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/insets/InsetBox.cpp b/src/insets/InsetBox.cpp index 36507cf..81506be 100644 --- a/src/insets/InsetBox.cpp +++ b/src/insets/InsetBox.cpp @@ -810,7 +810,7 @@ void InsetBox::validate(LaTeXFeatures & features) const break; case Boxed: features.require("calc"); - if (getFrameColor() != "black" || getBackgroundColor() != "white") + if (getFrameColor() != "default" || getBackgroundColor() != "white") features.require("xcolor"); break; case ovalbox: -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Amend 04bfbc0f
commit 10403b7959b5d8c4c931943708eb8832418612f8 Author: Scott Kostyshak Date: Sat Sep 30 20:20:03 2023 -0400 Amend 04bfbc0f Patch from Udi. --- src/Encoding.cpp |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/Encoding.cpp b/src/Encoding.cpp index dc84192..dab24b7 100644 --- a/src/Encoding.cpp +++ b/src/Encoding.cpp @@ -204,7 +204,7 @@ bool Encoding::encodable(char_type c) const return true; // platex does not load inputenc: force conversion of supported characters if (package_ == Encoding::japanese - && ((0xb7 <= c && c <= 0x058f) // Latin-1 Supplement ... Armenian + && ((0xb7 <= c && c <= 0x05ff) // Latin-1 Supplement ... Hebrew || (0x1d00 <= c && c <= 0x218f) // Phonetic Extensions ... Number Forms || (0x2193 <= c && c <= 0x2aff) // Arrows ... Supplemental Mathematical Operators || (0xfb00 <= c && c <= 0xfb4f) // Alphabetic Presentation Forms -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Uodate fr.po
commit 2c9178ecfd04340b4678cf832d2a6423ebd46f83 Author: jpc Date: Sat Sep 30 18:20:47 2023 +0200 Uodate fr.po po/fr.gmo | Bin 654974 -> 654951 bytes po/fr.po | 1336 +++-- 2 files changed, 672 insertions(+), 664 deletions(-) -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] proper unicode support for hebrew in 8bit engines
commit 48eda746dabecf100bd163b822ed9db68ab9eb3f Author: Udi-Fogiel Date: Wed Sep 27 14:45:43 2023 +0300 proper unicode support for hebrew in 8bit engines --- lib/languages |9 - lib/unicodesymbols | 102 ++-- src/Encoding.cpp |2 +- 3 files changed, 52 insertions(+), 61 deletions(-) diff --git a/lib/languages b/lib/languages index a027a43..903bba9 100644 --- a/lib/languages +++ b/lib/languages @@ -859,15 +859,6 @@ Language hebrew InternalEncoding true # babel-hebrew expects the encoding for *other* languages last: FontEncodingHE8,T1|LHE,T1 - ## Use font encoding HE8 if the Culmus fonts are installed and - # work around to simple test for article-like classes in rlbabel.def. - PreBabelPreamble - \IfFileExists{he8david.fd}{% - \providecommand{\HeblatexEncoding}{HE8} - \providecommand{\HeblatexEncodingFile}{he8enc}% - }{} - \providecommand{\l@chapter}{\relax} - EndPreBabelPreamble DateFormats "d |d MMM |dd/MM/" RTL true LangCode he_IL diff --git a/lib/unicodesymbols b/lib/unicodesymbols index 1b2a88d..66cbfc7 100644 --- a/lib/unicodesymbols +++ b/lib/unicodesymbols @@ -1113,62 +1113,62 @@ # characters. However, LaTeX-Hebrew expects them as postfix characters, not # accent macros (cf. www.cs.tau.ac.il/~stoledo/Bib/Pubs/vowels.pdf). #0x0591 """" "" "" "" # HEBREW ACCENT ETNAHTA -0x05b0 "\\sheva""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT SHEVA -0x05b1 "\\hatafsegol" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT HATAF SEGOL -0x05b2 "\\hatafpatah" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT HATAF PATAH -0x05b3 "\\hatafqamats" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT HATAF QAMATS -0x05b4 "\\hiriq""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT HIRIQ -0x05b5 "\\tsere""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT TSERE -0x05b6 "\\segol""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT SEGOL -0x05b7 "\\patah" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT PATAH -0x05b8 "\\qamats""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT QAMATS -0x05b9 "\\holam" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT HOLAM +0x05b0 "\\sheva""" "force=utf8x" "" "" # HEBREW POINT SHEVA +0x05b1 "\\hatafsegol" "" "force=utf8x" "" "" # HEBREW POINT HATAF SEGOL +0x05b2 "\\hatafpatah" "" "force=utf8x" "" "" # HEBREW POINT HATAF PATAH +0x05b3 "\\hatafqamats" "" "force=utf8x" "" "" # HEBREW POINT HATAF QAMATS +0x05b4 "\\hiriq""" "force=utf8x" "" "" # HEBREW POINT HIRIQ +0x05b5 "\\tsere""" "force=utf8x" "" "" # HEBREW POINT TSERE +0x05b6 "\\segol""" "force=utf8x" "" "" # HEBREW POINT SEGOL +0x05b7 "\\patah" "" "force=utf8x" "" "" # HEBREW POINT PATAH +0x05b8 "\\qamats""" "force=utf8x" "" "" # HEBREW POINT QAMATS +0x05b9 "\\holam" "" "force=utf8x" "" "" # HEBREW POINT HOLAM #0x05ba """" "" "" "" # HEBREW POINT HOLAM HASER FOR VAV -0x05bb "\\qubuts""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT QUBUTS -0x05bc "\\dagesh""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT DAGESH OR MAPIQ -0x05bd "\\meteg" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT METEG -0x05be "\\maqaf" "" "force=cp1255;utf8;utf8-cjk" "" "" # HEBREW PUNCTUATION MAQAF -0x05bf "\\rafe" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT RAFE -0x05c0 "\\paseq" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW PUNCTUATION PASEQ -0x05c1 "\\shindot" "" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT SHIN DOT -0x05c2 "\\sindot""" "force=cp1255;utf8;utf8-cjk;utf8x" "" "" # HEBREW POINT SIN DOT -0x05c3 "\\sofpasuq" "" "force=cp1255;utf8;utf8-cjk" "" "" # HEBREW PUNCTUATION SOF PASUQ +0x05bb "\\qubuts""" "force=utf8x" "" "" # HEBREW POINT QUBUTS +0x05bc "\\dagesh""" "force=utf8x" "" "" # HEBREW POINT DAGESH OR MAPIQ +0x05bd "\\meteg" "" "force=utf8x" "" "" # HEBREW POINT METEG +0x05be "\\maqaf" "" "" "" ""# HEBREW PUNCTUATION MAQAF +0x05bf "\\rafe" "" "force=utf8x" "" "" # HEBREW POINT RAFE +0x05c0 "\\paseq" "" "force=utf8x" "" "" # HEBREW PUNCTUATION PASEQ +0x05c1 "\\shindot" "" "force=utf8x" "" "" # HEBREW POINT SHIN DOT +0x05c2 "\\sindot""" "force=utf8x" "" "" # HEBREW POINT SIN DOT +0x05c3 "\\sofpasuq" "" "" "" ""# HEBREW PUNCTUATION SOF PASUQ #0x05c4 """" "" "" "" # HEBREW MARK UPPER DOT #0x05c5 """" "" "" "" # HEBREW MARK LOWER DOT #0x05c6 """" "" "" "" # HEBREW PUNCTUATION N
[LyX/master] Limit RTL hack to classic engines (#12919)
commit 04bfbc0f7a1964790256117f146ba040054b34b2 Author: Juergen Spitzmueller Date: Sat Sep 30 16:59:37 2023 +0200 Limit RTL hack to classic engines (#12919) It breaks with LuaTeX, is definitely not needed with XeTeX, and it is doubted whether it is needed at all (but this needs further testing). --- src/BufferParams.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 8a8422a..36ebb21 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1593,7 +1593,8 @@ void BufferParams::validate(LaTeXFeatures & features) const { features.require(documentClass().required()); - if (columns > 1 && language->rightToLeft()) + if (columns > 1 && language->rightToLeft() + && !features.runparams().isFullUnicode()) features.require("rtloutputdblcol"); if (output_changes) { -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Style
commit 8b1f1c29ffa4f9b511fafb1195a3ad16993a2d31 Author: Juergen Spitzmueller Date: Sat Sep 30 13:58:57 2023 +0200 Style --- src/insets/Inset.cpp |2 +- src/insets/Inset.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/insets/Inset.cpp b/src/insets/Inset.cpp index 6e3bb67..6ffb407 100644 --- a/src/insets/Inset.cpp +++ b/src/insets/Inset.cpp @@ -673,7 +673,7 @@ docstring Inset::completionPrefix(Cursor const &) const } -Language const * Inset::getLocalOrDefaultLang(const OutputParams & rp) const +Language const * Inset::getLocalOrDefaultLang(OutputParams const & rp) const { return (rp.local_font != nullptr) ? rp.local_font->language() diff --git a/src/insets/Inset.h b/src/insets/Inset.h index 04fffe9..d2b4076 100644 --- a/src/insets/Inset.h +++ b/src/insets/Inset.h @@ -621,7 +621,7 @@ public: virtual bool confirmDeletion() const { return false; } /// Return the local_font's language or the buffer's default language /// if local_font is null - Language const * getLocalOrDefaultLang(const OutputParams &) const; + Language const * getLocalOrDefaultLang(OutputParams const &) const; protected: /// Constructors -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] fix nested uwave
commit 7ccdc6edf548c8eda345c70a4212b70e6003ad0c Author: Udi Fogiel Date: Wed Sep 27 01:32:55 2023 +0300 fix nested uwave --- src/Font.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Font.cpp b/src/Font.cpp index 8c73e91..7e0798d 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -505,8 +505,8 @@ int Font::latexWriteStartChanges(otexstream & os, BufferParams const & bparams, if (runparams.inulemcmd) { // needed with nested uwave in xout // see https://tex.stackexchange.com/a/263042 - os << "\\ULdepth=1000pt"; - count += 15; + os << "\\ULdepth=\\maxdimen"; + count += 18; } if (needs_cprotection) { os << "\\cprotect"; -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Fix escape string (reported by José)
commit 9b8183b877f2acd767879d934bc64817f1b506ed Author: Juergen Spitzmueller Date: Sat Sep 30 13:07:00 2023 +0200 Fix escape string (reported by José) --- lib/lyx2lyx/lyx_2_4.py |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py index ca81759..41c1aa4 100644 --- a/lib/lyx2lyx/lyx_2_4.py +++ b/lib/lyx2lyx/lyx_2_4.py @@ -4711,7 +4711,7 @@ def revert_hyper_other(document): if target[:4] == "run:": del document.body[k] else: -cmd = "\href{" + target + "}{" + name + "}" +cmd = r"\href{" + target + "}{" + name + "}" ecmd = put_cmd_in_ert(cmd) document.body[i:j+1] = ecmd i += 1 -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs
[LyX/master] Prevent access to null local_font
commit fc9684a130300e5655aedda34eefd8ddf0db0f92 Author: Juergen Spitzmueller Date: Sat Sep 30 13:01:20 2023 +0200 Prevent access to null local_font --- src/insets/Inset.cpp|8 src/insets/Inset.h |4 src/insets/InsetBox.cpp |3 ++- src/insets/InsetFloatList.cpp |6 +++--- src/insets/InsetIndex.cpp |2 +- src/insets/InsetListings.cpp|7 +++ src/insets/InsetNomencl.cpp |4 ++-- src/insets/InsetQuotes.cpp |6 +++--- src/insets/InsetRef.cpp |2 +- src/insets/InsetSpace.cpp |3 +-- src/insets/InsetSpecialChar.cpp |6 +++--- src/insets/InsetTabular.cpp |6 -- 12 files changed, 35 insertions(+), 22 deletions(-) diff --git a/src/insets/Inset.cpp b/src/insets/Inset.cpp index 6e89950..6e3bb67 100644 --- a/src/insets/Inset.cpp +++ b/src/insets/Inset.cpp @@ -672,4 +672,12 @@ docstring Inset::completionPrefix(Cursor const &) const return docstring(); } + +Language const * Inset::getLocalOrDefaultLang(const OutputParams & rp) const +{ + return (rp.local_font != nullptr) + ? rp.local_font->language() + : buffer().params().language; +} + } // namespace lyx diff --git a/src/insets/Inset.h b/src/insets/Inset.h index 1b7adb5..04fffe9 100644 --- a/src/insets/Inset.h +++ b/src/insets/Inset.h @@ -54,6 +54,7 @@ class InsetList; class InsetMath; class InsetTabular; class InsetText; +class Language; class LaTeXFeatures; class Lexer; class MathAtom; @@ -618,6 +619,9 @@ public: /// Determine the action of backspace and delete: do we select instead of /// deleting if not already selected? virtual bool confirmDeletion() const { return false; } + /// Return the local_font's language or the buffer's default language + /// if local_font is null + Language const * getLocalOrDefaultLang(const OutputParams &) const; protected: /// Constructors diff --git a/src/insets/InsetBox.cpp b/src/insets/InsetBox.cpp index 9ff8cea..36507cf 100644 --- a/src/insets/InsetBox.cpp +++ b/src/insets/InsetBox.cpp @@ -355,7 +355,8 @@ void InsetBox::latex(otexstream & os, OutputParams const & runparams) const string maybeBeginL; string maybeEndL; bool needEndL = false; - if (!runparams.isFullUnicode() && runparams.local_font->isRightToLeft()) { + if (!runparams.isFullUnicode() + && runparams.local_font && runparams.local_font->isRightToLeft()) { maybeBeginL = "\\beginL"; maybeEndL = "\\endL"; } diff --git a/src/insets/InsetFloatList.cpp b/src/insets/InsetFloatList.cpp index e711fee..3315d3b 100644 --- a/src/insets/InsetFloatList.cpp +++ b/src/insets/InsetFloatList.cpp @@ -195,11 +195,11 @@ docstring InsetFloatList::xhtml(XMLStream &, OutputParams const & op) const { if (type == "table") { toctype = "table"; toclabel = translateIfPossible(from_ascii("List of Tables"), - op.local_font->language()->lang()); + getLocalOrDefaultLang(op)->lang()); } else if (type == "figure") { toctype = "figure"; toclabel = translateIfPossible(from_ascii("List of Figures"), - op.local_font->language()->lang()); + getLocalOrDefaultLang(op)->lang()); } else { LYXERR0("Unknown Builtin Float!"); return docstring(); @@ -207,7 +207,7 @@ docstring InsetFloatList::xhtml(XMLStream &, OutputParams const & op) const { } else { toctype = to_utf8(getParam("type")); toclabel = translateIfPossible(from_utf8(cit->second.listName()), - op.local_font->language()->lang()); + getLocalOrDefaultLang(op)->lang()); } shared_ptr toc = buffer().tocBackend().toc(toctype); diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp index b20b553..67f932e 100644 --- a/src/insets/InsetIndex.cpp +++ b/src/insets/InsetIndex.cpp @@ -1911,7 +1911,7 @@ docstring InsetPrintIndex::xhtml(XMLStream &, OutputParams const & op) const xs << xml::StartTag("div", tocattr); xs << xml::CR(); xs << xml::StartTag(lay.htmltag(), lay.htmlGetAttrString()); - xs << translateIfPossible(indexName, op.local_font->language()->lang()); + xs << translateIfPossible(indexName, getLocalOrDefaultLang(op)->lang()); xs << xml::EndTag(lay.htmltag()); xs << xml::CR(); xs << xml::StartTag("ul", "class='main'"); diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListin
[LyX/master] Update tex2lyx tests after recent format change
commit 1d00389bf88fef4b395cb7f8ed2c1c354364b0e1 Author: Juergen Spitzmueller Date: Sat Sep 30 09:59:36 2023 +0200 Update tex2lyx tests after recent format change --- src/tex2lyx/test/CJK.lyx.lyx |2 +- src/tex2lyx/test/CJKutf8.lyx.lyx |2 +- src/tex2lyx/test/DummyDocument.lyx.lyx |2 +- src/tex2lyx/test/Dummy~Document.lyx.lyx|2 +- src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx |2 +- src/tex2lyx/test/algo2e.lyx.lyx|2 +- src/tex2lyx/test/beamer.lyx.lyx|2 +- .../test/box-color-size-space-align.lyx.lyx|2 +- src/tex2lyx/test/listpreamble.lyx.lyx |2 +- src/tex2lyx/test/tabular-x-test.lyx.lyx|2 +- src/tex2lyx/test/test-insets-basic.lyx.lyx |2 +- src/tex2lyx/test/test-insets.lyx.lyx |2 +- src/tex2lyx/test/test-memoir.lyx.lyx |2 +- src/tex2lyx/test/test-minted.lyx.lyx |2 +- src/tex2lyx/test/test-modules.lyx.lyx |2 +- src/tex2lyx/test/test-refstyle-theorems.lyx.lyx|2 +- src/tex2lyx/test/test-scr.lyx.lyx |2 +- src/tex2lyx/test/test-structure.lyx.lyx|2 +- src/tex2lyx/test/test.lyx.lyx |2 +- src/tex2lyx/test/verbatim.lyx.lyx |2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx index 1d617c3..e021644 100644 --- a/src/tex2lyx/test/CJK.lyx.lyx +++ b/src/tex2lyx/test/CJK.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx index 8d9638c..ae9e67b 100644 --- a/src/tex2lyx/test/CJKutf8.lyx.lyx +++ b/src/tex2lyx/test/CJKutf8.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx b/src/tex2lyx/test/DummyDocument.lyx.lyx index e590d6b..6b6ac9a 100644 --- a/src/tex2lyx/test/DummyDocument.lyx.lyx +++ b/src/tex2lyx/test/DummyDocument.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx b/src/tex2lyx/test/Dummy~Document.lyx.lyx index 7608c1c..0ead176 100644 --- a/src/tex2lyx/test/Dummy~Document.lyx.lyx +++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx index ff52dfe..8221db0 100644 --- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx +++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx index 09e4399..70a0e9b 100644 --- a/src/tex2lyx/test/algo2e.lyx.lyx +++ b/src/tex2lyx/test/algo2e.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/beamer.lyx.lyx b/src/tex2lyx/test/beamer.lyx.lyx index 74df814..eb134de 100644 --- a/src/tex2lyx/test/beamer.lyx.lyx +++ b/src/tex2lyx/test/beamer.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx index 1a81fa7..d378d51 100644 --- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx +++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/listpreamble.lyx.lyx b/src/tex2lyx/test/listpreamble.lyx.lyx index a685736..b4730be 100644 --- a/src/tex2lyx/test/listpreamble.lyx.lyx +++ b/src/tex2lyx/test/listpreamble.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/tabular-x-test.lyx.lyx b/src/tex2lyx/test/tabular-x-test.lyx.lyx index 601ca28..2004807 100644 --- a/src/tex2lyx/test/tabular-x-test.lyx.lyx +++ b/src/tex2lyx/test/tabular-x-test.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.4 -\lyxformat 619 +\lyxformat 620 \begin_document \begin_header \save
[LyX/master] Introduce default box frame color (#12921)
commit 087f6bce71dc6d164bccaa49461d17338e7d6c4e Author: Juergen Spitzmueller Date: Sat Sep 30 09:56:27 2023 +0200 Introduce default box frame color (#12921) This better aligns with dark mode --- development/FORMAT |4 lib/lyx2lyx/lyx_2_4.py | 21 +++-- src/frontends/qt/GuiBox.cpp | 38 -- src/frontends/qt/GuiBox.h |3 +-- src/insets/InsetBox.cpp | 32 src/insets/InsetBox.h |4 src/version.h |4 ++-- 7 files changed, 62 insertions(+), 44 deletions(-) diff --git a/development/FORMAT b/development/FORMAT index 1711f88..2834dd5 100644 --- a/development/FORMAT +++ b/development/FORMAT @@ -7,6 +7,10 @@ changes happened in particular if possible. A good example would be --- +2023-09-29 Jürgen Spitzmüller + * Format incremented to 620: Add InsetBox "default" framecolor ("foreground" + rather than "black" in GUI). This aligns better with dark mode. + 2023-09-06 Richard Kimberly Heck * Format incremented to 619: New document header \use_formatted_ref for workarea display purposes only. diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py index 4cc5fe5..ca81759 100644 --- a/lib/lyx2lyx/lyx_2_4.py +++ b/lib/lyx2lyx/lyx_2_4.py @@ -5554,6 +5554,21 @@ def revert_formatted_refs(document): del document.header[i] +def revert_box_fcolor(document): +i = 0 +while True: +i = find_token(document.body, '\\begin_inset Box Boxed', i+1) +if i == -1: +break +j = find_end_of_inset(document.body, i) +if j == -1: +document.warning("Malformed LyX document: Can't find end of framed box inset at line %d" % i) +continue +k = find_token(document.body, 'framecolor "default"', i, j) +if k != -1: +document.body[k] = 'framecolor "black"' + + ## # Conversion hub # @@ -5634,11 +5649,13 @@ convert = [ [616, [convert_empty_macro]], [617, [convert_cov_options]], [618, []], - [619, []] + [619, []], + [620, []] ] -revert = [[618, [revert_formatted_refs]], +revert = [[619, [revert_box_fcolor]], + [618, [revert_formatted_refs]], [617, [revert_hequotes]], [616, [revert_expreambles,revert_exarg2,revert_linggloss2,revert_cov_options]], [615, [revert_empty_macro]], diff --git a/src/frontends/qt/GuiBox.cpp b/src/frontends/qt/GuiBox.cpp index bda71a6..c7c8dc9 100644 --- a/src/frontends/qt/GuiBox.cpp +++ b/src/frontends/qt/GuiBox.cpp @@ -133,6 +133,8 @@ GuiBox::GuiBox(QWidget * parent) : InsetParamsWidget(parent) connect(shadowsizeED, SIGNAL(textChanged(QString)), this, SIGNAL(changed())); connect(shadowsizeUnitsLC, SIGNAL(selectionChanged(lyx::Length::UNIT)), this, SIGNAL(changed())); + connect(frameColorCO, SIGNAL(currentIndexChanged(int)), + this, SIGNAL(changed())); connect(backgroundColorCO, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed())); @@ -159,15 +161,17 @@ GuiBox::GuiBox(QWidget * parent) : InsetParamsWidget(parent) } -void GuiBox::fillComboColor(QComboBox * combo, bool const is_none) +void GuiBox::fillComboColor(QComboBox * combo, bool const is_background) { combo->clear(); QPixmap coloritem(32, 32); QColor color; - // frameColorCO cannot be uncolored - if (is_none) + // condition on the two possible types + if (is_background) combo->addItem(toqstr(translateIfPossible(lcolor.getGUIName(Color_none))), toqstr(lcolor.getLaTeXName(Color_none))); + else + combo->addItem(qt_("Default"), toqstr("default")); QList::const_iterator cit = color_codes_.begin(); for (; cit != color_codes_.end(); ++cit) { QString const latexname = toqstr(lcolor.getLaTeXName(*cit)); @@ -215,32 +219,6 @@ void GuiBox::on_typeCO_activated(int index) widthCB->setChecked(itype != "none"); pagebreakCB->setChecked(false); } - // assure that the frame color is black for frameless boxes to - // provide the color "none" - int const b = frameColorCO->findData("black"); - if (frameless && frameColorCO->currentIndex() != b) - frameColorCO->setCurrentIndex(b); - changed(); -} - - -void GuiBox::on_frameColorCO_currentIndexChanged(int index) -{ - // if there is a non-black frame color the background cannot be uncolored - // therefore remove the entry "none" in this case - int const n = backgroundColorCO->findData("none"); - if (index != frameColorCO->findData("black")) { - if (n != -1) { - if (backgroundColorCO->curren