Add InsertCotext tag to InsetLayout

Avoids hardcoding of insets, and this behavior is possibly useful to
other insets than index and nomencl

We take this on yesterday's layout format change
This commit is contained in:
Juergen Spitzmueller 2024-08-13 07:26:08 +02:00
parent dceed8d87d
commit 0659af15fb
8 changed files with 161 additions and 4 deletions

View File

@ -13050,6 +13050,8 @@ status collapsed
\change_inserted -712698321 1723455730 \change_inserted -712698321 1723455730
EscapeChars EscapeChars
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -13062,6 +13064,8 @@ status collapsed
\change_inserted -712698321 1723455616 \change_inserted -712698321 1723455616
string string
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -19776,6 +19780,8 @@ status collapsed
\change_inserted -712698321 1723455884 \change_inserted -712698321 1723455884
EscapeChars EscapeChars
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -19788,6 +19794,8 @@ status collapsed
\change_inserted -712698321 1723455884 \change_inserted -712698321 1723455884
string string
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -20250,6 +20258,82 @@ status collapsed
export if this parameter is 1, export if this parameter is 1,
as well as on screen. as well as on screen.
Otherwise the document default font is used. Otherwise the document default font is used.
\change_inserted -712698321 1723525171
\end_layout
\begin_layout Description
\change_inserted -712698321 1723526674
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1723525171
InsertCotext
\end_layout
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1723525183
[
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1723525183
0
\end_layout
\end_inset
,
\begin_inset space \thinspace{}
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1723525183
\emph on
1
\end_layout
\end_inset
]
\end_layout
\end_inset
If this is set to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\change_inserted -712698321 1723525171
1
\end_layout
\end_inset
,
a copy of the co-text (either selected text or the word preceding the cursor) is inserted as content on inset creation.
\change_unchanged
\end_layout \end_layout
\begin_layout Description \begin_layout Description
@ -22787,6 +22871,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
EscapeChars EscapeChars
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -22799,6 +22885,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
string string
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -22817,6 +22905,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
%!@ %!@
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -22829,6 +22919,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
! !
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -22841,6 +22933,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
@ @
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset
@ -22853,6 +22947,8 @@ status collapsed
\change_inserted -712698321 1723455760 \change_inserted -712698321 1723455760
% %
\change_unchanged
\end_layout \end_layout
\end_inset \end_inset

View File

@ -19026,6 +19026,56 @@ nolink "false"
\begin_inset Flex Code \begin_inset Flex Code
status collapsed status collapsed
\begin_layout Plain Layout
InsertCotext
\end_layout
\end_inset
[
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\emph on
0
\end_layout
\end_inset
,
\begin_inset space \thinspace{}
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
1
\end_layout
\end_inset
] Wenn dies auf
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
1
\end_layout
\end_inset
gesetzt wird,
wird eine Kopie des umgebenden Texts (entweder der ausgewählte Text oder das Wort vor dem Cursor) bei der Erstellung als Inhalt eingefügt.
\end_layout
\begin_layout Description
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout \begin_layout Plain Layout
InToc InToc
\end_layout \end_layout

View File

@ -421,6 +421,7 @@ InsetLayout Index
ForcePlain true ForcePlain true
ContentAsLabel true ContentAsLabel true
EscapeChars \"@|! EscapeChars \"@|!
InsertCotext 1
End End
InsetLayout IndexMacro:see InsetLayout IndexMacro:see
@ -482,6 +483,7 @@ InsetLayout Nomenclature
EscapeChars %!@| EscapeChars %!@|
EndArgument EndArgument
EscapeChars %!@| EscapeChars %!@|
InsertCotext 1
End End
InsetLayout Box InsetLayout Box

View File

@ -356,7 +356,8 @@ currentFormat = 107
# New CiteEngine type "notes" # New CiteEngine type "notes"
# Incremented to format 107, 12 August 2023 by spitz # Incremented to format 107, 12 August 2023 by spitz
# New InsetLayout and Layout tags "EscapeChars" # New InsetLayout, Argument and Layout tags "EscapeChars"
# New InsetLayout tag "InsertCotext"
# Do not forget to document format change in Customization # Do not forget to document format change in Customization
# Manual (section "Declaring a new text class"). # Manual (section "Declaring a new text class").

View File

@ -3643,8 +3643,7 @@ bool doInsertInset(Cursor & cur, Text * text,
bool gotsel = false; bool gotsel = false;
bool move_layout = false; bool move_layout = false;
bool const copy_cotext = cmd.action() == LFUN_INDEX_INSERT bool const copy_cotext = inset->getLayout().insertCotext();
|| cmd.action() == LFUN_NOMENCL_INSERT;
if (cur.selection()) { if (cur.selection()) {
if (copy_cotext) if (copy_cotext)
copySelectionToTemp(cur); copySelectionToTemp(cur);

View File

@ -59,7 +59,7 @@ namespace lyx {
// You should also run the development/tools/updatelayouts.py script, // You should also run the development/tools/updatelayouts.py script,
// to update the format of all of our layout files. // to update the format of all of our layout files.
// //
int const LAYOUT_FORMAT = 107; // spitz: EscapeChars int const LAYOUT_FORMAT = 107; // spitz: EscapeChars and InsertCotext
// Layout format for the current lyx file format. Controls which format is // Layout format for the current lyx file format. Controls which format is

View File

@ -125,6 +125,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
IL_DOCBOOKRENDERASIMAGE, IL_DOCBOOKRENDERASIMAGE,
IL_ESCAPE_CHARS, IL_ESCAPE_CHARS,
IL_INHERITFONT, IL_INHERITFONT,
IL_INSERTCOTEXT,
IL_INTOC, IL_INTOC,
IL_ISTOCCAPTION, IL_ISTOCCAPTION,
IL_LABELFONT, IL_LABELFONT,
@ -217,6 +218,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
{ "htmlstyle", IL_HTMLSTYLE }, { "htmlstyle", IL_HTMLSTYLE },
{ "htmltag", IL_HTMLTAG }, { "htmltag", IL_HTMLTAG },
{ "inheritfont", IL_INHERITFONT }, { "inheritfont", IL_INHERITFONT },
{ "insertcotext", IL_INSERTCOTEXT },
{ "intoc", IL_INTOC }, { "intoc", IL_INTOC },
{ "istoccaption", IL_ISTOCCAPTION }, { "istoccaption", IL_ISTOCCAPTION },
{ "keepempty", IL_KEEPEMPTY }, { "keepempty", IL_KEEPEMPTY },
@ -362,6 +364,9 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
case IL_INHERITFONT: case IL_INHERITFONT:
lex >> inheritfont_; lex >> inheritfont_;
break; break;
case IL_INSERTCOTEXT:
lex >> insert_cotext_;
break;
case IL_INTOC: case IL_INTOC:
lex >> intoc_; lex >> intoc_;
break; break;

View File

@ -271,6 +271,8 @@ public:
int allowedOccurrences() const { return allowed_occurrences_; } int allowedOccurrences() const { return allowed_occurrences_; }
/// ///
bool allowedOccurrencesPerItem() const { return allowed_occurrences_per_item_; } bool allowedOccurrencesPerItem() const { return allowed_occurrences_per_item_; }
///
bool insertCotext() const { return insert_cotext_; }
private: private:
/// ///
void makeDefaultCSS() const; void makeDefaultCSS() const;
@ -468,6 +470,8 @@ private:
int allowed_occurrences_ = -1; int allowed_occurrences_ = -1;
/// ///
bool allowed_occurrences_per_item_ = false; bool allowed_occurrences_per_item_ = false;
///
bool insert_cotext_ = false;
}; };
/// ///