From spitz at lyx.org Mon Nov 1 07:06:48 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 08:06:48 +0100 (CET) Subject: [LyX/master] Attempt to fix #12226 for good Message-ID: <20211101070648.BF211280244@lyx.lyx.org> commit 4888414f2757a4e8075dc1f9fec79be30a0fff64 Author: Juergen Spitzmueller Date: Mon Nov 1 08:30:41 2021 +0100 Attempt to fix #12226 for good --- src/frontends/qt/TocWidget.cpp | 6 +++--- src/frontends/qt/TocWidget.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/frontends/qt/TocWidget.cpp b/src/frontends/qt/TocWidget.cpp index 957b3a6..cd346a8 100644 --- a/src/frontends/qt/TocWidget.cpp +++ b/src/frontends/qt/TocWidget.cpp @@ -532,11 +532,11 @@ void TocWidget::filterContents() activeFilterCO->currentIndex() != 1; int size = indices.size(); + QString const matchstring = filter_ ? filter_->text() : QString(); for (int i = 0; i < size; i++) { QModelIndex index = indices[i]; - bool matches = filter_ && - index.data().toString().contains( - filter_->text(), Qt::CaseInsensitive); + bool matches = index.data().toString().contains( + matchstring, Qt::CaseInsensitive); TocItem const & item = gui_view_.tocModels().currentItem(current_type_, index); matches &= (show_active && item.isOutput()) || (show_inactive && !item.isOutput()); diff --git a/src/frontends/qt/TocWidget.h b/src/frontends/qt/TocWidget.h index 4f8c617..df6c705 100644 --- a/src/frontends/qt/TocWidget.h +++ b/src/frontends/qt/TocWidget.h @@ -120,7 +120,7 @@ private: // Timer for scheduling expensive update operations QTimer * timer_; /// Filter bar - FancyLineEdit * filter_; + FancyLineEdit * filter_ = nullptr; }; } // namespace frontend From jpc at lyx.org Mon Nov 1 09:53:20 2021 From: jpc at lyx.org (jpc) Date: Mon, 1 Nov 2021 10:53:20 +0100 (CET) Subject: [LyX/master] Update fr.po Message-ID: <20211101095320.A46762801F2@lyx.lyx.org> commit 1165fa7f46eaa763498f22a29a6cf26fa1ceab66 Author: jpc Date: Mon Nov 1 11:17:19 2021 +0100 Update fr.po po/fr.gmo | Bin 624999 -> 625335 bytes po/fr.po | 870 +++++++++++++++++++++++++++++++------------------------------ 2 files changed, 440 insertions(+), 430 deletions(-) From spitz at lyx.org Mon Nov 1 11:27:07 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 12:27:07 +0100 (CET) Subject: [LyX/master] Make color description "changed" rather than "added" Message-ID: <20211101112707.CFF1B280258@lyx.lyx.org> commit a71c7f2154d7fa3dcd7459c13f7a3bdd7d6ed027 Author: Daniel Ramoeller Date: Sat Oct 9 18:29:23 2021 +0200 Make color description "changed" rather than "added" Fix for #12227 (regression). Amended by J?rgen Spitzm?ller --- src/Changes.cpp | 12 ++++++------ src/Color.cpp | 16 ++++++++-------- src/ColorCode.h | 32 ++++++++++++++++---------------- src/LaTeXFeatures.cpp | 8 ++++---- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/Changes.cpp b/src/Changes.cpp index 33209af..1bdbbf3 100644 --- a/src/Changes.cpp +++ b/src/Changes.cpp @@ -73,24 +73,24 @@ Color Change::color() const Color color = Color_none; switch (author % 5) { case 0: - color = Color_addedtextauthor1; + color = Color_changedtext_workarea_author1; break; case 1: - color = Color_addedtextauthor2; + color = Color_changedtext_workarea_author2; break; case 2: - color = Color_addedtextauthor3; + color = Color_changedtext_workarea_author3; break; case 3: - color = Color_addedtextauthor4; + color = Color_changedtext_workarea_author4; break; case 4: - color = Color_addedtextauthor5; + color = Color_changedtext_workarea_author5; break; } if (deleted()) - color.mergeColor = Color_deletedtextmodifier; + color.mergeColor = Color_deletedtext_workarea_modifier; return color; } diff --git a/src/Color.cpp b/src/Color.cpp index cf297e9..7cb520d 100644 --- a/src/Color.cpp +++ b/src/Color.cpp @@ -322,14 +322,14 @@ ColorSet::ColorSet() { Color_eolmarker, N_("end-of-line marker"), "eolmarker", Brown, Brown, "eolmarker" }, { Color_appendix, N_("appendix marker"), "appendix", Brown, Brown, "appendix" }, { Color_changebar, N_("change bar"), "changebar", blue, "#86a4ff", "changebar" }, - { Color_deletedtext, N_("deleted text (output)"), "deletedtext", "#ff0000", "#ff0000", "deletedtext" }, - { Color_addedtext, N_("added text (output)"), "addedtext", "#0000ff", "#0000ff", "addedtext" }, - { Color_addedtextauthor1, N_("added text (workarea, 1st author)"), "changedtextauthor1", "#0000ff", "#86a4ff", "changedtextauthor1" }, - { Color_addedtextauthor2, N_("added text (workarea, 2nd author)"), "changedtextauthor2", "#ff00ff", "#ee86ee", "changedtextauthor2" }, - { Color_addedtextauthor3, N_("added text (workarea, 3rd author)"), "changedtextauthor3", "#ff0000", "#ea8989", "changedtextauthor3" }, - { Color_addedtextauthor4, N_("added text (workarea, 4th author)"), "changedtextauthor4", "#aa00ff", "#c371ec", "changedtextauthor4" }, - { Color_addedtextauthor5, N_("added text (workarea, 5th author)"), "changedtextauthor5", "#55aa00", "#acd780", "changedtextauthor5" }, - { Color_deletedtextmodifier, N_("deleted text modifier (workarea)"), "deletedtextmodifier", white, white, "deletedtextmodifier" }, + { Color_deletedtext_output, N_("deleted text (output)"), "deletedtext", "#ff0000", "#ff0000", "deletedtext" }, + { Color_addedtext_output, N_("added text (output)"), "addedtext", "#0000ff", "#0000ff", "addedtext" }, + { Color_changedtext_workarea_author1, N_("changed text (workarea, 1st author)"), "changedtextauthor1", "#0000ff", "#86a4ff", "changedtextauthor1" }, + { Color_changedtext_workarea_author2, N_("changed text (workarea, 2nd author)"), "changedtextauthor2", "#ff00ff", "#ee86ee", "changedtextauthor2" }, + { Color_changedtext_workarea_author3, N_("changed text (workarea, 3rd author)"), "changedtextauthor3", "#ff0000", "#ea8989", "changedtextauthor3" }, + { Color_changedtext_workarea_author4, N_("changed text (workarea, 4th author)"), "changedtextauthor4", "#aa00ff", "#c371ec", "changedtextauthor4" }, + { Color_changedtext_workarea_author5, N_("changed text (workarea, 5th author)"), "changedtextauthor5", "#55aa00", "#acd780", "changedtextauthor5" }, + { Color_deletedtext_workarea_modifier, N_("deleted text modifier (workarea)"), "deletedtextmodifier", white, white, "deletedtextmodifier" }, { Color_added_space, N_("added space markers"), "added_space", Brown, Brown, "added_space" }, { Color_tabularline, N_("table line"), "tabularline", black, Linen, "tabularline" }, { Color_tabularonoffline, N_("table on/off line"), "tabularonoffline", "#b0c4de", "#23497b", "tabularonoffline" }, diff --git a/src/ColorCode.h b/src/ColorCode.h index c7253ff..f2f4521 100644 --- a/src/ColorCode.h +++ b/src/ColorCode.h @@ -182,22 +182,22 @@ enum ColorCode { Color_appendix, /// Changebar color Color_changebar, - /// Deleted text color - Color_deletedtext, - /// Added text color - Color_addedtext, - /// Added text color author 1 - Color_addedtextauthor1, - /// Added text color author 2 - Color_addedtextauthor2, - /// Added text color author 3 - Color_addedtextauthor3, - /// Added text color author 4 - Color_addedtextauthor4, - /// Added text color author 5 - Color_addedtextauthor5, - /// Deleted text modifying color - Color_deletedtextmodifier, + /// Deleted text color (output) + Color_deletedtext_output, + /// Added text color (output) + Color_addedtext_output, + /// Changed text color author 1 (workarea) + Color_changedtext_workarea_author1, + /// Changed text color author 2 (workarea) + Color_changedtext_workarea_author2, + /// Changed text color author 3 (workarea) + Color_changedtext_workarea_author3, + /// Changed text color author 4 (workarea) + Color_changedtext_workarea_author4, + /// Changed text color author 5 (workarea) + Color_changedtext_workarea_author5, + /// Deleted text modifying color (workarea) + Color_deletedtext_workarea_modifier, /// Table line color Color_tabularline, /// Table line color diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index cec1078..0344202 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -1726,11 +1726,11 @@ TexString LaTeXFeatures::getMacros() const if (mustProvide("ct-xcolor-ulem")) { streamsize const prec = macros.os().precision(2); - RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext)); + RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext_output)); macros << "\\providecolor{lyxadded}{rgb}{" << cadd.r / 255.0 << ',' << cadd.g / 255.0 << ',' << cadd.b / 255.0 << "}\n"; - RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext)); + RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext_output)); macros << "\\providecolor{lyxdeleted}{rgb}{" << cdel.r / 255.0 << ',' << cdel.g / 255.0 << ',' << cdel.b / 255.0 << "}\n"; @@ -1755,11 +1755,11 @@ TexString LaTeXFeatures::getMacros() const if (!mustProvide("ct-xcolor-ulem")) { streamsize const prec = macros.os().precision(2); - RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext)); + RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext_output)); macros << "\\providecolor{lyxadded}{rgb}{" << cadd.r / 255.0 << ',' << cadd.g / 255.0 << ',' << cadd.b / 255.0 << "}\n"; - RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext)); + RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext_output)); macros << "\\providecolor{lyxdeleted}{rgb}{" << cdel.r / 255.0 << ',' << cdel.g / 255.0 << ',' << cdel.b / 255.0 << "}\n"; From spitz at lyx.org Mon Nov 1 11:39:26 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 12:39:26 +0100 (CET) Subject: [LyX/master] Fix indentation Message-ID: <20211101113926.9A7B1280262@lyx.lyx.org> commit 76ac4d8f8df449312b9c646b2e4e6d406c32b752 Author: Juergen Spitzmueller Date: Mon Nov 1 13:02:05 2021 +0100 Fix indentation --- src/frontends/qt/GuiSearch.cpp | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 88edf53..73fecd2 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -567,27 +567,26 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags void GuiSearch::mousePressEvent(QMouseEvent *event) { - if (isFloating() && event->button() == Qt::LeftButton) { - dragPosition = event->globalPos() - frameGeometry().topLeft(); - event->accept(); - } + if (isFloating() && event->button() == Qt::LeftButton) { + dragPosition = event->globalPos() - frameGeometry().topLeft(); + event->accept(); + } } void GuiSearch::mouseMoveEvent(QMouseEvent *event) { - if (isFloating() && event->buttons() & Qt::LeftButton) { - move(event->globalPos() - dragPosition); - event->accept(); - } + if (isFloating() && event->buttons() & Qt::LeftButton) { + move(event->globalPos() - dragPosition); + event->accept(); + } } void GuiSearch::mouseDoubleClickEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton) { - setFloating(!isFloating()); - } + if (event->button() == Qt::LeftButton) + setFloating(!isFloating()); } From spitz at lyx.org Mon Nov 1 11:44:02 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 12:44:02 +0100 (CET) Subject: [LyX/master] Amend ce8b4e3a218f Message-ID: <20211101114402.47D41280295@lyx.lyx.org> commit b9a9234cf63a590cf1277bd56d6ce735469737c2 Author: Juergen Spitzmueller Date: Mon Nov 1 13:08:16 2021 +0100 Amend ce8b4e3a218f --- src/frontends/qt/GuiSearch.cpp | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 73fecd2..1ea296b 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -565,28 +565,32 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags } -void GuiSearch::mousePressEvent(QMouseEvent *event) +void GuiSearch::mousePressEvent(QMouseEvent * event) { if (isFloating() && event->button() == Qt::LeftButton) { dragPosition = event->globalPos() - frameGeometry().topLeft(); event->accept(); - } + } else + DockView::mousePressEvent(event); } -void GuiSearch::mouseMoveEvent(QMouseEvent *event) +void GuiSearch::mouseMoveEvent(QMouseEvent * event) { if (isFloating() && event->buttons() & Qt::LeftButton) { move(event->globalPos() - dragPosition); event->accept(); - } + } else + DockView::mouseMoveEvent(event); } -void GuiSearch::mouseDoubleClickEvent(QMouseEvent *event) +void GuiSearch::mouseDoubleClickEvent(QMouseEvent * event) { if (event->button() == Qt::LeftButton) setFloating(!isFloating()); + else + DockView::mouseDoubleClickEvent(event); } From spitz at lyx.org Mon Nov 1 12:58:11 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 13:58:11 +0100 (CET) Subject: [LyX/master] More indentation correction Message-ID: <20211101125811.7AA9D280297@lyx.lyx.org> commit 455ff6fee7842e9eee861d50f17681d0913e70ef Author: Juergen Spitzmueller Date: Mon Nov 1 14:15:05 2021 +0100 More indentation correction --- src/frontends/qt/GuiSearch.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h index 579e989..2c0cd3c 100644 --- a/src/frontends/qt/GuiSearch.h +++ b/src/frontends/qt/GuiSearch.h @@ -127,8 +127,8 @@ public: protected: bool wantInitialFocus() const override { return true; } - void mouseMoveEvent(QMouseEvent * event) override; - void mousePressEvent(QMouseEvent * event) override; + void mouseMoveEvent(QMouseEvent * event) override; + void mousePressEvent(QMouseEvent * event) override; void mouseDoubleClickEvent(QMouseEvent *event) override; public Q_SLOTS: @@ -145,7 +145,7 @@ private: /// The encapsulated widget. GuiSearchWidget * widget_; /// - QPoint dragPosition; + QPoint dragPosition; }; } // namespace frontend From spitz at lyx.org Mon Nov 1 12:58:11 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 13:58:11 +0100 (CET) Subject: [LyX/master] Update toolbar and properly reset focus when find widget is closed (#12396) Message-ID: <20211101125811.81AC82802A1@lyx.lyx.org> commit bca1b63d89e27b31b089ab48c63368640084b3a6 Author: Juergen Spitzmueller Date: Mon Nov 1 14:21:34 2021 +0100 Update toolbar and properly reset focus when find widget is closed (#12396) --- src/frontends/qt/GuiSearch.cpp | 18 +++++++++++++++--- src/frontends/qt/GuiSearch.h | 6 +++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 1ea296b..4b02518 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include "QSizePolicy" #if QT_VERSION >= 0x050000 @@ -63,8 +64,8 @@ static void uniqueInsert(QComboBox * box, QString const & text) } -GuiSearchWidget::GuiSearchWidget(QWidget * parent) - : QWidget(parent) +GuiSearchWidget::GuiSearchWidget(QWidget * parent, GuiView & view) + : QWidget(parent), view_(view) { setupUi(this); @@ -149,6 +150,8 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev) } if (ev->key() == Qt::Key_Escape) { dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); + view_.setFocus(); + dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); return; } @@ -414,6 +417,15 @@ void GuiSearchWidget::showEvent(QShowEvent * e) } +void GuiSearchWidget::hideEvent(QHideEvent * e) +{ + QWidget::hideEvent(e); + view_.setFocus(); + // update toolbar status + dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); +} + + void GuiSearchWidget::findBufferChanged() { docstring search = theClipboard().getFindBuffer(); @@ -554,7 +566,7 @@ void GuiSearchWidget::restoreSession(QString const & session_key) GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags) : DockView(parent, "findreplace", qt_("Search and Replace"), area, flags), - widget_(new GuiSearchWidget(this)) + widget_(new GuiSearchWidget(this, parent)) { setWidget(widget_); widget_->setBufferView(bufferview()); diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h index 2c0cd3c..2fbc8c7 100644 --- a/src/frontends/qt/GuiSearch.h +++ b/src/frontends/qt/GuiSearch.h @@ -32,7 +32,7 @@ class GuiSearchWidget : public QWidget, public Ui::SearchUi Q_OBJECT public: - GuiSearchWidget(QWidget * parent); + GuiSearchWidget(QWidget * parent, GuiView & view); /// void saveSession(QSettings & settings, QString const & session_key) const; /// @@ -68,6 +68,8 @@ private: /// void showEvent(QShowEvent * e) override; /// + void hideEvent(QHideEvent * e) override; + /// void doFind(bool const backwards = false, bool const instant = false); /// @@ -85,6 +87,8 @@ private: /// BufferView const * bv_ = nullptr; /// + GuiView & view_; + /// bool minimized_ = false; /// contains the search box FancyLineEdit * findLE_; From spitz at lyx.org Mon Nov 1 16:37:19 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Mon, 1 Nov 2021 17:37:19 +0100 (CET) Subject: [LyX/master] de.po Message-ID: <20211101163719.9DF3D280260@lyx.lyx.org> commit 54492d44d6d821a7cb38c39a7e5748752370bb3a Author: Juergen Spitzmueller Date: Mon Nov 1 18:01:40 2021 +0100 de.po po/de.gmo | Bin 621934 -> 622336 bytes po/de.po | 826 ++++++++++++++++++++++++++++++------------------------------ 2 files changed, 413 insertions(+), 413 deletions(-) From kornel at lyx.org Mon Nov 1 16:50:15 2021 From: kornel at lyx.org (Kornel Benko) Date: Mon, 1 Nov 2021 17:50:15 +0100 (CET) Subject: [LyX/master] Update sk.po Message-ID: <20211101165015.D2F2D280168@lyx.lyx.org> commit 7af2cc0c3b0e3a4ba37393a47f5477e8a6a5479b Author: Kornel Benko Date: Mon Nov 1 18:14:35 2021 +0100 Update sk.po --- po/sk.po | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/po/sk.po b/po/sk.po index 4d9fa47..0b3739e 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX-2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-29 17:36+0200\n" -"PO-Revision-Date: 2021-10-29 15:44+0000\n" +"POT-Creation-Date: 2021-11-01 16:40+0100\n" +"PO-Revision-Date: 2021-11-01 17:11+0000\n" "Last-Translator: Kornel Benko \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -28432,24 +28432,24 @@ msgid "added text (output)" msgstr "pridan? tex (v?stup)" #: src/Color.cpp:327 -msgid "added text (workarea, 1st author)" -msgstr "pridan? text (pracovn? plocha, 1. autor)" +msgid "changed text (workarea, 1st author)" +msgstr "zmenen? text (pracovn? plocha, prv? autor)" #: src/Color.cpp:328 -msgid "added text (workarea, 2nd author)" -msgstr "pridan? text (pracovn? plocha, 2. autor)" +msgid "changed text (workarea, 2nd author)" +msgstr "zmenen? text (pracovn? plocha, druh? autor)" #: src/Color.cpp:329 -msgid "added text (workarea, 3rd author)" -msgstr "pridan? text (pracovn? plocha, tret?. autor)" +msgid "changed text (workarea, 3rd author)" +msgstr "zmenen? text (pracovn? plocha, tret? autor)" #: src/Color.cpp:330 -msgid "added text (workarea, 4th author)" -msgstr "pridan? text (pracovn? plocha, ?tvrt?. autor)" +msgid "changed text (workarea, 4th author)" +msgstr "zmenen? text (pracovn? plocha, ?tvrt? autor)" #: src/Color.cpp:331 -msgid "added text (workarea, 5th author)" -msgstr "pridan? text (pracovn? plocha, piaty. autor)" +msgid "changed text (workarea, 5th author)" +msgstr "zmenen? text (pracovn? plocha, piaty autor)" #: src/Color.cpp:332 msgid "deleted text modifier (workarea)" From tcuvelier at lyx.org Mon Nov 1 23:31:04 2021 From: tcuvelier at lyx.org (Thibaut Cuvelier) Date: Tue, 2 Nov 2021 00:31:04 +0100 (CET) Subject: [LyX/master] DocBook LilyPond: add a comment to indicate that an issue cannot be worked around. Message-ID: <20211101233104.3FFA22802A1@lyx.lyx.org> commit 464304858392d14c93e53104e2cc3c96be25c4eb Author: Thibaut Cuvelier Date: Tue Nov 2 00:55:24 2021 +0100 DocBook LilyPond: add a comment to indicate that an issue cannot be worked around. --- lib/scripts/docbook_copy.py | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/lib/scripts/docbook_copy.py b/lib/scripts/docbook_copy.py index 5b5a3f4..186bbe5 100644 --- a/lib/scripts/docbook_copy.py +++ b/lib/scripts/docbook_copy.py @@ -66,6 +66,17 @@ class DocBookCopier: # Fixed by 2.23.4. # FROM: language='lilypond' role='fragment verbatim staffsize=16 ragged-right relative=2' # TO: language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2" + + # Another problem to fix: the output is in XML, with some characters encoded as XML + # entities. For instance, this could be in a LilyPond snippet: + # \new PianoStaff << + # instead of: + # \new PianoStaff << + # (More complete example: + # https://lilypond.org/doc/v2.23/Documentation/learning/piano-centered-lyrics.) + # This issue must be fixed by LilyPond, as any change in this part would make the XML + # file invalid. + # Bug report: https://gitlab.com/lilypond/lilypond/-/issues/6204 with open(self.in_file, 'r', encoding='utf-8') as f, open(self.in_lily_file, 'w', encoding='utf-8') as f_lily: for line in f: if "language='lilypond'" in line: From spitz at lyx.org Tue Nov 2 07:23:36 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Tue, 2 Nov 2021 08:23:36 +0100 (CET) Subject: [LyX/master] Use labels for zoom slider buttons Message-ID: <20211102072336.023B2280161@lyx.lyx.org> commit 59b8c209c41d4f02448460486bb497aa6f7d9587 Author: Daniel Ramoeller Date: Tue Nov 2 08:08:29 2021 +0100 Use labels for zoom slider buttons Fix for bug #12301. Also: fixes the width and alignment of the zoom value label. --- src/frontends/qt/GuiClickableLabel.cpp | 6 ++++-- src/frontends/qt/GuiView.cpp | 22 ++++++++++++++-------- src/frontends/qt/GuiView.h | 7 ++++--- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/frontends/qt/GuiClickableLabel.cpp b/src/frontends/qt/GuiClickableLabel.cpp index 31a5be5..311755d 100644 --- a/src/frontends/qt/GuiClickableLabel.cpp +++ b/src/frontends/qt/GuiClickableLabel.cpp @@ -11,6 +11,8 @@ #include "GuiClickableLabel.h" +#include + namespace lyx { namespace frontend { @@ -22,8 +24,8 @@ GuiClickableLabel::~GuiClickableLabel() {} void GuiClickableLabel::mouseReleaseEvent(QMouseEvent *) { - Q_EMIT clicked(); - } + Q_EMIT clicked(); +} } } diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 1068bdd..65d51cf 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -648,14 +648,15 @@ GuiView::GuiView(int id) zoom_slider_->setToolTip(qt_("Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust.")); // Buttons to change zoom stepwise - zoom_in_ = new QPushButton(statusBar()); + QSize s(fm.width('+'), fm.height()); + zoom_in_ = new GuiClickableLabel(statusBar()); zoom_in_->setText("+"); - zoom_in_->setFlat(true); - zoom_in_->setFixedSize(QSize(fm.height(), fm.height())); - zoom_out_ = new QPushButton(statusBar()); + zoom_in_->setFixedSize(s); + zoom_in_->setAlignment(Qt::AlignCenter); + zoom_out_ = new GuiClickableLabel(statusBar()); zoom_out_->setText(QString(QChar(0x2212))); - zoom_out_->setFixedSize(QSize(fm.height(), fm.height())); - zoom_out_->setFlat(true); + zoom_out_->setFixedSize(s); + zoom_out_->setAlignment(Qt::AlignCenter); statusBar()->addPermanentWidget(zoom_out_); zoom_out_->setEnabled(currentBufferView()); @@ -670,13 +671,18 @@ GuiView::GuiView(int id) connect(zoom_in_, SIGNAL(clicked()), this, SLOT(zoomInPressed())); connect(zoom_out_, SIGNAL(clicked()), this, SLOT(zoomOutPressed())); + // QPalette palette = statusBar()->palette(); + zoom_value_ = new QLabel(statusBar()); + // zoom_value_->setPalette(palette); + zoom_value_->setForegroundRole(statusBar()->foregroundRole()); zoom_value_->setFixedHeight(fm.height()); #if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) - zoom_value_->setMinimumWidth(fm.horizontalAdvance("000%")); + zoom_value_->setMinimumWidth(fm.horizontalAdvance("444\%")); #else - zoom_value_->setMinimumWidth(fm.width("000%")); + zoom_value_->setMinimumWidth(fm.width("444\%")); #endif + zoom_value_->setAlignment(Qt::AlignCenter); zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), zoom))); statusBar()->addPermanentWidget(zoom_value_); zoom_value_->setEnabled(currentBufferView()); diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h index c16b557..145a1f2 100644 --- a/src/frontends/qt/GuiView.h +++ b/src/frontends/qt/GuiView.h @@ -20,6 +20,7 @@ #include "support/strfwd.h" #include +#include #include #include @@ -27,7 +28,6 @@ class QCloseEvent; class QDragEnterEvent; class QDropEvent; class QPushButton; -class QLabel; class QShowEvent; class QSlider; @@ -48,6 +48,7 @@ namespace frontend { class Dialog; class LayoutBox; +class GuiClickableLabel; class GuiToolbar; class GuiWorkArea; class TabWorkArea; @@ -510,9 +511,9 @@ private: /// The zoom slider widget QSlider * zoom_slider_; /// Zoom in ("+") Button - QPushButton * zoom_in_; + GuiClickableLabel * zoom_in_; /// Zoom out ("-") Button - QPushButton * zoom_out_; + GuiClickableLabel * zoom_out_; /// The rate from which the actual zoom value is calculated /// from the default zoom pref From spitz at lyx.org Tue Nov 2 15:05:08 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Tue, 2 Nov 2021 16:05:08 +0100 (CET) Subject: [LyX/master] Amend 59b8c209c41d Message-ID: <20211102150508.BE07A28016B@lyx.lyx.org> commit de637cdbcbeba44d5fc58e3ba9b75c2eb8919bfc Author: Juergen Spitzmueller Date: Tue Nov 2 16:28:40 2021 +0100 Amend 59b8c209c41d QFontMetrics::width() is no longer valid in Qt6 --- src/frontends/qt/GuiView.cpp | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 65d51cf..1101b89 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -648,7 +648,11 @@ GuiView::GuiView(int id) zoom_slider_->setToolTip(qt_("Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust.")); // Buttons to change zoom stepwise +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + QSize s(fm.horizontalAdvance('+'), fm.height()); +#else QSize s(fm.width('+'), fm.height()); +#endif zoom_in_ = new GuiClickableLabel(statusBar()); zoom_in_->setText("+"); zoom_in_->setFixedSize(s); From spitz at lyx.org Wed Nov 3 11:11:26 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Wed, 3 Nov 2021 12:11:26 +0100 (CET) Subject: [LyX/master] Fix most stupid thinko of mine Message-ID: <20211103111126.2F11A280234@lyx.lyx.org> commit b60853ff0d0ecba48c93b87ea3588cfd7f20af32 Author: Juergen Spitzmueller Date: Wed Nov 3 12:35:38 2021 +0100 Fix most stupid thinko of mine --- src/frontends/qt/GuiSearch.cpp | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 4b02518..075369b 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -151,7 +151,7 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev) if (ev->key() == Qt::Key_Escape) { dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); - dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); + bv_->buffer().updateBuffer(); return; } @@ -417,12 +417,12 @@ void GuiSearchWidget::showEvent(QShowEvent * e) } -void GuiSearchWidget::hideEvent(QHideEvent * e) +void GuiSearchWidget::hideEvent(QHideEvent *) { - QWidget::hideEvent(e); + dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); // update toolbar status - dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); + bv_->buffer().updateBuffer(); } From spitz at lyx.org Wed Nov 3 16:17:30 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Wed, 3 Nov 2021 17:17:30 +0100 (CET) Subject: [LyX/master] Address Qt6 deprecation warnings Message-ID: <20211103161730.A3DCA28023C@lyx.lyx.org> commit 1e711f902acbd59dac5f10e9daa714beb9c5880f Author: Juergen Spitzmueller Date: Wed Nov 3 17:41:41 2021 +0100 Address Qt6 deprecation warnings --- src/frontends/qt/GuiSearch.cpp | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 075369b..e3e1d8f 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -580,7 +580,11 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags void GuiSearch::mousePressEvent(QMouseEvent * event) { if (isFloating() && event->button() == Qt::LeftButton) { +#if QT_VERSION >= 0x060000 + dragPosition = event->globalPosition().toPoint() - frameGeometry().topLeft(); +#else dragPosition = event->globalPos() - frameGeometry().topLeft(); +#endif event->accept(); } else DockView::mousePressEvent(event); @@ -590,7 +594,11 @@ void GuiSearch::mousePressEvent(QMouseEvent * event) void GuiSearch::mouseMoveEvent(QMouseEvent * event) { if (isFloating() && event->buttons() & Qt::LeftButton) { +#if QT_VERSION >= 0x060000 + move(event->globalPosition().toPoint() - dragPosition); +#else move(event->globalPos() - dragPosition); +#endif event->accept(); } else DockView::mouseMoveEvent(event); From spitz at lyx.org Fri Nov 5 13:26:21 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Fri, 5 Nov 2021 14:26:21 +0100 (CET) Subject: [LyX/master] Fix crash when closing LyX with open Search pane Message-ID: <20211105132621.DEBEB2801F9@lyx.lyx.org> commit a90c5f202eb94615d959067ddefa6c795570775a Author: Juergen Spitzmueller Date: Fri Nov 5 14:50:39 2021 +0100 Fix crash when closing LyX with open Search pane --- src/frontends/qt/GuiSearch.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index e3e1d8f..b071d61 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -422,7 +422,8 @@ void GuiSearchWidget::hideEvent(QHideEvent *) dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); // update toolbar status - bv_->buffer().updateBuffer(); + if (bv_) + bv_->buffer().updateBuffer(); } From jpc at lyx.org Fri Nov 5 16:28:23 2021 From: jpc at lyx.org (jpc) Date: Fri, 5 Nov 2021 17:28:23 +0100 (CET) Subject: [LyX/master] Update fr.po Message-ID: <20211105162823.A14E62801FD@lyx.lyx.org> commit 76b04bd85f3b112cf40b627d21f527ea522d3527 Author: jpc Date: Fri Nov 5 17:52:44 2021 +0100 Update fr.po --- po/fr.gmo | Bin 625335 -> 625350 bytes po/fr.po | 368 ++++++++++++++++++++++++++++++------------------------------ 2 files changed, 184 insertions(+), 184 deletions(-) diff --git a/po/fr.gmo b/po/fr.gmo index 03e8b11..092bd3d 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 94df3e3..7f7e4a5 100644 --- a/po/fr.po +++ b/po/fr.po @@ -362,8 +362,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-11-01 11:08+0100\n" -"PO-Revision-Date: 2021-11-01 11:16+0100\n" +"POT-Creation-Date: 2021-11-05 17:50+0100\n" +"PO-Revision-Date: 2021-11-05 17:52+0100\n" "Last-Translator: Jean-Pierre Chr?tien \n" "Language-Team: lyxfr\n" "Language: fr\n" @@ -1114,13 +1114,13 @@ msgstr "Ajouter &tout" #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 #: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2825 src/frontends/qt/GuiView.cpp:3057 -#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3095 -#: src/frontends/qt/GuiView.cpp:3197 src/frontends/qt/GuiView.cpp:3242 -#: src/frontends/qt/GuiView.cpp:3297 src/frontends/qt/GuiView.cpp:3531 -#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3647 -#: src/frontends/qt/GuiView.cpp:3672 src/frontends/qt/GuiView.cpp:4376 -#: src/frontends/qt/GuiView.cpp:4383 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:2835 src/frontends/qt/GuiView.cpp:3067 +#: src/frontends/qt/GuiView.cpp:3091 src/frontends/qt/GuiView.cpp:3105 +#: src/frontends/qt/GuiView.cpp:3207 src/frontends/qt/GuiView.cpp:3252 +#: src/frontends/qt/GuiView.cpp:3307 src/frontends/qt/GuiView.cpp:3541 +#: src/frontends/qt/GuiView.cpp:3555 src/frontends/qt/GuiView.cpp:3657 +#: src/frontends/qt/GuiView.cpp:3682 src/frontends/qt/GuiView.cpp:4386 +#: src/frontends/qt/GuiView.cpp:4393 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Annuler" @@ -1958,7 +1958,7 @@ msgid "Restrict search to whole words only" msgstr "Restreindre la recherche aux mots complets seulement" #: src/frontends/qt/ui/FindAndReplaceUi.ui:153 -#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:101 +#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:102 msgid "Wh&ole words" msgstr "Mots com&plets" @@ -5599,11 +5599,11 @@ msgstr "&< Rechercher" msgid "Replace all occurrences" msgstr "Remplacer toutes les occurrences" -#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:203 +#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:206 msgid "Hide replace and option widgets" msgstr "Cacher les vignettes Remplacer et Options" -#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:202 +#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:205 msgid "&Minimize" msgstr "&Minimiser" @@ -5639,7 +5639,7 @@ msgstr "Rechercher l'occurrence suivante (Entr?e)" msgid "Treat uppercase/lowercase writing as distinct" msgstr "Distinguer majuscules/minuscules" -#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:99 +#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:100 msgid "&Case sensitive[[search]]" msgstr "Selon la &casse" @@ -5651,7 +5651,7 @@ msgstr "Mots complets seulement" msgid "Limit search and replace to selection" msgstr "Limiter rechercher/remplacer ? la s?lection" -#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:103 +#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:104 msgid "Selection onl&y" msgstr "S?lection &uniquement" @@ -5659,7 +5659,7 @@ msgstr "S?lection &uniquement" msgid "If this is checked, LyX will search forward immediately" msgstr "Si la case est coch?e, LyX cherchera vers l'avant imm?diatement" -#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:105 +#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:106 msgid "Search as yo&u type" msgstr "Chercher pendant la &saisie" @@ -5669,7 +5669,7 @@ msgstr "" "Continuer automatiquement la recherche si le d?but ou la fin du document est " "atteint" -#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:107 +#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:108 msgid "&Wrap" msgstr "&R?cursion" @@ -6503,8 +6503,8 @@ msgstr "Seulement le corps" msgid "Select the output format" msgstr "S?lectionner le format de sortie" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3672 -#: src/frontends/qt/GuiView.cpp:4376 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3682 +#: src/frontends/qt/GuiView.cpp:4386 msgid "&Reload" msgstr "&Recharger" @@ -27134,7 +27134,7 @@ msgstr "MS Word Office Open XML|O" msgid "Table (CSV)" msgstr "Tableau (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1618 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1628 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -27686,8 +27686,8 @@ msgid "Overwrite modified file?" msgstr "?craser le fichier modifi? ?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2825 -#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3197 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2835 +#: src/frontends/qt/GuiView.cpp:3104 src/frontends/qt/GuiView.cpp:3207 msgid "&Overwrite" msgstr "?&craser" @@ -27929,7 +27929,7 @@ msgstr "La branche ? %1$s ? existe d?j?." msgid "Error viewing the output file." msgstr "Erreur lors de l'affichage du fichier imprimable." -#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2656 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2666 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" @@ -28016,7 +28016,7 @@ msgstr "" msgid "Couldn't export file" msgstr "Exportation du fichier impossible" -#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2798 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2808 msgid "File name error" msgstr "Erreur de nom de fichier" @@ -28034,7 +28034,7 @@ msgstr "" "devriez enregistrer le fichier dans un r?pertoire dont le chemin d'acc?s ne " "contient pas d'espaces." -#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:859 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:869 msgid "Document export cancelled." msgstr "Export du document annul?." @@ -28483,7 +28483,7 @@ msgid "This portion of the document is deleted." msgstr "Cette portion du document est supprim?e." #: src/BufferView.cpp:1191 src/BufferView.cpp:2253 -#: src/frontends/qt/GuiView.cpp:4246 src/frontends/qt/GuiView.cpp:4334 +#: src/frontends/qt/GuiView.cpp:4256 src/frontends/qt/GuiView.cpp:4344 msgid "Absolute filename expected." msgstr "Chemin absolu requis." @@ -29024,24 +29024,24 @@ msgid "added text (output)" msgstr "texte ajout? (en sortie)" #: src/Color.cpp:327 -msgid "added text (workarea, 1st author)" -msgstr "texte ajout? (zone de travail, auteur 1)" +msgid "changed text (workarea, 1st author)" +msgstr "texte modifi? (zone de travail, auteur 1)" #: src/Color.cpp:328 -msgid "added text (workarea, 2nd author)" -msgstr "texte ajout? (zone de travail, auteur 2)" +msgid "changed text (workarea, 2nd author)" +msgstr "texte modifi? (zone de travail, auteur 2)" #: src/Color.cpp:329 -msgid "added text (workarea, 3rd author)" -msgstr "texte ajout? (zone de travail, auteur 3)" +msgid "changed text (workarea, 3rd author)" +msgstr "texte modifi? (zone de travail, auteur 3)" #: src/Color.cpp:330 -msgid "added text (workarea, 4th author)" -msgstr "texte ajout? (zone de travail, auteur 4)" +msgid "changed text (workarea, 4th author)" +msgstr "texte modifi? (zone de travail, auteur 4)" #: src/Color.cpp:331 -msgid "added text (workarea, 5th author)" -msgstr "texte ajout? (zone de travail, auteur 5)" +msgid "changed text (workarea, 5th author)" +msgstr "texte modifi? (zone de travail, auteur 5)" #: src/Color.cpp:332 msgid "deleted text modifier (workarea)" @@ -29502,7 +29502,7 @@ msgstr "&Conserver le fichier" msgid "Overwrite &all" msgstr "?craser &tout" -#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:779 +#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:789 msgid "&Cancel export" msgstr "&Annuler l'exportation" @@ -29620,7 +29620,7 @@ msgstr "Nom propre %1$s, " msgid "Cannot view file" msgstr "Visionnement du fichier impossible" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3936 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3946 #, c-format msgid "File does not exist: %1$s" msgstr "Fichier inexistant : %1$s" @@ -30656,7 +30656,7 @@ msgstr "LyX VC : message de journal" msgid "(no log message)" msgstr "(aucun message de journal)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3799 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3809 msgid "LyX VC: Log Message" msgstr "LyX VC : Message de journal" @@ -30677,7 +30677,7 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Revenir ? la version enregistr?e du document ?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4383 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4393 msgid "&Revert" msgstr "&Revenir ? la Sauvegarde" @@ -31037,7 +31037,7 @@ msgstr "V?rifiez si le paquetage RCS GNU est install? sur votre syst?me." #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3715 src/frontends/qt/GuiView.cpp:3758 +#: src/frontends/qt/GuiView.cpp:3725 src/frontends/qt/GuiView.cpp:3768 msgid "Revision control error." msgstr "Erreur de contr?le de version." @@ -31292,7 +31292,7 @@ msgstr "" "Le document %1$s est d?j? charg? et a ?t? modifi?.\n" "Voulez-vous revenir ? la version enregistr?e et ignorer vos modifications ?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4374 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4384 msgid "Reload saved document?" msgstr "Revenir ? la sauvegarde ?" @@ -31654,7 +31654,7 @@ msgstr "Commande d?sactiv?e" msgid "Bad debug value `%1$s'." msgstr "Valeur de d?bogage incorrecte ? %1$s ?." -#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2153 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2163 msgid "Command not allowed without a buffer open" msgstr "Commande non autoris?e si aucun tampon n'est ouvert" @@ -31921,9 +31921,9 @@ msgstr "toutes les entit?s de r?f?rences" #: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 #: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374 -#: src/frontends/qt/GuiView.cpp:2565 src/frontends/qt/GuiView.cpp:2624 -#: src/frontends/qt/GuiView.cpp:2764 src/frontends/qt/GuiView.cpp:2898 -#: src/frontends/qt/GuiView.cpp:3018 src/frontends/qt/GuiView.cpp:3140 +#: src/frontends/qt/GuiView.cpp:2575 src/frontends/qt/GuiView.cpp:2634 +#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2908 +#: src/frontends/qt/GuiView.cpp:3028 src/frontends/qt/GuiView.cpp:3150 msgid "D&ocuments" msgstr "Documents|u" @@ -32283,10 +32283,10 @@ msgstr "Fichiers %1$s" msgid "Choose a filename to save the pasted graphic as" msgstr "Choisir le nom de fichier sous lequel enregistrer le graphique coll?" -#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2642 -#: src/frontends/qt/GuiView.cpp:2783 src/frontends/qt/GuiView.cpp:2799 -#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2828 -#: src/frontends/qt/GuiView.cpp:2913 src/frontends/qt/GuiView.cpp:4346 +#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2652 +#: src/frontends/qt/GuiView.cpp:2793 src/frontends/qt/GuiView.cpp:2809 +#: src/frontends/qt/GuiView.cpp:2821 src/frontends/qt/GuiView.cpp:2838 +#: src/frontends/qt/GuiView.cpp:2923 src/frontends/qt/GuiView.cpp:4356 msgid "Canceled." msgstr "Annul?." @@ -32316,8 +32316,8 @@ msgid "Select document" msgstr "S?lectionner le document" #: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367 -#: src/frontends/qt/GuiView.cpp:2569 src/frontends/qt/GuiView.cpp:2628 -#: src/frontends/qt/GuiView.cpp:2902 src/frontends/qt/GuiView.cpp:3029 +#: src/frontends/qt/GuiView.cpp:2579 src/frontends/qt/GuiView.cpp:2638 +#: src/frontends/qt/GuiView.cpp:2912 src/frontends/qt/GuiView.cpp:3039 msgid "LyX Documents (*.lyx)" msgstr "Documents LyX (*.lyx)" @@ -33743,17 +33743,17 @@ msgstr "" msgid "Select example file" msgstr "Choisir le fichier d'exemple" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2625 -#: src/frontends/qt/GuiView.cpp:2765 src/frontends/qt/GuiView.cpp:2899 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2635 +#: src/frontends/qt/GuiView.cpp:2775 src/frontends/qt/GuiView.cpp:2909 msgid "&Examples" msgstr "&Exemples" -#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2564 +#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2574 msgid "Select template file" msgstr "Choisir le mod?le" -#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2566 -#: src/frontends/qt/GuiView.cpp:3019 +#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2576 +#: src/frontends/qt/GuiView.cpp:3029 msgid "&Templates" msgstr "&Mod?les" @@ -33879,7 +33879,7 @@ msgstr "" "En principe, vous n'avez pas ? le modifier puisqu'on utilise la plus grande " "largeur d'?tiquette de tous les ?l?ments." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3297 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3307 msgid "&Close" msgstr "&Fermer" @@ -34199,43 +34199,43 @@ msgstr "Revenir ? la position initiale du curseur" msgid "" msgstr "" -#: src/frontends/qt/GuiSearch.cpp:191 +#: src/frontends/qt/GuiSearch.cpp:194 msgid "Ex&pand" msgstr "D?&ployer" -#: src/frontends/qt/GuiSearch.cpp:192 +#: src/frontends/qt/GuiSearch.cpp:195 msgid "Show replace and option widgets" msgstr "Montrer les vignettes Remplacer et Options" -#: src/frontends/qt/GuiSearch.cpp:251 +#: src/frontends/qt/GuiSearch.cpp:254 msgid "Active options:" msgstr "Options actives :" -#: src/frontends/qt/GuiSearch.cpp:254 +#: src/frontends/qt/GuiSearch.cpp:257 msgid "Case sensitive search" msgstr "Selon la &casse" -#: src/frontends/qt/GuiSearch.cpp:272 +#: src/frontends/qt/GuiSearch.cpp:275 msgid "Whole words only" msgstr "Mots comp&lets uniquement" -#: src/frontends/qt/GuiSearch.cpp:289 +#: src/frontends/qt/GuiSearch.cpp:292 msgid "Search only in selection" msgstr "Rechercher uniquement dans la s?lection" -#: src/frontends/qt/GuiSearch.cpp:306 +#: src/frontends/qt/GuiSearch.cpp:309 msgid "Search as you type" msgstr "Chercher pendant la saisie" -#: src/frontends/qt/GuiSearch.cpp:323 +#: src/frontends/qt/GuiSearch.cpp:326 msgid "Wrap search" msgstr "Recherche r?cursive" -#: src/frontends/qt/GuiSearch.cpp:345 +#: src/frontends/qt/GuiSearch.cpp:348 msgid "Click here to change search options" msgstr "Cliquer ici pour changer les options de recherche" -#: src/frontends/qt/GuiSearch.cpp:556 +#: src/frontends/qt/GuiSearch.cpp:569 msgid "Search and Replace" msgstr "Rechercher et remplacer" @@ -34678,15 +34678,15 @@ msgstr "" "Niveau de zoom de la fen?tre de travail. Faire glisser, utiliser Ctrl-+/- ou " "Maj-Molette pour ajuster." -#: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 -#: src/frontends/qt/GuiView.cpp:959 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:800 +#: src/frontends/qt/GuiView.cpp:969 src/frontends/qt/Menus.cpp:1843 #: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 #: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 #: src/frontends/qt/Menus.cpp:1863 msgid "[[ZOOM]]%1$d%" msgstr "%1$d%" -#: src/frontends/qt/GuiView.cpp:696 +#: src/frontends/qt/GuiView.cpp:706 msgid "" "WARNING: LaTeX is allowed to execute external commands for this document. " "Right click to change." @@ -34694,112 +34694,112 @@ msgstr "" "AVERTISSEMENT : LaTeX peut ex?cuter des commandes externes dans ce " "document. Faites un clic droit pour changer." -#: src/frontends/qt/GuiView.cpp:775 +#: src/frontends/qt/GuiView.cpp:785 msgid "Cancel Export?" msgstr "&Annuler l'exportation ?" -#: src/frontends/qt/GuiView.cpp:776 +#: src/frontends/qt/GuiView.cpp:786 msgid "Do you want to cancel the background export process?" msgstr "Voulez-vous arr?ter le processus d'exportation en arri?re-plan ?" -#: src/frontends/qt/GuiView.cpp:779 +#: src/frontends/qt/GuiView.cpp:789 msgid "Co&ntinue" msgstr "&Continuer" -#: src/frontends/qt/GuiView.cpp:856 +#: src/frontends/qt/GuiView.cpp:866 #, c-format msgid "Successful export to format: %1$s" msgstr "Succ?s de l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:865 +#: src/frontends/qt/GuiView.cpp:875 #, c-format msgid "Error while exporting format: %1$s" msgstr "Erreur ? l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:868 +#: src/frontends/qt/GuiView.cpp:878 #, c-format msgid "Successful preview of format: %1$s" msgstr "Succ?s de l'aper?u du format : %1$s" -#: src/frontends/qt/GuiView.cpp:871 +#: src/frontends/qt/GuiView.cpp:881 #, c-format msgid "Error while previewing format: %1$s" msgstr "Erreur au visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:874 +#: src/frontends/qt/GuiView.cpp:884 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Conversion annul?e pendant le visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:1224 +#: src/frontends/qt/GuiView.cpp:1234 msgid "Exit LyX" msgstr "Quitter LyX" -#: src/frontends/qt/GuiView.cpp:1225 +#: src/frontends/qt/GuiView.cpp:1235 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "Impossible de fermer LyX, des documents sont en cours de traitement." -#: src/frontends/qt/GuiView.cpp:1373 +#: src/frontends/qt/GuiView.cpp:1383 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (modifi? par une application externe)" -#: src/frontends/qt/GuiView.cpp:1496 +#: src/frontends/qt/GuiView.cpp:1506 msgid "Welcome to LyX!" msgstr "Bienvenue dans LyX !" -#: src/frontends/qt/GuiView.cpp:2033 +#: src/frontends/qt/GuiView.cpp:2043 msgid "Automatic save done." msgstr "Sauvegarde automatique effective." -#: src/frontends/qt/GuiView.cpp:2034 +#: src/frontends/qt/GuiView.cpp:2044 msgid "Automatic save failed!" msgstr "La sauvegarde automatique a ?chou? !" -#: src/frontends/qt/GuiView.cpp:2090 +#: src/frontends/qt/GuiView.cpp:2100 msgid "Command not allowed without any document open" msgstr "Commande non autoris?e si aucun document n'est ouvert" -#: src/frontends/qt/GuiView.cpp:2159 +#: src/frontends/qt/GuiView.cpp:2169 msgid "Invalid argument of master-buffer-forall" msgstr "Argument invalide pour la commande master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2277 +#: src/frontends/qt/GuiView.cpp:2287 msgid "Function toolbar-set requires two arguments!" msgstr "La fonction toolbar-set n?cessite deux arguments !" -#: src/frontends/qt/GuiView.cpp:2284 +#: src/frontends/qt/GuiView.cpp:2294 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !" -#: src/frontends/qt/GuiView.cpp:2300 src/frontends/qt/GuiView.cpp:2313 -#: src/frontends/qt/GuiView.cpp:2330 +#: src/frontends/qt/GuiView.cpp:2310 src/frontends/qt/GuiView.cpp:2323 +#: src/frontends/qt/GuiView.cpp:2340 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Barre d'outils inconnue \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2450 src/frontends/qt/GuiView.cpp:2463 +#: src/frontends/qt/GuiView.cpp:2460 src/frontends/qt/GuiView.cpp:2473 msgid "Zoom level cannot be less than %1$d%." msgstr "Le niveau de zoom ne peut ?tre inf?rieur ? %1$d%." -#: src/frontends/qt/GuiView.cpp:2593 +#: src/frontends/qt/GuiView.cpp:2603 msgid "Document not loaded." msgstr "Le document n'a pas ?t? charg?." -#: src/frontends/qt/GuiView.cpp:2623 +#: src/frontends/qt/GuiView.cpp:2633 msgid "Select document to open" msgstr "Choisir le document ? ouvrir" -#: src/frontends/qt/GuiView.cpp:2629 +#: src/frontends/qt/GuiView.cpp:2639 msgid "LyX Document Backups (*.lyx~)" msgstr "Sauvegardes des documents LyX (*.lyx~)" -#: src/frontends/qt/GuiView.cpp:2630 +#: src/frontends/qt/GuiView.cpp:2640 msgid "All Files (*.*)" msgstr "Tous les fichiers (*.*)" -#: src/frontends/qt/GuiView.cpp:2657 +#: src/frontends/qt/GuiView.cpp:2667 #, c-format msgid "" "The directory in the given path\n" @@ -34810,40 +34810,40 @@ msgstr "" "%1$s\n" "n'existe pas." -#: src/frontends/qt/GuiView.cpp:2674 +#: src/frontends/qt/GuiView.cpp:2684 #, c-format msgid "Opening document %1$s..." msgstr "Ouverture du document %1$s..." -#: src/frontends/qt/GuiView.cpp:2679 +#: src/frontends/qt/GuiView.cpp:2689 #, c-format msgid "Document %1$s opened." msgstr "Document %1$s ouvert." -#: src/frontends/qt/GuiView.cpp:2682 +#: src/frontends/qt/GuiView.cpp:2692 msgid "Version control detected." msgstr "Contr?le de version d?tect?." -#: src/frontends/qt/GuiView.cpp:2684 +#: src/frontends/qt/GuiView.cpp:2694 #, c-format msgid "Could not open document %1$s" msgstr "Impossible d'ouvrir le document %1$s" -#: src/frontends/qt/GuiView.cpp:2712 +#: src/frontends/qt/GuiView.cpp:2722 msgid "Couldn't import file" msgstr "Impossible d'importer le fichier" -#: src/frontends/qt/GuiView.cpp:2713 +#: src/frontends/qt/GuiView.cpp:2723 #, c-format msgid "No information for importing the format %1$s." msgstr "Pas d'information pour importer le format %1$s." -#: src/frontends/qt/GuiView.cpp:2760 +#: src/frontends/qt/GuiView.cpp:2770 #, c-format msgid "Select %1$s file to import" msgstr "Choisir le fichier %1$s ? importer" -#: src/frontends/qt/GuiView.cpp:2795 +#: src/frontends/qt/GuiView.cpp:2805 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34852,8 +34852,8 @@ msgstr "" "Le nom de fichier ??%1$s ? n'est pas valide !\n" "Importation interrompue." -#: src/frontends/qt/GuiView.cpp:2822 src/frontends/qt/GuiView.cpp:3089 -#: src/frontends/qt/GuiView.cpp:3192 +#: src/frontends/qt/GuiView.cpp:2832 src/frontends/qt/GuiView.cpp:3099 +#: src/frontends/qt/GuiView.cpp:3202 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34864,33 +34864,33 @@ msgstr "" "\n" "Voulez-vous ?crire par dessus ce document ?" -#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:3093 -#: src/frontends/qt/GuiView.cpp:3196 +#: src/frontends/qt/GuiView.cpp:2834 src/frontends/qt/GuiView.cpp:3103 +#: src/frontends/qt/GuiView.cpp:3206 msgid "Overwrite document?" msgstr "?craser le document ?" -#: src/frontends/qt/GuiView.cpp:2833 +#: src/frontends/qt/GuiView.cpp:2843 #, c-format msgid "Importing %1$s..." msgstr "Importe %1$s..." -#: src/frontends/qt/GuiView.cpp:2836 +#: src/frontends/qt/GuiView.cpp:2846 msgid "imported." msgstr "import?." -#: src/frontends/qt/GuiView.cpp:2838 +#: src/frontends/qt/GuiView.cpp:2848 msgid "file not imported!" msgstr "fichier non import? !" -#: src/frontends/qt/GuiView.cpp:2864 +#: src/frontends/qt/GuiView.cpp:2874 msgid "newfile" msgstr "nouveau" -#: src/frontends/qt/GuiView.cpp:2897 +#: src/frontends/qt/GuiView.cpp:2907 msgid "Select LyX document to insert" msgstr "Choisir le document ? ins?rer" -#: src/frontends/qt/GuiView.cpp:2944 +#: src/frontends/qt/GuiView.cpp:2954 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34903,23 +34903,23 @@ msgstr "" "Ce sous-r?pertoire n'existe pas encore.\n" "Voulez-vous le cr?er ?" -#: src/frontends/qt/GuiView.cpp:2949 +#: src/frontends/qt/GuiView.cpp:2959 msgid "Create Language Directory?" msgstr "Cr?er un r?pertoire de langue ?" -#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 +#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991 msgid "&Yes, Create" msgstr "&Oui, cr?er" -#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 +#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991 msgid "&No, Save Template in Parent Directory" msgstr "&Non, enregistrer le mod?le dans le r?pertoire parent" -#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:2984 +#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994 msgid "Subdirectory creation failed!" msgstr "?chec de la cr?ation du sous-r?pertoire !" -#: src/frontends/qt/GuiView.cpp:2954 src/frontends/qt/GuiView.cpp:2985 +#: src/frontends/qt/GuiView.cpp:2964 src/frontends/qt/GuiView.cpp:2995 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34927,7 +34927,7 @@ msgstr "" "Impossible de cr?er le sous-r?pertoire.\n" "Le mod?le sera enregistr? dans le r?pertoire parent." -#: src/frontends/qt/GuiView.cpp:2975 +#: src/frontends/qt/GuiView.cpp:2985 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34940,19 +34940,19 @@ msgstr "" "Ce sous-r?pertoire n'existe pas encore.\n" "Voulez-vous le cr?er ?" -#: src/frontends/qt/GuiView.cpp:2980 +#: src/frontends/qt/GuiView.cpp:2990 msgid "Create Category Directory?" msgstr "Cr?er un r?pertoire de cat?gorie ?" -#: src/frontends/qt/GuiView.cpp:3015 +#: src/frontends/qt/GuiView.cpp:3025 msgid "Choose a filename to save template as" msgstr "Choisir le nom du fichier sous lequel enregistrer le mod?le" -#: src/frontends/qt/GuiView.cpp:3016 +#: src/frontends/qt/GuiView.cpp:3026 msgid "Choose a filename to save document as" msgstr "Choisir le nom sous lequel enregistrer le fichier" -#: src/frontends/qt/GuiView.cpp:3052 +#: src/frontends/qt/GuiView.cpp:3062 #, c-format msgid "" "The file\n" @@ -34967,17 +34967,17 @@ msgstr "" "Merci de le fermer avant d'essayer de l'?craser.\n" "Vouez-vous d?finir un nouveau nom de fichier ?" -#: src/frontends/qt/GuiView.cpp:3056 +#: src/frontends/qt/GuiView.cpp:3066 msgid "Chosen File Already Open" msgstr "Fichier s?lectionn? d?j? ouvert" -#: src/frontends/qt/GuiView.cpp:3057 src/frontends/qt/GuiView.cpp:3079 -#: src/frontends/qt/GuiView.cpp:3095 src/frontends/qt/GuiView.cpp:3197 -#: src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3067 src/frontends/qt/GuiView.cpp:3089 +#: src/frontends/qt/GuiView.cpp:3105 src/frontends/qt/GuiView.cpp:3207 +#: src/frontends/qt/GuiView.cpp:3252 msgid "&Rename" msgstr "&Renommer" -#: src/frontends/qt/GuiView.cpp:3072 +#: src/frontends/qt/GuiView.cpp:3082 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34988,27 +34988,27 @@ msgstr "" "\n" "Voulez-vous choisir un nouveau nom ?" -#: src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3087 msgid "Rename document?" msgstr "Renommer le document ?" -#: src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3087 msgid "Copy document?" msgstr "Copier le document ?" -#: src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3089 msgid "&Copy" msgstr "&Copier" -#: src/frontends/qt/GuiView.cpp:3139 +#: src/frontends/qt/GuiView.cpp:3149 msgid "Choose a filename to export the document as" msgstr "Choisir le nom sous lequel exporter le fichier" -#: src/frontends/qt/GuiView.cpp:3143 +#: src/frontends/qt/GuiView.cpp:3153 msgid "Guess from extension (*.*)" msgstr "Deviner ? partir du suffixe (*.*)" -#: src/frontends/qt/GuiView.cpp:3238 +#: src/frontends/qt/GuiView.cpp:3248 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -35019,15 +35019,15 @@ msgstr "" "\n" "Voulez-vous renommer le document et essayer ? nouveau ?" -#: src/frontends/qt/GuiView.cpp:3241 +#: src/frontends/qt/GuiView.cpp:3251 msgid "Rename and save?" msgstr "Renommer et enregistrer ?" -#: src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3252 msgid "&Retry" msgstr "&R?essayer" -#: src/frontends/qt/GuiView.cpp:3287 +#: src/frontends/qt/GuiView.cpp:3297 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -35045,24 +35045,24 @@ msgstr "" "Les documents cach?s peuvent ?tre r?-affich?s via\n" "Affichage->Cach?->...\n" -#: src/frontends/qt/GuiView.cpp:3296 +#: src/frontends/qt/GuiView.cpp:3306 msgid "Close or hide document?" msgstr "Fermer ou cacher le document ?" -#: src/frontends/qt/GuiView.cpp:3297 +#: src/frontends/qt/GuiView.cpp:3307 msgid "&Hide" msgstr "&Cacher" -#: src/frontends/qt/GuiView.cpp:3394 +#: src/frontends/qt/GuiView.cpp:3404 msgid "Close document" msgstr "Fermer le document" -#: src/frontends/qt/GuiView.cpp:3395 +#: src/frontends/qt/GuiView.cpp:3405 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Impossible de fermer le document, il est en cours de traitement par LyX." -#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3642 +#: src/frontends/qt/GuiView.cpp:3537 src/frontends/qt/GuiView.cpp:3652 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35073,16 +35073,16 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:3645 +#: src/frontends/qt/GuiView.cpp:3540 src/frontends/qt/GuiView.cpp:3655 msgid "Save new document?" msgstr "Enregistrer le nouveau document ?" -#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3545 -#: src/frontends/qt/GuiView.cpp:3647 +#: src/frontends/qt/GuiView.cpp:3541 src/frontends/qt/GuiView.cpp:3555 +#: src/frontends/qt/GuiView.cpp:3657 msgid "&Save" msgstr "&Enregistrer" -#: src/frontends/qt/GuiView.cpp:3536 +#: src/frontends/qt/GuiView.cpp:3546 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35093,7 +35093,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou ignorer ces modifications ?" -#: src/frontends/qt/GuiView.cpp:3539 +#: src/frontends/qt/GuiView.cpp:3549 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35104,19 +35104,19 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou bien l'abandonner enti?rement ?" -#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3639 +#: src/frontends/qt/GuiView.cpp:3553 src/frontends/qt/GuiView.cpp:3649 msgid "Save changed document?" msgstr "Enregistrer le document modifi? ?" -#: src/frontends/qt/GuiView.cpp:3543 +#: src/frontends/qt/GuiView.cpp:3553 msgid "Save document?" msgstr "Enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3545 +#: src/frontends/qt/GuiView.cpp:3555 msgid "&Discard" msgstr "I&gnorer" -#: src/frontends/qt/GuiView.cpp:3636 +#: src/frontends/qt/GuiView.cpp:3646 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35127,7 +35127,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3668 +#: src/frontends/qt/GuiView.cpp:3678 #, c-format msgid "" "Document \n" @@ -35139,37 +35139,37 @@ msgstr "" "a ?t? modifi? par une application externe. Le recharger maintenant ? Toutes " "les modifications locales seront perdues." -#: src/frontends/qt/GuiView.cpp:3671 +#: src/frontends/qt/GuiView.cpp:3681 msgid "Reload externally changed document?" msgstr "Recharger le document modifi? par une application externe ?" -#: src/frontends/qt/GuiView.cpp:3716 +#: src/frontends/qt/GuiView.cpp:3726 msgid "Document could not be checked in." msgstr "Impossible d'enregistrer les changements." -#: src/frontends/qt/GuiView.cpp:3759 +#: src/frontends/qt/GuiView.cpp:3769 msgid "Error when setting the locking property." msgstr "Erreur lors du positionnement de la propri?t? de verrouillage." -#: src/frontends/qt/GuiView.cpp:3808 +#: src/frontends/qt/GuiView.cpp:3818 msgid "Directory is not accessible." msgstr "R?pertoire inaccessible." -#: src/frontends/qt/GuiView.cpp:3885 +#: src/frontends/qt/GuiView.cpp:3895 #, c-format msgid "Opening child document %1$s..." msgstr "Ouverture du sous-document %1$s..." -#: src/frontends/qt/GuiView.cpp:3943 +#: src/frontends/qt/GuiView.cpp:3953 #, c-format msgid "No buffer for file: %1$s." msgstr "Pas de tampon pour le fichier : %1$s." -#: src/frontends/qt/GuiView.cpp:3953 +#: src/frontends/qt/GuiView.cpp:3963 msgid "Inverse Search Failed" msgstr "?chec de la recherche invers?e" -#: src/frontends/qt/GuiView.cpp:3954 +#: src/frontends/qt/GuiView.cpp:3964 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -35177,35 +35177,35 @@ msgstr "" "Position requise par la recherche invers?e invalide.\n" "Vous devriez peut-?tre mettre ? jour le document dans la visionneuse." -#: src/frontends/qt/GuiView.cpp:4034 +#: src/frontends/qt/GuiView.cpp:4044 msgid "Export Error" msgstr "Exporter l'erreur" -#: src/frontends/qt/GuiView.cpp:4035 +#: src/frontends/qt/GuiView.cpp:4045 msgid "Error cloning the Buffer." msgstr "Erreur lors du clonage du tampon." -#: src/frontends/qt/GuiView.cpp:4186 src/frontends/qt/GuiView.cpp:4206 +#: src/frontends/qt/GuiView.cpp:4196 src/frontends/qt/GuiView.cpp:4216 msgid "Exporting ..." msgstr "Exportation en cours..." -#: src/frontends/qt/GuiView.cpp:4215 +#: src/frontends/qt/GuiView.cpp:4225 msgid "Previewing ..." msgstr "Visionnement en cours..." -#: src/frontends/qt/GuiView.cpp:4253 +#: src/frontends/qt/GuiView.cpp:4263 msgid "Document not loaded" msgstr "Le document n'a pas ?t? charg?" -#: src/frontends/qt/GuiView.cpp:4340 +#: src/frontends/qt/GuiView.cpp:4350 msgid "Select file to insert" msgstr "Choisir le fichier ? ins?rer" -#: src/frontends/qt/GuiView.cpp:4343 +#: src/frontends/qt/GuiView.cpp:4353 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: src/frontends/qt/GuiView.cpp:4371 +#: src/frontends/qt/GuiView.cpp:4381 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -35214,7 +35214,7 @@ msgstr "" "La version actuelle sera perdue. ?tes-vous s?r de vouloir revenir ? la " "derni?re version enregistr?e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4378 +#: src/frontends/qt/GuiView.cpp:4388 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -35223,61 +35223,61 @@ msgstr "" "Toutes les modifications seront perdues. ?tes-vous s?r de vouloir revenir ? " "la derni?re version enregistr?e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4381 +#: src/frontends/qt/GuiView.cpp:4391 msgid "Revert to saved document?" msgstr "Revenir ? la sauvegarde du document ?" -#: src/frontends/qt/GuiView.cpp:4398 +#: src/frontends/qt/GuiView.cpp:4408 msgid "Buffer export reset." msgstr "RaZ exportation du tampon." -#: src/frontends/qt/GuiView.cpp:4421 +#: src/frontends/qt/GuiView.cpp:4431 msgid "Saving all documents..." msgstr "Enregistrement de tous les documents..." -#: src/frontends/qt/GuiView.cpp:4431 +#: src/frontends/qt/GuiView.cpp:4441 msgid "All documents saved." msgstr "Tous les documents sont enregistr?s." -#: src/frontends/qt/GuiView.cpp:4470 +#: src/frontends/qt/GuiView.cpp:4480 msgid "Developer mode is now enabled." msgstr "Le mode ? d?veloppeur ? est maintenant actif." -#: src/frontends/qt/GuiView.cpp:4472 +#: src/frontends/qt/GuiView.cpp:4482 msgid "Developer mode is now disabled." msgstr "Le mode ? d?veloppeur ? est maintenant inactif." -#: src/frontends/qt/GuiView.cpp:4504 +#: src/frontends/qt/GuiView.cpp:4514 msgid "Toolbars unlocked." msgstr "Barres d'outils d?verrouill?es." -#: src/frontends/qt/GuiView.cpp:4506 +#: src/frontends/qt/GuiView.cpp:4516 msgid "Toolbars locked." msgstr "Barres d'outils verrouill?es." -#: src/frontends/qt/GuiView.cpp:4518 +#: src/frontends/qt/GuiView.cpp:4528 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Taille d'ic?ne r?gl?e ? %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4607 +#: src/frontends/qt/GuiView.cpp:4617 #, c-format msgid "%1$s unknown command!" msgstr "%1$s : commande inconnue !" -#: src/frontends/qt/GuiView.cpp:4711 +#: src/frontends/qt/GuiView.cpp:4721 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)" -#: src/frontends/qt/GuiView.cpp:4770 +#: src/frontends/qt/GuiView.cpp:4780 msgid "Please, preview the document first." msgstr "Merci d'afficher d'abord un aper?u du document." -#: src/frontends/qt/GuiView.cpp:4786 +#: src/frontends/qt/GuiView.cpp:4796 msgid "Couldn't proceed." msgstr "Impossible de poursuivre." -#: src/frontends/qt/GuiView.cpp:5141 +#: src/frontends/qt/GuiView.cpp:5151 msgid "Disable Shell Escape" msgstr "D?sactiver shell escape" From spitz at lyx.org Fri Nov 12 10:18:30 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Fri, 12 Nov 2021 11:18:30 +0100 (CET) Subject: [LyX/master] Support 0x019b via tipa (#12426) Message-ID: <20211112101830.DF6672805FE@lyx.lyx.org> commit ea475c0ce6636f02244fe8142a8d77dd1493f4e5 Author: Juergen Spitzmueller Date: Fri Nov 12 11:43:11 2021 +0100 Support 0x019b via tipa (#12426) --- lib/unicodesymbols | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/unicodesymbols b/lib/unicodesymbols index 0e3c3a4..043f4dc 100644 --- a/lib/unicodesymbols +++ b/lib/unicodesymbols @@ -315,7 +315,7 @@ #0x0198 "" "" "" # LATIN CAPITAL LETTER K WITH HOOK #0x0199 "" "" "" # LATIN SMALL LETTER K WITH HOOK #0x019a "" "" "" # LATIN SMALL LETTER L WITH BAR -#0x019b "" "" "" # LATIN SMALL LETTER LAMBDA WITH STROKE +0x019b "\\textcrlambda" "tipa" "force" # LATIN SMALL LETTER LAMBDA WITH STROKE #0x019c "" "" "" # LATIN CAPITAL LETTER TURNED M #0x019d "" "" "" # LATIN CAPITAL LETTER N WITH LEFT HOOK #0x019e "" "" "" # LATIN SMALL LETTER N WITH LONG RIGHT LEG From kornel at lyx.org Fri Nov 12 12:05:17 2021 From: kornel at lyx.org (Kornel Benko) Date: Fri, 12 Nov 2021 13:05:17 +0100 (CET) Subject: [LyX/master] FindAdv: Added handling of 0x019b Message-ID: <20211112120517.C697D28061F@lyx.lyx.org> commit 20fd104cf28dfe49f97b21d8c7a615fd97a17faa Author: Kornel Benko Date: Fri Nov 12 13:29:22 2021 +0100 FindAdv: Added handling of 0x019b --- src/lyxfind.cpp | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp index 86cf64d..4310d16 100644 --- a/src/lyxfind.cpp +++ b/src/lyxfind.cpp @@ -1525,6 +1525,7 @@ void static fillMissingUnicodesymbols() addAccents("\\textdiv", getutf8(0x00f7)); addAccents("\\div", getutf8(0x00f7)); addAccents("\\o", getutf8(0x00f8)); + addAccents("\\textcrlambda", getutf8(0x019b)); addAccents("\\j", getutf8(0x0237)); addAccents("\\textalpha", getutf8(0x03b1)); addAccents("\\alpha", getutf8(0x03b1)); From spitz at lyx.org Fri Nov 12 15:16:11 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Fri, 12 Nov 2021 16:16:11 +0100 (CET) Subject: [LyX/master] Fix Bullets panel (#12429) Message-ID: <20211112151611.3E006280207@lyx.lyx.org> commit 16ce82d4f9f89b57cfa69f469b087c2805018d57 Author: Juergen Spitzmueller Date: Fri Nov 12 16:40:46 2021 +0100 Fix Bullets panel (#12429) --- src/frontends/qt/BulletsModule.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/frontends/qt/BulletsModule.cpp b/src/frontends/qt/BulletsModule.cpp index 3d6ad9c..0572f67 100644 --- a/src/frontends/qt/BulletsModule.cpp +++ b/src/frontends/qt/BulletsModule.cpp @@ -206,7 +206,7 @@ void BulletsModule::setupPanel(QListWidget * lw, QString const & panelname, QPixmap pixmap = getPixmap("images/" + toqstr(folder) + "/", toqstr(iconname), "svgz"); QIcon icon(pixmap); icon.addPixmap(getSelectedPixmap(pixmap, icon_size), QIcon::Selected); - QListWidgetItem * lwi = new QListWidgetItem(icon, QString()); + QListWidgetItem * lwi = new QListWidgetItem(icon, QString(), 0, i); lwi->setToolTip(toqstr(Bullet::bulletEntry(font, i))); lwi->setSizeHint(icon_size); lw->addItem(lwi); From lasgouttes at lyx.org Fri Nov 12 15:23:50 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Fri, 12 Nov 2021 16:23:50 +0100 (CET) Subject: [LyX/master] Fix documentation of UndoGroupHelper Message-ID: <20211112152350.5753E28065B@lyx.lyx.org> commit 3aab9ad25edcd527868f8f2b8a26262255952966 Author: Jean-Marc Lasgouttes Date: Fri Nov 12 16:47:41 2021 +0100 Fix documentation of UndoGroupHelper --- src/Undo.h | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Undo.h b/src/Undo.h index 887f762..bdcf954 100644 --- a/src/Undo.h +++ b/src/Undo.h @@ -130,19 +130,18 @@ private: /** Helper class to simplify the use of undo groups across several buffers. * - * The undo group is created when the object is instanciated; it is + * The undo group is created when the object is instantiated; it is * then ended as the object goes out of scope or the buffer is reset * (see below) */ class UndoGroupHelper { public: + // Create a new undo group for buffer \c buf. UndoGroupHelper(Buffer * buf); - + // End all created undo groups. ~UndoGroupHelper(); - /** Close the current undo group if necessary and create a new one - * for buffer \c buf. - */ + // Create an additional undo group for buffer \c buf. void resetBuffer(Buffer * buf); private: From lasgouttes at lyx.org Sat Nov 13 18:07:14 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Sat, 13 Nov 2021 19:07:14 +0100 (CET) Subject: [LyX/master] Fixup 1cbbe5c3: fix scrollbar with page down Message-ID: <20211113180714.05197280657@lyx.lyx.org> commit 741d055eba0a062d551ecafc16ab8b8d3b8a5e66 Author: Jean-Marc Lasgouttes Date: Sat Nov 13 19:24:05 2021 +0100 Fixup 1cbbe5c3: fix scrollbar with page down It turns out that the fix was not correct. The right thing to do is to recompte metrics only when screen has moved. Fixes bug #12144. --- src/BufferView.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/BufferView.cpp b/src/BufferView.cpp index e4b7102..25b33b9 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1909,7 +1909,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) cur.setCursor(doc_iterator_begin(cur.buffer())); cur.selHandle(false); // Force an immediate computation of metrics because we need it below - updateMetrics(); + if (scrolled) + processUpdateFlags(Update::Force); d->text_metrics_[&buffer_.text()].editXY(cur, p.x_, p.y_, true, act == LFUN_SCREEN_UP); From lasgouttes at lyx.org Sun Nov 14 17:50:19 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Sun, 14 Nov 2021 18:50:19 +0100 (CET) Subject: [LyX/master] Fixup 3aab9ad2: improve UndoGroupHelper docs again. Message-ID: <20211114175019.6FEBD2806D5@lyx.lyx.org> commit b0983e1c5a20ef6c07c3f9c03e301843da159c78 Author: Jean-Marc Lasgouttes Date: Sun Nov 14 19:14:31 2021 +0100 Fixup 3aab9ad2: improve UndoGroupHelper docs again. --- src/Undo.h | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Undo.h b/src/Undo.h index bdcf954..fbfb9e7 100644 --- a/src/Undo.h +++ b/src/Undo.h @@ -130,18 +130,18 @@ private: /** Helper class to simplify the use of undo groups across several buffers. * - * The undo group is created when the object is instantiated; it is - * then ended as the object goes out of scope or the buffer is reset - * (see below) + * The undo group is open when the object is instantiated or when + * the buffer is reset; it is then ended as the object goes out of + * scope (see below) */ class UndoGroupHelper { public: - // Create a new undo group for buffer \c buf. + // Begin a new undo group for buffer \c buf. UndoGroupHelper(Buffer * buf); - // End all created undo groups. + // End all active undo groups. ~UndoGroupHelper(); - // Create an additional undo group for buffer \c buf. + // Begin if needed an undo group for buffer \c buf. void resetBuffer(Buffer * buf); private: From lasgouttes at lyx.org Mon Nov 22 09:11:26 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Mon, 22 Nov 2021 10:11:26 +0100 (CET) Subject: [LyX/master] Make primary-selection unknown when not supported Message-ID: <20211122091126.1719D2807FB@lyx.lyx.org> commit 2311f42f4183b968ed0166c4dae1b5f0df00439b Author: Jean-Marc Lasgouttes Date: Fri Nov 19 10:21:55 2021 +0100 Make primary-selection unknown when not supported This lfun will not appear in menus anymore in macOS and Windows. Part of bug #12436. --- src/LyXAction.cpp | 2 +- src/Text3.cpp | 1 + src/frontends/Selection.h | 5 +++++ src/frontends/qt/GuiSelection.h | 1 + 4 files changed, 8 insertions(+), 1 deletions(-) diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index 254060e..a4856bf 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -3417,7 +3417,7 @@ void LyXAction::init() /*! * \var lyx::FuncCode lyx::LFUN_PRIMARY_SELECTION_PASTE * \li Action: Pastes the currently selected text. - * \li Notion: Primary selection mechanism is linux-only thing. + * \li Notion: Primary selection mechanism is X11/Wayland-only thing. * \li Syntax: primary-selection-paste [] * \li Params: : "paragraph" will cause pasting as one paragraph, i.e. "Join lines". * \endvar diff --git a/src/Text3.cpp b/src/Text3.cpp index c8483fe..8257452 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -3437,6 +3437,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, break; case LFUN_PRIMARY_SELECTION_PASTE: + status.setUnknown(!theSelection().supported()); enable = cur.selection() || !theSelection().empty(); break; diff --git a/src/frontends/Selection.h b/src/frontends/Selection.h index 10d1698..931cb44 100644 --- a/src/frontends/Selection.h +++ b/src/frontends/Selection.h @@ -28,6 +28,11 @@ public: virtual ~Selection() {} /** + * Returns true if the underlying system supports mouse selection + * (basically X11 and Wayland). + */ + virtual bool supported() const = 0; + /** * Tell the window system whether we set or cleared our selection. * This is a noop on systems that don't have a selection. * This should be called by the kernel whenever a selection is diff --git a/src/frontends/qt/GuiSelection.h b/src/frontends/qt/GuiSelection.h index 57515cc..c79f4fe 100644 --- a/src/frontends/qt/GuiSelection.h +++ b/src/frontends/qt/GuiSelection.h @@ -34,6 +34,7 @@ public: /** Selection overloaded methods */ //@{ + bool supported() const override { return selection_supported_; } void haveSelection(bool own) override; docstring const get() const override; void put(docstring const & str) override; From lasgouttes at lyx.org Tue Nov 23 15:06:10 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Tue, 23 Nov 2021 16:06:10 +0100 (CET) Subject: [LyX features/breakrows] One less thing to do in PAINTING_ANALYSIS Message-ID: <20211123150614.0C9692802B0@lyx.lyx.org> The branch, breakrows, has been updated. discards 5f33a0ea1971e924c4959b9a003ed548871153ab (commit) discards fce1597e3e8e5075fc15e083f379c0470573df71 (commit) discards 792fdedc6c60d94092e21a924f40cde22a194fa1 (commit) discards 27d413da25eefd7f58fbb0fd6ba9530616f79f71 (commit) discards 0ca1839154bb1b23cf31d281c9d752e4678922ad (commit) discards b659bb1b95878184dfd49f12f1907092b149b326 (commit) discards 2f70061dae2ce2bfd7bf5bd521bde15afe441f58 (commit) discards d672853553383be0767ac4d33088d83206da7f17 (commit) discards 3ffc1c091593771e7a54a0ed6e765231cf98cd74 (commit) discards 9bcfa33fa692193dfc5f0bc14627dcb764ce98c6 (commit) discards 9b419e368d1c5fab0844ac2f01444ff3370daec5 (commit) discards 60aff873397b84ea213eabdb38502fe484d1af2f (commit) discards bf1b00ae103edab3bc11d057d5a8bd946aa0befe (commit) discards 4a32327af993aeb1f436d78fc5d2728a1685c759 (commit) discards bcddde16c90cd32d2d1695179a5e9e1f0c101b71 (commit) discards 639dc69eea04fb3448030b815fa402deaad1527d (commit) discards 25a75e5d6742e4dc024f9a975ed85ef2e251bbce (commit) discards 0a1bbb23bb65d8fa59a8f244fe8c520f89571265 (commit) discards a8aad2905805ac2804b73fe950e9f37fb6ff6d8a (commit) discards de9b121be154503445f7a07acdc01701a669dfc7 (commit) discards 8a45ae5415c34e69b1778d51b890ce46d47caa5a (commit) discards 3d44008bb10c53fcd824f3c2af1ca178ecd504b0 (commit) This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this: * -- * -- B -- O -- O -- O (5f33a0ea1971e924c4959b9a003ed548871153ab) \ N -- N -- N (d1d4877e75121283048c8d3d6ad555a47c628276) When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B. - Log ----------------------------------------------------------------- commit d1d4877e75121283048c8d3d6ad555a47c628276 Author: Jean-Marc Lasgouttes Date: Tue Oct 12 11:33:23 2021 +0200 One less thing to do in PAINTING_ANALYSIS diff --git a/development/PAINTING_ANALYSIS b/development/PAINTING_ANALYSIS index a52a036..c4b396f 100644 --- a/development/PAINTING_ANALYSIS +++ b/development/PAINTING_ANALYSIS @@ -11,7 +11,7 @@ Please keep this file up to date as the code evolves!!! Abbreviations: bv: BufferView pm: ParagraphMetrics -tm::TextMetrics +tm: TextMetrics * Questions / Ideas @@ -76,11 +76,6 @@ a lot the amount of stuff to redraw. It should not be necessary to access the Paragraph object to draw. Adding the static elements to Row is a lot of work, but worth it IMO. -** Create a unique row by paragraph and break it afterwards - -This should be a performance gain (only if paragraph breaking still -shows as expensive after the rest is done) - ** do not add the vertical margin of main text to first/last row Would make code cleaner. Probably no so difficult. commit a5b3881467215b033ac683ba545d05d5e01cf2fb Author: Jean-Marc Lasgouttes Date: Tue Oct 5 15:52:31 2021 +0200 Increase metrics cache maximal size Increase the maximal size of the breakString cache (to compute where to break lines) from 512kB to 10MB. This has a big impact of cache hits on large file like the example in #12297, which is now 99%. On this example the time taken by breakString decreases from 33.5us to 2.4us. The string width cache has been increased fro 512kB to 1MB, but this does not make such a big difference. Additionally, comments and variable names have been improved. Related to bug #12297. diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp index 3feb33e..e51d40f 100644 --- a/src/frontends/qt/GuiFontMetrics.cpp +++ b/src/frontends/qt/GuiFontMetrics.cpp @@ -86,25 +86,27 @@ namespace lyx { namespace frontend { -/* - * Limit (strwidth|breakstr)_cache_ size to 512kB of string data. - * Limit qtextlayout_cache_ size to 500 elements (we do not know the - * size of the QTextLayout objects anyway). - * Note that all these numbers are arbitrary. - * Also, setting size to 0 is tantamount to disabling the cache. - */ -int cache_metrics_width_size = 1 << 19; -int cache_metrics_breakstr_size = 1 << 19; +namespace { +// Maximal size/cost for various caches. See QCache documentation to +// see what cost means. + +// Limit strwidth_cache_ total cost to 1MB of string data. +int const strwidth_cache_max_cost = 1024 * 1024; +// Limit breakat_cache_ total cost to 10MB of string data. +// This is useful for documents with very large insets. +int const breakstr_cache_max_cost = 10 * 1024 * 1024; // Qt 5.x already has its own caching of QTextLayout objects // but it does not seem to work well on MacOS X. #if (QT_VERSION < 0x050000) || defined(Q_OS_MAC) -int cache_metrics_qtextlayout_size = 500; +// Limit qtextlayout_cache_ size to 500 elements (we do not know the +// size of the QTextLayout objects anyway). +int const qtextlayout_cache_max_size = 500; #else -int cache_metrics_qtextlayout_size = 0; +// Disable the cache +int const qtextlayout_cache_max_size = 0; #endif -namespace { /** * Convert a UCS4 character into a QChar. * This is a hack (it does only make sense for the common part of the UCS4 @@ -128,9 +130,9 @@ inline QChar const ucs4_to_qchar(char_type const ucs4) GuiFontMetrics::GuiFontMetrics(QFont const & font) : font_(font), metrics_(font, 0), - strwidth_cache_(cache_metrics_width_size), - breakstr_cache_(cache_metrics_breakstr_size), - qtextlayout_cache_(cache_metrics_qtextlayout_size) + strwidth_cache_(strwidth_cache_max_cost), + breakstr_cache_(breakstr_cache_max_cost), + qtextlayout_cache_(qtextlayout_cache_max_size) { // Determine italic slope double const defaultSlope = tan(qDegreesToRadians(19.0)); commit dbf644fb03a25f7370d1e893f38cb5dc15a53dde Author: Jean-Marc Lasgouttes Date: Wed Sep 22 15:09:26 2021 +0200 Improve row flushing Add new row flags Flush and FlushBefore to let insets indicate whether they cause flushing of current row (eg. newline) or of previous row (e.g. display insets). diff --git a/src/RowFlags.h b/src/RowFlags.h index f94f0c6..01c4dd2 100644 --- a/src/RowFlags.h +++ b/src/RowFlags.h @@ -32,22 +32,26 @@ enum RowFlags { BreakBefore = 1 << 0, // Avoid breaking row before this element NoBreakBefore = 1 << 1, + // flush the row before this element (useful with BreakBefore) + FlushBefore = 1 << 2, // force new (maybe empty) row after this element - AlwaysBreakAfter = 1 << 2, + AlwaysBreakAfter = 1 << 3, // break row after this element if there are more elements - BreakAfter = 1 << 3, + BreakAfter = 1 << 4, // break row whenever needed after this element - CanBreakAfter = 1 << 4, + CanBreakAfter = 1 << 5, // Avoid breaking row after this element - NoBreakAfter = 1 << 5, + NoBreakAfter = 1 << 6, // The contents of the row may be broken in two (e.g. string) - CanBreakInside = 1 << 6, + CanBreakInside = 1 << 7, + // Flush the row that ends with this element + Flush = 1 << 8, // specify an alignment (left, right) for a display element // (default is center) - AlignLeft = 1 << 7, - AlignRight = 1 << 8, + AlignLeft = 1 << 9, + AlignRight = 1 << 10, // A display element breaks row at both ends - Display = BreakBefore | BreakAfter, + Display = FlushBefore | BreakBefore | BreakAfter, // Flags that concern breaking after element AfterFlags = AlwaysBreakAfter | BreakAfter | CanBreakAfter | NoBreakAfter }; diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 14dc705..2b1ee5a 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1068,7 +1068,6 @@ void cleanupRow(Row & row, bool at_end) } row.endpos(row.back().endpos); - row.flushed(at_end); // remove trailing spaces on row break if (!at_end) row.back().rtrim(); @@ -1118,8 +1117,11 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore) : fcit->row_flags; if (rows.empty() || needsRowBreak(f1, f2)) { - if (!rows.empty()) + if (!rows.empty()) { cleanupRow(rows.back(), false); + // Flush row as requested by row flags + rows.back().flushed((f1 & Flush) || (f2 & FlushBefore)); + } pos_type pos = rows.empty() ? 0 : rows.back().endpos(); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp index f5fcd42..ecfacf4 100644 --- a/src/insets/InsetNewline.cpp +++ b/src/insets/InsetNewline.cpp @@ -39,6 +39,15 @@ InsetNewline::InsetNewline() : Inset(nullptr) {} +int InsetNewline::rowFlags() const +{ + if (params_.kind == InsetNewlineParams::LINEBREAK) + return AlwaysBreakAfter; + else + return AlwaysBreakAfter | Flush; +} + + void InsetNewlineParams::write(ostream & os) const { switch (kind) { diff --git a/src/insets/InsetNewline.h b/src/insets/InsetNewline.h index 1ef0ae5..c85a97d 100644 --- a/src/insets/InsetNewline.h +++ b/src/insets/InsetNewline.h @@ -47,7 +47,7 @@ public: explicit InsetNewline(InsetNewlineParams par) : Inset(0) { params_.kind = par.kind; } /// - int rowFlags() const override { return AlwaysBreakAfter; } + int rowFlags() const override; /// static void string2params(std::string const &, InsetNewlineParams &); /// diff --git a/src/insets/InsetSeparator.h b/src/insets/InsetSeparator.h index 9352bdf..0c12d95 100644 --- a/src/insets/InsetSeparator.h +++ b/src/insets/InsetSeparator.h @@ -65,7 +65,7 @@ public: return docstring(); } /// - int rowFlags() const override { return BreakAfter; } + int rowFlags() const override { return BreakAfter | Flush; } private: /// InsetCode lyxCode() const override { return SEPARATOR_CODE; } commit fff548eba7fed2dae0df2fbcad2f8a449c68e93c Author: Jean-Marc Lasgouttes Date: Wed Sep 22 13:17:46 2021 +0200 Simplify setting of RTL in rows Set RTL status at row creation, which allows to remove a parameter from cleanupRow. diff --git a/src/Row.cpp b/src/Row.cpp index 6b0faa3..4b9836e 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -624,7 +624,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) } -void Row::reverseRTL(bool const rtl_par) +void Row::reverseRTL() { pos_type i = 0; pos_type const end = elements_.size(); @@ -636,14 +636,13 @@ void Row::reverseRTL(bool const rtl_par) ++j; // if the direction is not the same as the paragraph // direction, the sequence has to be reverted. - if (rtl != rtl_par) + if (rtl != rtl_) reverse(elements_.begin() + i, elements_.begin() + j); i = j; } // If the paragraph itself is RTL, reverse everything - if (rtl_par) + if (rtl_) reverse(elements_.begin(), elements_.end()); - rtl_ = rtl_par; } Row::const_iterator const diff --git a/src/Row.h b/src/Row.h index bf49eb1..2c60638 100644 --- a/src/Row.h +++ b/src/Row.h @@ -301,10 +301,12 @@ public: * Find sequences of right-to-left elements and reverse them. * This should be called once the row is completely built. */ - void reverseRTL(bool rtl_par); + void reverseRTL(); /// bool isRTL() const { return rtl_; } /// + void setRTL(bool rtl) { rtl_ = rtl; } + /// bool needsChangeBar() const { return changebar_; } /// void needsChangeBar(bool ncb) { changebar_ = ncb; } diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 76e2fb1..14dc705 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1050,6 +1050,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) nrow.pos(pos); nrow.left_margin = tm.leftMargin(pit, pos); nrow.right_margin = tm.rightMargin(pit); + nrow.setRTL(is_rtl); if (is_rtl) swap(nrow.left_margin, nrow.right_margin); // Remember that the row width takes into account the left_margin @@ -1059,7 +1060,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) } -void cleanupRow(Row & row, bool at_end, bool is_rtl) +void cleanupRow(Row & row, bool at_end) { if (row.empty()) { row.endpos(0); @@ -1074,7 +1075,7 @@ void cleanupRow(Row & row, bool at_end, bool is_rtl) // boundary exists when there was no space at the end of row row.right_boundary(!at_end && row.back().endpos == row.endpos()); // make sure that the RTL elements are in reverse ordering - row.reverseRTL(is_rtl); + row.reverseRTL(); } @@ -1118,7 +1119,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const : fcit->row_flags; if (rows.empty() || needsRowBreak(f1, f2)) { if (!rows.empty()) - cleanupRow(rows.back(), false, is_rtl); + cleanupRow(rows.back(), false); pos_type pos = rows.empty() ? 0 : rows.back().endpos(); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. @@ -1152,7 +1153,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const } if (!rows.empty()) { - cleanupRow(rows.back(), true, is_rtl); + cleanupRow(rows.back(), true); // Last row in paragraph is flushed rows.back().flushed(true); } commit 20f88a3cf30540d76a88ef4ed42f12290e76e869 Author: Jean-Marc Lasgouttes Date: Mon Sep 6 14:52:42 2021 +0200 Break multi-row strings in one pass Replace FontMetrics::breakAt, which returned the next break point, with FontMetrics::breakString, which returns a vector of break points. To this end, an additional parameter gives the available width for next rows. Rename various variables and methods accordingly. Factor the code in breakString_helper to be more manageable. Adapt Row::Element::splitAt to return a bool on sucess and provide remaining row elements in a vector. The width noted above has been added as parameters. Rename the helper function splitFrom to moveElements and rewrite the code to be more efficient. Remove type of row element INVALID, which is not needed anymore. The code in TextMetrics::breakParagraph is now much simpler. In Row::finalize, remove the code that computed inconditionnally the current element size, and make sure that this width will be computed in all code paths of Row::Element::splitAt. diff --git a/src/Row.cpp b/src/Row.cpp index b7e4c07..6b0faa3 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -123,41 +123,81 @@ pos_type Row::Element::x2pos(int &x) const x = 0; i = isRTL(); } - break; - case INVALID: - LYXERR0("x2pos: INVALID row element !"); } //lyxerr << "=> p=" << pos + i << " x=" << x << endl; return pos + i; } -Row::Element Row::Element::splitAt(int w, bool force) +bool Row::Element::splitAt(int const width, int next_width, bool force, + Row::Elements & tail) { - if (type != STRING || !(row_flags & CanBreakInside)) - return Element(); + // Not a string or already OK. + if (type != STRING || (dim.wid > 0 && dim.wid < width)) + return false; FontMetrics const & fm = theFontMetrics(font); - dim.wid = w; - int const i = fm.breakAt(str, dim.wid, isRTL(), force); - if (i != -1) { - //Create a second row element to return - Element ret(STRING, pos + i, font, change); - ret.str = str.substr(i); - ret.endpos = ret.pos + ret.str.length(); - // Copy the after flags of the original element to the second one. - ret.row_flags = row_flags & (CanBreakInside | AfterFlags); - - // Now update ourselves - str.erase(i); - endpos = pos + i; - // Row should be broken after the original element - row_flags = (row_flags & ~AfterFlags) | BreakAfter; - //LYXERR0("breakAt(" << w << ") Row element Broken at " << w << "(w(str)=" << fm.width(str) << "): e=" << *this); - return ret; + + // A a string that is not breakable + if (!(row_flags & CanBreakInside)) { + // has width been computed yet? + if (dim.wid == 0) + dim.wid = fm.width(str); + return false; + } + + bool const wrap_any = !font.language()->wordWrap(); + FontMetrics::Breaks breaks = fm.breakString(str, width, next_width, + isRTL(), wrap_any | force); + + // if breaking did not really work, give up + if (!force && breaks.front().wid > width) { + if (dim.wid == 0) + dim.wid = fm.width(str); + return false; + } + + Element first_e(STRING, pos, font, change); + // should next element eventually replace *this? + bool first = true; + docstring::size_type i = 0; + for (FontMetrics::Break const & brk : breaks) { + Element e(STRING, pos + i, font, change); + e.str = str.substr(i, brk.len); + e.endpos = e.pos + brk.len; + e.dim.wid = brk.wid; + e.row_flags = CanBreakInside | BreakAfter; + if (first) { + // this element eventually goes to *this + e.row_flags |= row_flags & ~AfterFlags; + first_e = e; + first = false; + } else + tail.push_back(e); + i += brk.len; } - return Element(); + if (!tail.empty()) { + // Avoid having a last empty element. This happens when + // breaking at the trailing space of string + if (tail.back().str.empty()) + tail.pop_back(); + else { + // Copy the after flags of the original element to the last one. + tail.back().row_flags &= ~BreakAfter; + tail.back().row_flags |= row_flags & AfterFlags; + } + // first_e row should be broken after the original element + first_e.row_flags |= BreakAfter; + } else { + // Restore the after flags of the original element. + first_e.row_flags &= ~BreakAfter; + first_e.row_flags |= row_flags & AfterFlags; + } + + // update ourselves + swap(first_e, *this); + return true; } @@ -265,10 +305,6 @@ ostream & operator<<(ostream & os, Row::Element const & e) break; case Row::SPACE: os << "SPACE: "; - break; - case Row::INVALID: - os << "INVALID: "; - break; } os << "width=" << e.full_width() << ", row_flags=" << e.row_flags; return os; @@ -393,11 +429,6 @@ void Row::finalizeLast() elt.final = true; if (elt.change.changed()) changebar_ = true; - - if (elt.type == STRING && elt.dim.wid == 0) { - elt.dim.wid = theFontMetrics(elt.font).width(elt.str); - dim_.wid += elt.dim.wid; - } } @@ -474,19 +505,14 @@ void Row::pop_back() namespace { -// Remove stuff after \c it from \c elts, and return it. -// if \c init is provided, it will prepended to the rest -Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it, - Row::Element const & init = Row::Element()) +// Move stuff after \c it from \c from and the end of \c to. +void moveElements(Row::Elements & from, Row::Elements::iterator const & it, + Row::Elements & to) { - Row::Elements ret; - if (init.isValid()) - ret.push_back(init); - ret.insert(ret.end(), it, elts.end()); - elts.erase(it, elts.end()); - if (!elts.empty()) - elts.back().row_flags = (elts.back().row_flags & ~AfterFlags) | BreakAfter; - return ret; + to.insert(to.end(), it, from.end()); + from.erase(it, from.end()); + if (!from.empty()) + from.back().row_flags = (from.back().row_flags & ~AfterFlags) | BreakAfter; } } @@ -522,6 +548,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) Elements::iterator cit_brk = cit; int wid_brk = wid + cit_brk->dim.wid; ++cit_brk; + Elements tail; while (cit_brk != beg) { --cit_brk; // make a copy of the element to work on it. @@ -533,28 +560,18 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) if (wid_brk <= w && brk.row_flags & CanBreakAfter) { end_ = brk.endpos; dim_.wid = wid_brk; - return splitFrom(elements_, cit_brk + 1); + moveElements(elements_, cit_brk + 1, tail); + return tail; } // assume now that the current element is not there wid_brk -= brk.dim.wid; - /* - * Some Asian languages split lines anywhere (no notion of - * word). It seems that QTextLayout is not aware of this fact. - * See for reference: - * https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages - * - * FIXME: Something shall be done about characters which are - * not allowed at the beginning or end of line. - */ - bool const word_wrap = brk.font.language()->wordWrap(); /* We have found a suitable separable element. This is the common case. - * Try to break it cleanly (at word boundary) at a length that is both + * Try to break it cleanly at a length that is both * - less than the available space on the row * - shorter than the natural width of the element, in order to enforce * break-up. */ - Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap); - if (brk.row_flags & BreakAfter) { + if (brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), next_width, false, tail)) { /* if this element originally did not cause a row overflow * in itself, and the remainder of the row would still be * too large after breaking, then we will have issues in @@ -568,12 +585,10 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) *cit_brk = brk; dim_.wid = wid_brk + brk.dim.wid; // If there are other elements, they should be removed. - // remainder can be empty when splitting at trailing space - if (remainder.str.empty()) - return splitFrom(elements_, next(cit_brk, 1)); - else - return splitFrom(elements_, next(cit_brk, 1), remainder); + moveElements(elements_, cit_brk + 1, tail); + return tail; } + LATTEST(tail.empty()); } if (cit != beg && cit->row_flags & NoBreakBefore) { @@ -588,20 +603,23 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) // been added. We can cut right here. end_ = cit->pos; dim_.wid = wid; - return splitFrom(elements_, cit); + moveElements(elements_, cit, tail); + return tail; } /* If we are here, it means that we have not found a separator to - * shorten the row. Let's try to break it again, but not at word - * boundary this time. + * shorten the row. Let's try to break it again, but force + * splitting this time. */ - Element remainder = cit->splitAt(w - wid, true); - if (cit->row_flags & BreakAfter) { + if (cit->splitAt(w - wid, next_width, true, tail)) { + LYXERR0(*cit); end_ = cit->endpos; dim_.wid = wid + cit->dim.wid; // If there are other elements, they should be removed. - return splitFrom(elements_, next(cit, 1), remainder); + moveElements(elements_, cit + 1, tail); + return tail; } + return Elements(); } diff --git a/src/Row.h b/src/Row.h index 1272a0f..bf49eb1 100644 --- a/src/Row.h +++ b/src/Row.h @@ -50,9 +50,7 @@ public: // An inset INSET, // Some spacing described by its width, not a string - SPACE, - // Something that should not happen (for error handling) - INVALID + SPACE }; /** @@ -61,8 +59,6 @@ public: */ struct Element { // - Element() = default; - // Element(Type const t, pos_type p, Font const & f, Change const & ch) : type(t), pos(p), endpos(p + 1), font(f), change(ch) {} @@ -94,13 +90,16 @@ public: pos_type x2pos(int &x) const; /** Break the element in two if possible, so that its width is less * than \param w. - * \return an element containing the remainder of the text, or - * an invalid element if nothing happened. - * \param w: the desired maximum width - * \param force: if true, the string is cut at any place, otherwise it - * respects the row breaking rules of characters. + * \return a vector of elements containing the remainder of + * the text (empty if nothing happened). + * \param width maximum width of the row. + * \param next_width available width on next row. + * \param force: if true, cut string at any place, even for + * languages that wrap at word delimiters; if false, do not + * break at all if first element would larger than \c width. */ - Element splitAt(int w, bool force); + // FIXME: ideally last parameter should be Elements&, but it is not possible. + bool splitAt(int width, int next_width, bool force, std::vector & tail); // remove trailing spaces (useful for end of row) void rtrim(); @@ -108,8 +107,6 @@ public: bool isRTL() const { return font.isVisibleRightToLeft(); } // This is true for virtual elements. bool isVirtual() const { return type == VIRTUAL; } - // Invalid element, for error handling - bool isValid() const { return type !=INVALID; } // Returns the position on left side of the element. pos_type left_pos() const { return isRTL() ? endpos : pos; }; @@ -117,11 +114,11 @@ public: pos_type right_pos() const { return isRTL() ? pos : endpos; }; // The kind of row element - Type type = INVALID; + Type type; // position of the element in the paragraph - pos_type pos = 0; + pos_type pos; // first position after the element in the paragraph - pos_type endpos = 0; + pos_type endpos; // The dimension of the chunk (does not contains the // separator correction) Dimension dim; @@ -289,8 +286,8 @@ public: * separator and update endpos if necessary. If all that * remains is a large word, cut it to \param width. * \param width maximum width of the row. - * \param available width on next row. - * \return true if the row has been shortened. + * \param next_width available width on next row. + * \return list of elements remaining after breaking. */ Elements shortenIfNeeded(int const width, int const next_width); diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index 656f89a..400b7b6 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -565,10 +565,6 @@ void RowPainter::paintText() case Row::SPACE: paintTextDecoration(e); - break; - - case Row::INVALID: - LYXERR0("Trying to paint INVALID row element."); } // The markings of foreign languages diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index d681a63..76e2fb1 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1059,7 +1059,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) } -void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl) +void cleanupRow(Row & row, bool at_end, bool is_rtl) { if (row.empty()) { row.endpos(0); @@ -1067,11 +1067,12 @@ void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl) } row.endpos(row.back().endpos); + row.flushed(at_end); // remove trailing spaces on row break - if (row.endpos() < real_endpos) + if (!at_end) row.back().rtrim(); // boundary exists when there was no space at the end of row - row.right_boundary(row.endpos() < real_endpos && row.back().endpos == row.endpos()); + row.right_boundary(!at_end && row.back().endpos == row.endpos()); // make sure that the RTL elements are in reverse ordering row.reverseRTL(is_rtl); } @@ -1098,6 +1099,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const RowList rows; bool const is_rtl = text_->isRTL(bigrow.pit()); bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL; + int const next_width = max_width_ - leftMargin(bigrow.pit(), bigrow.endpos()) + - rightMargin(bigrow.pit()); int width = 0; flexible_const_iterator fcit = flexible_begin(bigrow); @@ -1115,7 +1118,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const : fcit->row_flags; if (rows.empty() || needsRowBreak(f1, f2)) { if (!rows.empty()) - cleanupRow(rows.back(), bigrow.endpos(), is_rtl); + cleanupRow(rows.back(), false, is_rtl); pos_type pos = rows.empty() ? 0 : rows.back().endpos(); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. @@ -1130,45 +1133,26 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // Next element to consider is either the top of the temporary // pile, or the place when we were in main row Row::Element elt = *fcit; - Row::Element next_elt = elt.splitAt(width - rows.back().width(), - !elt.font.language()->wordWrap()); - if (elt.dim.wid > width - rows.back().width()) { - Row & rb = rows.back(); - rb.push_back(*fcit); - // if the row is too large, try to cut at last separator. In case - // of success, reset indication that the row was broken abruptly. - int const next_width = max_width_ - leftMargin(rb.pit(), rb.endpos()) - - rightMargin(rb.pit()); - - Row::Elements next_elts = rb.shortenIfNeeded(width, next_width); - - // Go to next element - ++fcit; - - // Handle later the elements returned by shortenIfNeeded. - if (!next_elts.empty()) { - rb.flushed(false); - fcit.put(next_elts); - } - } else { - // a new element in the row - rows.back().push_back(elt); - rows.back().finalizeLast(); - - // Go to next element - ++fcit; - - // Add a new next element on the pile - if (next_elt.isValid()) { - // do as if we inserted this element in the original row - if (!next_elt.str.empty()) - fcit.put(next_elt); - } + Row::Elements tail; + elt.splitAt(width - rows.back().width(), next_width, false, tail); + Row & rb = rows.back(); + rb.push_back(elt); + rb.finalizeLast(); + if (rb.width() > width) { + LATTEST(tail.empty()); + // if the row is too large, try to cut at last separator. + tail = rb.shortenIfNeeded(width, next_width); } + + // Go to next element + ++fcit; + + // Handle later the elements returned by splitAt or shortenIfNeeded. + fcit.put(tail); } if (!rows.empty()) { - cleanupRow(rows.back(), bigrow.endpos(), is_rtl); + cleanupRow(rows.back(), true, is_rtl); // Last row in paragraph is flushed rows.back().flushed(true); } diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h index b562ebf..b78bc2d 100644 --- a/src/frontends/FontMetrics.h +++ b/src/frontends/FontMetrics.h @@ -16,6 +16,8 @@ #include "support/strfwd.h" +#include + /** * A class holding helper functions for determining * the screen dimensions of fonts. @@ -121,15 +123,27 @@ public: * \param ws is the amount of extra inter-word space applied text justification. */ virtual int x2pos(docstring const & s, int & x, bool rtl, double ws) const = 0; + + // The places where to break a string and the width of the resulting lines. + struct Break { + Break(int l, int w) : len(l), wid(w) {} + int len = 0; + int wid = 0; + }; + typedef std::vector Breaks; /** - * Break string s at width at most x. - * \return break position (-1 if not successful) - * \param position x is updated to real width - * \param rtl is true for right-to-left layout + * Break a string in multiple fragments according to width limits. + * \return a sequence of Break elements. + * \param s is the string to break. + * \param first_wid is the available width for first line. + * \param wid is the available width for the next lines. + * \param rtl is true for right-to-left layout. * \param force is false for breaking at word separator, true for * arbitrary position. */ - virtual int breakAt(docstring const & s, int & x, bool rtl, bool force) const = 0; + virtual Breaks + breakString(docstring const & s, int first_wid, int wid, bool rtl, bool force) const = 0; + /// return char dimension for the font. virtual Dimension const dimension(char_type c) const = 0; /** diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp index 47537ae..3feb33e 100644 --- a/src/frontends/qt/GuiFontMetrics.cpp +++ b/src/frontends/qt/GuiFontMetrics.cpp @@ -19,6 +19,7 @@ #include "support/convert.h" #include "support/lassert.h" +#include "support/lstrings.h" #include "support/lyxlib.h" #include "support/debug.h" @@ -86,14 +87,14 @@ namespace frontend { /* - * Limit (strwidth|breakat)_cache_ size to 512kB of string data. + * Limit (strwidth|breakstr)_cache_ size to 512kB of string data. * Limit qtextlayout_cache_ size to 500 elements (we do not know the * size of the QTextLayout objects anyway). * Note that all these numbers are arbitrary. * Also, setting size to 0 is tantamount to disabling the cache. */ int cache_metrics_width_size = 1 << 19; -int cache_metrics_breakat_size = 1 << 19; +int cache_metrics_breakstr_size = 1 << 19; // Qt 5.x already has its own caching of QTextLayout objects // but it does not seem to work well on MacOS X. #if (QT_VERSION < 0x050000) || defined(Q_OS_MAC) @@ -128,7 +129,7 @@ inline QChar const ucs4_to_qchar(char_type const ucs4) GuiFontMetrics::GuiFontMetrics(QFont const & font) : font_(font), metrics_(font, 0), strwidth_cache_(cache_metrics_width_size), - breakat_cache_(cache_metrics_breakat_size), + breakstr_cache_(cache_metrics_breakstr_size), qtextlayout_cache_(cache_metrics_qtextlayout_size) { // Determine italic slope @@ -485,11 +486,13 @@ int GuiFontMetrics::countExpanders(docstring const & str) const } -pair -GuiFontMetrics::breakAt_helper(docstring const & s, int const x, - bool const rtl, bool const force) const +namespace { + +const int brkStrOffset = 1 + BIDI_OFFSET; + + +QString createBreakableString(docstring const & s, bool rtl, QTextLayout & tl) { - QTextLayout tl; /* Qt will not break at a leading or trailing space, and we need * that sometimes, see http://www.lyx.org/trac/ticket/9921. * @@ -518,34 +521,23 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, // Left-to-right override: forces to draw text left-to-right qs = QChar(0x202D) + qs; #endif - int const offset = 1 + BIDI_OFFSET; + return qs; +} - tl.setText(qs); - tl.setFont(font_); - QTextOption to; - to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere - : QTextOption::WordWrap); - // Let QTextLine::naturalTextWidth() account for trailing spaces - // (horizontalAdvance() still does not). - to.setFlags(QTextOption::IncludeTrailingSpaces); - tl.setTextOption(to); - tl.beginLayout(); - QTextLine line = tl.createLine(); - line.setLineWidth(x); - tl.createLine(); - tl.endLayout(); - int line_wid = iround(line.horizontalAdvance()); - if ((force && line.textLength() == offset) || line_wid > x) - return {-1, line_wid}; + +docstring::size_type brkstr2str_pos(QString brkstr, docstring const & str, int pos) +{ /* Since QString is UTF-16 and docstring is UCS-4, the offsets may * not be the same when there are high-plan unicode characters * (bug #10443). */ - // The variable `offset' is here to account for the extra leading characters. + // The variable `brkStrOffset' is here to account for the extra leading characters. // The ending character zerow_nbsp has to be ignored if the line is complete. - int const qlen = line.textLength() - offset - (line.textLength() == qs.length()); + int const qlen = pos - brkStrOffset - (pos == brkstr.length()); #if QT_VERSION < 0x040801 || QT_VERSION >= 0x050100 - int len = qstring_to_ucs4(qs.mid(offset, qlen)).length(); + auto const len = qstring_to_ucs4(brkstr.mid(brkStrOffset, qlen)).length(); + // Avoid warning + (void)str; #else /* Due to QTBUG-25536 in 4.8.1 <= Qt < 5.1.0, the string returned * by QString::toUcs4 (used by qstring_to_ucs4) may have wrong @@ -555,52 +547,108 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, * worthwhile to implement a dichotomy search if this shows up * under a profiler. */ - int len = min(qlen, static_cast(s.length())); - while (len >= 0 && toqstr(s.substr(0, len)).length() != qlen) + int len = min(qlen, static_cast(str.length())); + while (len >= 0 && toqstr(str.substr(0, len)).length() != qlen) --len; LASSERT(len > 0 || qlen == 0, /**/); #endif - // Do not cut is the string is already short enough. We rely on - // naturalTextWidth() to catch the case where we cut at the trailing - // space. - if (len == static_cast(s.length()) - && line.naturalTextWidth() <= x) { - len = -1; -#if QT_VERSION < 0x050000 + return len; +} + +} + +FontMetrics::Breaks +GuiFontMetrics::breakString_helper(docstring const & s, int first_wid, int wid, + bool rtl, bool force) const +{ + QTextLayout tl; + QString qs = createBreakableString(s, rtl, tl); + tl.setText(qs); + tl.setFont(font_); + QTextOption to; + /* + * Some Asian languages split lines anywhere (no notion of + * word). It seems that QTextLayout is not aware of this fact. + * See for reference: + * https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages + * + * FIXME: Something shall be done about characters which are + * not allowed at the beginning or end of line. + */ + to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere + : QTextOption::WordWrap); + // Let QTextLine::naturalTextWidth() account for trailing spaces + // (horizontalAdvance() still does not). + to.setFlags(QTextOption::IncludeTrailingSpaces); + tl.setTextOption(to); + + bool first = true; + tl.beginLayout(); + while(true) { + QTextLine line = tl.createLine(); + if (!line.isValid()) + break; + line.setLineWidth(first ? first_wid : wid); + tl.createLine(); + first = false; + } + tl.endLayout(); + + Breaks breaks; + int pos = 0; + for (int i = 0 ; i < tl.lineCount() ; ++i) { + QTextLine const & line = tl.lineAt(i); + int const epos = brkstr2str_pos(qs, s, line.textStart() + line.textLength()); +#if QT_VERSION >= 0x050000 + int const wid = i + 1 < tl.lineCount() ? iround(line.horizontalAdvance()) + : iround(line.naturalTextWidth()); +#else // With some monospace fonts, the value of horizontalAdvance() // can be wrong with Qt4. One hypothesis is that the invisible // characters that we use are given a non-null width. - line_wid = width(s); + // FIXME: this is slower than it could be but we'll get rid of Qt4 anyway + int const wid = i + 1 < tl.lineCount() ? width(rtrim(s.substr(pos, epos - pos))) + : width(s.substr(pos, epos - pos)); +#endif + breaks.emplace_back(epos - pos, wid); + pos = epos; +#if 0 + // FIXME: should it be kept in some form? + if ((force && line.textLength() == brkStrOffset) || line_wid > x) + return {-1, line_wid}; #endif + } - return {len, line_wid}; + + return breaks; } -uint qHash(BreakAtKey const & key) +uint qHash(BreakStringKey const & key) { - int params = key.force + 2 * key.rtl + 4 * key.x; + // assume widths are less than 10000. This fits in 32 bits. + uint params = key.force + 2 * key.rtl + 4 * key.first_wid + 10000 * key.wid; return std::qHash(key.s) ^ ::qHash(params); } -int GuiFontMetrics::breakAt(docstring const & s, int & x, bool const rtl, bool const force) const +FontMetrics::Breaks GuiFontMetrics::breakString(docstring const & s, int first_wid, int wid, + bool rtl, bool force) const { - PROFILE_THIS_BLOCK(breakAt); + PROFILE_THIS_BLOCK(breakString); if (s.empty()) - return false; + return Breaks(); - BreakAtKey key{s, x, rtl, force}; - pair pp; - if (auto * pp_ptr = breakat_cache_.object_ptr(key)) - pp = *pp_ptr; + BreakStringKey key{s, first_wid, wid, rtl, force}; + Breaks brks; + if (auto * brks_ptr = breakstr_cache_.object_ptr(key)) + brks = *brks_ptr; else { - PROFILE_CACHE_MISS(breakAt); - pp = breakAt_helper(s, x, rtl, force); - breakat_cache_.insert(key, pp, sizeof(key) + s.size() * sizeof(char_type)); + PROFILE_CACHE_MISS(breakString); + brks = breakString_helper(s, first_wid, wid, rtl, force); + breakstr_cache_.insert(key, brks, sizeof(key) + s.size() * sizeof(char_type)); } - x = pp.second; - return pp.first; + return brks; } diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h index ef8588a..9501eb8 100644 --- a/src/frontends/qt/GuiFontMetrics.h +++ b/src/frontends/qt/GuiFontMetrics.h @@ -27,14 +27,16 @@ namespace lyx { namespace frontend { -struct BreakAtKey +struct BreakStringKey { - bool operator==(BreakAtKey const & key) const { - return key.s == s && key.x == x && key.rtl == rtl && key.force == force; + bool operator==(BreakStringKey const & key) const { + return key.s == s && key.first_wid == first_wid && key.wid == wid + && key.rtl == rtl && key.force == force; } docstring s; - int x; + int first_wid; + int wid; bool rtl; bool force; }; @@ -77,7 +79,7 @@ public: int signedWidth(docstring const & s) const override; int pos2x(docstring const & s, int pos, bool rtl, double ws) const override; int x2pos(docstring const & s, int & x, bool rtl, double ws) const override; - int breakAt(docstring const & s, int & x, bool rtl, bool force) const override; + Breaks breakString(docstring const & s, int first_wid, int wid, bool rtl, bool force) const override; Dimension const dimension(char_type c) const override; void rectText(docstring const & str, @@ -101,8 +103,8 @@ public: private: - std::pair breakAt_helper(docstring const & s, int const x, - bool const rtl, bool const force) const; + Breaks breakString_helper(docstring const & s, int first_wid, int wid, + bool rtl, bool force) const; /// The font QFont font_; @@ -117,8 +119,8 @@ private: mutable QHash width_cache_; /// Cache of string widths mutable Cache strwidth_cache_; - /// Cache for breakAt - mutable Cache> breakat_cache_; + /// Cache for breakString + mutable Cache breakstr_cache_; /// Cache for QTextLayout mutable Cache> qtextlayout_cache_; commit e1108a0b5ab903cc646e4caffe07a3b87c105932 Author: Jean-Marc Lasgouttes Date: Mon Sep 20 17:32:18 2021 +0200 Add operator<< for Row::Elements This is useful for debugging. diff --git a/src/Row.cpp b/src/Row.cpp index 8233a96..b7e4c07 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -275,6 +275,17 @@ ostream & operator<<(ostream & os, Row::Element const & e) } +ostream & operator<<(ostream & os, Row::Elements const & elts) +{ + double x = 0; + for (Row::Element const & e : elts) { + os << "x=" << x << " => " << e << endl; + x += e.full_width(); + } + return os; +} + + ostream & operator<<(ostream & os, Row const & row) { os << " pos: " << row.pos_ << " end: " << row.end_ @@ -286,11 +297,11 @@ ostream & operator<<(ostream & os, Row const & row) << " separator: " << row.separator << " label_hfill: " << row.label_hfill << " row_boundary: " << row.right_boundary() << "\n"; + // We cannot use the operator above, unfortunately double x = row.left_margin; - Row::Elements::const_iterator it = row.elements_.begin(); - for ( ; it != row.elements_.end() ; ++it) { - os << "x=" << x << " => " << *it << endl; - x += it->full_width(); + for (Row::Element const & e : row.elements_) { + os << "x=" << x << " => " << e << endl; + x += e.full_width(); } return os; } diff --git a/src/Row.h b/src/Row.h index 7466797..1272a0f 100644 --- a/src/Row.h +++ b/src/Row.h @@ -378,6 +378,8 @@ private: bool changebar_ = false; }; +std::ostream & operator<<(std::ostream & os, Row::Elements const & elts); + /** * Each paragraph is broken up into a number of rows on the screen. commit a214c970420df5944b7299055bdce956af1ecd3a Author: Jean-Marc Lasgouttes Date: Thu Sep 2 15:16:28 2021 +0200 Fix setting of row pos/endpos (overlapping rows) In TextMetrics::breakParagraph, get rid of the fragile `pos' local variable, which was not correctly updated. Rely on the endpos of the last element in row instead. Rewrite cleanupRow to rely on the endpos of last the row element to set row endpos, instead of a `pos' parameter. diff --git a/src/Row.cpp b/src/Row.cpp index 7b74694..8233a96 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -463,8 +463,8 @@ void Row::pop_back() namespace { -// Remove stuff after it from elts, and return it. -// if init is provided, it will be in front of the rest +// Remove stuff after \c it from \c elts, and return it. +// if \c init is provided, it will prepended to the rest Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it, Row::Element const & init = Row::Element()) { diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 8812daf..d681a63 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1059,15 +1059,19 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) } -void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl) +void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl) { - row.endpos(pos); + if (row.empty()) { + row.endpos(0); + return; + } + + row.endpos(row.back().endpos); // remove trailing spaces on row break - if (pos < real_endpos && !row.empty()) + if (row.endpos() < real_endpos) row.back().rtrim(); // boundary exists when there was no space at the end of row - row.right_boundary(!row.empty() && pos < real_endpos - && row.back().endpos == pos); + row.right_boundary(row.endpos() < real_endpos && row.back().endpos == row.endpos()); // make sure that the RTL elements are in reverse ordering row.reverseRTL(is_rtl); } @@ -1095,7 +1099,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const bool const is_rtl = text_->isRTL(bigrow.pit()); bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL; - pos_type pos = 0; int width = 0; flexible_const_iterator fcit = flexible_begin(bigrow); flexible_const_iterator const end = flexible_end(bigrow); @@ -1112,7 +1115,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const : fcit->row_flags; if (rows.empty() || needsRowBreak(f1, f2)) { if (!rows.empty()) - cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl); + cleanupRow(rows.back(), bigrow.endpos(), is_rtl); + pos_type pos = rows.empty() ? 0 : rows.back().endpos(); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. width = max_width_ - rows.back().right_margin; @@ -1150,7 +1154,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // a new element in the row rows.back().push_back(elt); rows.back().finalizeLast(); - pos = elt.endpos; // Go to next element ++fcit; @@ -1165,7 +1168,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const } if (!rows.empty()) { - cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl); + cleanupRow(rows.back(), bigrow.endpos(), is_rtl); // Last row in paragraph is flushed rows.back().flushed(true); } commit 97addf2556e7def3e4d6a82e5990498de6419ab6 Author: Jean-Marc Lasgouttes Date: Wed Sep 1 16:54:28 2021 +0200 Get rid of need_new_row boolean in breakParagraph Instead of having breakParagraph decide when breaking a row is necessary, let Row::shortenIfNeeded set the row_flag of the last element to request a row break. This was already done in splitAt. This is in preparation of splitAt splitting in more than two elements. diff --git a/src/Row.cpp b/src/Row.cpp index d3529a3..7b74694 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -473,6 +473,8 @@ Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it ret.push_back(init); ret.insert(ret.end(), it, elts.end()); elts.erase(it, elts.end()); + if (!elts.empty()) + elts.back().row_flags = (elts.back().row_flags & ~AfterFlags) | BreakAfter; return ret; } diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index a7dd300..8812daf 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1042,6 +1042,7 @@ bool operator==(flexible_const_iterator const & t1, return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty(); } + Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) { Row nrow; @@ -1071,6 +1072,7 @@ void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl) row.reverseRTL(is_rtl); } + // Implement the priorities described in RowFlags.h. bool needsRowBreak(int f1, int f2) { @@ -1093,14 +1095,12 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const bool const is_rtl = text_->isRTL(bigrow.pit()); bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL; - bool need_new_row = true; pos_type pos = 0; int width = 0; flexible_const_iterator fcit = flexible_begin(bigrow); flexible_const_iterator const end = flexible_end(bigrow); while (true) { - bool const has_row = !rows.empty(); - bool const row_empty = !has_row || rows.back().empty(); + bool const row_empty = rows.empty() || rows.back().empty(); // The row flags of previous element, if there is one. // Otherwise we use NoBreakAfter to avoid an empty row before // e.g. a displayed equation. @@ -1110,14 +1110,12 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // paragraph has an end label (for which an empty row is OK). int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore) : fcit->row_flags; - need_new_row |= needsRowBreak(f1, f2); - if (need_new_row) { + if (rows.empty() || needsRowBreak(f1, f2)) { if (!rows.empty()) cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. width = max_width_ - rows.back().right_margin; - need_new_row = false; } // The stopping condition is here because we may need a new @@ -1147,7 +1145,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const if (!next_elts.empty()) { rb.flushed(false); fcit.put(next_elts); - need_new_row = true; } } else { // a new element in the row @@ -1163,7 +1160,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // do as if we inserted this element in the original row if (!next_elt.str.empty()) fcit.put(next_elt); - need_new_row = true; } } } commit 28559310feea29ceb836417116b2f66ce4fd8dee Author: Jean-Marc Lasgouttes Date: Tue Aug 31 19:23:55 2021 +0200 Centralize the code that removes trailing spaces from end row element. Move to Row::Element::rtrim the code in Row::shortenIfNeeded that removes trailing spaces from last element in row, so that it can be called when actually breaking a row. Fixes bug found by Kornel. diff --git a/src/Row.cpp b/src/Row.cpp index 38dbb85..d3529a3 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -35,7 +35,6 @@ using namespace std; namespace lyx { -using support::rtrim; using frontend::FontMetrics; @@ -162,6 +161,20 @@ Row::Element Row::Element::splitAt(int w, bool force) } +void Row::Element::rtrim() +{ + if (type != STRING) + return; + /* This is intended for strings that have been created by splitAt. + * They may have trailing spaces, but they are not counted in the + * string length (QTextLayout feature, actually). We remove them, + * and decrease endpos, since spaces at row break are invisible. + */ + str = support::rtrim(str); + endpos = pos + str.length(); +} + + bool Row::isMarginSelected(bool left, DocIterator const & beg, DocIterator const & end) const { @@ -539,14 +552,6 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) break; } end_ = brk.endpos; - /* after breakAt, there may be spaces at the end of the - * string, but they are not counted in the string length - * (QTextLayout feature, actually). We remove them, but do - * not change the end of the row, since spaces at row - * break are invisible. - */ - brk.str = rtrim(brk.str); - brk.endpos = brk.pos + brk.str.length(); *cit_brk = brk; dim_.wid = wid_brk + brk.dim.wid; // If there are other elements, they should be removed. @@ -578,11 +583,8 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) * boundary this time. */ Element remainder = cit->splitAt(w - wid, true); - if (remainder.isValid()) { + if (cit->row_flags & BreakAfter) { end_ = cit->endpos; - // See comment above. - cit->str = rtrim(cit->str); - cit->endpos = cit->pos + cit->str.length(); dim_.wid = wid + cit->dim.wid; // If there are other elements, they should be removed. return splitFrom(elements_, next(cit, 1), remainder); diff --git a/src/Row.h b/src/Row.h index b0b1755..7466797 100644 --- a/src/Row.h +++ b/src/Row.h @@ -101,6 +101,8 @@ public: * respects the row breaking rules of characters. */ Element splitAt(int w, bool force); + // remove trailing spaces (useful for end of row) + void rtrim(); // bool isRTL() const { return font.isVisibleRightToLeft(); } diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 37894f6..a7dd300 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1061,6 +1061,10 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl) { row.endpos(pos); + // remove trailing spaces on row break + if (pos < real_endpos && !row.empty()) + row.back().rtrim(); + // boundary exists when there was no space at the end of row row.right_boundary(!row.empty() && pos < real_endpos && row.back().endpos == pos); // make sure that the RTL elements are in reverse ordering commit f7dde3d7748e3bbd4b3f0fbd1979dc04fb7c6dae Author: Jean-Marc Lasgouttes Date: Tue Aug 31 15:58:56 2021 +0200 Handle the case where breakAt cuts after trailing space In this case, the extra element returned should empty but valid. The row flag BreakAfter is set to indicate that we have a break there (this principle will be used more generally in a forthcoming commit). To detect that we cut at the trailing space, it is necessary to rely on the difference between QTextLine::horizontalAdvance() and QTextLine::naturalTextWidth() when the flag QTextOption::IncludeTrailingSpaces is used: the trailing space is taken into account in the later, but not in the former. Somme comments have been added to make code intent clearer. diff --git a/src/Row.cpp b/src/Row.cpp index 6e975a5..38dbb85 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -142,13 +142,19 @@ Row::Element Row::Element::splitAt(int w, bool force) dim.wid = w; int const i = fm.breakAt(str, dim.wid, isRTL(), force); if (i != -1) { + //Create a second row element to return Element ret(STRING, pos + i, font, change); ret.str = str.substr(i); ret.endpos = ret.pos + ret.str.length(); + // Copy the after flags of the original element to the second one. ret.row_flags = row_flags & (CanBreakInside | AfterFlags); + + // Now update ourselves str.erase(i); endpos = pos + i; - //lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl; + // Row should be broken after the original element + row_flags = (row_flags & ~AfterFlags) | BreakAfter; + //LYXERR0("breakAt(" << w << ") Row element Broken at " << w << "(w(str)=" << fm.width(str) << "): e=" << *this); return ret; } @@ -251,7 +257,7 @@ ostream & operator<<(ostream & os, Row::Element const & e) os << "INVALID: "; break; } - os << "width=" << e.full_width(); + os << "width=" << e.full_width() << ", row_flags=" << e.row_flags; return os; } @@ -522,7 +528,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) * break-up. */ Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap); - if (remainder.isValid()) { + if (brk.row_flags & BreakAfter) { /* if this element originally did not cause a row overflow * in itself, and the remainder of the row would still be * too large after breaking, then we will have issues in @@ -544,7 +550,11 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width) *cit_brk = brk; dim_.wid = wid_brk + brk.dim.wid; // If there are other elements, they should be removed. - return splitFrom(elements_, next(cit_brk, 1), remainder); + // remainder can be empty when splitting at trailing space + if (remainder.str.empty()) + return splitFrom(elements_, next(cit_brk, 1)); + else + return splitFrom(elements_, next(cit_brk, 1), remainder); } } diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index c7e84f6..37894f6 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1157,7 +1157,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // Add a new next element on the pile if (next_elt.isValid()) { // do as if we inserted this element in the original row - fcit.put(next_elt); + if (!next_elt.str.empty()) + fcit.put(next_elt); need_new_row = true; } } diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp index 56ed676..47537ae 100644 --- a/src/frontends/qt/GuiFontMetrics.cpp +++ b/src/frontends/qt/GuiFontMetrics.cpp @@ -525,6 +525,9 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, QTextOption to; to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere : QTextOption::WordWrap); + // Let QTextLine::naturalTextWidth() account for trailing spaces + // (horizontalAdvance() still does not). + to.setFlags(QTextOption::IncludeTrailingSpaces); tl.setTextOption(to); tl.beginLayout(); QTextLine line = tl.createLine(); @@ -557,8 +560,11 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, --len; LASSERT(len > 0 || qlen == 0, /**/); #endif - // Do not cut is the string is already short enough - if (len == static_cast(s.length())) { + // Do not cut is the string is already short enough. We rely on + // naturalTextWidth() to catch the case where we cut at the trailing + // space. + if (len == static_cast(s.length()) + && line.naturalTextWidth() <= x) { len = -1; #if QT_VERSION < 0x050000 // With some monospace fonts, the value of horizontalAdvance() commit 099cc953a2025bb2323abe365b8ffa08b2a59dd7 Author: Jean-Marc Lasgouttes Date: Mon Aug 30 15:48:44 2021 +0200 Workaround for Qt 4 At least with Qt 4.8.7 on Ubuntu 16.04, QTextLine::lineWidth() can return a bogus value, at least with Courier font. One hypothesis is that the invisible characters that we use in breakAt_helper are given a non-null width. Work around it, although the exact bug has not been pinpointed. diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp index 25bf7a4..56ed676 100644 --- a/src/frontends/qt/GuiFontMetrics.cpp +++ b/src/frontends/qt/GuiFontMetrics.cpp @@ -531,7 +531,7 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, line.setLineWidth(x); tl.createLine(); tl.endLayout(); - int const line_wid = iround(line.horizontalAdvance()); + int line_wid = iround(line.horizontalAdvance()); if ((force && line.textLength() == offset) || line_wid > x) return {-1, line_wid}; /* Since QString is UTF-16 and docstring is UCS-4, the offsets may @@ -557,9 +557,16 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, --len; LASSERT(len > 0 || qlen == 0, /**/); #endif - // si la cha??ne est d??j?? trop courte, on ne coupe pas - if (len == static_cast(s.length())) + // Do not cut is the string is already short enough + if (len == static_cast(s.length())) { len = -1; +#if QT_VERSION < 0x050000 + // With some monospace fonts, the value of horizontalAdvance() + // can be wrong with Qt4. One hypothesis is that the invisible + // characters that we use are given a non-null width. + line_wid = width(s); +#endif + } return {len, line_wid}; } commit 0961eb45355e2efd9f2c6597bab09903334c6b9a Author: Jean-Marc Lasgouttes Date: Tue Jul 20 00:07:13 2021 +0200 Last step of transition: use sortenIfNeeded again. Change semantics of Row::shortenIfNeeded: instead of breaking the row and returning a boolean, it returns the list of row elements that have been removed (or broken) from the row. The logic of the method remains the same. Use shortenIfNeeded in breakParagraph. This was the last missing block. Remove Row::breakAt and the old breakRow. Only bugs remain now :) diff --git a/src/Row.cpp b/src/Row.cpp index 3bc8ef0..6e975a5 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -156,12 +156,6 @@ Row::Element Row::Element::splitAt(int w, bool force) } -bool Row::Element::breakAt(int w, bool force) -{ - return splitAt(w, force).isValid(); -} - - bool Row::isMarginSelected(bool left, DocIterator const & beg, DocIterator const & end) const { @@ -448,10 +442,31 @@ void Row::pop_back() } -bool Row::shortenIfNeeded(int const w, int const next_width) +namespace { + +// Remove stuff after it from elts, and return it. +// if init is provided, it will be in front of the rest +Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it, + Row::Element const & init = Row::Element()) +{ + Row::Elements ret; + if (init.isValid()) + ret.push_back(init); + ret.insert(ret.end(), it, elts.end()); + elts.erase(it, elts.end()); + return ret; +} + +} + + +Row::Elements Row::shortenIfNeeded(int const w, int const next_width) { + // FIXME: performance: if the last element is a string, we would + // like to avoid computing its length. + finalizeLast(); if (empty() || width() <= w) - return false; + return Elements(); Elements::iterator const beg = elements_.begin(); Elements::iterator const end = elements_.end(); @@ -467,8 +482,8 @@ bool Row::shortenIfNeeded(int const w, int const next_width) if (cit == end) { // This should not happen since the row is too long. - LYXERR0("Something is wrong cannot shorten row: " << *this); - return false; + LYXERR0("Something is wrong, cannot shorten row: " << *this); + return Elements(); } // Iterate backwards over breakable elements and try to break them @@ -486,8 +501,7 @@ bool Row::shortenIfNeeded(int const w, int const next_width) if (wid_brk <= w && brk.row_flags & CanBreakAfter) { end_ = brk.endpos; dim_.wid = wid_brk; - elements_.erase(cit_brk + 1, end); - return true; + return splitFrom(elements_, cit_brk + 1); } // assume now that the current element is not there wid_brk -= brk.dim.wid; @@ -507,7 +521,8 @@ bool Row::shortenIfNeeded(int const w, int const next_width) * - shorter than the natural width of the element, in order to enforce * break-up. */ - if (brk.breakAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap)) { + Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap); + if (remainder.isValid()) { /* if this element originally did not cause a row overflow * in itself, and the remainder of the row would still be * too large after breaking, then we will have issues in @@ -529,14 +544,13 @@ bool Row::shortenIfNeeded(int const w, int const next_width) *cit_brk = brk; dim_.wid = wid_brk + brk.dim.wid; // If there are other elements, they should be removed. - elements_.erase(cit_brk + 1, end); - return true; + return splitFrom(elements_, next(cit_brk, 1), remainder); } } - if (cit != beg && cit->type == VIRTUAL) { - // It is not possible to separate a virtual element from the - // previous one. + if (cit != beg && cit->row_flags & NoBreakBefore) { + // It is not possible to separate this element from the + // previous one. (e.g. VIRTUAL) --cit; wid -= cit->dim.wid; } @@ -546,25 +560,24 @@ bool Row::shortenIfNeeded(int const w, int const next_width) // been added. We can cut right here. end_ = cit->pos; dim_.wid = wid; - elements_.erase(cit, end); - return true; + return splitFrom(elements_, cit); } /* If we are here, it means that we have not found a separator to * shorten the row. Let's try to break it again, but not at word * boundary this time. */ - if (cit->breakAt(w - wid, true)) { + Element remainder = cit->splitAt(w - wid, true); + if (remainder.isValid()) { end_ = cit->endpos; // See comment above. cit->str = rtrim(cit->str); cit->endpos = cit->pos + cit->str.length(); dim_.wid = wid + cit->dim.wid; // If there are other elements, they should be removed. - elements_.erase(next(cit, 1), end); - return true; + return splitFrom(elements_, next(cit, 1), remainder); } - return false; + return Elements(); } diff --git a/src/Row.h b/src/Row.h index 72d7a86..b0b1755 100644 --- a/src/Row.h +++ b/src/Row.h @@ -101,12 +101,6 @@ public: * respects the row breaking rules of characters. */ Element splitAt(int w, bool force); - /** Break the element if possible, so that its width is less - * than \param w. Returns true on success. When \param force - * is true, the string is cut at any place, otherwise it - * respects the row breaking rules of characters. - */ - bool breakAt(int w, bool force); // bool isRTL() const { return font.isVisibleRightToLeft(); } @@ -296,7 +290,7 @@ public: * \param available width on next row. * \return true if the row has been shortened. */ - bool shortenIfNeeded(int const width, int const next_width); + Elements shortenIfNeeded(int const width, int const next_width); /** * If last element of the row is a string, compute its width diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 1a6927a..c7e84f6 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -491,7 +491,7 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows) // If there is an end of paragraph marker, its size should be // substracted to the available width. The logic here is - // almost the same as in breakRow, remember keep them in sync. + // almost the same as in tokenizeParagraph, remember keep them in sync. int eop = 0; if (e.pos + 1 == par.size() && (lyxrc.paragraph_markers || par.lookupChange(par.size()).changed()) @@ -1006,6 +1006,11 @@ public: void put(value_type const & e) { pile_.push_back(e); } + // Put a sequence of elements on the pile (in reverse order!) + void put(vector const & elts) { + pile_.insert(pile_.end(), elts.rbegin(), elts.rend()); + } + // This should be private, but declaring the friend functions is too much work //private: typename T::const_iterator cit_; @@ -1121,19 +1126,40 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const Row::Element elt = *fcit; Row::Element next_elt = elt.splitAt(width - rows.back().width(), !elt.font.language()->wordWrap()); - // a new element in the row - rows.back().push_back(elt); - rows.back().finalizeLast(); - pos = elt.endpos; - - // Go to next element - ++fcit; - - // Add a new next element on the pile - if (next_elt.isValid()) { - // do as if we inserted this element in the original row - fcit.put(next_elt); - need_new_row = true; + if (elt.dim.wid > width - rows.back().width()) { + Row & rb = rows.back(); + rb.push_back(*fcit); + // if the row is too large, try to cut at last separator. In case + // of success, reset indication that the row was broken abruptly. + int const next_width = max_width_ - leftMargin(rb.pit(), rb.endpos()) + - rightMargin(rb.pit()); + + Row::Elements next_elts = rb.shortenIfNeeded(width, next_width); + + // Go to next element + ++fcit; + + // Handle later the elements returned by shortenIfNeeded. + if (!next_elts.empty()) { + rb.flushed(false); + fcit.put(next_elts); + need_new_row = true; + } + } else { + // a new element in the row + rows.back().push_back(elt); + rows.back().finalizeLast(); + pos = elt.endpos; + + // Go to next element + ++fcit; + + // Add a new next element on the pile + if (next_elt.isValid()) { + // do as if we inserted this element in the original row + fcit.put(next_elt); + need_new_row = true; + } } } @@ -1146,185 +1172,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const return rows; } -/** This is the function where the hard work is done. The code here is - * very sensitive to small changes :) Note that part of the - * intelligence is also in Row::shortenIfNeeded. - */ -bool TextMetrics::breakRow(Row & row, int const right_margin) const -{ - LATTEST(row.empty());// - Paragraph const & par = text_->getPar(row.pit());// - Buffer const & buf = text_->inset().buffer();// - BookmarksSection::BookmarkPosList bpl =// - theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());// - - pos_type const end = par.size();// - pos_type const pos = row.pos();// - pos_type const body_pos = par.beginOfBody();// - bool const is_rtl = text_->isRTL(row.pit());// - bool need_new_row = false;// - - row.left_margin = leftMargin(row.pit(), pos);// - row.right_margin = right_margin;// - if (is_rtl)// - swap(row.left_margin, row.right_margin);// - // Remember that the row width takes into account the left_margin - // but not the right_margin. - row.dim().wid = row.left_margin;// - // the width available for the row. - int const width = max_width_ - row.right_margin;// - - // check for possible inline completion - DocIterator const & ic_it = bv_->inlineCompletionPos();// - pos_type ic_pos = -1;// - if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit())// - ic_pos = ic_it.pos();// - - // Now we iterate through until we reach the right margin - // or the end of the par, then build a representation of the row. - pos_type i = pos;//---------------------------------------------------vvv - FontIterator fi = FontIterator(*this, par, row.pit(), pos); - // The real stopping condition is a few lines below. - while (true) { - // Firstly, check whether there is a bookmark here. - if (lyxrc.bookmarks_visibility == LyXRC::BMK_INLINE) - for (auto const & bp_p : bpl) - if (bp_p.second == i) { - Font f = *fi; - f.fontInfo().setColor(Color_bookmark); - // ??? U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE - char_type const ch = 0x2775 + bp_p.first; - row.addVirtual(i, docstring(1, ch), f, Change()); - } - - // The stopping condition is here so that the display of a - // bookmark can take place at paragraph start too. - if (i >= end || (i != pos && row.width() > width))//^width - break; - - char_type c = par.getChar(i); - // The most special cases are handled first. - if (par.isInset(i)) { - Inset const * ins = par.getInset(i); - Dimension dim = bv_->coordCache().insets().dim(ins); - row.add(i, ins, dim, *fi, par.lookupChange(i)); - } else if (c == ' ' && i + 1 == body_pos) { - // There is a space at i, but it should not be - // added as a separator, because it is just - // before body_pos. Instead, insert some spacing to - // align text - FontMetrics const & fm = theFontMetrics(text_->labelFont(par)); - // this is needed to make sure that the row width is correct - row.finalizeLast(); - int const add = max(fm.width(par.layout().labelsep), - labelEnd(row.pit()) - row.width()); - row.addSpace(i, add, *fi, par.lookupChange(i)); - } else if (c == '\t') - row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")), - *fi, par.lookupChange(i)); - else if (c == 0x2028 || c == 0x2029) { - /** - * U+2028 LINE SEPARATOR - * U+2029 PARAGRAPH SEPARATOR - - * These are special unicode characters that break - * lines/pragraphs. Not handling them lead to trouble wrt - * Qt QTextLayout formatting. We add a visible character - * on screen so that the user can see that something is - * happening. - */ - row.finalizeLast(); - // ??? U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS - // ?? U+00B6 PILCROW SIGN - char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6; - row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos); - } else - row.add(i, c, *fi, par.lookupChange(i), i >= body_pos); - - // add inline completion width - // draw logically behind the previous character - if (ic_pos == i + 1 && !bv_->inlineCompletion().empty()) { - docstring const comp = bv_->inlineCompletion(); - size_t const uniqueTo =bv_->inlineCompletionUniqueChars(); - Font f = *fi; - - if (uniqueTo > 0) { - f.fontInfo().setColor(Color_inlinecompletion); - row.addVirtual(i + 1, comp.substr(0, uniqueTo), f, Change()); - } - f.fontInfo().setColor(Color_nonunique_inlinecompletion); - row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change()); - } - - // Handle some situations that abruptly terminate the row - // - Before an inset with BreakBefore - // - After an inset with BreakAfter - Inset const * prevInset = !row.empty() ? row.back().inset : 0; - Inset const * nextInset = (i + 1 < end) ? par.getInset(i + 1) : 0; - if ((nextInset && nextInset->rowFlags() & BreakBefore) - || (prevInset && prevInset->rowFlags() & BreakAfter)) { - row.flushed(true); - // Force a row creation after this one if it is ended by - // an inset that either - // - has row flag RowAfter that enforces that; - // - or (1) did force the row breaking, (2) is at end of - // paragraph and (3) the said paragraph has an end label. - need_new_row = prevInset && - (prevInset->rowFlags() & AlwaysBreakAfter - || (prevInset->rowFlags() & BreakAfter && i + 1 == end - && text_->getEndLabel(row.pit()) != END_LABEL_NO_LABEL)); - ++i; - break; - } - - ++i; - ++fi; - } - row.finalizeLast(); - row.endpos(i); - - // End of paragraph marker. The logic here is almost the - // same as in redoParagraph, remember keep them in sync. - ParagraphList const & pars = text_->paragraphs(); - Change const & change = par.lookupChange(i); - if ((lyxrc.paragraph_markers || change.changed()) - && !need_new_row // not this - && i == end && size_type(row.pit() + 1) < pars.size()) { - // add a virtual element for the end-of-paragraph - // marker; it is shown on screen, but does not exist - // in the paragraph. - Font f(text_->layoutFont(row.pit())); - f.fontInfo().setColor(Color_paragraphmarker); - f.setLanguage(par.getParLanguage(buf.params())); - // ?? U+00B6 PILCROW SIGN - row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change); - } - - // Is there a end-of-paragaph change? - if (i == end && par.lookupChange(end).changed() && !need_new_row) - row.needsChangeBar(true); - //--------------------------------------------------------------------^^^ - // FIXME : nothing below this - - // if the row is too large, try to cut at last separator. In case - // of success, reset indication that the row was broken abruptly. - int const next_width = max_width_ - leftMargin(row.pit(), row.endpos()) - - rightMargin(row.pit()); - - if (row.shortenIfNeeded(width, next_width)) - row.flushed(false); - row.right_boundary(!row.empty() && row.endpos() < end// - && row.back().endpos == row.endpos());// - // Last row in paragraph is flushed - if (row.endpos() == end)// - row.flushed(true);// - - // make sure that the RTL elements are in reverse ordering - row.reverseRTL(is_rtl);// - //LYXERR0("breakrow: row is " << row); - - return need_new_row; -} int TextMetrics::parTopSpacing(pit_type const pit) const { diff --git a/src/TextMetrics.h b/src/TextMetrics.h index 3ff1161..e38ba71 100644 --- a/src/TextMetrics.h +++ b/src/TextMetrics.h @@ -151,15 +151,12 @@ private: /// FIXME?? int labelEnd(pit_type const pit) const; + // Turn paragraph oh index \c pit into a single row Row tokenizeParagraph(pit_type pit) const; + // Break the row produced by tokenizeParagraph() into a list of rows. RowList breakParagraph(Row const & row) const; - /// sets row.end to the pos value *after* which a row should break. - /// for example, the pos after which isNewLine(pos) == true - /// \return true when another row is required (after a newline) - bool breakRow(Row & row, int right_margin) const; - // Expands the alignment of row \param row in paragraph \param par LyXAlignment getAlign(Paragraph const & par, Row const & row) const; /// Aligns properly the row contents (computes spaces and fills) commit 1bc07bd7d2fd60b5630a7536879604044d55053c Author: Jean-Marc Lasgouttes Date: Sun Jul 18 01:09:33 2021 +0200 Implement handling of row_flags for row breaking To this end, add the helper function needsRowBreak which computes the effect of two consecutive row flags. This function implements the priorities described in RowFlags.h. This function is called with the relevant flags, or NoBreak* when at boundaries and updates need_new_row. Some common code is factored in a new cleanupRow() helper. diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index fa855e4..1a6927a 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -980,22 +980,6 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const namespace { -Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) -{ - Row nrow; - nrow.pit(pit); - nrow.pos(pos); - nrow.left_margin = tm.leftMargin(pit, pos); - nrow.right_margin = tm.rightMargin(pit); - if (is_rtl) - swap(nrow.left_margin, nrow.right_margin); - // Remember that the row width takes into account the left_margin - // but not the right_margin. - nrow.dim().wid = nrow.left_margin; - return nrow; -} - - /** Helper template flexible_const_iterator * A way to iterate over a const container, but insert fake elements in it. * In the case of a row, we will have to break some elements, which @@ -1018,6 +1002,8 @@ public: value_type operator*() const { return pile_.empty() ? *cit_ : pile_.back(); } + value_type const * operator->() const { return pile_.empty() ? &*cit_ : &pile_.back(); } + void put(value_type const & e) { pile_.push_back(e); } // This should be private, but declaring the friend functions is too much work @@ -1051,6 +1037,44 @@ bool operator==(flexible_const_iterator const & t1, return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty(); } +Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) +{ + Row nrow; + nrow.pit(pit); + nrow.pos(pos); + nrow.left_margin = tm.leftMargin(pit, pos); + nrow.right_margin = tm.rightMargin(pit); + if (is_rtl) + swap(nrow.left_margin, nrow.right_margin); + // Remember that the row width takes into account the left_margin + // but not the right_margin. + nrow.dim().wid = nrow.left_margin; + return nrow; +} + + +void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl) +{ + row.endpos(pos); + row.right_boundary(!row.empty() && pos < real_endpos + && row.back().endpos == pos); + // make sure that the RTL elements are in reverse ordering + row.reverseRTL(is_rtl); +} + +// Implement the priorities described in RowFlags.h. +bool needsRowBreak(int f1, int f2) +{ + if (f1 & AlwaysBreakAfter /*|| f2 & AlwaysBreakBefore*/) + return true; + if (f1 & NoBreakAfter || f2 & NoBreakBefore) + return false; + if (f1 & BreakAfter || f2 & BreakBefore) + return true; + return false; +} + + } @@ -1058,6 +1082,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const { RowList rows; bool const is_rtl = text_->isRTL(bigrow.pit()); + bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL; bool need_new_row = true; pos_type pos = 0; @@ -1065,15 +1090,21 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const flexible_const_iterator fcit = flexible_begin(bigrow); flexible_const_iterator const end = flexible_end(bigrow); while (true) { + bool const has_row = !rows.empty(); + bool const row_empty = !has_row || rows.back().empty(); + // The row flags of previous element, if there is one. + // Otherwise we use NoBreakAfter to avoid an empty row before + // e.g. a displayed equation. + int const f1 = row_empty ? NoBreakAfter : rows.back().back().row_flags; + // The row flags of next element, if there is one. + // Otherwise we use NoBreakBefore (see above), unless the + // paragraph has an end label (for which an empty row is OK). + int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore) + : fcit->row_flags; + need_new_row |= needsRowBreak(f1, f2); if (need_new_row) { - if (!rows.empty()) { - Row & rb = rows.back(); - rb.endpos(pos); - rb.right_boundary(!rb.empty() && rb.endpos() < bigrow.endpos() - && rb.back().endpos == rb.endpos()); - // make sure that the RTL elements are in reverse ordering - rb.reverseRTL(is_rtl); - } + if (!rows.empty()) + cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl); rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. width = max_width_ - rows.back().right_margin; @@ -1107,13 +1138,9 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const } if (!rows.empty()) { - Row & rb = rows.back(); + cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl); // Last row in paragraph is flushed - rb.flushed(true); - rb.endpos(bigrow.endpos()); - rb.right_boundary(false); - // make sure that the RTL elements are in reverse ordering - rb.reverseRTL(is_rtl); + rows.back().flushed(true); } return rows; @@ -1227,9 +1254,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const } f.fontInfo().setColor(Color_nonunique_inlinecompletion); row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change()); - }//---------------------------------------------------------------^^^ + } - // FIXME: Handle when breaking the rows // Handle some situations that abruptly terminate the row // - Before an inset with BreakBefore // - After an inset with BreakAfter @@ -1254,7 +1280,6 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const ++i; ++fi; } - //--------------------------------------------------------------------vvv row.finalizeLast(); row.endpos(i); commit 4099d40683fbce8429a00b26168fb93285fde007 Author: Jean-Marc Lasgouttes Date: Sat Jul 17 23:16:15 2021 +0200 Change the way the element's width is updated. Remove the code that computed the width every 30 characters (yay!). Make sure that finalizeLast() is called after inserting a row element in a row in breakParagraph. diff --git a/src/Row.cpp b/src/Row.cpp index 705a147..3bc8ef0 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -370,8 +370,7 @@ void Row::finalizeLast() if (elt.change.changed()) changebar_ = true; - if (elt.type == STRING) { - dim_.wid -= elt.dim.wid; + if (elt.type == STRING && elt.dim.wid == 0) { elt.dim.wid = theFontMetrics(elt.font).width(elt.str); dim_.wid += elt.dim.wid; } @@ -401,16 +400,8 @@ void Row::add(pos_type const pos, char_type const c, e.row_flags = can_break ? CanBreakInside : Inline; elements_.push_back(e); } - if (back().str.length() % 30 == 0) { - dim_.wid -= back().dim.wid; - back().str += c; - back().endpos = pos + 1; - back().dim.wid = theFontMetrics(back().font).width(back().str); - dim_.wid += back().dim.wid; - } else { - back().str += c; - back().endpos = pos + 1; - } + back().str += c; + back().endpos = pos + 1; } diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index b5ba974..fa855e4 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1092,6 +1092,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const !elt.font.language()->wordWrap()); // a new element in the row rows.back().push_back(elt); + rows.back().finalizeLast(); pos = elt.endpos; // Go to next element commit 7d2e31445c4f1aa35533d3d57d28022fae3d56e4 Author: Jean-Marc Lasgouttes Date: Sat Jul 17 02:31:49 2021 +0200 Introduce helper template to simplify breakParagraph code This is a semi-generic iterator for iterating over a container and pretend that we add elements to it along the way. diff --git a/src/Row.h b/src/Row.h index 4fdcee4..72d7a86 100644 --- a/src/Row.h +++ b/src/Row.h @@ -150,6 +150,8 @@ public: friend std::ostream & operator<<(std::ostream & os, Element const & row); }; + /// + typedef Element value_type; /// Row() {} diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 00d65da..b5ba974 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -995,6 +995,62 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) return nrow; } + +/** Helper template flexible_const_iterator + * A way to iterate over a const container, but insert fake elements in it. + * In the case of a row, we will have to break some elements, which + * create new ones. This class allows to abstract this. + * Only the required parts are implemented for now. + */ +template +class flexible_const_iterator { + typedef typename T::value_type value_type; +public: + + // + flexible_const_iterator operator++() { + if (pile_.empty()) + ++cit_; + else + pile_.pop_back(); + return *this; + } + + value_type operator*() const { return pile_.empty() ? *cit_ : pile_.back(); } + + void put(value_type const & e) { pile_.push_back(e); } + +// This should be private, but declaring the friend functions is too much work +//private: + typename T::const_iterator cit_; + // A vector that is used as like a pile to store the elements to + // consider before incrementing the underlying iterator. + vector pile_; +}; + + +template +flexible_const_iterator flexible_begin(T const & t) +{ + return { t.begin(), vector() }; +} + + +template +flexible_const_iterator flexible_end(T const & t) +{ + return { t.end(), vector() }; +} + + +// Equality is only possible if respective piles are empty +template +bool operator==(flexible_const_iterator const & t1, + flexible_const_iterator const & t2) +{ + return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty(); +} + } @@ -1006,11 +1062,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const bool need_new_row = true; pos_type pos = 0; int width = 0; - Row::const_iterator cit = bigrow.begin(); - Row::const_iterator const end = bigrow.end(); - // This is a vector, but we use it like a pile putting and taking - // stuff at the back. - Row::Elements pile; + flexible_const_iterator fcit = flexible_begin(bigrow); + flexible_const_iterator const end = flexible_end(bigrow); while (true) { if (need_new_row) { if (!rows.empty()) { @@ -1029,27 +1082,25 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const // The stopping condition is here because we may need a new // empty row at the end. - if (cit == end && pile.empty()) + if (fcit == end) break; // Next element to consider is either the top of the temporary // pile, or the place when we were in main row - Row::Element elt = pile.empty() ? *cit : pile.back(); - //LYXERR0("elt=" << elt); + Row::Element elt = *fcit; Row::Element next_elt = elt.splitAt(width - rows.back().width(), !elt.font.language()->wordWrap()); - //LYXERR0("next_elt=" << next_elt); // a new element in the row rows.back().push_back(elt); pos = elt.endpos; + // Go to next element - if (pile.empty()) - ++cit; - else - pile.pop_back(); + ++fcit; + // Add a new next element on the pile if (next_elt.isValid()) { - pile.push_back(next_elt); + // do as if we inserted this element in the original row + fcit.put(next_elt); need_new_row = true; } } commit 1f064f16a6a48aac2c4d2b0c1360f0fa058e0f2e Author: Jean-Marc Lasgouttes Date: Fri Jul 16 00:10:25 2021 +0200 A set of easy fixes and missing features * show changebar when end of paragraph is changed. * when row is finished, set endpos and right_boundary * handle bidi. diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 1d36d7a..00d65da 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -955,12 +955,15 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const row.finalizeLast(); row.endpos(end); - // End of paragraph marker. The logic here is almost the + // End of paragraph marker, either if LyXRc requires it, or there + // is an end of paragraph change. The logic here is almost the // same as in redoParagraph, remember keep them in sync. ParagraphList const & pars = text_->paragraphs(); - Change const & change = par.lookupChange(i); - if ((lyxrc.paragraph_markers || change.changed()) - && i == end && size_type(pit + 1) < pars.size()) { + Change const & endchange = par.lookupChange(end); + if (endchange.changed()) + row.needsChangeBar(true); + if ((lyxrc.paragraph_markers || endchange.changed()) + && size_type(pit + 1) < pars.size()) { // add a virtual element for the end-of-paragraph // marker; it is shown on screen, but does not exist // in the paragraph. @@ -968,7 +971,7 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const f.fontInfo().setColor(Color_paragraphmarker); f.setLanguage(par.getParLanguage(buf.params())); // ?? U+00B6 PILCROW SIGN - row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change); + row.addVirtual(end, docstring(1, char_type(0x00B6)), f, endchange); } return row; @@ -995,24 +998,30 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) } -RowList TextMetrics::breakParagraph(Row const & row) const +RowList TextMetrics::breakParagraph(Row const & bigrow) const { RowList rows; - bool const is_rtl = text_->isRTL(row.pit()); + bool const is_rtl = text_->isRTL(bigrow.pit()); bool need_new_row = true; pos_type pos = 0; int width = 0; - Row::const_iterator cit = row.begin(); - Row::const_iterator const end = row.end(); + Row::const_iterator cit = bigrow.begin(); + Row::const_iterator const end = bigrow.end(); // This is a vector, but we use it like a pile putting and taking // stuff at the back. Row::Elements pile; while (true) { if (need_new_row) { - if (!rows.empty()) - rows.back().endpos(pos); - rows.push_back(newRow(*this, row.pit(), pos, is_rtl)); + if (!rows.empty()) { + Row & rb = rows.back(); + rb.endpos(pos); + rb.right_boundary(!rb.empty() && rb.endpos() < bigrow.endpos() + && rb.back().endpos == rb.endpos()); + // make sure that the RTL elements are in reverse ordering + rb.reverseRTL(is_rtl); + } + rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl)); // the width available for the row. width = max_width_ - rows.back().right_margin; need_new_row = false; @@ -1045,6 +1054,16 @@ RowList TextMetrics::breakParagraph(Row const & row) const } } + if (!rows.empty()) { + Row & rb = rows.back(); + // Last row in paragraph is flushed + rb.flushed(true); + rb.endpos(bigrow.endpos()); + rb.right_boundary(false); + // make sure that the RTL elements are in reverse ordering + rb.reverseRTL(is_rtl); + } + return rows; } @@ -1217,14 +1236,14 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const if (row.shortenIfNeeded(width, next_width)) row.flushed(false); - row.right_boundary(!row.empty() && row.endpos() < end - && row.back().endpos == row.endpos()); + row.right_boundary(!row.empty() && row.endpos() < end// + && row.back().endpos == row.endpos());// // Last row in paragraph is flushed - if (row.endpos() == end) - row.flushed(true); + if (row.endpos() == end)// + row.flushed(true);// // make sure that the RTL elements are in reverse ordering - row.reverseRTL(is_rtl); + row.reverseRTL(is_rtl);// //LYXERR0("breakrow: row is " << row); return need_new_row; commit de00ecc9e0ff1c0c9b6cde5e043f3a2192f31ccb Author: Jean-Marc Lasgouttes Date: Wed Jul 14 00:48:03 2021 +0200 Use the new tokenizing and breaking code instead of breakRow. diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index fb6574d..1d36d7a 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -516,43 +516,28 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows) } } - pos_type first = 0; - size_t row_index = 0; - bool need_new_row = false; - // maximum pixel width of a row - do { - if (row_index == pm.rows().size()) - pm.rows().push_back(Row()); - else - pm.rows()[row_index] = Row(); - Row & row = pm.rows()[row_index]; - row.pit(pit); - row.pos(first); - need_new_row = breakRow(row, right_margin); + // Transform the paragraph into a single row containing all the elements. + Row const bigrow = tokenizeParagraph(pit); + // Split the row in several rows fitting in available width + pm.rows() = breakParagraph(bigrow); + + /* If there is more than one row, expand the text to the full + * allowable width. This setting here is needed for the + * setRowAlignment() below. We do nothing when tight insets are + * requested. + */ + if (pm.rows().size() > 1 && !tight_ && dim_.wid < max_width_) + dim_.wid = max_width_; + + // Compute height and alignment of the rows. + for (Row & row : pm.rows()) { setRowHeight(row); - row.changed(true); - if ((row_index || row.endpos() < par.size() || row.right_boundary()) - && !tight_) { - /* If there is more than one row or the row has been - * broken by a display inset or a newline, expand the text - * to the full allowable width. This setting here is - * needed for the setRowAlignment() below. - * We do nothing when tight insets are requested. - */ - if (dim_.wid < max_width_) - dim_.wid = max_width_; - } if (align_rows) setRowAlignment(row, max(dim_.wid, row.width())); - first = row.endpos(); - ++row_index; pm.dim().wid = max(pm.dim().wid, row.width() + row.right_margin); pm.dim().des += row.height(); - } while (first < par.size() || need_new_row); - - if (row_index < pm.rows().size()) - pm.rows().resize(row_index); + } // This type of margin can only be handled at the global paragraph level if (par.layout().margintype == MARGIN_RIGHT_ADDRESS_BOX) { commit 708fc0c2d5c9cf7163b41519b71026d806c4f047 Author: Jean-Marc Lasgouttes Date: Wed Jul 14 00:47:42 2021 +0200 Break the paragraph's big row according to margins Still many features missing: - handle insets that break rows (display math, newline, ...) - handle rows that are too long by replacing the single call to breakAt with a call to a reworked Row::shortenIfNeeded. - some easy things at the end of breakRow (bidi text, etc.). diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index cc380cc..fb6574d 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -990,6 +990,79 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const } +namespace { + +Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl) +{ + Row nrow; + nrow.pit(pit); + nrow.pos(pos); + nrow.left_margin = tm.leftMargin(pit, pos); + nrow.right_margin = tm.rightMargin(pit); + if (is_rtl) + swap(nrow.left_margin, nrow.right_margin); + // Remember that the row width takes into account the left_margin + // but not the right_margin. + nrow.dim().wid = nrow.left_margin; + return nrow; +} + +} + + +RowList TextMetrics::breakParagraph(Row const & row) const +{ + RowList rows; + bool const is_rtl = text_->isRTL(row.pit()); + + bool need_new_row = true; + pos_type pos = 0; + int width = 0; + Row::const_iterator cit = row.begin(); + Row::const_iterator const end = row.end(); + // This is a vector, but we use it like a pile putting and taking + // stuff at the back. + Row::Elements pile; + while (true) { + if (need_new_row) { + if (!rows.empty()) + rows.back().endpos(pos); + rows.push_back(newRow(*this, row.pit(), pos, is_rtl)); + // the width available for the row. + width = max_width_ - rows.back().right_margin; + need_new_row = false; + } + + // The stopping condition is here because we may need a new + // empty row at the end. + if (cit == end && pile.empty()) + break; + + // Next element to consider is either the top of the temporary + // pile, or the place when we were in main row + Row::Element elt = pile.empty() ? *cit : pile.back(); + //LYXERR0("elt=" << elt); + Row::Element next_elt = elt.splitAt(width - rows.back().width(), + !elt.font.language()->wordWrap()); + //LYXERR0("next_elt=" << next_elt); + // a new element in the row + rows.back().push_back(elt); + pos = elt.endpos; + // Go to next element + if (pile.empty()) + ++cit; + else + pile.pop_back(); + // Add a new next element on the pile + if (next_elt.isValid()) { + pile.push_back(next_elt); + need_new_row = true; + } + } + + return rows; +} + /** This is the function where the hard work is done. The code here is * very sensitive to small changes :) Note that part of the * intelligence is also in Row::shortenIfNeeded. @@ -1003,20 +1076,20 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());// pos_type const end = par.size();// - pos_type const pos = row.pos(); + pos_type const pos = row.pos();// pos_type const body_pos = par.beginOfBody();// - bool const is_rtl = text_->isRTL(row.pit()); - bool need_new_row = false; + bool const is_rtl = text_->isRTL(row.pit());// + bool need_new_row = false;// - row.left_margin = leftMargin(row.pit(), pos); - row.right_margin = right_margin; - if (is_rtl) - swap(row.left_margin, row.right_margin); + row.left_margin = leftMargin(row.pit(), pos);// + row.right_margin = right_margin;// + if (is_rtl)// + swap(row.left_margin, row.right_margin);// // Remember that the row width takes into account the left_margin // but not the right_margin. - row.dim().wid = row.left_margin; + row.dim().wid = row.left_margin;// // the width available for the row. - int const width = max_width_ - row.right_margin; + int const width = max_width_ - row.right_margin;// // check for possible inline completion DocIterator const & ic_it = bv_->inlineCompletionPos();// diff --git a/src/TextMetrics.h b/src/TextMetrics.h index 1666cd0..3ff1161 100644 --- a/src/TextMetrics.h +++ b/src/TextMetrics.h @@ -153,6 +153,8 @@ private: Row tokenizeParagraph(pit_type pit) const; + RowList breakParagraph(Row const & row) const; + /// sets row.end to the pos value *after* which a row should break. /// for example, the pos after which isNewLine(pos) == true /// \return true when another row is required (after a newline) commit a9858f70128acb253b7152204f44b395ab9d8370 Author: Jean-Marc Lasgouttes Date: Mon Jul 12 00:07:59 2021 +0200 Implement Row::Element::row_flags Move the enum definition RowFlags in its own include file, to avoid loading Inset.h. Document it more thoroughly. Rename RowAfter to AlwaysBreakAfter. Add CanBreakInside (rows that can be themselves broken). This allow to differentiate elements before bodyPos() and allows to remove a parameter to shortenIfNeeded(). Make the Inset::rowFlags() method return int instead of RowFlags, as should be done for all the bitwise flags. Remove the hand-made bitwise operators. Set R::E::row_flags when creating elements. * INSET elements use the inset's rowFLags(); * virtual element forbid breaking before them, and inherit the *After flags from the previous element of the row; * STRING elements usr CanBreakInside, except before bodyPos. More stuff may be added later. diff --git a/src/Makefile.am b/src/Makefile.am index 31701f2..99a0f98 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -273,6 +273,7 @@ HEADERFILESCORE = \ ParIterator.h \ PDFOptions.h \ Row.h \ + RowFlags.h \ RowPainter.h \ Server.h \ ServerSocket.h \ diff --git a/src/Row.cpp b/src/Row.cpp index da2d885..705a147 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -135,7 +135,7 @@ pos_type Row::Element::x2pos(int &x) const Row::Element Row::Element::splitAt(int w, bool force) { - if (type != STRING) + if (type != STRING || !(row_flags & CanBreakInside)) return Element(); FontMetrics const & fm = theFontMetrics(font); @@ -145,6 +145,7 @@ Row::Element Row::Element::splitAt(int w, bool force) Element ret(STRING, pos + i, font, change); ret.str = str.substr(i); ret.endpos = ret.pos + ret.str.length(); + ret.row_flags = row_flags & (CanBreakInside | AfterFlags); str.erase(i); endpos = pos + i; //lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl; @@ -378,12 +379,13 @@ void Row::finalizeLast() void Row::add(pos_type const pos, Inset const * ins, Dimension const & dim, - Font const & f, Change const & ch) + Font const & f, Change const & ch) { finalizeLast(); Element e(INSET, pos, f, ch); e.inset = ins; e.dim = dim; + e.row_flags = ins->rowFlags(); elements_.push_back(e); dim_.wid += dim.wid; changebar_ |= ins->isChanged(); @@ -391,11 +393,12 @@ void Row::add(pos_type const pos, Inset const * ins, Dimension const & dim, void Row::add(pos_type const pos, char_type const c, - Font const & f, Change const & ch) + Font const & f, Change const & ch, bool can_break) { if (!sameString(f, ch)) { finalizeLast(); Element e(STRING, pos, f, ch); + e.row_flags = can_break ? CanBreakInside : Inline; elements_.push_back(e); } if (back().str.length() % 30 == 0) { @@ -420,6 +423,10 @@ void Row::addVirtual(pos_type const pos, docstring const & s, e.dim.wid = theFontMetrics(f).width(s); dim_.wid += e.dim.wid; e.endpos = pos; + // Copy after* flags from previous elements, forbid break before element + int const prev_row_flags = elements_.empty() ? Inline : elements_.back().row_flags; + int const can_inherit = AfterFlags & ~AlwaysBreakAfter; + e.row_flags = (prev_row_flags & can_inherit) | NoBreakBefore; elements_.push_back(e); finalizeLast(); } @@ -450,7 +457,7 @@ void Row::pop_back() } -bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width) +bool Row::shortenIfNeeded(int const w, int const next_width) { if (empty() || width() <= w) return false; @@ -482,11 +489,10 @@ bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width // make a copy of the element to work on it. Element brk = *cit_brk; /* If the current element is an inset that allows breaking row - * after itself, and it the row is already short enough after + * after itself, and if the row is already short enough after * this inset, then cut right after this element. */ - if (wid_brk <= w && brk.type == INSET - && brk.inset->rowFlags() & Inset::CanBreakAfter) { + if (wid_brk <= w && brk.row_flags & CanBreakAfter) { end_ = brk.endpos; dim_.wid = wid_brk; elements_.erase(cit_brk + 1, end); @@ -504,10 +510,6 @@ bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width * not allowed at the beginning or end of line. */ bool const word_wrap = brk.font.language()->wordWrap(); - // When there is text before the body part (think description - // environment), do not try to break. - if (brk.pos < keep) - continue; /* We have found a suitable separable element. This is the common case. * Try to break it cleanly (at word boundary) at a length that is both * - less than the available space on the row diff --git a/src/Row.h b/src/Row.h index 3048cf1..4fdcee4 100644 --- a/src/Row.h +++ b/src/Row.h @@ -18,6 +18,7 @@ #include "Changes.h" #include "Dimension.h" #include "Font.h" +#include "RowFlags.h" #include "support/docstring.h" #include "support/types.h" @@ -143,6 +144,8 @@ public: Change change; // is it possible to add contents to this element? bool final = false; + // properties with respect to row breaking (made of RowFlag enums) + int row_flags = Inline; friend std::ostream & operator<<(std::ostream & os, Element const & row); }; @@ -247,7 +250,7 @@ public: Font const & f, Change const & ch); /// void add(pos_type pos, char_type const c, - Font const & f, Change const & ch); + Font const & f, Change const & ch, bool can_break); /// void addVirtual(pos_type pos, docstring const & s, Font const & f, Change const & ch); @@ -287,12 +290,11 @@ public: * if row width is too large, remove all elements after last * separator and update endpos if necessary. If all that * remains is a large word, cut it to \param width. - * \param body_pos minimum amount of text to keep. * \param width maximum width of the row. * \param available width on next row. * \return true if the row has been shortened. */ - bool shortenIfNeeded(pos_type const body_pos, int const width, int const next_width); + bool shortenIfNeeded(int const width, int const next_width); /** * If last element of the row is a string, compute its width diff --git a/src/RowFlags.h b/src/RowFlags.h new file mode 100644 index 0000000..f94f0c6 --- /dev/null +++ b/src/RowFlags.h @@ -0,0 +1,57 @@ +// -*- C++ -*- +/** + * \file RowFlags.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Jean-Marc Lasgouttes + * + * Full author contact details are available in file CREDITS. + */ + +#ifndef ROWFLAGS_H +#define ROWFLAGS_H + +// Do not include anything here + +namespace lyx { + +/* The list of possible flags, that can be combined. + * Some flags that should logically be here (e.g., + * CanBreakBefore), do not exist. This is because the need has not + * been identitfied yet. + * + * Priorities when before/after disagree: + * AlwaysBreak* > NoBreak* > Break* or CanBreak*. + */ +enum RowFlags { + // Do not break before or after this element, except if really + // needed (between NoBreak* and CanBreak*). + Inline = 0, + // break row before this element if the row is not empty + BreakBefore = 1 << 0, + // Avoid breaking row before this element + NoBreakBefore = 1 << 1, + // force new (maybe empty) row after this element + AlwaysBreakAfter = 1 << 2, + // break row after this element if there are more elements + BreakAfter = 1 << 3, + // break row whenever needed after this element + CanBreakAfter = 1 << 4, + // Avoid breaking row after this element + NoBreakAfter = 1 << 5, + // The contents of the row may be broken in two (e.g. string) + CanBreakInside = 1 << 6, + // specify an alignment (left, right) for a display element + // (default is center) + AlignLeft = 1 << 7, + AlignRight = 1 << 8, + // A display element breaks row at both ends + Display = BreakBefore | BreakAfter, + // Flags that concern breaking after element + AfterFlags = AlwaysBreakAfter | BreakAfter | CanBreakAfter | NoBreakAfter +}; + +} // namespace lyx + +#endif diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index f14fe1f..cc380cc 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -634,10 +634,10 @@ LyXAlignment TextMetrics::getAlign(Paragraph const & par, Row const & row) const // Display-style insets should always be on a centered row if (Inset const * inset = par.getInset(row.pos())) { - if (inset->rowFlags() & Inset::Display) { - if (inset->rowFlags() & Inset::AlignLeft) + if (inset->rowFlags() & Display) { + if (inset->rowFlags() & AlignLeft) align = LYX_ALIGN_BLOCK; - else if (inset->rowFlags() & Inset::AlignRight) + else if (inset->rowFlags() & AlignRight) align = LYX_ALIGN_RIGHT; else align = LYX_ALIGN_CENTER; @@ -928,7 +928,7 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const row.addSpace(i, add, *fi, par.lookupChange(i)); } else if (c == '\t') row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")), - *fi, par.lookupChange(i)); + *fi, par.lookupChange(i)); else if (c == 0x2028 || c == 0x2029) { /** * U+2028 LINE SEPARATOR @@ -944,9 +944,10 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const // ??? U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS // ?? U+00B6 PILCROW SIGN char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6; - row.add(i, screen_char, *fi, par.lookupChange(i)); + row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos); } else - row.add(i, c, *fi, par.lookupChange(i)); + // row elements before body are unbreakable + row.add(i, c, *fi, par.lookupChange(i), i >= body_pos); // add inline completion width // draw logically behind the previous character @@ -1080,9 +1081,9 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const // ??? U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS // ?? U+00B6 PILCROW SIGN char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6; - row.add(i, screen_char, *fi, par.lookupChange(i)); + row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos); } else - row.add(i, c, *fi, par.lookupChange(i)); + row.add(i, c, *fi, par.lookupChange(i), i >= body_pos); // add inline completion width // draw logically behind the previous character @@ -1105,8 +1106,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const // - After an inset with BreakAfter Inset const * prevInset = !row.empty() ? row.back().inset : 0; Inset const * nextInset = (i + 1 < end) ? par.getInset(i + 1) : 0; - if ((nextInset && nextInset->rowFlags() & Inset::BreakBefore) - || (prevInset && prevInset->rowFlags() & Inset::BreakAfter)) { + if ((nextInset && nextInset->rowFlags() & BreakBefore) + || (prevInset && prevInset->rowFlags() & BreakAfter)) { row.flushed(true); // Force a row creation after this one if it is ended by // an inset that either @@ -1114,8 +1115,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const // - or (1) did force the row breaking, (2) is at end of // paragraph and (3) the said paragraph has an end label. need_new_row = prevInset && - (prevInset->rowFlags() & Inset::RowAfter - || (prevInset->rowFlags() & Inset::BreakAfter && i + 1 == end + (prevInset->rowFlags() & AlwaysBreakAfter + || (prevInset->rowFlags() & BreakAfter && i + 1 == end && text_->getEndLabel(row.pit()) != END_LABEL_NO_LABEL)); ++i; break; @@ -1156,7 +1157,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const int const next_width = max_width_ - leftMargin(row.pit(), row.endpos()) - rightMargin(row.pit()); - if (row.shortenIfNeeded(body_pos, width, next_width)) + if (row.shortenIfNeeded(width, next_width)) row.flushed(false); row.right_boundary(!row.empty() && row.endpos() < end && row.back().endpos == row.endpos()); @@ -1900,7 +1901,7 @@ int TextMetrics::leftMargin(pit_type const pit, pos_type const pos) const // display style insets do not need indentation && !(!par.empty() && par.isInset(0) - && par.getInset(0)->rowFlags() & Inset::Display) + && par.getInset(0)->rowFlags() & Display) && (!(tclass.isDefaultLayout(par.layout()) || tclass.isPlainLayout(par.layout())) || buffer.params().paragraph_separation diff --git a/src/insets/Inset.h b/src/insets/Inset.h index af24423..372b95a 100644 --- a/src/insets/Inset.h +++ b/src/insets/Inset.h @@ -20,6 +20,7 @@ #include "LayoutEnums.h" #include "OutputEnums.h" #include "OutputParams.h" +#include "RowFlags.h" #include "support/docstring.h" #include "support/strfwd.h" @@ -478,26 +479,8 @@ public: virtual CtObject getCtObject(OutputParams const &) const; - enum RowFlags { - Inline = 0, - // break row before this inset - BreakBefore = 1 << 0, - // break row after this inset - BreakAfter = 1 << 1, - // it is possible to break after this inset - CanBreakAfter = 1 << 2, - // force new (maybe empty) row after this inset - RowAfter = 1 << 3, - // specify an alignment (left, right) for a display inset - // (default is center) - AlignLeft = 1 << 4, - AlignRight = 1 << 5, - // A display inset breaks row at both ends - Display = BreakBefore | BreakAfter - }; - - /// How should this inset be displayed in its row? - virtual RowFlags rowFlags() const { return Inline; } + // properties with respect to row breaking (made of RowFLag enums) + virtual int rowFlags() const { return Inline; } /// indentation before this inset (only needed for displayed hull insets with fleqn option) virtual int indent(BufferView const &) const { return 0; } /// @@ -655,20 +638,6 @@ protected: }; -inline Inset::RowFlags operator|(Inset::RowFlags const d1, - Inset::RowFlags const d2) -{ - return static_cast(int(d1) | int(d2)); -} - - -inline Inset::RowFlags operator&(Inset::RowFlags const d1, - Inset::RowFlags const d2) -{ - return static_cast(int(d1) & int(d2)); -} - - } // namespace lyx #endif diff --git a/src/insets/InsetBibtex.h b/src/insets/InsetBibtex.h index be7659f..55451f5 100644 --- a/src/insets/InsetBibtex.h +++ b/src/insets/InsetBibtex.h @@ -47,7 +47,7 @@ public: /// InsetCode lyxCode() const override { return BIBTEX_CODE; } /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// void latex(otexstream &, OutputParams const &) const override; /// diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index ed6dbbb..c1bcd17 100644 --- a/src/insets/InsetCaption.h +++ b/src/insets/InsetCaption.h @@ -40,7 +40,7 @@ private: /// void write(std::ostream & os) const override; /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// bool neverIndent() const override { return true; } /// diff --git a/src/insets/InsetFloatList.h b/src/insets/InsetFloatList.h index 489b0fe..ce6caa5 100644 --- a/src/insets/InsetFloatList.h +++ b/src/insets/InsetFloatList.h @@ -32,7 +32,7 @@ public: /// InsetCode lyxCode() const override { return FLOAT_LIST_CODE; } /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// void write(std::ostream &) const override; /// diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp index aeae2fb..10ea52b 100644 --- a/src/insets/InsetInclude.cpp +++ b/src/insets/InsetInclude.cpp @@ -1251,7 +1251,7 @@ string InsetInclude::contextMenuName() const } -Inset::RowFlags InsetInclude::rowFlags() const +int InsetInclude::rowFlags() const { return type(params()) == INPUT ? Inline : Display; } diff --git a/src/insets/InsetInclude.h b/src/insets/InsetInclude.h index 8585222..d62c751 100644 --- a/src/insets/InsetInclude.h +++ b/src/insets/InsetInclude.h @@ -75,7 +75,7 @@ public: /// void draw(PainterInfo & pi, int x, int y) const override; /// - RowFlags rowFlags() const override; + int rowFlags() const override; /// InsetCode lyxCode() const override { return INCLUDE_CODE; } /// diff --git a/src/insets/InsetIndex.h b/src/insets/InsetIndex.h index bddb8ba..b064cc7 100644 --- a/src/insets/InsetIndex.h +++ b/src/insets/InsetIndex.h @@ -119,7 +119,7 @@ public: /// bool hasSettings() const override; /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } //@} /// \name Static public methods obligated for InsetCommand derived classes diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListings.cpp index e8fe8b1..57df06e 100644 --- a/src/insets/InsetListings.cpp +++ b/src/insets/InsetListings.cpp @@ -64,7 +64,7 @@ InsetListings::~InsetListings() } -Inset::RowFlags InsetListings::rowFlags() const +int InsetListings::rowFlags() const { return params().isInline() || params().isFloat() ? Inline : Display | AlignLeft; } diff --git a/src/insets/InsetListings.h b/src/insets/InsetListings.h index 41be439..9d4eeb1 100644 --- a/src/insets/InsetListings.h +++ b/src/insets/InsetListings.h @@ -46,7 +46,7 @@ private: /// InsetCode lyxCode() const override { return LISTINGS_CODE; } /// lstinline is inlined, normal listing is displayed - RowFlags rowFlags() const override; + int rowFlags() const override; /// docstring layoutName() const override; /// diff --git a/src/insets/InsetNewline.h b/src/insets/InsetNewline.h index 3d540a8..1ef0ae5 100644 --- a/src/insets/InsetNewline.h +++ b/src/insets/InsetNewline.h @@ -47,7 +47,7 @@ public: explicit InsetNewline(InsetNewlineParams par) : Inset(0) { params_.kind = par.kind; } /// - RowFlags rowFlags() const override { return BreakAfter | RowAfter; } + int rowFlags() const override { return AlwaysBreakAfter; } /// static void string2params(std::string const &, InsetNewlineParams &); /// diff --git a/src/insets/InsetNewpage.h b/src/insets/InsetNewpage.h index f020488..d086276 100644 --- a/src/insets/InsetNewpage.h +++ b/src/insets/InsetNewpage.h @@ -76,7 +76,7 @@ private: /// void write(std::ostream & os) const override; /// - RowFlags rowFlags() const override { return (params_.kind == InsetNewpageParams::NOPAGEBREAK) ? Inline : Display; } + int rowFlags() const override { return (params_.kind == InsetNewpageParams::NOPAGEBREAK) ? Inline : Display; } /// docstring insetLabel() const; /// diff --git a/src/insets/InsetNomencl.h b/src/insets/InsetNomencl.h index 1778e01..362cd46 100644 --- a/src/insets/InsetNomencl.h +++ b/src/insets/InsetNomencl.h @@ -94,7 +94,7 @@ public: /// bool hasSettings() const override { return true; } /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// void latex(otexstream &, OutputParams const &) const override; /// diff --git a/src/insets/InsetSeparator.h b/src/insets/InsetSeparator.h index f7e0ab9..9352bdf 100644 --- a/src/insets/InsetSeparator.h +++ b/src/insets/InsetSeparator.h @@ -65,7 +65,7 @@ public: return docstring(); } /// - RowFlags rowFlags() const override { return BreakAfter; } + int rowFlags() const override { return BreakAfter; } private: /// InsetCode lyxCode() const override { return SEPARATOR_CODE; } diff --git a/src/insets/InsetSpace.cpp b/src/insets/InsetSpace.cpp index 9585596..1a2eb09 100644 --- a/src/insets/InsetSpace.cpp +++ b/src/insets/InsetSpace.cpp @@ -192,7 +192,7 @@ bool InsetSpace::getStatus(Cursor & cur, FuncRequest const & cmd, } -Inset::RowFlags InsetSpace::rowFlags() const +int InsetSpace::rowFlags() const { switch (params_.kind) { case InsetSpaceParams::PROTECTED: diff --git a/src/insets/InsetSpace.h b/src/insets/InsetSpace.h index 5cf7aa7..e401d6d 100644 --- a/src/insets/InsetSpace.h +++ b/src/insets/InsetSpace.h @@ -115,7 +115,7 @@ public: /// docstring toolTip(BufferView const & bv, int x, int y) const override; /// unprotected spaces allow line breaking after them - RowFlags rowFlags() const override; + int rowFlags() const override; /// void metrics(MetricsInfo &, Dimension &) const override; /// diff --git a/src/insets/InsetSpecialChar.cpp b/src/insets/InsetSpecialChar.cpp index 3ecdaf1..88af653 100644 --- a/src/insets/InsetSpecialChar.cpp +++ b/src/insets/InsetSpecialChar.cpp @@ -83,7 +83,7 @@ docstring InsetSpecialChar::toolTip(BufferView const &, int, int) const } -Inset::RowFlags InsetSpecialChar::rowFlags() const +int InsetSpecialChar::rowFlags() const { switch (kind_) { case ALLOWBREAK: diff --git a/src/insets/InsetSpecialChar.h b/src/insets/InsetSpecialChar.h index 3056b10..0c8cc36 100644 --- a/src/insets/InsetSpecialChar.h +++ b/src/insets/InsetSpecialChar.h @@ -63,7 +63,7 @@ public: /// docstring toolTip(BufferView const & bv, int x, int y) const override; /// some special chars allow line breaking after them - RowFlags rowFlags() const override; + int rowFlags() const override; /// void metrics(MetricsInfo &, Dimension &) const override; /// diff --git a/src/insets/InsetTOC.h b/src/insets/InsetTOC.h index 045ae07..ca3f463 100644 --- a/src/insets/InsetTOC.h +++ b/src/insets/InsetTOC.h @@ -37,7 +37,7 @@ public: /// docstring layoutName() const override; /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// void validate(LaTeXFeatures &) const override; /// diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp index fcf89e7..24bde65 100644 --- a/src/insets/InsetTabular.cpp +++ b/src/insets/InsetTabular.cpp @@ -6144,21 +6144,21 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd, } -Inset::RowFlags InsetTabular::rowFlags() const -{ - if (tabular.is_long_tabular) { - switch (tabular.longtabular_alignment) { - case Tabular::LYX_LONGTABULAR_ALIGN_LEFT: - return Display | AlignLeft; - case Tabular::LYX_LONGTABULAR_ALIGN_CENTER: - return Display; - case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT: - return Display | AlignRight; - default: - return Display; - } - } else - return Inline; +int InsetTabular::rowFlags() const +{ + if (tabular.is_long_tabular) { + switch (tabular.longtabular_alignment) { + case Tabular::LYX_LONGTABULAR_ALIGN_LEFT: + return Display | AlignLeft; + case Tabular::LYX_LONGTABULAR_ALIGN_CENTER: + return Display; + case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT: + return Display | AlignRight; + default: + return Display; + } + } else + return Inline; } diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index 8d1be1b..0d4e7af 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -989,7 +989,7 @@ public: // bool isTable() const override { return true; } /// - RowFlags rowFlags() const override; + int rowFlags() const override; /// void latex(otexstream &, OutputParams const &) const override; /// diff --git a/src/insets/InsetVSpace.h b/src/insets/InsetVSpace.h index 9b95f00..51c2b5b 100644 --- a/src/insets/InsetVSpace.h +++ b/src/insets/InsetVSpace.h @@ -62,7 +62,7 @@ private: /// void write(std::ostream & os) const override; /// - RowFlags rowFlags() const override { return Display; } + int rowFlags() const override { return Display; } /// void doDispatch(Cursor & cur, FuncRequest & cmd) override; /// diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp index 97d95da..26ac40b 100644 --- a/src/mathed/InsetMathHull.cpp +++ b/src/mathed/InsetMathHull.cpp @@ -988,7 +988,7 @@ bool InsetMathHull::outerDisplay() const } -Inset::RowFlags InsetMathHull::rowFlags() const +int InsetMathHull::rowFlags() const { switch (type_) { case hullUnknown: diff --git a/src/mathed/InsetMathHull.h b/src/mathed/InsetMathHull.h index 0b865be..b019188 100644 --- a/src/mathed/InsetMathHull.h +++ b/src/mathed/InsetMathHull.h @@ -288,7 +288,7 @@ public: /// Inset * editXY(Cursor & cur, int x, int y) override; /// - RowFlags rowFlags() const override; + int rowFlags() const override; /// helper function bool display() const { return rowFlags() & Display; } commit e162d9179921594b5f45e57b80ae61596548eab1 Author: Jean-Marc Lasgouttes Date: Sun Jul 11 15:19:37 2021 +0200 Create new method TM::tokenizeParagraph This contains large parts of breakRow, but creates a unique row for the paragraph. The parts taken or not in redoParagraph are annotated. The new method is not used yet. diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index a2a3e4b..f14fe1f 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -868,21 +868,142 @@ private: } // namespace + +Row TextMetrics::tokenizeParagraph(pit_type const pit) const +{ + Row row; + row.pit(pit); + Paragraph const & par = text_->getPar(pit); + Buffer const & buf = text_->inset().buffer(); + BookmarksSection::BookmarkPosList bpl = + theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id()); + + pos_type const end = par.size(); + pos_type const body_pos = par.beginOfBody(); + + // check for possible inline completion + DocIterator const & ic_it = bv_->inlineCompletionPos(); + pos_type ic_pos = -1; + if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == pit) + ic_pos = ic_it.pos(); + + // Now we iterate through until we reach the right margin + // or the end of the par, then build a representation of the row. + pos_type i = 0; + FontIterator fi = FontIterator(*this, par, pit, 0); + // The real stopping condition is a few lines below. + while (true) { + // Firstly, check whether there is a bookmark here. + if (lyxrc.bookmarks_visibility == LyXRC::BMK_INLINE) + for (auto const & bp_p : bpl) + if (bp_p.second == i) { + Font f = *fi; + f.fontInfo().setColor(Color_bookmark); + // ??? U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE + char_type const ch = 0x2775 + bp_p.first; + row.addVirtual(i, docstring(1, ch), f, Change()); + } + + // The stopping condition is here so that the display of a + // bookmark can take place at paragraph start too. + if (i >= end) + break; + + char_type c = par.getChar(i); + // The most special cases are handled first. + if (par.isInset(i)) { + Inset const * ins = par.getInset(i); + Dimension dim = bv_->coordCache().insets().dim(ins); + row.add(i, ins, dim, *fi, par.lookupChange(i)); + } else if (c == ' ' && i + 1 == body_pos) { + // There is a space at i, but it should not be + // added as a separator, because it is just + // before body_pos. Instead, insert some spacing to + // align text + FontMetrics const & fm = theFontMetrics(text_->labelFont(par)); + // this is needed to make sure that the row width is correct + row.finalizeLast(); + int const add = max(fm.width(par.layout().labelsep), + labelEnd(pit) - row.width()); + row.addSpace(i, add, *fi, par.lookupChange(i)); + } else if (c == '\t') + row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")), + *fi, par.lookupChange(i)); + else if (c == 0x2028 || c == 0x2029) { + /** + * U+2028 LINE SEPARATOR + * U+2029 PARAGRAPH SEPARATOR + + * These are special unicode characters that break + * lines/pragraphs. Not handling them lead to trouble wrt + * Qt QTextLayout formatting. We add a visible character + * on screen so that the user can see that something is + * happening. + */ + row.finalizeLast(); + // ??? U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS + // ?? U+00B6 PILCROW SIGN + char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6; + row.add(i, screen_char, *fi, par.lookupChange(i)); + } else + row.add(i, c, *fi, par.lookupChange(i)); + + // add inline completion width + // draw logically behind the previous character + if (ic_pos == i + 1 && !bv_->inlineCompletion().empty()) { + docstring const comp = bv_->inlineCompletion(); + size_t const uniqueTo =bv_->inlineCompletionUniqueChars(); + Font f = *fi; + + if (uniqueTo > 0) { + f.fontInfo().setColor(Color_inlinecompletion); + row.addVirtual(i + 1, comp.substr(0, uniqueTo), f, Change()); + } + f.fontInfo().setColor(Color_nonunique_inlinecompletion); + row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change()); + } + + ++i; + ++fi; + } + row.finalizeLast(); + row.endpos(end); + + // End of paragraph marker. The logic here is almost the + // same as in redoParagraph, remember keep them in sync. + ParagraphList const & pars = text_->paragraphs(); + Change const & change = par.lookupChange(i); + if ((lyxrc.paragraph_markers || change.changed()) + && i == end && size_type(pit + 1) < pars.size()) { + // add a virtual element for the end-of-paragraph + // marker; it is shown on screen, but does not exist + // in the paragraph. + Font f(text_->layoutFont(pit)); + f.fontInfo().setColor(Color_paragraphmarker); + f.setLanguage(par.getParLanguage(buf.params())); + // ?? U+00B6 PILCROW SIGN + row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change); + } + + return row; +} + + /** This is the function where the hard work is done. The code here is * very sensitive to small changes :) Note that part of the * intelligence is also in Row::shortenIfNeeded. */ bool TextMetrics::breakRow(Row & row, int const right_margin) const { - LATTEST(row.empty()); - Paragraph const & par = text_->getPar(row.pit()); - Buffer const & buf = text_->inset().buffer(); - BookmarksSection::BookmarkPosList bpl = - theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id()); + LATTEST(row.empty());// + Paragraph const & par = text_->getPar(row.pit());// + Buffer const & buf = text_->inset().buffer();// + BookmarksSection::BookmarkPosList bpl =// + theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());// - pos_type const end = par.size(); + pos_type const end = par.size();// pos_type const pos = row.pos(); - pos_type const body_pos = par.beginOfBody(); + pos_type const body_pos = par.beginOfBody();// bool const is_rtl = text_->isRTL(row.pit()); bool need_new_row = false; @@ -897,14 +1018,14 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const int const width = max_width_ - row.right_margin; // check for possible inline completion - DocIterator const & ic_it = bv_->inlineCompletionPos(); - pos_type ic_pos = -1; - if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit()) - ic_pos = ic_it.pos(); + DocIterator const & ic_it = bv_->inlineCompletionPos();// + pos_type ic_pos = -1;// + if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit())// + ic_pos = ic_it.pos();// // Now we iterate through until we reach the right margin // or the end of the par, then build a representation of the row. - pos_type i = pos; + pos_type i = pos;//---------------------------------------------------vvv FontIterator fi = FontIterator(*this, par, row.pit(), pos); // The real stopping condition is a few lines below. while (true) { @@ -921,7 +1042,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const // The stopping condition is here so that the display of a // bookmark can take place at paragraph start too. - if (i >= end || (i != pos && row.width() > width)) + if (i >= end || (i != pos && row.width() > width))//^width break; char_type c = par.getChar(i); @@ -976,8 +1097,9 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const } f.fontInfo().setColor(Color_nonunique_inlinecompletion); row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change()); - } + }//---------------------------------------------------------------^^^ + // FIXME: Handle when breaking the rows // Handle some situations that abruptly terminate the row // - Before an inset with BreakBefore // - After an inset with BreakAfter @@ -1002,6 +1124,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const ++i; ++fi; } + //--------------------------------------------------------------------vvv row.finalizeLast(); row.endpos(i); @@ -1010,7 +1133,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const ParagraphList const & pars = text_->paragraphs(); Change const & change = par.lookupChange(i); if ((lyxrc.paragraph_markers || change.changed()) - && !need_new_row + && !need_new_row // not this && i == end && size_type(row.pit() + 1) < pars.size()) { // add a virtual element for the end-of-paragraph // marker; it is shown on screen, but does not exist @@ -1025,6 +1148,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const // Is there a end-of-paragaph change? if (i == end && par.lookupChange(end).changed() && !need_new_row) row.needsChangeBar(true); + //--------------------------------------------------------------------^^^ + // FIXME : nothing below this // if the row is too large, try to cut at last separator. In case // of success, reset indication that the row was broken abruptly. diff --git a/src/TextMetrics.h b/src/TextMetrics.h index 1501250..1666cd0 100644 --- a/src/TextMetrics.h +++ b/src/TextMetrics.h @@ -151,6 +151,8 @@ private: /// FIXME?? int labelEnd(pit_type const pit) const; + Row tokenizeParagraph(pit_type pit) const; + /// sets row.end to the pos value *after* which a row should break. /// for example, the pos after which isNewLine(pos) == true /// \return true when another row is required (after a newline) commit 9583695827aaa691e570ece37ecee227cd411dd2 Author: Jean-Marc Lasgouttes Date: Sun Jul 11 15:33:33 2021 +0200 Small Row cleanups Move declaration of RowList to Row.h Move initialization of POD members of Row and Row::Element to declaration. Make method isVirtual() depend on type. Add new row element type INVALID and method isValid() Make methods R::E::left/right_pos inline. Add method R::E::splitAt() that returns an element containing the remaining stuff, or an invalid element if nothing was split. breakAt is now a simple wrapper around this function. Add method R::push_back(). diff --git a/src/ParagraphMetrics.h b/src/ParagraphMetrics.h index 9889473..1d690aa 100644 --- a/src/ParagraphMetrics.h +++ b/src/ParagraphMetrics.h @@ -20,17 +20,8 @@ #include "Dimension.h" #include "Row.h" -#include - namespace lyx { -/** - * Each paragraph is broken up into a number of rows on the screen. - * This is a list of such on-screen rows, ordered from the top row - * downwards. - */ -typedef std::vector RowList; - class BufferView; class Paragraph; diff --git a/src/Row.cpp b/src/Row.cpp index 2f6db3d..da2d885 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -124,53 +124,43 @@ pos_type Row::Element::x2pos(int &x) const x = 0; i = isRTL(); } + break; + case INVALID: + LYXERR0("x2pos: INVALID row element !"); } //lyxerr << "=> p=" << pos + i << " x=" << x << endl; return pos + i; } -bool Row::Element::breakAt(int w, bool force) +Row::Element Row::Element::splitAt(int w, bool force) { if (type != STRING) - return false; + return Element(); FontMetrics const & fm = theFontMetrics(font); dim.wid = w; int const i = fm.breakAt(str, dim.wid, isRTL(), force); if (i != -1) { + Element ret(STRING, pos + i, font, change); + ret.str = str.substr(i); + ret.endpos = ret.pos + ret.str.length(); str.erase(i); endpos = pos + i; //lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl; + return ret; } - return i != - 1; + return Element(); } -pos_type Row::Element::left_pos() const -{ - return isRTL() ? endpos : pos; -} - - -pos_type Row::Element::right_pos() const +bool Row::Element::breakAt(int w, bool force) { - return isRTL() ? pos : endpos; + return splitAt(w, force).isValid(); } -Row::Row() - : separator(0), label_hfill(0), left_margin(0), right_margin(0), - sel_beg(-1), sel_end(-1), - begin_margin_sel(false), end_margin_sel(false), - changed_(true), - pit_(0), pos_(0), end_(0), - right_boundary_(false), flushed_(false), rtl_(false), - changebar_(false) -{} - - bool Row::isMarginSelected(bool left, DocIterator const & beg, DocIterator const & end) const { @@ -262,6 +252,9 @@ ostream & operator<<(ostream & os, Row::Element const & e) case Row::SPACE: os << "SPACE: "; break; + case Row::INVALID: + os << "INVALID: "; + break; } os << "width=" << e.full_width(); return os; @@ -443,6 +436,13 @@ void Row::addSpace(pos_type const pos, int const width, } +void Row::push_back(Row::Element const & e) +{ + dim_.wid += e.dim.wid; + elements_.push_back(e); +} + + void Row::pop_back() { dim_.wid -= elements_.back().dim.wid; diff --git a/src/Row.h b/src/Row.h index b54a233..3048cf1 100644 --- a/src/Row.h +++ b/src/Row.h @@ -49,7 +49,9 @@ public: // An inset INSET, // Some spacing described by its width, not a string - SPACE + SPACE, + // Something that should not happen (for error handling) + INVALID }; /** @@ -57,9 +59,12 @@ public: * by other methods that need to parse the Row contents. */ struct Element { + // + Element() = default; + // Element(Type const t, pos_type p, Font const & f, Change const & ch) - : type(t), pos(p), endpos(p + 1), inset(0), - extra(0), font(f), change(ch), final(false) {} + : type(t), pos(p), endpos(p + 1), font(f), change(ch) {} + // Return the number of separator in the element (only STRING type) int countSeparators() const; @@ -86,40 +91,49 @@ public: * adjusted to the actual pixel position. */ pos_type x2pos(int &x) const; + /** Break the element in two if possible, so that its width is less + * than \param w. + * \return an element containing the remainder of the text, or + * an invalid element if nothing happened. + * \param w: the desired maximum width + * \param force: if true, the string is cut at any place, otherwise it + * respects the row breaking rules of characters. + */ + Element splitAt(int w, bool force); /** Break the element if possible, so that its width is less * than \param w. Returns true on success. When \param force - * is true, the string is cut at any place, other wise it + * is true, the string is cut at any place, otherwise it * respects the row breaking rules of characters. */ bool breakAt(int w, bool force); - // Returns the position on left side of the element. - pos_type left_pos() const; - // Returns the position on right side of the element. - pos_type right_pos() const; - // bool isRTL() const { return font.isVisibleRightToLeft(); } // This is true for virtual elements. - // Note that we do not use the type here. The two definitions - // should be equivalent - bool isVirtual() const { return pos == endpos; } + bool isVirtual() const { return type == VIRTUAL; } + // Invalid element, for error handling + bool isValid() const { return type !=INVALID; } + + // Returns the position on left side of the element. + pos_type left_pos() const { return isRTL() ? endpos : pos; }; + // Returns the position on right side of the element. + pos_type right_pos() const { return isRTL() ? pos : endpos; }; // The kind of row element - Type type; + Type type = INVALID; // position of the element in the paragraph - pos_type pos; + pos_type pos = 0; // first position after the element in the paragraph - pos_type endpos; + pos_type endpos = 0; // The dimension of the chunk (does not contains the // separator correction) Dimension dim; // Non-zero only if element is an inset - Inset const * inset; + Inset const * inset = nullptr; // Only non-null for justified rows - double extra; + double extra = 0; // Non-empty if element is a string or is virtual docstring str; @@ -128,14 +142,15 @@ public: // Change change; // is it possible to add contents to this element? - bool final; + bool final = false; friend std::ostream & operator<<(std::ostream & os, Element const & row); }; /// - Row(); + Row() {} + /** * Helper function: set variable \c var to value \c val, and mark * row as changed is the values were different. This is intended @@ -264,7 +279,9 @@ public: Element & back() { return elements_.back(); } /// Element const & back() const { return elements_.back(); } - /// remove last element + /// add element at the end and update width + void push_back(Element const &); + /// remove last element and update width void pop_back(); /** * if row width is too large, remove all elements after last @@ -301,21 +318,21 @@ public: friend std::ostream & operator<<(std::ostream & os, Row const & row); /// additional width for separators in justified rows (i.e. space) - double separator; + double separator = 0; /// width of hfills in the label - double label_hfill; + double label_hfill = 0; /// the left margin position of the row - int left_margin; + int left_margin = 0; /// the right margin of the row - int right_margin; + int right_margin = 0; /// - mutable pos_type sel_beg; + mutable pos_type sel_beg = -1; /// - mutable pos_type sel_end; + mutable pos_type sel_end = -1; /// - mutable bool begin_margin_sel; + mutable bool begin_margin_sel = false; /// - mutable bool end_margin_sel; + mutable bool end_margin_sel = false; private: /// Decides whether the margin is selected. @@ -340,28 +357,35 @@ private: Elements elements_; /// has the Row appearance changed since last drawing? - mutable bool changed_; + mutable bool changed_ = true; /// Index of the paragraph that contains this row - pit_type pit_; + pit_type pit_ = 0; /// first pos covered by this row - pos_type pos_; + pos_type pos_ = 0; /// one behind last pos covered by this row - pos_type end_; + pos_type end_ = 0; // Is there a boundary at the end of the row (display inset...) - bool right_boundary_; + bool right_boundary_ = false; // Shall the row be flushed when it is supposed to be justified? - bool flushed_; + bool flushed_ = false; /// Row dimension. Dimension dim_; /// Row contents dimension. Does not contain the space above/below row. Dimension contents_dim_; /// true when this row lives in a right-to-left paragraph - bool rtl_; + bool rtl_ = false; /// true when a changebar should be drawn in the margin - bool changebar_; + bool changebar_ = false; }; +/** + * Each paragraph is broken up into a number of rows on the screen. + * This is a list of such on-screen rows, ordered from the top row + * downwards. + */ +typedef std::vector RowList; + } // namespace lyx #endif diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index 400b7b6..656f89a 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -565,6 +565,10 @@ void RowPainter::paintText() case Row::SPACE: paintTextDecoration(e); + break; + + case Row::INVALID: + LYXERR0("Trying to paint INVALID row element."); } // The markings of foreign languages commit 740c7437506d1124b91aef7bcdd3dd313343d7a6 Author: Jean-Marc Lasgouttes Date: Sat Jul 10 23:21:27 2021 +0200 Change FontMetrics::breakAt to return a position Since we intend to break the row element in two, it is not good to truncate the string too early. Moreover, the row element width is now set at this point, even if no breaking occurs. diff --git a/src/Row.cpp b/src/Row.cpp index 16ae9ae..2f6db3d 100644 --- a/src/Row.cpp +++ b/src/Row.cpp @@ -132,19 +132,19 @@ pos_type Row::Element::x2pos(int &x) const bool Row::Element::breakAt(int w, bool force) { - if (type != STRING || dim.wid <= w) + if (type != STRING) return false; FontMetrics const & fm = theFontMetrics(font); - int x = w; - if(fm.breakAt(str, x, isRTL(), force)) { - dim.wid = x; - endpos = pos + str.length(); + dim.wid = w; + int const i = fm.breakAt(str, dim.wid, isRTL(), force); + if (i != -1) { + str.erase(i); + endpos = pos + i; //lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl; - return true; } - return false; + return i != - 1; } diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h index 2a6ffea..b562ebf 100644 --- a/src/frontends/FontMetrics.h +++ b/src/frontends/FontMetrics.h @@ -122,13 +122,14 @@ public: */ virtual int x2pos(docstring const & s, int & x, bool rtl, double ws) const = 0; /** - * Break string at width at most x. - * \return true if successful + * Break string s at width at most x. + * \return break position (-1 if not successful) + * \param position x is updated to real width * \param rtl is true for right-to-left layout * \param force is false for breaking at word separator, true for * arbitrary position. */ - virtual bool breakAt(docstring & s, int & x, bool rtl, bool force) const = 0; + virtual int breakAt(docstring const & s, int & x, bool rtl, bool force) const = 0; /// return char dimension for the font. virtual Dimension const dimension(char_type c) const = 0; /** diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp index 5e8f535..25bf7a4 100644 --- a/src/frontends/qt/GuiFontMetrics.cpp +++ b/src/frontends/qt/GuiFontMetrics.cpp @@ -533,7 +533,7 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, tl.endLayout(); int const line_wid = iround(line.horizontalAdvance()); if ((force && line.textLength() == offset) || line_wid > x) - return {-1, -1}; + return {-1, line_wid}; /* Since QString is UTF-16 and docstring is UCS-4, the offsets may * not be the same when there are high-plan unicode characters * (bug #10443). @@ -557,6 +557,9 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x, --len; LASSERT(len > 0 || qlen == 0, /**/); #endif + // si la cha??ne est d??j?? trop courte, on ne coupe pas + if (len == static_cast(s.length())) + len = -1; return {len, line_wid}; } @@ -568,7 +571,7 @@ uint qHash(BreakAtKey const & key) } -bool GuiFontMetrics::breakAt(docstring & s, int & x, bool const rtl, bool const force) const +int GuiFontMetrics::breakAt(docstring const & s, int & x, bool const rtl, bool const force) const { PROFILE_THIS_BLOCK(breakAt); if (s.empty()) @@ -583,11 +586,8 @@ bool GuiFontMetrics::breakAt(docstring & s, int & x, bool const rtl, bool const pp = breakAt_helper(s, x, rtl, force); breakat_cache_.insert(key, pp, sizeof(key) + s.size() * sizeof(char_type)); } - if (pp.first == -1) - return false; - s = s.substr(0, pp.first); x = pp.second; - return true; + return pp.first; } diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h index 9c7ce89..ef8588a 100644 --- a/src/frontends/qt/GuiFontMetrics.h +++ b/src/frontends/qt/GuiFontMetrics.h @@ -77,7 +77,7 @@ public: int signedWidth(docstring const & s) const override; int pos2x(docstring const & s, int pos, bool rtl, double ws) const override; int x2pos(docstring const & s, int & x, bool rtl, double ws) const override; - bool breakAt(docstring & s, int & x, bool rtl, bool force) const override; + int breakAt(docstring const & s, int & x, bool rtl, bool force) const override; Dimension const dimension(char_type c) const override; void rectText(docstring const & str, commit 2311f42f4183b968ed0166c4dae1b5f0df00439b Author: Jean-Marc Lasgouttes Date: Fri Nov 19 10:21:55 2021 +0100 Make primary-selection unknown when not supported This lfun will not appear in menus anymore in macOS and Windows. Part of bug #12436. diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index 254060e..a4856bf 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -3417,7 +3417,7 @@ void LyXAction::init() /*! * \var lyx::FuncCode lyx::LFUN_PRIMARY_SELECTION_PASTE * \li Action: Pastes the currently selected text. - * \li Notion: Primary selection mechanism is linux-only thing. + * \li Notion: Primary selection mechanism is X11/Wayland-only thing. * \li Syntax: primary-selection-paste [] * \li Params: : "paragraph" will cause pasting as one paragraph, i.e. "Join lines". * \endvar diff --git a/src/Text3.cpp b/src/Text3.cpp index c8483fe..8257452 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -3437,6 +3437,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, break; case LFUN_PRIMARY_SELECTION_PASTE: + status.setUnknown(!theSelection().supported()); enable = cur.selection() || !theSelection().empty(); break; diff --git a/src/frontends/Selection.h b/src/frontends/Selection.h index 10d1698..931cb44 100644 --- a/src/frontends/Selection.h +++ b/src/frontends/Selection.h @@ -28,6 +28,11 @@ public: virtual ~Selection() {} /** + * Returns true if the underlying system supports mouse selection + * (basically X11 and Wayland). + */ + virtual bool supported() const = 0; + /** * Tell the window system whether we set or cleared our selection. * This is a noop on systems that don't have a selection. * This should be called by the kernel whenever a selection is diff --git a/src/frontends/qt/GuiSelection.h b/src/frontends/qt/GuiSelection.h index 57515cc..c79f4fe 100644 --- a/src/frontends/qt/GuiSelection.h +++ b/src/frontends/qt/GuiSelection.h @@ -34,6 +34,7 @@ public: /** Selection overloaded methods */ //@{ + bool supported() const override { return selection_supported_; } void haveSelection(bool own) override; docstring const get() const override; void put(docstring const & str) override; commit b0983e1c5a20ef6c07c3f9c03e301843da159c78 Author: Jean-Marc Lasgouttes Date: Sun Nov 14 19:14:31 2021 +0100 Fixup 3aab9ad2: improve UndoGroupHelper docs again. diff --git a/src/Undo.h b/src/Undo.h index bdcf954..fbfb9e7 100644 --- a/src/Undo.h +++ b/src/Undo.h @@ -130,18 +130,18 @@ private: /** Helper class to simplify the use of undo groups across several buffers. * - * The undo group is created when the object is instantiated; it is - * then ended as the object goes out of scope or the buffer is reset - * (see below) + * The undo group is open when the object is instantiated or when + * the buffer is reset; it is then ended as the object goes out of + * scope (see below) */ class UndoGroupHelper { public: - // Create a new undo group for buffer \c buf. + // Begin a new undo group for buffer \c buf. UndoGroupHelper(Buffer * buf); - // End all created undo groups. + // End all active undo groups. ~UndoGroupHelper(); - // Create an additional undo group for buffer \c buf. + // Begin if needed an undo group for buffer \c buf. void resetBuffer(Buffer * buf); private: commit 741d055eba0a062d551ecafc16ab8b8d3b8a5e66 Author: Jean-Marc Lasgouttes Date: Sat Nov 13 19:24:05 2021 +0100 Fixup 1cbbe5c3: fix scrollbar with page down It turns out that the fix was not correct. The right thing to do is to recompte metrics only when screen has moved. Fixes bug #12144. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index e4b7102..25b33b9 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1909,7 +1909,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) cur.setCursor(doc_iterator_begin(cur.buffer())); cur.selHandle(false); // Force an immediate computation of metrics because we need it below - updateMetrics(); + if (scrolled) + processUpdateFlags(Update::Force); d->text_metrics_[&buffer_.text()].editXY(cur, p.x_, p.y_, true, act == LFUN_SCREEN_UP); commit 3aab9ad25edcd527868f8f2b8a26262255952966 Author: Jean-Marc Lasgouttes Date: Fri Nov 12 16:47:41 2021 +0100 Fix documentation of UndoGroupHelper diff --git a/src/Undo.h b/src/Undo.h index 887f762..bdcf954 100644 --- a/src/Undo.h +++ b/src/Undo.h @@ -130,19 +130,18 @@ private: /** Helper class to simplify the use of undo groups across several buffers. * - * The undo group is created when the object is instanciated; it is + * The undo group is created when the object is instantiated; it is * then ended as the object goes out of scope or the buffer is reset * (see below) */ class UndoGroupHelper { public: + // Create a new undo group for buffer \c buf. UndoGroupHelper(Buffer * buf); - + // End all created undo groups. ~UndoGroupHelper(); - /** Close the current undo group if necessary and create a new one - * for buffer \c buf. - */ + // Create an additional undo group for buffer \c buf. void resetBuffer(Buffer * buf); private: commit 16ce82d4f9f89b57cfa69f469b087c2805018d57 Author: Juergen Spitzmueller Date: Fri Nov 12 16:40:46 2021 +0100 Fix Bullets panel (#12429) diff --git a/src/frontends/qt/BulletsModule.cpp b/src/frontends/qt/BulletsModule.cpp index 3d6ad9c..0572f67 100644 --- a/src/frontends/qt/BulletsModule.cpp +++ b/src/frontends/qt/BulletsModule.cpp @@ -206,7 +206,7 @@ void BulletsModule::setupPanel(QListWidget * lw, QString const & panelname, QPixmap pixmap = getPixmap("images/" + toqstr(folder) + "/", toqstr(iconname), "svgz"); QIcon icon(pixmap); icon.addPixmap(getSelectedPixmap(pixmap, icon_size), QIcon::Selected); - QListWidgetItem * lwi = new QListWidgetItem(icon, QString()); + QListWidgetItem * lwi = new QListWidgetItem(icon, QString(), 0, i); lwi->setToolTip(toqstr(Bullet::bulletEntry(font, i))); lwi->setSizeHint(icon_size); lw->addItem(lwi); commit 20fd104cf28dfe49f97b21d8c7a615fd97a17faa Author: Kornel Benko Date: Fri Nov 12 13:29:22 2021 +0100 FindAdv: Added handling of 0x019b diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp index 86cf64d..4310d16 100644 --- a/src/lyxfind.cpp +++ b/src/lyxfind.cpp @@ -1525,6 +1525,7 @@ void static fillMissingUnicodesymbols() addAccents("\\textdiv", getutf8(0x00f7)); addAccents("\\div", getutf8(0x00f7)); addAccents("\\o", getutf8(0x00f8)); + addAccents("\\textcrlambda", getutf8(0x019b)); addAccents("\\j", getutf8(0x0237)); addAccents("\\textalpha", getutf8(0x03b1)); addAccents("\\alpha", getutf8(0x03b1)); commit ea475c0ce6636f02244fe8142a8d77dd1493f4e5 Author: Juergen Spitzmueller Date: Fri Nov 12 11:43:11 2021 +0100 Support 0x019b via tipa (#12426) diff --git a/lib/unicodesymbols b/lib/unicodesymbols index 0e3c3a4..043f4dc 100644 --- a/lib/unicodesymbols +++ b/lib/unicodesymbols @@ -315,7 +315,7 @@ #0x0198 "" "" "" # LATIN CAPITAL LETTER K WITH HOOK #0x0199 "" "" "" # LATIN SMALL LETTER K WITH HOOK #0x019a "" "" "" # LATIN SMALL LETTER L WITH BAR -#0x019b "" "" "" # LATIN SMALL LETTER LAMBDA WITH STROKE +0x019b "\\textcrlambda" "tipa" "force" # LATIN SMALL LETTER LAMBDA WITH STROKE #0x019c "" "" "" # LATIN CAPITAL LETTER TURNED M #0x019d "" "" "" # LATIN CAPITAL LETTER N WITH LEFT HOOK #0x019e "" "" "" # LATIN SMALL LETTER N WITH LONG RIGHT LEG commit 76b04bd85f3b112cf40b627d21f527ea522d3527 Author: jpc Date: Fri Nov 5 17:52:44 2021 +0100 Update fr.po diff --git a/po/fr.gmo b/po/fr.gmo index 03e8b11..092bd3d 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 94df3e3..7f7e4a5 100644 --- a/po/fr.po +++ b/po/fr.po @@ -362,8 +362,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-11-01 11:08+0100\n" -"PO-Revision-Date: 2021-11-01 11:16+0100\n" +"POT-Creation-Date: 2021-11-05 17:50+0100\n" +"PO-Revision-Date: 2021-11-05 17:52+0100\n" "Last-Translator: Jean-Pierre Chr??tien \n" "Language-Team: lyxfr\n" "Language: fr\n" @@ -1114,13 +1114,13 @@ msgstr "Ajouter &tout" #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 #: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2825 src/frontends/qt/GuiView.cpp:3057 -#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3095 -#: src/frontends/qt/GuiView.cpp:3197 src/frontends/qt/GuiView.cpp:3242 -#: src/frontends/qt/GuiView.cpp:3297 src/frontends/qt/GuiView.cpp:3531 -#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3647 -#: src/frontends/qt/GuiView.cpp:3672 src/frontends/qt/GuiView.cpp:4376 -#: src/frontends/qt/GuiView.cpp:4383 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:2835 src/frontends/qt/GuiView.cpp:3067 +#: src/frontends/qt/GuiView.cpp:3091 src/frontends/qt/GuiView.cpp:3105 +#: src/frontends/qt/GuiView.cpp:3207 src/frontends/qt/GuiView.cpp:3252 +#: src/frontends/qt/GuiView.cpp:3307 src/frontends/qt/GuiView.cpp:3541 +#: src/frontends/qt/GuiView.cpp:3555 src/frontends/qt/GuiView.cpp:3657 +#: src/frontends/qt/GuiView.cpp:3682 src/frontends/qt/GuiView.cpp:4386 +#: src/frontends/qt/GuiView.cpp:4393 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Annuler" @@ -1958,7 +1958,7 @@ msgid "Restrict search to whole words only" msgstr "Restreindre la recherche aux mots complets seulement" #: src/frontends/qt/ui/FindAndReplaceUi.ui:153 -#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:101 +#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:102 msgid "Wh&ole words" msgstr "Mots com&plets" @@ -5599,11 +5599,11 @@ msgstr "&< Rechercher" msgid "Replace all occurrences" msgstr "Remplacer toutes les occurrences" -#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:203 +#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:206 msgid "Hide replace and option widgets" msgstr "Cacher les vignettes Remplacer et Options" -#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:202 +#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:205 msgid "&Minimize" msgstr "&Minimiser" @@ -5639,7 +5639,7 @@ msgstr "Rechercher l'occurrence suivante (Entr??e)" msgid "Treat uppercase/lowercase writing as distinct" msgstr "Distinguer majuscules/minuscules" -#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:99 +#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:100 msgid "&Case sensitive[[search]]" msgstr "Selon la &casse" @@ -5651,7 +5651,7 @@ msgstr "Mots complets seulement" msgid "Limit search and replace to selection" msgstr "Limiter rechercher/remplacer ?? la s??lection" -#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:103 +#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:104 msgid "Selection onl&y" msgstr "S??lection &uniquement" @@ -5659,7 +5659,7 @@ msgstr "S??lection &uniquement" msgid "If this is checked, LyX will search forward immediately" msgstr "Si la case est coch??e, LyX cherchera vers l'avant imm??diatement" -#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:105 +#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:106 msgid "Search as yo&u type" msgstr "Chercher pendant la &saisie" @@ -5669,7 +5669,7 @@ msgstr "" "Continuer automatiquement la recherche si le d??but ou la fin du document est " "atteint" -#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:107 +#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:108 msgid "&Wrap" msgstr "&R??cursion" @@ -6503,8 +6503,8 @@ msgstr "Seulement le corps" msgid "Select the output format" msgstr "S??lectionner le format de sortie" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3672 -#: src/frontends/qt/GuiView.cpp:4376 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3682 +#: src/frontends/qt/GuiView.cpp:4386 msgid "&Reload" msgstr "&Recharger" @@ -27134,7 +27134,7 @@ msgstr "MS Word Office Open XML|O" msgid "Table (CSV)" msgstr "Tableau (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1618 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1628 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -27686,8 +27686,8 @@ msgid "Overwrite modified file?" msgstr "??craser le fichier modifi?? ?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2825 -#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3197 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2835 +#: src/frontends/qt/GuiView.cpp:3104 src/frontends/qt/GuiView.cpp:3207 msgid "&Overwrite" msgstr "??&craser" @@ -27929,7 +27929,7 @@ msgstr "La branche ?? %1$s ?? existe d??j??." msgid "Error viewing the output file." msgstr "Erreur lors de l'affichage du fichier imprimable." -#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2656 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2666 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" @@ -28016,7 +28016,7 @@ msgstr "" msgid "Couldn't export file" msgstr "Exportation du fichier impossible" -#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2798 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2808 msgid "File name error" msgstr "Erreur de nom de fichier" @@ -28034,7 +28034,7 @@ msgstr "" "devriez enregistrer le fichier dans un r??pertoire dont le chemin d'acc??s ne " "contient pas d'espaces." -#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:859 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:869 msgid "Document export cancelled." msgstr "Export du document annul??." @@ -28483,7 +28483,7 @@ msgid "This portion of the document is deleted." msgstr "Cette portion du document est supprim??e." #: src/BufferView.cpp:1191 src/BufferView.cpp:2253 -#: src/frontends/qt/GuiView.cpp:4246 src/frontends/qt/GuiView.cpp:4334 +#: src/frontends/qt/GuiView.cpp:4256 src/frontends/qt/GuiView.cpp:4344 msgid "Absolute filename expected." msgstr "Chemin absolu requis." @@ -29024,24 +29024,24 @@ msgid "added text (output)" msgstr "texte ajout?? (en sortie)" #: src/Color.cpp:327 -msgid "added text (workarea, 1st author)" -msgstr "texte ajout?? (zone de travail, auteur 1)" +msgid "changed text (workarea, 1st author)" +msgstr "texte modifi?? (zone de travail, auteur 1)" #: src/Color.cpp:328 -msgid "added text (workarea, 2nd author)" -msgstr "texte ajout?? (zone de travail, auteur 2)" +msgid "changed text (workarea, 2nd author)" +msgstr "texte modifi?? (zone de travail, auteur 2)" #: src/Color.cpp:329 -msgid "added text (workarea, 3rd author)" -msgstr "texte ajout?? (zone de travail, auteur 3)" +msgid "changed text (workarea, 3rd author)" +msgstr "texte modifi?? (zone de travail, auteur 3)" #: src/Color.cpp:330 -msgid "added text (workarea, 4th author)" -msgstr "texte ajout?? (zone de travail, auteur 4)" +msgid "changed text (workarea, 4th author)" +msgstr "texte modifi?? (zone de travail, auteur 4)" #: src/Color.cpp:331 -msgid "added text (workarea, 5th author)" -msgstr "texte ajout?? (zone de travail, auteur 5)" +msgid "changed text (workarea, 5th author)" +msgstr "texte modifi?? (zone de travail, auteur 5)" #: src/Color.cpp:332 msgid "deleted text modifier (workarea)" @@ -29502,7 +29502,7 @@ msgstr "&Conserver le fichier" msgid "Overwrite &all" msgstr "??craser &tout" -#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:779 +#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:789 msgid "&Cancel export" msgstr "&Annuler l'exportation" @@ -29620,7 +29620,7 @@ msgstr "Nom propre %1$s, " msgid "Cannot view file" msgstr "Visionnement du fichier impossible" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3936 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3946 #, c-format msgid "File does not exist: %1$s" msgstr "Fichier inexistant : %1$s" @@ -30656,7 +30656,7 @@ msgstr "LyX VC : message de journal" msgid "(no log message)" msgstr "(aucun message de journal)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3799 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3809 msgid "LyX VC: Log Message" msgstr "LyX VC : Message de journal" @@ -30677,7 +30677,7 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Revenir ?? la version enregistr??e du document ?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4383 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4393 msgid "&Revert" msgstr "&Revenir ?? la Sauvegarde" @@ -31037,7 +31037,7 @@ msgstr "V??rifiez si le paquetage RCS GNU est install?? sur votre syst??me." #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3715 src/frontends/qt/GuiView.cpp:3758 +#: src/frontends/qt/GuiView.cpp:3725 src/frontends/qt/GuiView.cpp:3768 msgid "Revision control error." msgstr "Erreur de contr??le de version." @@ -31292,7 +31292,7 @@ msgstr "" "Le document %1$s est d??j?? charg?? et a ??t?? modifi??.\n" "Voulez-vous revenir ?? la version enregistr??e et ignorer vos modifications ?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4374 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4384 msgid "Reload saved document?" msgstr "Revenir ?? la sauvegarde ?" @@ -31654,7 +31654,7 @@ msgstr "Commande d??sactiv??e" msgid "Bad debug value `%1$s'." msgstr "Valeur de d??bogage incorrecte ?? %1$s ??." -#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2153 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2163 msgid "Command not allowed without a buffer open" msgstr "Commande non autoris??e si aucun tampon n'est ouvert" @@ -31921,9 +31921,9 @@ msgstr "toutes les entit??s de r??f??rences" #: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 #: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374 -#: src/frontends/qt/GuiView.cpp:2565 src/frontends/qt/GuiView.cpp:2624 -#: src/frontends/qt/GuiView.cpp:2764 src/frontends/qt/GuiView.cpp:2898 -#: src/frontends/qt/GuiView.cpp:3018 src/frontends/qt/GuiView.cpp:3140 +#: src/frontends/qt/GuiView.cpp:2575 src/frontends/qt/GuiView.cpp:2634 +#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2908 +#: src/frontends/qt/GuiView.cpp:3028 src/frontends/qt/GuiView.cpp:3150 msgid "D&ocuments" msgstr "Documents|u" @@ -32283,10 +32283,10 @@ msgstr "Fichiers %1$s" msgid "Choose a filename to save the pasted graphic as" msgstr "Choisir le nom de fichier sous lequel enregistrer le graphique coll??" -#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2642 -#: src/frontends/qt/GuiView.cpp:2783 src/frontends/qt/GuiView.cpp:2799 -#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2828 -#: src/frontends/qt/GuiView.cpp:2913 src/frontends/qt/GuiView.cpp:4346 +#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2652 +#: src/frontends/qt/GuiView.cpp:2793 src/frontends/qt/GuiView.cpp:2809 +#: src/frontends/qt/GuiView.cpp:2821 src/frontends/qt/GuiView.cpp:2838 +#: src/frontends/qt/GuiView.cpp:2923 src/frontends/qt/GuiView.cpp:4356 msgid "Canceled." msgstr "Annul??." @@ -32316,8 +32316,8 @@ msgid "Select document" msgstr "S??lectionner le document" #: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367 -#: src/frontends/qt/GuiView.cpp:2569 src/frontends/qt/GuiView.cpp:2628 -#: src/frontends/qt/GuiView.cpp:2902 src/frontends/qt/GuiView.cpp:3029 +#: src/frontends/qt/GuiView.cpp:2579 src/frontends/qt/GuiView.cpp:2638 +#: src/frontends/qt/GuiView.cpp:2912 src/frontends/qt/GuiView.cpp:3039 msgid "LyX Documents (*.lyx)" msgstr "Documents LyX (*.lyx)" @@ -33743,17 +33743,17 @@ msgstr "" msgid "Select example file" msgstr "Choisir le fichier d'exemple" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2625 -#: src/frontends/qt/GuiView.cpp:2765 src/frontends/qt/GuiView.cpp:2899 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2635 +#: src/frontends/qt/GuiView.cpp:2775 src/frontends/qt/GuiView.cpp:2909 msgid "&Examples" msgstr "&Exemples" -#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2564 +#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2574 msgid "Select template file" msgstr "Choisir le mod??le" -#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2566 -#: src/frontends/qt/GuiView.cpp:3019 +#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2576 +#: src/frontends/qt/GuiView.cpp:3029 msgid "&Templates" msgstr "&Mod??les" @@ -33879,7 +33879,7 @@ msgstr "" "En principe, vous n'avez pas ?? le modifier puisqu'on utilise la plus grande " "largeur d'??tiquette de tous les ??l??ments." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3297 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3307 msgid "&Close" msgstr "&Fermer" @@ -34199,43 +34199,43 @@ msgstr "Revenir ?? la position initiale du curseur" msgid "" msgstr "" -#: src/frontends/qt/GuiSearch.cpp:191 +#: src/frontends/qt/GuiSearch.cpp:194 msgid "Ex&pand" msgstr "D??&ployer" -#: src/frontends/qt/GuiSearch.cpp:192 +#: src/frontends/qt/GuiSearch.cpp:195 msgid "Show replace and option widgets" msgstr "Montrer les vignettes Remplacer et Options" -#: src/frontends/qt/GuiSearch.cpp:251 +#: src/frontends/qt/GuiSearch.cpp:254 msgid "Active options:" msgstr "Options actives :" -#: src/frontends/qt/GuiSearch.cpp:254 +#: src/frontends/qt/GuiSearch.cpp:257 msgid "Case sensitive search" msgstr "Selon la &casse" -#: src/frontends/qt/GuiSearch.cpp:272 +#: src/frontends/qt/GuiSearch.cpp:275 msgid "Whole words only" msgstr "Mots comp&lets uniquement" -#: src/frontends/qt/GuiSearch.cpp:289 +#: src/frontends/qt/GuiSearch.cpp:292 msgid "Search only in selection" msgstr "Rechercher uniquement dans la s??lection" -#: src/frontends/qt/GuiSearch.cpp:306 +#: src/frontends/qt/GuiSearch.cpp:309 msgid "Search as you type" msgstr "Chercher pendant la saisie" -#: src/frontends/qt/GuiSearch.cpp:323 +#: src/frontends/qt/GuiSearch.cpp:326 msgid "Wrap search" msgstr "Recherche r??cursive" -#: src/frontends/qt/GuiSearch.cpp:345 +#: src/frontends/qt/GuiSearch.cpp:348 msgid "Click here to change search options" msgstr "Cliquer ici pour changer les options de recherche" -#: src/frontends/qt/GuiSearch.cpp:556 +#: src/frontends/qt/GuiSearch.cpp:569 msgid "Search and Replace" msgstr "Rechercher et remplacer" @@ -34678,15 +34678,15 @@ msgstr "" "Niveau de zoom de la fen??tre de travail. Faire glisser, utiliser Ctrl-+/- ou " "Maj-Molette pour ajuster." -#: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 -#: src/frontends/qt/GuiView.cpp:959 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:800 +#: src/frontends/qt/GuiView.cpp:969 src/frontends/qt/Menus.cpp:1843 #: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 #: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 #: src/frontends/qt/Menus.cpp:1863 msgid "[[ZOOM]]%1$d%" msgstr "%1$d%" -#: src/frontends/qt/GuiView.cpp:696 +#: src/frontends/qt/GuiView.cpp:706 msgid "" "WARNING: LaTeX is allowed to execute external commands for this document. " "Right click to change." @@ -34694,112 +34694,112 @@ msgstr "" "AVERTISSEMENT : LaTeX peut ex??cuter des commandes externes dans ce " "document. Faites un clic droit pour changer." -#: src/frontends/qt/GuiView.cpp:775 +#: src/frontends/qt/GuiView.cpp:785 msgid "Cancel Export?" msgstr "&Annuler l'exportation ?" -#: src/frontends/qt/GuiView.cpp:776 +#: src/frontends/qt/GuiView.cpp:786 msgid "Do you want to cancel the background export process?" msgstr "Voulez-vous arr??ter le processus d'exportation en arri??re-plan ?" -#: src/frontends/qt/GuiView.cpp:779 +#: src/frontends/qt/GuiView.cpp:789 msgid "Co&ntinue" msgstr "&Continuer" -#: src/frontends/qt/GuiView.cpp:856 +#: src/frontends/qt/GuiView.cpp:866 #, c-format msgid "Successful export to format: %1$s" msgstr "Succ??s de l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:865 +#: src/frontends/qt/GuiView.cpp:875 #, c-format msgid "Error while exporting format: %1$s" msgstr "Erreur ?? l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:868 +#: src/frontends/qt/GuiView.cpp:878 #, c-format msgid "Successful preview of format: %1$s" msgstr "Succ??s de l'aper??u du format : %1$s" -#: src/frontends/qt/GuiView.cpp:871 +#: src/frontends/qt/GuiView.cpp:881 #, c-format msgid "Error while previewing format: %1$s" msgstr "Erreur au visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:874 +#: src/frontends/qt/GuiView.cpp:884 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Conversion annul??e pendant le visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:1224 +#: src/frontends/qt/GuiView.cpp:1234 msgid "Exit LyX" msgstr "Quitter LyX" -#: src/frontends/qt/GuiView.cpp:1225 +#: src/frontends/qt/GuiView.cpp:1235 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "Impossible de fermer LyX, des documents sont en cours de traitement." -#: src/frontends/qt/GuiView.cpp:1373 +#: src/frontends/qt/GuiView.cpp:1383 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (modifi?? par une application externe)" -#: src/frontends/qt/GuiView.cpp:1496 +#: src/frontends/qt/GuiView.cpp:1506 msgid "Welcome to LyX!" msgstr "Bienvenue dans LyX !" -#: src/frontends/qt/GuiView.cpp:2033 +#: src/frontends/qt/GuiView.cpp:2043 msgid "Automatic save done." msgstr "Sauvegarde automatique effective." -#: src/frontends/qt/GuiView.cpp:2034 +#: src/frontends/qt/GuiView.cpp:2044 msgid "Automatic save failed!" msgstr "La sauvegarde automatique a ??chou?? !" -#: src/frontends/qt/GuiView.cpp:2090 +#: src/frontends/qt/GuiView.cpp:2100 msgid "Command not allowed without any document open" msgstr "Commande non autoris??e si aucun document n'est ouvert" -#: src/frontends/qt/GuiView.cpp:2159 +#: src/frontends/qt/GuiView.cpp:2169 msgid "Invalid argument of master-buffer-forall" msgstr "Argument invalide pour la commande master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2277 +#: src/frontends/qt/GuiView.cpp:2287 msgid "Function toolbar-set requires two arguments!" msgstr "La fonction toolbar-set n??cessite deux arguments !" -#: src/frontends/qt/GuiView.cpp:2284 +#: src/frontends/qt/GuiView.cpp:2294 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !" -#: src/frontends/qt/GuiView.cpp:2300 src/frontends/qt/GuiView.cpp:2313 -#: src/frontends/qt/GuiView.cpp:2330 +#: src/frontends/qt/GuiView.cpp:2310 src/frontends/qt/GuiView.cpp:2323 +#: src/frontends/qt/GuiView.cpp:2340 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Barre d'outils inconnue \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2450 src/frontends/qt/GuiView.cpp:2463 +#: src/frontends/qt/GuiView.cpp:2460 src/frontends/qt/GuiView.cpp:2473 msgid "Zoom level cannot be less than %1$d%." msgstr "Le niveau de zoom ne peut ??tre inf??rieur ?? %1$d%." -#: src/frontends/qt/GuiView.cpp:2593 +#: src/frontends/qt/GuiView.cpp:2603 msgid "Document not loaded." msgstr "Le document n'a pas ??t?? charg??." -#: src/frontends/qt/GuiView.cpp:2623 +#: src/frontends/qt/GuiView.cpp:2633 msgid "Select document to open" msgstr "Choisir le document ?? ouvrir" -#: src/frontends/qt/GuiView.cpp:2629 +#: src/frontends/qt/GuiView.cpp:2639 msgid "LyX Document Backups (*.lyx~)" msgstr "Sauvegardes des documents LyX (*.lyx~)" -#: src/frontends/qt/GuiView.cpp:2630 +#: src/frontends/qt/GuiView.cpp:2640 msgid "All Files (*.*)" msgstr "Tous les fichiers (*.*)" -#: src/frontends/qt/GuiView.cpp:2657 +#: src/frontends/qt/GuiView.cpp:2667 #, c-format msgid "" "The directory in the given path\n" @@ -34810,40 +34810,40 @@ msgstr "" "%1$s\n" "n'existe pas." -#: src/frontends/qt/GuiView.cpp:2674 +#: src/frontends/qt/GuiView.cpp:2684 #, c-format msgid "Opening document %1$s..." msgstr "Ouverture du document %1$s..." -#: src/frontends/qt/GuiView.cpp:2679 +#: src/frontends/qt/GuiView.cpp:2689 #, c-format msgid "Document %1$s opened." msgstr "Document %1$s ouvert." -#: src/frontends/qt/GuiView.cpp:2682 +#: src/frontends/qt/GuiView.cpp:2692 msgid "Version control detected." msgstr "Contr??le de version d??tect??." -#: src/frontends/qt/GuiView.cpp:2684 +#: src/frontends/qt/GuiView.cpp:2694 #, c-format msgid "Could not open document %1$s" msgstr "Impossible d'ouvrir le document %1$s" -#: src/frontends/qt/GuiView.cpp:2712 +#: src/frontends/qt/GuiView.cpp:2722 msgid "Couldn't import file" msgstr "Impossible d'importer le fichier" -#: src/frontends/qt/GuiView.cpp:2713 +#: src/frontends/qt/GuiView.cpp:2723 #, c-format msgid "No information for importing the format %1$s." msgstr "Pas d'information pour importer le format %1$s." -#: src/frontends/qt/GuiView.cpp:2760 +#: src/frontends/qt/GuiView.cpp:2770 #, c-format msgid "Select %1$s file to import" msgstr "Choisir le fichier %1$s ?? importer" -#: src/frontends/qt/GuiView.cpp:2795 +#: src/frontends/qt/GuiView.cpp:2805 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34852,8 +34852,8 @@ msgstr "" "Le nom de fichier ????%1$s ?? n'est pas valide !\n" "Importation interrompue." -#: src/frontends/qt/GuiView.cpp:2822 src/frontends/qt/GuiView.cpp:3089 -#: src/frontends/qt/GuiView.cpp:3192 +#: src/frontends/qt/GuiView.cpp:2832 src/frontends/qt/GuiView.cpp:3099 +#: src/frontends/qt/GuiView.cpp:3202 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34864,33 +34864,33 @@ msgstr "" "\n" "Voulez-vous ??crire par dessus ce document ?" -#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:3093 -#: src/frontends/qt/GuiView.cpp:3196 +#: src/frontends/qt/GuiView.cpp:2834 src/frontends/qt/GuiView.cpp:3103 +#: src/frontends/qt/GuiView.cpp:3206 msgid "Overwrite document?" msgstr "??craser le document ?" -#: src/frontends/qt/GuiView.cpp:2833 +#: src/frontends/qt/GuiView.cpp:2843 #, c-format msgid "Importing %1$s..." msgstr "Importe %1$s..." -#: src/frontends/qt/GuiView.cpp:2836 +#: src/frontends/qt/GuiView.cpp:2846 msgid "imported." msgstr "import??." -#: src/frontends/qt/GuiView.cpp:2838 +#: src/frontends/qt/GuiView.cpp:2848 msgid "file not imported!" msgstr "fichier non import?? !" -#: src/frontends/qt/GuiView.cpp:2864 +#: src/frontends/qt/GuiView.cpp:2874 msgid "newfile" msgstr "nouveau" -#: src/frontends/qt/GuiView.cpp:2897 +#: src/frontends/qt/GuiView.cpp:2907 msgid "Select LyX document to insert" msgstr "Choisir le document ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:2944 +#: src/frontends/qt/GuiView.cpp:2954 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34903,23 +34903,23 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2949 +#: src/frontends/qt/GuiView.cpp:2959 msgid "Create Language Directory?" msgstr "Cr??er un r??pertoire de langue ?" -#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 +#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991 msgid "&Yes, Create" msgstr "&Oui, cr??er" -#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 +#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991 msgid "&No, Save Template in Parent Directory" msgstr "&Non, enregistrer le mod??le dans le r??pertoire parent" -#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:2984 +#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994 msgid "Subdirectory creation failed!" msgstr "??chec de la cr??ation du sous-r??pertoire !" -#: src/frontends/qt/GuiView.cpp:2954 src/frontends/qt/GuiView.cpp:2985 +#: src/frontends/qt/GuiView.cpp:2964 src/frontends/qt/GuiView.cpp:2995 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34927,7 +34927,7 @@ msgstr "" "Impossible de cr??er le sous-r??pertoire.\n" "Le mod??le sera enregistr?? dans le r??pertoire parent." -#: src/frontends/qt/GuiView.cpp:2975 +#: src/frontends/qt/GuiView.cpp:2985 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34940,19 +34940,19 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2980 +#: src/frontends/qt/GuiView.cpp:2990 msgid "Create Category Directory?" msgstr "Cr??er un r??pertoire de cat??gorie ?" -#: src/frontends/qt/GuiView.cpp:3015 +#: src/frontends/qt/GuiView.cpp:3025 msgid "Choose a filename to save template as" msgstr "Choisir le nom du fichier sous lequel enregistrer le mod??le" -#: src/frontends/qt/GuiView.cpp:3016 +#: src/frontends/qt/GuiView.cpp:3026 msgid "Choose a filename to save document as" msgstr "Choisir le nom sous lequel enregistrer le fichier" -#: src/frontends/qt/GuiView.cpp:3052 +#: src/frontends/qt/GuiView.cpp:3062 #, c-format msgid "" "The file\n" @@ -34967,17 +34967,17 @@ msgstr "" "Merci de le fermer avant d'essayer de l'??craser.\n" "Vouez-vous d??finir un nouveau nom de fichier ?" -#: src/frontends/qt/GuiView.cpp:3056 +#: src/frontends/qt/GuiView.cpp:3066 msgid "Chosen File Already Open" msgstr "Fichier s??lectionn?? d??j?? ouvert" -#: src/frontends/qt/GuiView.cpp:3057 src/frontends/qt/GuiView.cpp:3079 -#: src/frontends/qt/GuiView.cpp:3095 src/frontends/qt/GuiView.cpp:3197 -#: src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3067 src/frontends/qt/GuiView.cpp:3089 +#: src/frontends/qt/GuiView.cpp:3105 src/frontends/qt/GuiView.cpp:3207 +#: src/frontends/qt/GuiView.cpp:3252 msgid "&Rename" msgstr "&Renommer" -#: src/frontends/qt/GuiView.cpp:3072 +#: src/frontends/qt/GuiView.cpp:3082 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34988,27 +34988,27 @@ msgstr "" "\n" "Voulez-vous choisir un nouveau nom ?" -#: src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3087 msgid "Rename document?" msgstr "Renommer le document ?" -#: src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3087 msgid "Copy document?" msgstr "Copier le document ?" -#: src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3089 msgid "&Copy" msgstr "&Copier" -#: src/frontends/qt/GuiView.cpp:3139 +#: src/frontends/qt/GuiView.cpp:3149 msgid "Choose a filename to export the document as" msgstr "Choisir le nom sous lequel exporter le fichier" -#: src/frontends/qt/GuiView.cpp:3143 +#: src/frontends/qt/GuiView.cpp:3153 msgid "Guess from extension (*.*)" msgstr "Deviner ?? partir du suffixe (*.*)" -#: src/frontends/qt/GuiView.cpp:3238 +#: src/frontends/qt/GuiView.cpp:3248 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -35019,15 +35019,15 @@ msgstr "" "\n" "Voulez-vous renommer le document et essayer ?? nouveau ?" -#: src/frontends/qt/GuiView.cpp:3241 +#: src/frontends/qt/GuiView.cpp:3251 msgid "Rename and save?" msgstr "Renommer et enregistrer ?" -#: src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3252 msgid "&Retry" msgstr "&R??essayer" -#: src/frontends/qt/GuiView.cpp:3287 +#: src/frontends/qt/GuiView.cpp:3297 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -35045,24 +35045,24 @@ msgstr "" "Les documents cach??s peuvent ??tre r??-affich??s via\n" "Affichage->Cach??->...\n" -#: src/frontends/qt/GuiView.cpp:3296 +#: src/frontends/qt/GuiView.cpp:3306 msgid "Close or hide document?" msgstr "Fermer ou cacher le document ?" -#: src/frontends/qt/GuiView.cpp:3297 +#: src/frontends/qt/GuiView.cpp:3307 msgid "&Hide" msgstr "&Cacher" -#: src/frontends/qt/GuiView.cpp:3394 +#: src/frontends/qt/GuiView.cpp:3404 msgid "Close document" msgstr "Fermer le document" -#: src/frontends/qt/GuiView.cpp:3395 +#: src/frontends/qt/GuiView.cpp:3405 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Impossible de fermer le document, il est en cours de traitement par LyX." -#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3642 +#: src/frontends/qt/GuiView.cpp:3537 src/frontends/qt/GuiView.cpp:3652 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35073,16 +35073,16 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:3645 +#: src/frontends/qt/GuiView.cpp:3540 src/frontends/qt/GuiView.cpp:3655 msgid "Save new document?" msgstr "Enregistrer le nouveau document ?" -#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3545 -#: src/frontends/qt/GuiView.cpp:3647 +#: src/frontends/qt/GuiView.cpp:3541 src/frontends/qt/GuiView.cpp:3555 +#: src/frontends/qt/GuiView.cpp:3657 msgid "&Save" msgstr "&Enregistrer" -#: src/frontends/qt/GuiView.cpp:3536 +#: src/frontends/qt/GuiView.cpp:3546 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35093,7 +35093,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou ignorer ces modifications ?" -#: src/frontends/qt/GuiView.cpp:3539 +#: src/frontends/qt/GuiView.cpp:3549 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35104,19 +35104,19 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou bien l'abandonner enti??rement ?" -#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3639 +#: src/frontends/qt/GuiView.cpp:3553 src/frontends/qt/GuiView.cpp:3649 msgid "Save changed document?" msgstr "Enregistrer le document modifi?? ?" -#: src/frontends/qt/GuiView.cpp:3543 +#: src/frontends/qt/GuiView.cpp:3553 msgid "Save document?" msgstr "Enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3545 +#: src/frontends/qt/GuiView.cpp:3555 msgid "&Discard" msgstr "I&gnorer" -#: src/frontends/qt/GuiView.cpp:3636 +#: src/frontends/qt/GuiView.cpp:3646 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35127,7 +35127,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3668 +#: src/frontends/qt/GuiView.cpp:3678 #, c-format msgid "" "Document \n" @@ -35139,37 +35139,37 @@ msgstr "" "a ??t?? modifi?? par une application externe. Le recharger maintenant ? Toutes " "les modifications locales seront perdues." -#: src/frontends/qt/GuiView.cpp:3671 +#: src/frontends/qt/GuiView.cpp:3681 msgid "Reload externally changed document?" msgstr "Recharger le document modifi?? par une application externe ?" -#: src/frontends/qt/GuiView.cpp:3716 +#: src/frontends/qt/GuiView.cpp:3726 msgid "Document could not be checked in." msgstr "Impossible d'enregistrer les changements." -#: src/frontends/qt/GuiView.cpp:3759 +#: src/frontends/qt/GuiView.cpp:3769 msgid "Error when setting the locking property." msgstr "Erreur lors du positionnement de la propri??t?? de verrouillage." -#: src/frontends/qt/GuiView.cpp:3808 +#: src/frontends/qt/GuiView.cpp:3818 msgid "Directory is not accessible." msgstr "R??pertoire inaccessible." -#: src/frontends/qt/GuiView.cpp:3885 +#: src/frontends/qt/GuiView.cpp:3895 #, c-format msgid "Opening child document %1$s..." msgstr "Ouverture du sous-document %1$s..." -#: src/frontends/qt/GuiView.cpp:3943 +#: src/frontends/qt/GuiView.cpp:3953 #, c-format msgid "No buffer for file: %1$s." msgstr "Pas de tampon pour le fichier : %1$s." -#: src/frontends/qt/GuiView.cpp:3953 +#: src/frontends/qt/GuiView.cpp:3963 msgid "Inverse Search Failed" msgstr "??chec de la recherche invers??e" -#: src/frontends/qt/GuiView.cpp:3954 +#: src/frontends/qt/GuiView.cpp:3964 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -35177,35 +35177,35 @@ msgstr "" "Position requise par la recherche invers??e invalide.\n" "Vous devriez peut-??tre mettre ?? jour le document dans la visionneuse." -#: src/frontends/qt/GuiView.cpp:4034 +#: src/frontends/qt/GuiView.cpp:4044 msgid "Export Error" msgstr "Exporter l'erreur" -#: src/frontends/qt/GuiView.cpp:4035 +#: src/frontends/qt/GuiView.cpp:4045 msgid "Error cloning the Buffer." msgstr "Erreur lors du clonage du tampon." -#: src/frontends/qt/GuiView.cpp:4186 src/frontends/qt/GuiView.cpp:4206 +#: src/frontends/qt/GuiView.cpp:4196 src/frontends/qt/GuiView.cpp:4216 msgid "Exporting ..." msgstr "Exportation en cours..." -#: src/frontends/qt/GuiView.cpp:4215 +#: src/frontends/qt/GuiView.cpp:4225 msgid "Previewing ..." msgstr "Visionnement en cours..." -#: src/frontends/qt/GuiView.cpp:4253 +#: src/frontends/qt/GuiView.cpp:4263 msgid "Document not loaded" msgstr "Le document n'a pas ??t?? charg??" -#: src/frontends/qt/GuiView.cpp:4340 +#: src/frontends/qt/GuiView.cpp:4350 msgid "Select file to insert" msgstr "Choisir le fichier ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:4343 +#: src/frontends/qt/GuiView.cpp:4353 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: src/frontends/qt/GuiView.cpp:4371 +#: src/frontends/qt/GuiView.cpp:4381 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -35214,7 +35214,7 @@ msgstr "" "La version actuelle sera perdue. ??tes-vous s??r de vouloir revenir ?? la " "derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4378 +#: src/frontends/qt/GuiView.cpp:4388 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -35223,61 +35223,61 @@ msgstr "" "Toutes les modifications seront perdues. ??tes-vous s??r de vouloir revenir ?? " "la derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4381 +#: src/frontends/qt/GuiView.cpp:4391 msgid "Revert to saved document?" msgstr "Revenir ?? la sauvegarde du document ?" -#: src/frontends/qt/GuiView.cpp:4398 +#: src/frontends/qt/GuiView.cpp:4408 msgid "Buffer export reset." msgstr "RaZ exportation du tampon." -#: src/frontends/qt/GuiView.cpp:4421 +#: src/frontends/qt/GuiView.cpp:4431 msgid "Saving all documents..." msgstr "Enregistrement de tous les documents..." -#: src/frontends/qt/GuiView.cpp:4431 +#: src/frontends/qt/GuiView.cpp:4441 msgid "All documents saved." msgstr "Tous les documents sont enregistr??s." -#: src/frontends/qt/GuiView.cpp:4470 +#: src/frontends/qt/GuiView.cpp:4480 msgid "Developer mode is now enabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant actif." -#: src/frontends/qt/GuiView.cpp:4472 +#: src/frontends/qt/GuiView.cpp:4482 msgid "Developer mode is now disabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant inactif." -#: src/frontends/qt/GuiView.cpp:4504 +#: src/frontends/qt/GuiView.cpp:4514 msgid "Toolbars unlocked." msgstr "Barres d'outils d??verrouill??es." -#: src/frontends/qt/GuiView.cpp:4506 +#: src/frontends/qt/GuiView.cpp:4516 msgid "Toolbars locked." msgstr "Barres d'outils verrouill??es." -#: src/frontends/qt/GuiView.cpp:4518 +#: src/frontends/qt/GuiView.cpp:4528 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Taille d'ic??ne r??gl??e ?? %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4607 +#: src/frontends/qt/GuiView.cpp:4617 #, c-format msgid "%1$s unknown command!" msgstr "%1$s : commande inconnue !" -#: src/frontends/qt/GuiView.cpp:4711 +#: src/frontends/qt/GuiView.cpp:4721 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)" -#: src/frontends/qt/GuiView.cpp:4770 +#: src/frontends/qt/GuiView.cpp:4780 msgid "Please, preview the document first." msgstr "Merci d'afficher d'abord un aper??u du document." -#: src/frontends/qt/GuiView.cpp:4786 +#: src/frontends/qt/GuiView.cpp:4796 msgid "Couldn't proceed." msgstr "Impossible de poursuivre." -#: src/frontends/qt/GuiView.cpp:5141 +#: src/frontends/qt/GuiView.cpp:5151 msgid "Disable Shell Escape" msgstr "D??sactiver shell escape" commit a90c5f202eb94615d959067ddefa6c795570775a Author: Juergen Spitzmueller Date: Fri Nov 5 14:50:39 2021 +0100 Fix crash when closing LyX with open Search pane diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index e3e1d8f..b071d61 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -422,7 +422,8 @@ void GuiSearchWidget::hideEvent(QHideEvent *) dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); // update toolbar status - bv_->buffer().updateBuffer(); + if (bv_) + bv_->buffer().updateBuffer(); } commit 1e711f902acbd59dac5f10e9daa714beb9c5880f Author: Juergen Spitzmueller Date: Wed Nov 3 17:41:41 2021 +0100 Address Qt6 deprecation warnings diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 075369b..e3e1d8f 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -580,7 +580,11 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags void GuiSearch::mousePressEvent(QMouseEvent * event) { if (isFloating() && event->button() == Qt::LeftButton) { +#if QT_VERSION >= 0x060000 + dragPosition = event->globalPosition().toPoint() - frameGeometry().topLeft(); +#else dragPosition = event->globalPos() - frameGeometry().topLeft(); +#endif event->accept(); } else DockView::mousePressEvent(event); @@ -590,7 +594,11 @@ void GuiSearch::mousePressEvent(QMouseEvent * event) void GuiSearch::mouseMoveEvent(QMouseEvent * event) { if (isFloating() && event->buttons() & Qt::LeftButton) { +#if QT_VERSION >= 0x060000 + move(event->globalPosition().toPoint() - dragPosition); +#else move(event->globalPos() - dragPosition); +#endif event->accept(); } else DockView::mouseMoveEvent(event); commit b60853ff0d0ecba48c93b87ea3588cfd7f20af32 Author: Juergen Spitzmueller Date: Wed Nov 3 12:35:38 2021 +0100 Fix most stupid thinko of mine diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 4b02518..075369b 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -151,7 +151,7 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev) if (ev->key() == Qt::Key_Escape) { dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); - dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); + bv_->buffer().updateBuffer(); return; } @@ -417,12 +417,12 @@ void GuiSearchWidget::showEvent(QShowEvent * e) } -void GuiSearchWidget::hideEvent(QHideEvent * e) +void GuiSearchWidget::hideEvent(QHideEvent *) { - QWidget::hideEvent(e); + dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); view_.setFocus(); // update toolbar status - dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); + bv_->buffer().updateBuffer(); } commit de637cdbcbeba44d5fc58e3ba9b75c2eb8919bfc Author: Juergen Spitzmueller Date: Tue Nov 2 16:28:40 2021 +0100 Amend 59b8c209c41d QFontMetrics::width() is no longer valid in Qt6 diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 65d51cf..1101b89 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -648,7 +648,11 @@ GuiView::GuiView(int id) zoom_slider_->setToolTip(qt_("Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust.")); // Buttons to change zoom stepwise +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + QSize s(fm.horizontalAdvance('+'), fm.height()); +#else QSize s(fm.width('+'), fm.height()); +#endif zoom_in_ = new GuiClickableLabel(statusBar()); zoom_in_->setText("+"); zoom_in_->setFixedSize(s); commit 59b8c209c41d4f02448460486bb497aa6f7d9587 Author: Daniel Ramoeller Date: Tue Nov 2 08:08:29 2021 +0100 Use labels for zoom slider buttons Fix for bug #12301. Also: fixes the width and alignment of the zoom value label. diff --git a/src/frontends/qt/GuiClickableLabel.cpp b/src/frontends/qt/GuiClickableLabel.cpp index 31a5be5..311755d 100644 --- a/src/frontends/qt/GuiClickableLabel.cpp +++ b/src/frontends/qt/GuiClickableLabel.cpp @@ -11,6 +11,8 @@ #include "GuiClickableLabel.h" +#include + namespace lyx { namespace frontend { @@ -22,8 +24,8 @@ GuiClickableLabel::~GuiClickableLabel() {} void GuiClickableLabel::mouseReleaseEvent(QMouseEvent *) { - Q_EMIT clicked(); - } + Q_EMIT clicked(); +} } } diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 1068bdd..65d51cf 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -648,14 +648,15 @@ GuiView::GuiView(int id) zoom_slider_->setToolTip(qt_("Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust.")); // Buttons to change zoom stepwise - zoom_in_ = new QPushButton(statusBar()); + QSize s(fm.width('+'), fm.height()); + zoom_in_ = new GuiClickableLabel(statusBar()); zoom_in_->setText("+"); - zoom_in_->setFlat(true); - zoom_in_->setFixedSize(QSize(fm.height(), fm.height())); - zoom_out_ = new QPushButton(statusBar()); + zoom_in_->setFixedSize(s); + zoom_in_->setAlignment(Qt::AlignCenter); + zoom_out_ = new GuiClickableLabel(statusBar()); zoom_out_->setText(QString(QChar(0x2212))); - zoom_out_->setFixedSize(QSize(fm.height(), fm.height())); - zoom_out_->setFlat(true); + zoom_out_->setFixedSize(s); + zoom_out_->setAlignment(Qt::AlignCenter); statusBar()->addPermanentWidget(zoom_out_); zoom_out_->setEnabled(currentBufferView()); @@ -670,13 +671,18 @@ GuiView::GuiView(int id) connect(zoom_in_, SIGNAL(clicked()), this, SLOT(zoomInPressed())); connect(zoom_out_, SIGNAL(clicked()), this, SLOT(zoomOutPressed())); + // QPalette palette = statusBar()->palette(); + zoom_value_ = new QLabel(statusBar()); + // zoom_value_->setPalette(palette); + zoom_value_->setForegroundRole(statusBar()->foregroundRole()); zoom_value_->setFixedHeight(fm.height()); #if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) - zoom_value_->setMinimumWidth(fm.horizontalAdvance("000%")); + zoom_value_->setMinimumWidth(fm.horizontalAdvance("444\%")); #else - zoom_value_->setMinimumWidth(fm.width("000%")); + zoom_value_->setMinimumWidth(fm.width("444\%")); #endif + zoom_value_->setAlignment(Qt::AlignCenter); zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), zoom))); statusBar()->addPermanentWidget(zoom_value_); zoom_value_->setEnabled(currentBufferView()); diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h index c16b557..145a1f2 100644 --- a/src/frontends/qt/GuiView.h +++ b/src/frontends/qt/GuiView.h @@ -20,6 +20,7 @@ #include "support/strfwd.h" #include +#include #include #include @@ -27,7 +28,6 @@ class QCloseEvent; class QDragEnterEvent; class QDropEvent; class QPushButton; -class QLabel; class QShowEvent; class QSlider; @@ -48,6 +48,7 @@ namespace frontend { class Dialog; class LayoutBox; +class GuiClickableLabel; class GuiToolbar; class GuiWorkArea; class TabWorkArea; @@ -510,9 +511,9 @@ private: /// The zoom slider widget QSlider * zoom_slider_; /// Zoom in ("+") Button - QPushButton * zoom_in_; + GuiClickableLabel * zoom_in_; /// Zoom out ("-") Button - QPushButton * zoom_out_; + GuiClickableLabel * zoom_out_; /// The rate from which the actual zoom value is calculated /// from the default zoom pref commit 464304858392d14c93e53104e2cc3c96be25c4eb Author: Thibaut Cuvelier Date: Tue Nov 2 00:55:24 2021 +0100 DocBook LilyPond: add a comment to indicate that an issue cannot be worked around. diff --git a/lib/scripts/docbook_copy.py b/lib/scripts/docbook_copy.py index 5b5a3f4..186bbe5 100644 --- a/lib/scripts/docbook_copy.py +++ b/lib/scripts/docbook_copy.py @@ -66,6 +66,17 @@ class DocBookCopier: # Fixed by 2.23.4. # FROM: language='lilypond' role='fragment verbatim staffsize=16 ragged-right relative=2' # TO: language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2" + + # Another problem to fix: the output is in XML, with some characters encoded as XML + # entities. For instance, this could be in a LilyPond snippet: + # \new PianoStaff << + # instead of: + # \new PianoStaff << + # (More complete example: + # https://lilypond.org/doc/v2.23/Documentation/learning/piano-centered-lyrics.) + # This issue must be fixed by LilyPond, as any change in this part would make the XML + # file invalid. + # Bug report: https://gitlab.com/lilypond/lilypond/-/issues/6204 with open(self.in_file, 'r', encoding='utf-8') as f, open(self.in_lily_file, 'w', encoding='utf-8') as f_lily: for line in f: if "language='lilypond'" in line: commit 7af2cc0c3b0e3a4ba37393a47f5477e8a6a5479b Author: Kornel Benko Date: Mon Nov 1 18:14:35 2021 +0100 Update sk.po diff --git a/po/sk.po b/po/sk.po index 4d9fa47..0b3739e 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX-2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-29 17:36+0200\n" -"PO-Revision-Date: 2021-10-29 15:44+0000\n" +"POT-Creation-Date: 2021-11-01 16:40+0100\n" +"PO-Revision-Date: 2021-11-01 17:11+0000\n" "Last-Translator: Kornel Benko \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -28432,24 +28432,24 @@ msgid "added text (output)" msgstr "pridan?? tex (v??stup)" #: src/Color.cpp:327 -msgid "added text (workarea, 1st author)" -msgstr "pridan?? text (pracovn?? plocha, 1. autor)" +msgid "changed text (workarea, 1st author)" +msgstr "zmenen?? text (pracovn?? plocha, prv?? autor)" #: src/Color.cpp:328 -msgid "added text (workarea, 2nd author)" -msgstr "pridan?? text (pracovn?? plocha, 2. autor)" +msgid "changed text (workarea, 2nd author)" +msgstr "zmenen?? text (pracovn?? plocha, druh?? autor)" #: src/Color.cpp:329 -msgid "added text (workarea, 3rd author)" -msgstr "pridan?? text (pracovn?? plocha, tret??. autor)" +msgid "changed text (workarea, 3rd author)" +msgstr "zmenen?? text (pracovn?? plocha, tret?? autor)" #: src/Color.cpp:330 -msgid "added text (workarea, 4th author)" -msgstr "pridan?? text (pracovn?? plocha, ??tvrt??. autor)" +msgid "changed text (workarea, 4th author)" +msgstr "zmenen?? text (pracovn?? plocha, ??tvrt?? autor)" #: src/Color.cpp:331 -msgid "added text (workarea, 5th author)" -msgstr "pridan?? text (pracovn?? plocha, piaty. autor)" +msgid "changed text (workarea, 5th author)" +msgstr "zmenen?? text (pracovn?? plocha, piaty autor)" #: src/Color.cpp:332 msgid "deleted text modifier (workarea)" commit 54492d44d6d821a7cb38c39a7e5748752370bb3a Author: Juergen Spitzmueller Date: Mon Nov 1 18:01:40 2021 +0100 de.po diff --git a/po/de.gmo b/po/de.gmo index 0b56cd3..fd73b49 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 3edd532..b072e11 100644 --- a/po/de.po +++ b/po/de.po @@ -94,8 +94,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4git\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-30 17:44+0200\n" -"PO-Revision-Date: 2021-10-30 17:51+0200\n" +"POT-Creation-Date: 2021-11-01 17:59+0100\n" +"PO-Revision-Date: 2021-11-01 18:00+0100\n" "Last-Translator: J??rgen Spitzm??ller \n" "Language-Team: Deutsch \n" "Language: de\n" @@ -668,7 +668,7 @@ msgstr "Dehnen" #: src/frontends/qt/ui/BoxUi.ui:265 src/frontends/qt/ui/ListingsUi.ui:110 #: src/frontends/qt/ui/TabularUi.ui:344 src/frontends/qt/ui/TabularUi.ui:1553 -#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1544 +#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1552 #: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042 msgid "Left" msgstr "Links" @@ -681,7 +681,7 @@ msgstr "Zentriert" #: src/frontends/qt/ui/BoxUi.ui:275 src/frontends/qt/ui/ListingsUi.ui:115 #: src/frontends/qt/ui/TabularUi.ui:354 src/frontends/qt/ui/WrapUi.ui:52 -#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiParagraph.cpp:116 +#: src/frontends/qt/GuiDocument.cpp:1554 src/frontends/qt/GuiParagraph.cpp:116 #: src/frontends/qt/GuiTabular.cpp:1044 msgid "Right" msgstr "Rechts" @@ -844,15 +844,15 @@ msgstr "A&lle hinzuf??gen" #: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458 #: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310 #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2836 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2809 src/frontends/qt/GuiView.cpp:3041 -#: src/frontends/qt/GuiView.cpp:3065 src/frontends/qt/GuiView.cpp:3079 -#: src/frontends/qt/GuiView.cpp:3181 src/frontends/qt/GuiView.cpp:3226 -#: src/frontends/qt/GuiView.cpp:3281 src/frontends/qt/GuiView.cpp:3515 -#: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3631 -#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4360 -#: src/frontends/qt/GuiView.cpp:4367 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:2825 src/frontends/qt/GuiView.cpp:3057 +#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3095 +#: src/frontends/qt/GuiView.cpp:3197 src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3297 src/frontends/qt/GuiView.cpp:3531 +#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3647 +#: src/frontends/qt/GuiView.cpp:3672 src/frontends/qt/GuiView.cpp:4376 +#: src/frontends/qt/GuiView.cpp:4383 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Abbrechen" @@ -890,16 +890,16 @@ msgstr "&Gr????e:" #: src/frontends/qt/GuiCharacter.cpp:85 src/frontends/qt/GuiCharacter.cpp:98 #: src/frontends/qt/GuiCharacter.cpp:136 src/frontends/qt/GuiCharacter.cpp:147 #: src/frontends/qt/GuiCharacter.cpp:190 src/frontends/qt/GuiCharacter.cpp:241 -#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:858 -#: src/frontends/qt/GuiDocument.cpp:878 src/frontends/qt/GuiDocument.cpp:1050 -#: src/frontends/qt/GuiDocument.cpp:1135 src/frontends/qt/GuiDocument.cpp:1181 -#: src/frontends/qt/GuiDocument.cpp:1192 src/frontends/qt/GuiDocument.cpp:1420 -#: src/frontends/qt/GuiDocument.cpp:1538 src/frontends/qt/GuiDocument.cpp:1545 -#: src/frontends/qt/GuiDocument.cpp:2578 src/frontends/qt/GuiDocument.cpp:2665 -#: src/frontends/qt/GuiDocument.cpp:2666 src/frontends/qt/GuiDocument.cpp:2667 -#: src/frontends/qt/GuiDocument.cpp:2687 src/frontends/qt/GuiDocument.cpp:2694 -#: src/frontends/qt/GuiDocument.cpp:2701 src/frontends/qt/GuiDocument.cpp:2791 -#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4882 +#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:866 +#: src/frontends/qt/GuiDocument.cpp:886 src/frontends/qt/GuiDocument.cpp:1058 +#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1189 +#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1428 +#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:1553 +#: src/frontends/qt/GuiDocument.cpp:2586 src/frontends/qt/GuiDocument.cpp:2673 +#: src/frontends/qt/GuiDocument.cpp:2674 src/frontends/qt/GuiDocument.cpp:2675 +#: src/frontends/qt/GuiDocument.cpp:2695 src/frontends/qt/GuiDocument.cpp:2702 +#: src/frontends/qt/GuiDocument.cpp:2709 src/frontends/qt/GuiDocument.cpp:2799 +#: src/frontends/qt/GuiDocument.cpp:3405 src/frontends/qt/GuiDocument.cpp:4890 #: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71 #: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160 #: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479 @@ -1096,7 +1096,7 @@ msgstr "S&prache:" #: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440 #: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482 #: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327 -#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1769 +#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777 #: src/frontends/qt/GuiPrefs.cpp:2426 src/frontends/qt/Menus.cpp:938 msgid "Language" msgstr "Sprache" @@ -1290,7 +1290,7 @@ msgid "Greyed-out notes:" msgstr "Grauschrift-Notizen:" #: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256 -#: src/frontends/qt/GuiDocument.cpp:2207 src/frontends/qt/GuiDocument.cpp:2237 +#: src/frontends/qt/GuiDocument.cpp:2215 src/frontends/qt/GuiDocument.cpp:2245 msgid "&Change..." msgstr "&??nderung..." @@ -1359,7 +1359,7 @@ msgid "Select the document from which the settings should be taken" msgstr "" "W??hlen Sie das Dokument, von dem die Einstellungen ??bernommen werden sollen" -#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:781 +#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:789 msgid "Document Settings" msgstr "Dokument-Einstellungen" @@ -1692,7 +1692,7 @@ msgid "Restrict search to whole words only" msgstr "Suche auf vollst??ndige W??rter beschr??nken" #: src/frontends/qt/ui/FindAndReplaceUi.ui:153 -#: src/frontends/qt/ui/SearchUi.ui:217 src/frontends/qt/GuiSearch.cpp:101 +#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:102 msgid "Wh&ole words" msgstr "Gan&ze W??rter" @@ -1711,7 +1711,7 @@ msgstr "" "Suche n??chsten Treffer (Eingabetaste; r??ckw??rts: Umschalt+Eingabetaste)" #: src/frontends/qt/ui/FindAndReplaceUi.ui:208 -#: src/frontends/qt/ui/SearchUi.ui:172 src/frontends/qt/FindAndReplace.cpp:647 +#: src/frontends/qt/ui/SearchUi.ui:190 src/frontends/qt/FindAndReplace.cpp:647 msgid "Find &>" msgstr "Suchen &>" @@ -1732,7 +1732,7 @@ msgid "Replace all occurrences at once" msgstr "Alle Vorkommen auf einmal ersetzen" #: src/frontends/qt/ui/FindAndReplaceUi.ui:237 -#: src/frontends/qt/ui/SearchUi.ui:50 +#: src/frontends/qt/ui/SearchUi.ui:68 msgid "Replace &All" msgstr "&Alle ersetzen" @@ -2397,8 +2397,8 @@ msgid "Edit the file" msgstr "Die Datei bearbeiten" #: src/frontends/qt/ui/IncludeUi.ui:72 src/frontends/qt/ui/LocalLayoutUi.ui:77 -#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:579 -#: src/frontends/qt/GuiDocument.cpp:751 +#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:578 +#: src/frontends/qt/GuiDocument.cpp:759 msgid "&Edit" msgstr "&Bearbeiten" @@ -3424,7 +3424,7 @@ msgstr "Bilder" #: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63 #: lib/layouts/egs.layout:712 lib/languages:146 -#: src/frontends/qt/GuiDocument.cpp:1599 src/frontends/qt/GuiErrorList.cpp:50 +#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiErrorList.cpp:50 #: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642 msgid "LaTeX" msgstr "LaTeX" @@ -3634,7 +3634,7 @@ msgstr "&Querformat" #: src/frontends/qt/ui/PageLayoutUi.ui:162 #: lib/layouts/customHeadersFooters.module:3 lib/layouts/landscape.module:3 -#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1767 +#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1775 msgid "Page Layout" msgstr "Seitenlayout" @@ -3659,7 +3659,7 @@ msgid "Line &spacing" msgstr "Zeilen&abstand" #: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:2118 -#: src/frontends/qt/GuiDocument.cpp:867 +#: src/frontends/qt/GuiDocument.cpp:875 msgid "Single" msgstr "Einfach" @@ -3668,7 +3668,7 @@ msgid "1.5" msgstr "1,5" #: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:2124 -#: src/frontends/qt/GuiDocument.cpp:871 +#: src/frontends/qt/GuiDocument.cpp:879 msgid "Double" msgstr "Doppelt" @@ -3678,10 +3678,10 @@ msgstr "Doppelt" #: src/frontends/qt/ui/TabularUi.ui:1210 src/frontends/qt/ui/TabularUi.ui:1229 #: src/frontends/qt/ui/TabularUi.ui:1277 src/frontends/qt/ui/VSpaceUi.ui:118 #: lib/layouts/stdcustom.inc:8 src/frontends/qt/FloatPlacement.cpp:185 -#: src/frontends/qt/GuiDocument.cpp:859 src/frontends/qt/GuiDocument.cpp:865 -#: src/frontends/qt/GuiDocument.cpp:873 src/frontends/qt/GuiDocument.cpp:989 -#: src/frontends/qt/GuiDocument.cpp:1056 src/frontends/qt/GuiDocument.cpp:1142 -#: src/frontends/qt/GuiDocument.cpp:1193 src/frontends/qt/GuiDocument.cpp:1539 +#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/GuiDocument.cpp:873 +#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:997 +#: src/frontends/qt/GuiDocument.cpp:1064 src/frontends/qt/GuiDocument.cpp:1150 +#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547 #: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816 #: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871 #: src/frontends/qt/GuiPrefs.cpp:2325 src/frontends/qt/GuiPrefs.cpp:2348 @@ -4492,18 +4492,18 @@ msgstr "" "soll" #: src/frontends/qt/ui/PrefLanguageUi.ui:77 -#: src/frontends/qt/GuiDocument.cpp:1052 src/frontends/qt/GuiDocument.cpp:2708 +#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2716 #: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843 msgid "Automatic" msgstr "Automatisch" #: src/frontends/qt/ui/PrefLanguageUi.ui:82 -#: src/frontends/qt/GuiDocument.cpp:1054 +#: src/frontends/qt/GuiDocument.cpp:1062 msgid "Always Babel" msgstr "Immer Babel" #: src/frontends/qt/ui/PrefLanguageUi.ui:92 -#: src/frontends/qt/GuiDocument.cpp:1058 +#: src/frontends/qt/GuiDocument.cpp:1066 msgid "None[[language package]]" msgstr "Keines" @@ -4678,7 +4678,7 @@ msgid "Default length &unit:" msgstr "Standard-L??ngene&inheit:" #: src/frontends/qt/ui/PrefLanguageUi.ui:348 -#: src/frontends/qt/GuiDocument.cpp:1015 +#: src/frontends/qt/GuiDocument.cpp:1023 msgid "Language Default" msgstr "Sprachvoreinstellung" @@ -5311,90 +5311,90 @@ msgstr "Den Teil der Marke vor \":\" nicht ausgeben" msgid "No Prefix" msgstr "Ohne Pr??fix" -#: src/frontends/qt/ui/SearchUi.ui:34 +#: src/frontends/qt/ui/SearchUi.ui:52 msgid "Find previous occurrence (Shift+Enter)" msgstr "Vorhergehender Treffer (Umschalt+Eingabe)" -#: src/frontends/qt/ui/SearchUi.ui:37 src/frontends/qt/FindAndReplace.cpp:642 +#: src/frontends/qt/ui/SearchUi.ui:55 src/frontends/qt/FindAndReplace.cpp:642 msgid "&< Find" msgstr "&< Suchen" -#: src/frontends/qt/ui/SearchUi.ui:47 +#: src/frontends/qt/ui/SearchUi.ui:65 msgid "Replace all occurrences" msgstr "Alle Vorkommen auf einmal ersetzen" -#: src/frontends/qt/ui/SearchUi.ui:82 src/frontends/qt/GuiSearch.cpp:203 +#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:206 msgid "Hide replace and option widgets" msgstr "Ersetzen-Werkzeuge und Optionen verbergen" -#: src/frontends/qt/ui/SearchUi.ui:85 src/frontends/qt/GuiSearch.cpp:202 +#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:205 msgid "&Minimize" msgstr "&Minimieren" -#: src/frontends/qt/ui/SearchUi.ui:92 +#: src/frontends/qt/ui/SearchUi.ui:110 msgid "Rep&lace with:" msgstr "E&rsetzen durch:" -#: src/frontends/qt/ui/SearchUi.ui:102 +#: src/frontends/qt/ui/SearchUi.ui:120 msgid "&Search:" msgstr "&Suchen:" -#: src/frontends/qt/ui/SearchUi.ui:137 +#: src/frontends/qt/ui/SearchUi.ui:155 msgid "Replace and find next occurrence" msgstr "Ersetze und finde n??chsten Treffer" -#: src/frontends/qt/ui/SearchUi.ui:143 +#: src/frontends/qt/ui/SearchUi.ui:161 msgid "&Replace >" msgstr "Erset&zen >" -#: src/frontends/qt/ui/SearchUi.ui:153 +#: src/frontends/qt/ui/SearchUi.ui:171 msgid "Replace and find previous occurrence" msgstr "Ersetze und finde vorhergehenden Treffer" -#: src/frontends/qt/ui/SearchUi.ui:156 +#: src/frontends/qt/ui/SearchUi.ui:174 msgid "< Re&place" msgstr "< Erse&tzen" -#: src/frontends/qt/ui/SearchUi.ui:166 +#: src/frontends/qt/ui/SearchUi.ui:184 msgid "Find next occurrence (Enter)" msgstr "N??chster Treffer (Eingabe)" -#: src/frontends/qt/ui/SearchUi.ui:204 +#: src/frontends/qt/ui/SearchUi.ui:228 msgid "Treat uppercase/lowercase writing as distinct" msgstr "Gro??- und Kleinschreibung differenzieren" -#: src/frontends/qt/ui/SearchUi.ui:207 src/frontends/qt/GuiSearch.cpp:99 +#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:100 msgid "&Case sensitive[[search]]" msgstr "&Gro??-/Kleinschreibung beachten" -#: src/frontends/qt/ui/SearchUi.ui:214 +#: src/frontends/qt/ui/SearchUi.ui:238 msgid "Match whole words only" msgstr "Nur ganze W??rter suchen" -#: src/frontends/qt/ui/SearchUi.ui:224 +#: src/frontends/qt/ui/SearchUi.ui:248 msgid "Limit search and replace to selection" msgstr "Suchen und Ersetzen auf die Auswahl beschr??nken" -#: src/frontends/qt/ui/SearchUi.ui:227 src/frontends/qt/GuiSearch.cpp:103 +#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:104 msgid "Selection onl&y" msgstr "N&ur Auswahl" -#: src/frontends/qt/ui/SearchUi.ui:234 +#: src/frontends/qt/ui/SearchUi.ui:258 msgid "If this is checked, LyX will search forward immediately" msgstr "" "Wenn dies ausgew??hlt ist, sucht LyX direkt (w??hrend der Eingabe) vorw??rts" -#: src/frontends/qt/ui/SearchUi.ui:237 src/frontends/qt/GuiSearch.cpp:105 +#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:106 msgid "Search as yo&u type" msgstr "Dire&kt suchen" -#: src/frontends/qt/ui/SearchUi.ui:244 +#: src/frontends/qt/ui/SearchUi.ui:268 msgid "If the end/start of the document is reached, automatically wrap around" msgstr "" "Suche von vorne/hinten weiter, wenn das Ende oder der Anfang des Dokuments " "erreicht ist." -#: src/frontends/qt/ui/SearchUi.ui:247 src/frontends/qt/GuiSearch.cpp:107 +#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:108 msgid "&Wrap" msgstr "Mit Schlei&fe" @@ -6167,25 +6167,25 @@ msgstr "Den Abstand auch nach einem Seitenumbruch einf??gen" msgid "DefSkip" msgstr "Standard" -#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:862 +#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:870 msgid "SmallSkip" msgstr "Klein" -#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:863 +#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:871 msgid "MedSkip" msgstr "Mittel" -#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:864 +#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:872 msgid "BigSkip" msgstr "Gro??" #: src/frontends/qt/ui/VSpaceUi.ui:103 src/VSpace.cpp:201 -#: src/frontends/qt/GuiDocument.cpp:860 +#: src/frontends/qt/GuiDocument.cpp:868 msgid "Half line height" msgstr "Halbe Zeilenh??he" #: src/frontends/qt/ui/VSpaceUi.ui:108 src/VSpace.cpp:204 -#: src/frontends/qt/GuiDocument.cpp:861 +#: src/frontends/qt/GuiDocument.cpp:869 msgid "Line height" msgstr "Zeilenh??he" @@ -6229,8 +6229,8 @@ msgstr "Nur Haupttext" msgid "Select the output format" msgstr "Ausgabeformat w??hlen" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3656 -#: src/frontends/qt/GuiView.cpp:4360 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3672 +#: src/frontends/qt/GuiView.cpp:4376 msgid "&Reload" msgstr "Ne&u laden" @@ -7109,7 +7109,7 @@ msgstr "Definition" #: lib/layouts/theorems-without-preamble.inc:240 #: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204 #: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216 -#: src/frontends/qt/GuiDocument.cpp:1346 +#: src/frontends/qt/GuiDocument.cpp:1354 msgid "Example" msgstr "Beispiel" @@ -7653,7 +7653,7 @@ msgstr "Kurztitel f??r den Anhang" #: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657 #: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294 #: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0 -#: src/frontends/qt/GuiDocument.cpp:1773 src/insets/InsetBibtex.cpp:957 +#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957 msgid "Bibliography" msgstr "Literaturverzeichnis" @@ -8227,9 +8227,9 @@ msgstr "Alternative Zugeh??rigkeit:" msgid "And" msgstr "Und" -#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3136 -#: src/frontends/qt/GuiDocument.cpp:3148 src/frontends/qt/GuiDocument.cpp:3274 -#: src/frontends/qt/GuiDocument.cpp:3293 +#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3144 +#: src/frontends/qt/GuiDocument.cpp:3156 src/frontends/qt/GuiDocument.cpp:3282 +#: src/frontends/qt/GuiDocument.cpp:3301 msgid "and" msgstr "und" @@ -12692,8 +12692,8 @@ msgid "Fixme Error" msgstr "Fixme-Fehler" #: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199 -#: src/frontends/qt/GuiDocument.cpp:2849 src/frontends/qt/GuiDocument.cpp:2923 -#: src/frontends/qt/GuiDocument.cpp:4820 +#: src/frontends/qt/GuiDocument.cpp:2857 src/frontends/qt/GuiDocument.cpp:2931 +#: src/frontends/qt/GuiDocument.cpp:4828 msgid "Error" msgstr "Fehler" @@ -17049,7 +17049,7 @@ msgstr "Fu??noten" msgid "Notes" msgstr "Notizen" -#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1780 +#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1788 msgid "Branches" msgstr "Zweige" @@ -17087,7 +17087,7 @@ msgstr "Programmlistings" msgid "List of Listings" msgstr "Verzeichnis der Programmlistings" -#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1778 +#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1786 msgid "Listings[[inset]]" msgstr "Programmlistings" @@ -21954,7 +21954,7 @@ msgid "Fractions" msgstr "Br??che" #: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442 -#: src/frontends/qt/GuiDocument.cpp:1765 +#: src/frontends/qt/GuiDocument.cpp:1773 msgid "Fonts" msgstr "Schriften" @@ -21971,7 +21971,7 @@ msgid "Big operators" msgstr "Gro??e Operatoren" #: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690 -#: src/frontends/qt/GuiDocument.cpp:5157 +#: src/frontends/qt/GuiDocument.cpp:5165 msgid "Miscellaneous" msgstr "Verschiedenes" @@ -26831,7 +26831,7 @@ msgstr "MS-Word Office-Open XML" msgid "Table (CSV)" msgstr "Tabelle (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1602 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1618 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -27025,7 +27025,7 @@ msgstr "Noweb-Fehlerbericht" msgid "LilyPond Book" msgstr "LilyPond-Buch" -#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1763 +#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1771 msgid "Modules" msgstr "Module" @@ -27375,8 +27375,8 @@ msgid "Overwrite modified file?" msgstr "Modifizierte Datei ??berschreiben?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2809 -#: src/frontends/qt/GuiView.cpp:3078 src/frontends/qt/GuiView.cpp:3181 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2825 +#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3197 msgid "&Overwrite" msgstr "&??berschreiben" @@ -27616,7 +27616,7 @@ msgstr "Zweig \"%1$s\" existiert bereits." msgid "Error viewing the output file." msgstr "Fehler bei der Ansicht der Ausgabedatei." -#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2640 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2656 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" @@ -27703,7 +27703,7 @@ msgstr "" msgid "Couldn't export file" msgstr "Die Datei konnte nicht exportiert werden" -#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2782 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2798 msgid "File name error" msgstr "Fehler im Dateinamen" @@ -27720,7 +27720,7 @@ msgstr "" "enth??lt Leerzeichen, aber Ihre TeX-Installation erlaubt dies nicht. Bitte " "speichern Sie Ihr Dokument in einem Verzeichnis ohne Leerzeichen." -#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:848 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:859 msgid "Document export cancelled." msgstr "Der Export des Dokuments wurde abgebrochen." @@ -27992,12 +27992,12 @@ msgid "Document class not available" msgstr "Die Dokumentklasse ist nicht verf??gbar" #: src/BufferParams.cpp:1098 src/Color.cpp:281 -#: src/frontends/qt/GuiDocument.cpp:3526 +#: src/frontends/qt/GuiDocument.cpp:3534 msgid "greyedout inset text" msgstr "Grauschrift-Einf??gungstext" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2992 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:3007 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28008,7 +28008,7 @@ msgid "LyX Warning: " msgstr "LyX-Warnung: " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2993 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:3008 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -28169,7 +28169,7 @@ msgid "This portion of the document is deleted." msgstr "Dieser Teil des Dokuments wird gel??scht." #: src/BufferView.cpp:1191 src/BufferView.cpp:2253 -#: src/frontends/qt/GuiView.cpp:4230 src/frontends/qt/GuiView.cpp:4318 +#: src/frontends/qt/GuiView.cpp:4246 src/frontends/qt/GuiView.cpp:4334 msgid "Absolute filename expected." msgstr "Ein absoluter Dateipfad wird erwartet." @@ -28705,24 +28705,24 @@ msgid "added text (output)" msgstr "Hinzugef??gter Text (Ausgabe)" #: src/Color.cpp:327 -msgid "added text (workarea, 1st author)" -msgstr "Hinzugef??gter Text (Arbeitsbereich, 1. Autor)" +msgid "changed text (workarea, 1st author)" +msgstr "Ge??nderter Text (Arbeitsbereich, 1. Autor)" #: src/Color.cpp:328 -msgid "added text (workarea, 2nd author)" -msgstr "Hinzugef??gter Text (Arbeitsbereich, 2. Autor)" +msgid "changed text (workarea, 2nd author)" +msgstr "Ge??nderter Text (Arbeitsbereich, 2. Autor)" #: src/Color.cpp:329 -msgid "added text (workarea, 3rd author)" -msgstr "Hinzugef??gter Text (Arbeitsbereich, 3. Autor)" +msgid "changed text (workarea, 3rd author)" +msgstr "Ge??nderter Text (Arbeitsbereich, 3. Autor)" #: src/Color.cpp:330 -msgid "added text (workarea, 4th author)" -msgstr "Hinzugef??gter Text (Arbeitsbereich, 4. Autor)" +msgid "changed text (workarea, 4th author)" +msgstr "Ge??nderter Text (Arbeitsbereich, 4. Autor)" #: src/Color.cpp:331 -msgid "added text (workarea, 5th author)" -msgstr "Hinzugef??gter Text (Arbeitsbereich, 5. Autor)" +msgid "changed text (workarea, 5th author)" +msgstr "Ge??nderter Text (Arbeitsbereich, 5. Autor)" #: src/Color.cpp:332 msgid "deleted text modifier (workarea)" @@ -28930,11 +28930,11 @@ msgstr "" "konvertieren.\n" "Definieren Sie einen Konverter in den Einstellungen." -#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1992 +#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:2000 msgid "Pygments driver command not found!" msgstr "Pygments-Treiberbefehl nicht gefunden!" -#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1993 +#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:2001 msgid "" "The driver command necessary to use the minted package\n" "(pygmentize) has not been found. Make sure you have\n" @@ -29210,17 +29210,17 @@ msgid "Number %1$s" msgstr "Nummer %1$s" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148 -#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Roman" msgstr "Serifenschrift" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Sans Serif" msgstr "Serifenlos" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150 -#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Typewriter" msgstr "Schreibmaschine" @@ -29304,7 +29304,7 @@ msgstr "Eigenname %1$s, " msgid "Cannot view file" msgstr "Datei kann nicht betrachtet werden" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3920 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3936 #, c-format msgid "File does not exist: %1$s" msgstr "Die Datei existiert nicht: %1$s" @@ -30365,7 +30365,7 @@ msgstr "LyX-VK: Protokollmeldung" msgid "(no log message)" msgstr "(keine Protokollmeldung)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3783 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3799 msgid "LyX VC: Log Message" msgstr "LyX VK: Protokollmeldung" @@ -30386,7 +30386,7 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Zur gespeicherten Version des Dokuments zur??ckkehren?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4367 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4383 msgid "&Revert" msgstr "&Wiederherstellen" @@ -30475,7 +30475,7 @@ msgstr ", Tiefe: %1$d" msgid ", Spacing: " msgstr ", Abstand: " -#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:869 +#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:877 msgid "OneHalf" msgstr "Eineinhalb" @@ -30726,7 +30726,7 @@ msgstr "Marken und Querverweise" msgid "Broken References and Citations" msgstr "Ung??ltige Literatur- und Querverweise" -#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1762 +#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1770 msgid "Child Documents" msgstr "Unterdokumente" @@ -30750,7 +30750,7 @@ msgstr "Pr??fen Sie, ob das Programm GNU RCS auf Ihrem System installiert ist." #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3699 src/frontends/qt/GuiView.cpp:3742 +#: src/frontends/qt/GuiView.cpp:3715 src/frontends/qt/GuiView.cpp:3758 msgid "Revision control error." msgstr "Fehler der Versionskontrolle." @@ -31015,7 +31015,7 @@ msgstr "" "M??chten Sie die ??nderungen verwerfen und zur gespeicherten Version " "zur??ckkehren?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4358 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4374 msgid "Reload saved document?" msgstr "Gespeichertes Dokument neu laden?" @@ -31201,8 +31201,8 @@ msgstr "" "Eingabetaste)" #: src/frontends/qt/FloatPlacement.cpp:182 -#: src/frontends/qt/GuiDocument.cpp:1141 src/frontends/qt/GuiDocument.cpp:2709 -#: src/frontends/qt/GuiDocument.cpp:2736 +#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2717 +#: src/frontends/qt/GuiDocument.cpp:2744 msgid "Class Default" msgstr "Klassenvoreinstellungen" @@ -31210,7 +31210,7 @@ msgstr "Klassenvoreinstellungen" msgid "Document Default" msgstr "Dokumentvoreinstellung" -#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1777 +#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1785 msgid "Float Settings" msgstr "Gleitobjekt-Einstellungen" @@ -31380,7 +31380,7 @@ msgstr "Befehl ist deaktiviert" msgid "Bad debug value `%1$s'." msgstr "Falscher Debug-Wert ,%1$s'." -#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2137 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2153 msgid "Command not allowed without a buffer open" msgstr "Dieser Befehl ist nur bei ge??ffnetem Dokument m??glich" @@ -31649,12 +31649,12 @@ msgstr "alle Literaturverzeichnisse" #: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466 #: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167 -#: src/frontends/qt/GuiDocument.cpp:2887 src/frontends/qt/GuiExternal.cpp:677 +#: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 #: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374 -#: src/frontends/qt/GuiView.cpp:2549 src/frontends/qt/GuiView.cpp:2608 -#: src/frontends/qt/GuiView.cpp:2748 src/frontends/qt/GuiView.cpp:2882 -#: src/frontends/qt/GuiView.cpp:3002 src/frontends/qt/GuiView.cpp:3124 +#: src/frontends/qt/GuiView.cpp:2565 src/frontends/qt/GuiView.cpp:2624 +#: src/frontends/qt/GuiView.cpp:2764 src/frontends/qt/GuiView.cpp:2898 +#: src/frontends/qt/GuiView.cpp:3018 src/frontends/qt/GuiView.cpp:3140 msgid "D&ocuments" msgstr "Do&kumente" @@ -31736,7 +31736,7 @@ msgid "Filename Suffix" msgstr "Erweitere Dateinamen" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:4618 +#: src/frontends/qt/GuiDocument.cpp:3331 src/frontends/qt/GuiDocument.cpp:4626 #: src/frontends/qt/GuiProgressView.cpp:144 #: src/frontends/qt/GuiProgressView.cpp:158 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -31744,8 +31744,8 @@ msgid "Yes" msgstr "Ja" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3322 src/frontends/qt/GuiDocument.cpp:3949 -#: src/frontends/qt/GuiDocument.cpp:4617 +#: src/frontends/qt/GuiDocument.cpp:3330 src/frontends/qt/GuiDocument.cpp:3957 +#: src/frontends/qt/GuiDocument.cpp:4625 #: src/frontends/qt/GuiProgressView.cpp:110 #: src/frontends/qt/GuiProgressView.cpp:143 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -32015,10 +32015,10 @@ msgstr "%1$s Dateien" msgid "Choose a filename to save the pasted graphic as" msgstr "W??hlen Sie einen Dateinamen, um die eingef??gte Grafik zu speichern als" -#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2626 -#: src/frontends/qt/GuiView.cpp:2767 src/frontends/qt/GuiView.cpp:2783 -#: src/frontends/qt/GuiView.cpp:2795 src/frontends/qt/GuiView.cpp:2812 -#: src/frontends/qt/GuiView.cpp:2897 src/frontends/qt/GuiView.cpp:4330 +#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2642 +#: src/frontends/qt/GuiView.cpp:2783 src/frontends/qt/GuiView.cpp:2799 +#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2828 +#: src/frontends/qt/GuiView.cpp:2913 src/frontends/qt/GuiView.cpp:4346 msgid "Canceled." msgstr "Abgebrochen." @@ -32048,8 +32048,8 @@ msgid "Select document" msgstr "Dokument w??hlen" #: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367 -#: src/frontends/qt/GuiView.cpp:2553 src/frontends/qt/GuiView.cpp:2612 -#: src/frontends/qt/GuiView.cpp:2886 src/frontends/qt/GuiView.cpp:3013 +#: src/frontends/qt/GuiView.cpp:2569 src/frontends/qt/GuiView.cpp:2628 +#: src/frontends/qt/GuiView.cpp:2902 src/frontends/qt/GuiView.cpp:3029 msgid "LyX Documents (*.lyx)" msgstr "LyX-Dokumente (*.lyx)" @@ -32117,68 +32117,68 @@ msgstr "Variabel" msgid "Module not found!" msgstr "Modul nicht gefunden!" -#: src/frontends/qt/GuiDocument.cpp:595 src/frontends/qt/GuiDocument.cpp:767 +#: src/frontends/qt/GuiDocument.cpp:594 src/frontends/qt/GuiDocument.cpp:775 msgid "&End Edit" msgstr "&Bearbeitung beenden" -#: src/frontends/qt/GuiDocument.cpp:655 +#: src/frontends/qt/GuiDocument.cpp:663 msgid "Validation required!" msgstr "Validierung erforderlich!" -#: src/frontends/qt/GuiDocument.cpp:705 +#: src/frontends/qt/GuiDocument.cpp:713 msgid "Layout is valid!" msgstr "Format ist g??ltig!" -#: src/frontends/qt/GuiDocument.cpp:706 +#: src/frontends/qt/GuiDocument.cpp:714 msgid "Layout is invalid!" msgstr "Format ist ung??ltig!" -#: src/frontends/qt/GuiDocument.cpp:718 +#: src/frontends/qt/GuiDocument.cpp:726 msgid "Conversion to current format impossible!" msgstr "Konvertierung in aktuelles Format nicht m??glich!" -#: src/frontends/qt/GuiDocument.cpp:719 +#: src/frontends/qt/GuiDocument.cpp:727 msgid "Conversion to current stable format impossible." msgstr "Konvertierung in aktuelles stabiles Format nicht m??glich." -#: src/frontends/qt/GuiDocument.cpp:724 +#: src/frontends/qt/GuiDocument.cpp:732 msgid "Convert to current format" msgstr "Konvertiere in ein aktuelles Format" -#: src/frontends/qt/GuiDocument.cpp:902 src/frontends/qt/GuiInclude.cpp:52 +#: src/frontends/qt/GuiDocument.cpp:910 src/frontends/qt/GuiInclude.cpp:52 msgid "Child Document" msgstr "Unterdokument" -#: src/frontends/qt/GuiDocument.cpp:903 +#: src/frontends/qt/GuiDocument.cpp:911 msgid "Include to Output" msgstr "In Ausgabe einbinden" -#: src/frontends/qt/GuiDocument.cpp:987 +#: src/frontends/qt/GuiDocument.cpp:995 msgid "Unicode (utf8)" msgstr "Unicode (utf8)" -#: src/frontends/qt/GuiDocument.cpp:988 +#: src/frontends/qt/GuiDocument.cpp:996 msgid "Traditional (auto-selected)" msgstr "Traditionell (automatisch gew??hlt)" -#: src/frontends/qt/GuiDocument.cpp:991 +#: src/frontends/qt/GuiDocument.cpp:999 msgid "Select Unicode (utf8) encoding." msgstr "W??hlen Sie die passende Unicode-Kodierung" -#: src/frontends/qt/GuiDocument.cpp:993 +#: src/frontends/qt/GuiDocument.cpp:1001 msgid "Use language-dependent traditional encodings." msgstr "Verwendet sprachspezifische traditionelle Kodierungen." -#: src/frontends/qt/GuiDocument.cpp:995 +#: src/frontends/qt/GuiDocument.cpp:1003 msgid "Select a custom, document-wide encoding." msgstr "" "Hiermit k??nnen Sie eine benutzerdefinierte dokumentweite Kodierung w??hlen" -#: src/frontends/qt/GuiDocument.cpp:1004 +#: src/frontends/qt/GuiDocument.cpp:1012 msgid "Standard Unicode support by the ``inputenc'' package." msgstr "Standard-Unicode-Unterst??tzung durch das Paket ,,inputenc``." -#: src/frontends/qt/GuiDocument.cpp:1007 +#: src/frontends/qt/GuiDocument.cpp:1015 msgid "" "Use UTF-8 'as-is': do not load any supporting packages, do not convert any " "characters to LaTeX macros. For use with non-TeX fonts (XeTeX/LuaTeX) or " @@ -32189,7 +32189,7 @@ msgstr "" "Nicht-TeX-Schriften (XeTeX/LuaTeX) verwendet. Er kann auch bei manuellen " "Konfigurationen n??tzlich sein." -#: src/frontends/qt/GuiDocument.cpp:1012 +#: src/frontends/qt/GuiDocument.cpp:1020 msgid "" "Load ``inputenc'' with option 'utf8x' for extended Unicode support by the " "``ucs'' package." @@ -32197,11 +32197,11 @@ msgstr "" "Lade ,,inputenc`` mit der Option ,utf8x` f??r erweiterte Unicode-" "Unterst??tzung (??ber das Paket ,,ucs``)." -#: src/frontends/qt/GuiDocument.cpp:1016 +#: src/frontends/qt/GuiDocument.cpp:1024 msgid "Language Default (no inputenc)" msgstr "Sprachvoreinstellung (ohne inputenc)" -#: src/frontends/qt/GuiDocument.cpp:1018 +#: src/frontends/qt/GuiDocument.cpp:1026 msgid "" "Use the traditional default encoding of the text language. Switch encoding " "if a text part is set to a language with different default." @@ -32210,7 +32210,7 @@ msgstr "" "Textes. Die Kodierung wird der jeweiligen Sprache angepasst, auch bei " "Sprachwechseln im Dokument." -#: src/frontends/qt/GuiDocument.cpp:1022 +#: src/frontends/qt/GuiDocument.cpp:1030 msgid "" "Do not load the 'inputenc' package. Switch encoding if required but do not " "write input encoding switch commands to the source." @@ -32218,23 +32218,23 @@ msgstr "" "L??dt das Paket ,,inputenc`` nicht. Die Kodierung wird zwar, falls n??tig, " "angepasst, aber es werden keine entsprechenden LaTeX-Makros ausgegeben." -#: src/frontends/qt/GuiDocument.cpp:1136 +#: src/frontends/qt/GuiDocument.cpp:1144 msgid "10" msgstr "10" -#: src/frontends/qt/GuiDocument.cpp:1137 +#: src/frontends/qt/GuiDocument.cpp:1145 msgid "11" msgstr "11" -#: src/frontends/qt/GuiDocument.cpp:1138 +#: src/frontends/qt/GuiDocument.cpp:1146 msgid "12" msgstr "12" -#: src/frontends/qt/GuiDocument.cpp:1140 +#: src/frontends/qt/GuiDocument.cpp:1148 msgid "Automatic[[encoding]]" msgstr "Automatisch" -#: src/frontends/qt/GuiDocument.cpp:1150 +#: src/frontends/qt/GuiDocument.cpp:1158 msgid "" "Use OpenType and TrueType fonts directly (requires XeTeX or LuaTeX)\n" "You need to install the package \"fontspec\" to use this feature" @@ -32243,194 +32243,194 @@ msgstr "" "LuaTeX)\n" "Um dieses Feature zu nutzen, m??ssen Sie das Paket \"fontspec\" installieren." -#: src/frontends/qt/GuiDocument.cpp:1182 +#: src/frontends/qt/GuiDocument.cpp:1190 msgid "empty" msgstr "leer" -#: src/frontends/qt/GuiDocument.cpp:1183 +#: src/frontends/qt/GuiDocument.cpp:1191 msgid "plain" msgstr "einfach" -#: src/frontends/qt/GuiDocument.cpp:1184 +#: src/frontends/qt/GuiDocument.cpp:1192 msgid "headings" msgstr "mit ??berschriften" -#: src/frontends/qt/GuiDocument.cpp:1185 +#: src/frontends/qt/GuiDocument.cpp:1193 msgid "fancy" msgstr "ausgefallen" -#: src/frontends/qt/GuiDocument.cpp:1194 +#: src/frontends/qt/GuiDocument.cpp:1202 msgid "US letter" msgstr "US letter" -#: src/frontends/qt/GuiDocument.cpp:1195 +#: src/frontends/qt/GuiDocument.cpp:1203 msgid "US legal" msgstr "US legal" -#: src/frontends/qt/GuiDocument.cpp:1196 +#: src/frontends/qt/GuiDocument.cpp:1204 msgid "US executive" msgstr "US executive" -#: src/frontends/qt/GuiDocument.cpp:1197 +#: src/frontends/qt/GuiDocument.cpp:1205 msgid "A0" msgstr "A0" -#: src/frontends/qt/GuiDocument.cpp:1198 +#: src/frontends/qt/GuiDocument.cpp:1206 msgid "A1" msgstr "A1" -#: src/frontends/qt/GuiDocument.cpp:1199 +#: src/frontends/qt/GuiDocument.cpp:1207 msgid "A2" msgstr "A2" -#: src/frontends/qt/GuiDocument.cpp:1200 +#: src/frontends/qt/GuiDocument.cpp:1208 msgid "A3" msgstr "A3" -#: src/frontends/qt/GuiDocument.cpp:1201 +#: src/frontends/qt/GuiDocument.cpp:1209 msgid "A4" msgstr "A4" -#: src/frontends/qt/GuiDocument.cpp:1202 +#: src/frontends/qt/GuiDocument.cpp:1210 msgid "A5" msgstr "A5" -#: src/frontends/qt/GuiDocument.cpp:1203 +#: src/frontends/qt/GuiDocument.cpp:1211 msgid "A6" msgstr "A6" -#: src/frontends/qt/GuiDocument.cpp:1204 +#: src/frontends/qt/GuiDocument.cpp:1212 msgid "B0" msgstr "B0" -#: src/frontends/qt/GuiDocument.cpp:1205 +#: src/frontends/qt/GuiDocument.cpp:1213 msgid "B1" msgstr "B1" -#: src/frontends/qt/GuiDocument.cpp:1206 +#: src/frontends/qt/GuiDocument.cpp:1214 msgid "B2" msgstr "B2" -#: src/frontends/qt/GuiDocument.cpp:1207 +#: src/frontends/qt/GuiDocument.cpp:1215 msgid "B3" msgstr "B3" -#: src/frontends/qt/GuiDocument.cpp:1208 +#: src/frontends/qt/GuiDocument.cpp:1216 msgid "B4" msgstr "B4" -#: src/frontends/qt/GuiDocument.cpp:1209 +#: src/frontends/qt/GuiDocument.cpp:1217 msgid "B5" msgstr "B5" -#: src/frontends/qt/GuiDocument.cpp:1210 +#: src/frontends/qt/GuiDocument.cpp:1218 msgid "B6" msgstr "B6" -#: src/frontends/qt/GuiDocument.cpp:1211 +#: src/frontends/qt/GuiDocument.cpp:1219 msgid "C0" msgstr "C0" -#: src/frontends/qt/GuiDocument.cpp:1212 +#: src/frontends/qt/GuiDocument.cpp:1220 msgid "C1" msgstr "C1" -#: src/frontends/qt/GuiDocument.cpp:1213 +#: src/frontends/qt/GuiDocument.cpp:1221 msgid "C2" msgstr "C2" -#: src/frontends/qt/GuiDocument.cpp:1214 +#: src/frontends/qt/GuiDocument.cpp:1222 msgid "C3" msgstr "C3" -#: src/frontends/qt/GuiDocument.cpp:1215 +#: src/frontends/qt/GuiDocument.cpp:1223 msgid "C4" msgstr "C4" -#: src/frontends/qt/GuiDocument.cpp:1216 +#: src/frontends/qt/GuiDocument.cpp:1224 msgid "C5" msgstr "C5" -#: src/frontends/qt/GuiDocument.cpp:1217 +#: src/frontends/qt/GuiDocument.cpp:1225 msgid "C6" msgstr "C6" -#: src/frontends/qt/GuiDocument.cpp:1218 +#: src/frontends/qt/GuiDocument.cpp:1226 msgid "JIS B0" msgstr "JIS B0" -#: src/frontends/qt/GuiDocument.cpp:1219 +#: src/frontends/qt/GuiDocument.cpp:1227 msgid "JIS B1" msgstr "JIS B1" -#: src/frontends/qt/GuiDocument.cpp:1220 +#: src/frontends/qt/GuiDocument.cpp:1228 msgid "JIS B2" msgstr "JIS B2" -#: src/frontends/qt/GuiDocument.cpp:1221 +#: src/frontends/qt/GuiDocument.cpp:1229 msgid "JIS B3" msgstr "JIS B3" -#: src/frontends/qt/GuiDocument.cpp:1222 +#: src/frontends/qt/GuiDocument.cpp:1230 msgid "JIS B4" msgstr "JIS B4" -#: src/frontends/qt/GuiDocument.cpp:1223 +#: src/frontends/qt/GuiDocument.cpp:1231 msgid "JIS B5" msgstr "JIS B5" -#: src/frontends/qt/GuiDocument.cpp:1224 +#: src/frontends/qt/GuiDocument.cpp:1232 msgid "JIS B6" msgstr "JIS B6" -#: src/frontends/qt/GuiDocument.cpp:1347 +#: src/frontends/qt/GuiDocument.cpp:1355 msgid "Numbered" msgstr "Nummeriert" -#: src/frontends/qt/GuiDocument.cpp:1348 +#: src/frontends/qt/GuiDocument.cpp:1356 msgid "Appears in TOC" msgstr "Erscheint im Inhaltsverzeichnis" -#: src/frontends/qt/GuiDocument.cpp:1436 +#: src/frontends/qt/GuiDocument.cpp:1444 msgid "Package" msgstr "Paket" -#: src/frontends/qt/GuiDocument.cpp:1436 +#: src/frontends/qt/GuiDocument.cpp:1444 msgid "Load automatically" msgstr "Automatisch laden" -#: src/frontends/qt/GuiDocument.cpp:1437 +#: src/frontends/qt/GuiDocument.cpp:1445 msgid "Load always" msgstr "Immer laden" -#: src/frontends/qt/GuiDocument.cpp:1437 +#: src/frontends/qt/GuiDocument.cpp:1445 msgid "Do not load" msgstr "Nicht laden" -#: src/frontends/qt/GuiDocument.cpp:1449 +#: src/frontends/qt/GuiDocument.cpp:1457 msgid "The AMS LaTeX packages are always used" msgstr "Die AMS-LaTeX-Pakete werden immer verwendet" -#: src/frontends/qt/GuiDocument.cpp:1452 +#: src/frontends/qt/GuiDocument.cpp:1460 #, c-format msgid "The LaTeX package %1$s is always used" msgstr "Das LaTeX-Paket %1$s wird immer verwendet" -#: src/frontends/qt/GuiDocument.cpp:1457 +#: src/frontends/qt/GuiDocument.cpp:1465 msgid "The AMS LaTeX packages are never used" msgstr "Die AMS-LaTeX-Pakete werden nie verwendet" -#: src/frontends/qt/GuiDocument.cpp:1460 +#: src/frontends/qt/GuiDocument.cpp:1468 #, c-format msgid "The LaTeX package %1$s is never used" msgstr "Das LaTeX-Paket %1$s wird nie verwendet" -#: src/frontends/qt/GuiDocument.cpp:1597 src/frontends/qt/GuiDocument.cpp:2866 +#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2874 #, c-format msgid "%1$s [Class '%2$s']" msgstr "%1$s [Klasse '%2$s']" -#: src/frontends/qt/GuiDocument.cpp:1600 +#: src/frontends/qt/GuiDocument.cpp:1608 #, c-format msgid "" "Class not found by LyX. Please check if you have the matching %1$s class and " @@ -32439,83 +32439,83 @@ msgstr "" "Klasse wurde von LyX nicht gefunden. Bitte pr??fen Sie, ob Sie die " "entsprechende %1$s-Klasse und alle n??tigen Pakete (%2$s) installiert haben." -#: src/frontends/qt/GuiDocument.cpp:1662 +#: src/frontends/qt/GuiDocument.cpp:1670 msgid "All avail. modules" msgstr "Alle verf. Module" -#: src/frontends/qt/GuiDocument.cpp:1754 src/frontends/qt/GuiDocument.cpp:1978 +#: src/frontends/qt/GuiDocument.cpp:1762 src/frontends/qt/GuiDocument.cpp:1986 msgid "Input listings parameters below. Enter ? for a list of parameters." msgstr "" "Geben Sie unten Listing-Parameter ein. Geben Sie '?' f??r eine Liste g??ltiger " "Parameter ein." -#: src/frontends/qt/GuiDocument.cpp:1761 +#: src/frontends/qt/GuiDocument.cpp:1769 msgid "Document Class" msgstr "Dokumentklasse" -#: src/frontends/qt/GuiDocument.cpp:1764 +#: src/frontends/qt/GuiDocument.cpp:1772 msgid "Local Layout" msgstr "Lokales Format" -#: src/frontends/qt/GuiDocument.cpp:1766 +#: src/frontends/qt/GuiDocument.cpp:1774 msgid "Text Layout" msgstr "Textformat" -#: src/frontends/qt/GuiDocument.cpp:1768 +#: src/frontends/qt/GuiDocument.cpp:1776 msgid "Page Margins" msgstr "Seitenr??nder" -#: src/frontends/qt/GuiDocument.cpp:1770 src/frontends/qt/GuiPrefs.cpp:1076 +#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1076 msgid "Colors" msgstr "Farben" -#: src/frontends/qt/GuiDocument.cpp:1771 +#: src/frontends/qt/GuiDocument.cpp:1779 msgid "Change Tracking" msgstr "??nderungsverfolgung" -#: src/frontends/qt/GuiDocument.cpp:1772 +#: src/frontends/qt/GuiDocument.cpp:1780 msgid "Numbering & TOC" msgstr "Nummerierung & Inhaltsverzeichnis" -#: src/frontends/qt/GuiDocument.cpp:1774 +#: src/frontends/qt/GuiDocument.cpp:1782 msgid "Indexes" msgstr "Stichwortverzeichnis" -#: src/frontends/qt/GuiDocument.cpp:1775 +#: src/frontends/qt/GuiDocument.cpp:1783 msgid "PDF Properties" msgstr "PDF-Eigenschaften" -#: src/frontends/qt/GuiDocument.cpp:1776 +#: src/frontends/qt/GuiDocument.cpp:1784 msgid "Math Options" msgstr "Mathe-Optionen" -#: src/frontends/qt/GuiDocument.cpp:1779 +#: src/frontends/qt/GuiDocument.cpp:1787 msgid "Bullets" msgstr "Auflistungszeichen" -#: src/frontends/qt/GuiDocument.cpp:1781 +#: src/frontends/qt/GuiDocument.cpp:1789 msgid "Formats[[output]]" msgstr "Formate" -#: src/frontends/qt/GuiDocument.cpp:1782 +#: src/frontends/qt/GuiDocument.cpp:1790 msgid "LaTeX Preamble" msgstr "LaTeX-Vorspann" -#: src/frontends/qt/GuiDocument.cpp:2087 src/frontends/qt/GuiDocument.cpp:2173 +#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181 msgid "Class defaults" msgstr "Klassenvoreinstellung" -#: src/frontends/qt/GuiDocument.cpp:2087 src/frontends/qt/GuiDocument.cpp:2173 +#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181 msgid "Package defaults" msgstr "Paketvoreinstellung" -#: src/frontends/qt/GuiDocument.cpp:2090 src/frontends/qt/GuiDocument.cpp:2176 +#: src/frontends/qt/GuiDocument.cpp:2098 src/frontends/qt/GuiDocument.cpp:2184 msgid "If no value is given, the defaults as set by the class are used." msgstr "" "Wenn kein Wert angegeben wird, werden die Voreinstellungen der Klasse " "verwendet." -#: src/frontends/qt/GuiDocument.cpp:2091 src/frontends/qt/GuiDocument.cpp:2177 +#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185 msgid "" "If no value is given, the defaults as set by the geometry package or a " "package/class overriding geometry's defaults are used." @@ -32524,49 +32524,49 @@ msgstr "" "Pakets oder eines Pakets bzw. der Klasse verwendet, falls diese die Geometry-" "Voreinstellungen ??berschreiben." -#: src/frontends/qt/GuiDocument.cpp:2220 src/frontends/qt/GuiDocument.cpp:2250 +#: src/frontends/qt/GuiDocument.cpp:2228 src/frontends/qt/GuiDocument.cpp:2258 msgid "&Default..." msgstr "Stan&dard..." -#: src/frontends/qt/GuiDocument.cpp:2451 +#: src/frontends/qt/GuiDocument.cpp:2459 msgid "Direct (No inputenc)" msgstr "Direkt (ohne inputenc)" -#: src/frontends/qt/GuiDocument.cpp:2453 +#: src/frontends/qt/GuiDocument.cpp:2461 msgid "Direct (XeTeX/LuaTeX)" msgstr "Direkt (XeTeX/LuaTeX)" -#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4293 -#: src/frontends/qt/GuiDocument.cpp:4302 src/frontends/qt/GuiDocument.cpp:4311 -#: src/frontends/qt/GuiDocument.cpp:4320 +#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4301 +#: src/frontends/qt/GuiDocument.cpp:4310 src/frontends/qt/GuiDocument.cpp:4319 +#: src/frontends/qt/GuiDocument.cpp:4328 msgid " (not installed)" msgstr " (nicht installiert)" -#: src/frontends/qt/GuiDocument.cpp:2668 +#: src/frontends/qt/GuiDocument.cpp:2676 msgid "Non-TeX Fonts Default" msgstr "Voreinstellung Nicht-TeX Schriften" -#: src/frontends/qt/GuiDocument.cpp:2670 +#: src/frontends/qt/GuiDocument.cpp:2678 msgid " (not available)" msgstr " (nicht verf??gbar)" -#: src/frontends/qt/GuiDocument.cpp:2671 +#: src/frontends/qt/GuiDocument.cpp:2679 msgid "Class Default (TeX Fonts)" msgstr "Klassenvoreinstellungen (TeX-Schriften)" -#: src/frontends/qt/GuiDocument.cpp:2818 +#: src/frontends/qt/GuiDocument.cpp:2826 msgid "Lay&outs" msgstr "F&ormatdateien" -#: src/frontends/qt/GuiDocument.cpp:2820 +#: src/frontends/qt/GuiDocument.cpp:2828 msgid "LyX Layout (*.layout)" msgstr "LyX-Formatdatei (*.layout)" -#: src/frontends/qt/GuiDocument.cpp:2822 src/frontends/qt/GuiDocument.cpp:2831 +#: src/frontends/qt/GuiDocument.cpp:2830 src/frontends/qt/GuiDocument.cpp:2839 msgid "Local layout file" msgstr "Lokale Formatdatei" -#: src/frontends/qt/GuiDocument.cpp:2832 +#: src/frontends/qt/GuiDocument.cpp:2840 msgid "" "The layout file you have selected is a local layout\n" "file, not one in the system or user directory.\n" @@ -32579,35 +32579,35 @@ msgstr "" "kann, m??ssen Sie sicherstellen, dass die Formatdatei\n" "nicht verschoben wird." -#: src/frontends/qt/GuiDocument.cpp:2836 +#: src/frontends/qt/GuiDocument.cpp:2844 msgid "&Set Layout" msgstr "&Layout ??bernehmen" -#: src/frontends/qt/GuiDocument.cpp:2850 +#: src/frontends/qt/GuiDocument.cpp:2858 msgid "Unable to read local layout file." msgstr "Lokale Formatdatei kann nicht gelesen werden." -#: src/frontends/qt/GuiDocument.cpp:2867 +#: src/frontends/qt/GuiDocument.cpp:2875 msgid "This is a local layout file." msgstr "Dies ist eine lokale Formatdatei." -#: src/frontends/qt/GuiDocument.cpp:2881 +#: src/frontends/qt/GuiDocument.cpp:2889 msgid "Select master document" msgstr "Hauptdokument w??hlen" -#: src/frontends/qt/GuiDocument.cpp:2885 +#: src/frontends/qt/GuiDocument.cpp:2893 msgid "LyX Files (*.lyx)" msgstr "LyX-Dokumente (*.lyx)" # , c-format # , c-format -#: src/frontends/qt/GuiDocument.cpp:2909 src/frontends/qt/GuiDocument.cpp:3210 -#: src/frontends/qt/GuiDocument.cpp:4809 +#: src/frontends/qt/GuiDocument.cpp:2917 src/frontends/qt/GuiDocument.cpp:3218 +#: src/frontends/qt/GuiDocument.cpp:4817 msgid "Unapplied changes" msgstr "Nicht ??bernommene ??nderungen" -#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3211 -#: src/frontends/qt/GuiDocument.cpp:4810 +#: src/frontends/qt/GuiDocument.cpp:2918 src/frontends/qt/GuiDocument.cpp:3219 +#: src/frontends/qt/GuiDocument.cpp:4818 msgid "" "Some changes in the dialog were not yet applied.\n" "If you do not apply now, they will be lost after this action." @@ -32616,86 +32616,86 @@ msgstr "" "Wenn Sie sie jetzt nicht anwenden, werden sie nach dieser\n" "Aktion verlorengehen." -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4812 +#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221 +#: src/frontends/qt/GuiDocument.cpp:4820 msgid "&Apply" msgstr "&Anwenden" -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4812 +#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221 +#: src/frontends/qt/GuiDocument.cpp:4820 msgid "&Dismiss" msgstr "&Ablehnen" -#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4820 +#: src/frontends/qt/GuiDocument.cpp:2931 src/frontends/qt/GuiDocument.cpp:4828 msgid "Unable to set document class." msgstr "Kann Dokumentklasse nicht einstellen." -#: src/frontends/qt/GuiDocument.cpp:3089 +#: src/frontends/qt/GuiDocument.cpp:3097 msgid "Basic numerical" msgstr "Einfach nummerisch" -#: src/frontends/qt/GuiDocument.cpp:3092 +#: src/frontends/qt/GuiDocument.cpp:3100 msgid "Author-year" msgstr "Autor-Jahr" -#: src/frontends/qt/GuiDocument.cpp:3095 +#: src/frontends/qt/GuiDocument.cpp:3103 msgid "Author-number" msgstr "Autor-Nummer" -#: src/frontends/qt/GuiDocument.cpp:3135 +#: src/frontends/qt/GuiDocument.cpp:3143 #, c-format msgid "%1$s and %2$s" msgstr "%1$s und %2$s" -#: src/frontends/qt/GuiDocument.cpp:3142 +#: src/frontends/qt/GuiDocument.cpp:3150 #, c-format msgid "%1$s, %2$s" msgstr "%1$s, %2$s" -#: src/frontends/qt/GuiDocument.cpp:3147 +#: src/frontends/qt/GuiDocument.cpp:3155 #, c-format msgid "%1$s, %2$s, and %3$s" msgstr "%1$s, %2$s und %3$s" -#: src/frontends/qt/GuiDocument.cpp:3161 +#: src/frontends/qt/GuiDocument.cpp:3169 #, c-format msgid "%1$s (unavailable)" msgstr "%1$s (nicht verf??gbar)" -#: src/frontends/qt/GuiDocument.cpp:3260 +#: src/frontends/qt/GuiDocument.cpp:3268 msgid "Module provided by document class." msgstr "Von der Dokumentklasse bereitgestelltes Modul." -#: src/frontends/qt/GuiDocument.cpp:3268 +#: src/frontends/qt/GuiDocument.cpp:3276 #, c-format msgid "

Category: %1$s.

" msgstr "

Kategorie: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3278 +#: src/frontends/qt/GuiDocument.cpp:3286 #, c-format msgid "

Package(s) required: %1$s.

" msgstr "

Ben??tigte Pakete: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3284 +#: src/frontends/qt/GuiDocument.cpp:3292 msgid "or" msgstr "oder" -#: src/frontends/qt/GuiDocument.cpp:3287 +#: src/frontends/qt/GuiDocument.cpp:3295 #, c-format msgid "

Modules required: %1$s.

" msgstr "

Ben??tigte Module: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3296 +#: src/frontends/qt/GuiDocument.cpp:3304 #, c-format msgid "

Modules excluded: %1$s.

" msgstr "

Ausgeschlossene Module: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3301 +#: src/frontends/qt/GuiDocument.cpp:3309 #, c-format msgid "

Filename: %1$s.module.

" msgstr "

Dateiname: %1$s.module.

" -#: src/frontends/qt/GuiDocument.cpp:3306 +#: src/frontends/qt/GuiDocument.cpp:3314 msgid "" "

WARNING: Some required packages are unavailable!

" @@ -32703,61 +32703,61 @@ msgstr "" "

WARNUNG: Einige ben??tigte Pakete sind nicht verf??gbar!" "

" -#: src/frontends/qt/GuiDocument.cpp:3951 +#: src/frontends/qt/GuiDocument.cpp:3959 msgid "per part" msgstr "pro Teil" -#: src/frontends/qt/GuiDocument.cpp:3953 +#: src/frontends/qt/GuiDocument.cpp:3961 msgid "per chapter" msgstr "pro Kapitel" -#: src/frontends/qt/GuiDocument.cpp:3955 +#: src/frontends/qt/GuiDocument.cpp:3963 msgid "per section" msgstr "pro Abschnitt" -#: src/frontends/qt/GuiDocument.cpp:3957 +#: src/frontends/qt/GuiDocument.cpp:3965 msgid "per subsection" msgstr "pro Unterabschnitt" -#: src/frontends/qt/GuiDocument.cpp:3958 +#: src/frontends/qt/GuiDocument.cpp:3966 msgid "per child document" msgstr "pro Unterdokument" -#: src/frontends/qt/GuiDocument.cpp:3985 +#: src/frontends/qt/GuiDocument.cpp:3993 #, c-format msgid "%1$s (not available)" msgstr "%1$s (nicht verf??gbar)" -#: src/frontends/qt/GuiDocument.cpp:4213 +#: src/frontends/qt/GuiDocument.cpp:4221 msgid "[No options predefined]" msgstr "[Keine Optionen vordefiniert]" -#: src/frontends/qt/GuiDocument.cpp:4480 +#: src/frontends/qt/GuiDocument.cpp:4488 msgid "C&ustomize Hyperref Options" msgstr "H&yperref-Optionen anpassen" -#: src/frontends/qt/GuiDocument.cpp:4482 +#: src/frontends/qt/GuiDocument.cpp:4490 msgid "&Use Hyperref Support" msgstr "Hyperref-Unterst??tzung &verwenden" -#: src/frontends/qt/GuiDocument.cpp:4832 +#: src/frontends/qt/GuiDocument.cpp:4840 msgid "Can't set layout!" msgstr "Kann Format nicht verwenden!" -#: src/frontends/qt/GuiDocument.cpp:4833 +#: src/frontends/qt/GuiDocument.cpp:4841 #, c-format msgid "Unable to set layout for ID: %1$s" msgstr "Kann Format f??r ID '%1$s' nicht verwenden" -#: src/frontends/qt/GuiDocument.cpp:4936 +#: src/frontends/qt/GuiDocument.cpp:4944 msgid "Not Found" msgstr "Nicht gefunden" -#: src/frontends/qt/GuiDocument.cpp:4998 +#: src/frontends/qt/GuiDocument.cpp:5006 msgid "Assigned master does not include this file" msgstr "Zugewiesenes Hauptdokument bettet diese Datei nicht ein" -#: src/frontends/qt/GuiDocument.cpp:4999 +#: src/frontends/qt/GuiDocument.cpp:5007 #, c-format msgid "" "You must include this file in the document\n" @@ -32768,11 +32768,11 @@ msgstr "" "'%1$s' einbetten, sonst bleibt die\n" "vorgenommene Zuordnung des Hauptdokuments wirkungslos." -#: src/frontends/qt/GuiDocument.cpp:5003 +#: src/frontends/qt/GuiDocument.cpp:5011 msgid "Could not load master" msgstr "Konnte das Hauptdokument nicht laden" -#: src/frontends/qt/GuiDocument.cpp:5004 +#: src/frontends/qt/GuiDocument.cpp:5012 #, c-format msgid "" "The master document '%1$s'\n" @@ -32781,23 +32781,23 @@ msgstr "" "Das Hauptdokument '%1$s'\n" "konnte nicht geladen werden." -#: src/frontends/qt/GuiDocument.cpp:5154 +#: src/frontends/qt/GuiDocument.cpp:5162 msgid "%1 (missing req.)" msgstr "%1 (fehlende Vor.)" -#: src/frontends/qt/GuiDocument.cpp:5166 +#: src/frontends/qt/GuiDocument.cpp:5174 msgid "personal module" msgstr "pers??nliches Modul" -#: src/frontends/qt/GuiDocument.cpp:5166 +#: src/frontends/qt/GuiDocument.cpp:5174 msgid "distributed module" msgstr "mitgeliefertes Modul" -#: src/frontends/qt/GuiDocument.cpp:5167 +#: src/frontends/qt/GuiDocument.cpp:5175 msgid "Module name: %1 (%2)" msgstr "Modulname: %1 (%2)" -#: src/frontends/qt/GuiDocument.cpp:5173 +#: src/frontends/qt/GuiDocument.cpp:5181 msgid "Note: Some requirements for this module are missing!" msgstr "" "Achtung: Einige Voraussetzungen f??r dieses Modul sind nicht gegeben!" @@ -33480,17 +33480,17 @@ msgstr "" msgid "Select example file" msgstr "W??hlen Sie eine Beispieldatei" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2609 -#: src/frontends/qt/GuiView.cpp:2749 src/frontends/qt/GuiView.cpp:2883 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2625 +#: src/frontends/qt/GuiView.cpp:2765 src/frontends/qt/GuiView.cpp:2899 msgid "&Examples" msgstr "&Beispiele" -#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2548 +#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2564 msgid "Select template file" msgstr "W??hlen Sie eine Vorlagendatei" -#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2550 -#: src/frontends/qt/GuiView.cpp:3003 +#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2566 +#: src/frontends/qt/GuiView.cpp:3019 msgid "&Templates" msgstr "&Vorlagen" @@ -33617,7 +33617,7 @@ msgstr "" "Normalerweise m??ssen Sie diese Breite nicht festlegen, da die maximale " "Breite aller Punkte verwendet wird." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3281 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3297 msgid "&Close" msgstr "&Schlie??en" @@ -33934,43 +33934,43 @@ msgstr "Springe zur urspr??nglichen Cursor-Platzierung zur??ck" msgid "" msgstr "" -#: src/frontends/qt/GuiSearch.cpp:191 +#: src/frontends/qt/GuiSearch.cpp:194 msgid "Ex&pand" msgstr "E&rweitern" -#: src/frontends/qt/GuiSearch.cpp:192 +#: src/frontends/qt/GuiSearch.cpp:195 msgid "Show replace and option widgets" msgstr "Ersetzen-Werkzeuge und Optionen verbergen" -#: src/frontends/qt/GuiSearch.cpp:251 +#: src/frontends/qt/GuiSearch.cpp:254 msgid "Active options:" msgstr "Gew??hlte Optionen:" -#: src/frontends/qt/GuiSearch.cpp:254 +#: src/frontends/qt/GuiSearch.cpp:257 msgid "Case sensitive search" msgstr "Gro??-/Kleinschreibung beachten" -#: src/frontends/qt/GuiSearch.cpp:272 +#: src/frontends/qt/GuiSearch.cpp:275 msgid "Whole words only" msgstr "Nur ganze W??rter suchen" -#: src/frontends/qt/GuiSearch.cpp:289 +#: src/frontends/qt/GuiSearch.cpp:292 msgid "Search only in selection" msgstr "Nur innerhalb der Auswahl suchen" -#: src/frontends/qt/GuiSearch.cpp:306 +#: src/frontends/qt/GuiSearch.cpp:309 msgid "Search as you type" msgstr "Direkt suchen" -#: src/frontends/qt/GuiSearch.cpp:323 +#: src/frontends/qt/GuiSearch.cpp:326 msgid "Wrap search" msgstr "Von vorne suchen" -#: src/frontends/qt/GuiSearch.cpp:345 +#: src/frontends/qt/GuiSearch.cpp:348 msgid "Click here to change search options" msgstr "Klicken, um die Suchoptionen anzupassen" -#: src/frontends/qt/GuiSearch.cpp:556 +#: src/frontends/qt/GuiSearch.cpp:568 msgid "Search and Replace" msgstr "Suchen und Ersetzen" @@ -34415,7 +34415,7 @@ msgstr "" "Schieber, Strg-+/- oder Umschalt-Mausrad." #: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 -#: src/frontends/qt/GuiView.cpp:948 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/GuiView.cpp:959 src/frontends/qt/Menus.cpp:1843 #: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 #: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 #: src/frontends/qt/Menus.cpp:1863 @@ -34442,102 +34442,102 @@ msgstr "Wollen Sie den Exportvorgang im Hintergrund abbrechen?" msgid "Co&ntinue" msgstr "&Fortfahren" -#: src/frontends/qt/GuiView.cpp:845 +#: src/frontends/qt/GuiView.cpp:856 #, c-format msgid "Successful export to format: %1$s" msgstr "Export in das Format %1$s erfolgreich" -#: src/frontends/qt/GuiView.cpp:854 +#: src/frontends/qt/GuiView.cpp:865 #, c-format msgid "Error while exporting format: %1$s" msgstr "Fehler beim Export in das Formats %1$s" -#: src/frontends/qt/GuiView.cpp:857 +#: src/frontends/qt/GuiView.cpp:868 #, c-format msgid "Successful preview of format: %1$s" msgstr "Erfolgreiche Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:860 +#: src/frontends/qt/GuiView.cpp:871 #, c-format msgid "Error while previewing format: %1$s" msgstr "Fehler bei der Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:863 +#: src/frontends/qt/GuiView.cpp:874 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Abbruch der Ausgabe bei der Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:1208 +#: src/frontends/qt/GuiView.cpp:1224 msgid "Exit LyX" msgstr "LyX beenden" -#: src/frontends/qt/GuiView.cpp:1209 +#: src/frontends/qt/GuiView.cpp:1225 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "" "LyX konnte nicht geschlossen werden, da gerade Dokumente von LyX verarbeitet " "werden." -#: src/frontends/qt/GuiView.cpp:1357 +#: src/frontends/qt/GuiView.cpp:1373 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (extern bearbeitet)" -#: src/frontends/qt/GuiView.cpp:1480 +#: src/frontends/qt/GuiView.cpp:1496 msgid "Welcome to LyX!" msgstr "Willkommen bei LyX!" -#: src/frontends/qt/GuiView.cpp:2017 +#: src/frontends/qt/GuiView.cpp:2033 msgid "Automatic save done." msgstr "Automatische Speicherung abgeschlossen." -#: src/frontends/qt/GuiView.cpp:2018 +#: src/frontends/qt/GuiView.cpp:2034 msgid "Automatic save failed!" msgstr "Die automatische Speicherung ist fehlgeschlagen!" -#: src/frontends/qt/GuiView.cpp:2074 +#: src/frontends/qt/GuiView.cpp:2090 msgid "Command not allowed without any document open" msgstr "Dieser Befehl ist nur bei ge??ffnetem Dokument m??glich" -#: src/frontends/qt/GuiView.cpp:2143 +#: src/frontends/qt/GuiView.cpp:2159 msgid "Invalid argument of master-buffer-forall" msgstr "Ung??ltiges Argument f??r master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2261 +#: src/frontends/qt/GuiView.cpp:2277 msgid "Function toolbar-set requires two arguments!" msgstr "Die Funktion toolbar-set erfordert zwei Argumente!" -#: src/frontends/qt/GuiView.cpp:2268 +#: src/frontends/qt/GuiView.cpp:2284 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Ung??ltiges Argument \"%1$s\" der Funktion toolbar-set!" -#: src/frontends/qt/GuiView.cpp:2284 src/frontends/qt/GuiView.cpp:2297 -#: src/frontends/qt/GuiView.cpp:2314 +#: src/frontends/qt/GuiView.cpp:2300 src/frontends/qt/GuiView.cpp:2313 +#: src/frontends/qt/GuiView.cpp:2330 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Unbekannte Werkzeugleiste \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2434 src/frontends/qt/GuiView.cpp:2447 +#: src/frontends/qt/GuiView.cpp:2450 src/frontends/qt/GuiView.cpp:2463 msgid "Zoom level cannot be less than %1$d%." msgstr "Der Skalierungsfaktor darf nicht kleiner als %1$d% sein." -#: src/frontends/qt/GuiView.cpp:2577 +#: src/frontends/qt/GuiView.cpp:2593 msgid "Document not loaded." msgstr "Dokument nicht geladen." -#: src/frontends/qt/GuiView.cpp:2607 +#: src/frontends/qt/GuiView.cpp:2623 msgid "Select document to open" msgstr "W??hlen Sie das zu ??ffnende Dokument" -#: src/frontends/qt/GuiView.cpp:2613 +#: src/frontends/qt/GuiView.cpp:2629 msgid "LyX Document Backups (*.lyx~)" msgstr "LyX-Dokument-Backups (*.lyx~)" -#: src/frontends/qt/GuiView.cpp:2614 +#: src/frontends/qt/GuiView.cpp:2630 msgid "All Files (*.*)" msgstr "Alle Dateien (*.*)" -#: src/frontends/qt/GuiView.cpp:2641 +#: src/frontends/qt/GuiView.cpp:2657 #, c-format msgid "" "The directory in the given path\n" @@ -34548,40 +34548,40 @@ msgstr "" "%1$s\n" "existiert nicht." -#: src/frontends/qt/GuiView.cpp:2658 +#: src/frontends/qt/GuiView.cpp:2674 #, c-format msgid "Opening document %1$s..." msgstr "??ffne Dokument %1$s..." -#: src/frontends/qt/GuiView.cpp:2663 +#: src/frontends/qt/GuiView.cpp:2679 #, c-format msgid "Document %1$s opened." msgstr "Dokument %1$s ist ge??ffnet." -#: src/frontends/qt/GuiView.cpp:2666 +#: src/frontends/qt/GuiView.cpp:2682 msgid "Version control detected." msgstr "Versionskontrolle erkannt." -#: src/frontends/qt/GuiView.cpp:2668 +#: src/frontends/qt/GuiView.cpp:2684 #, c-format msgid "Could not open document %1$s" msgstr "Das Dokument %1$s konnte nicht ge??ffnet werden" -#: src/frontends/qt/GuiView.cpp:2696 +#: src/frontends/qt/GuiView.cpp:2712 msgid "Couldn't import file" msgstr "Die Datei konnte nicht importiert werden" -#: src/frontends/qt/GuiView.cpp:2697 +#: src/frontends/qt/GuiView.cpp:2713 #, c-format msgid "No information for importing the format %1$s." msgstr "Keine Informationen vorhanden, um das Format %1$s zu importieren." -#: src/frontends/qt/GuiView.cpp:2744 +#: src/frontends/qt/GuiView.cpp:2760 #, c-format msgid "Select %1$s file to import" msgstr "W??hlen Sie die einzuf??gende %1$s-Datei" -#: src/frontends/qt/GuiView.cpp:2779 +#: src/frontends/qt/GuiView.cpp:2795 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34590,8 +34590,8 @@ msgstr "" "Der Dateiname '%1$s' ist ung??ltig!\n" "Import wird abgebrochen." -#: src/frontends/qt/GuiView.cpp:2806 src/frontends/qt/GuiView.cpp:3073 -#: src/frontends/qt/GuiView.cpp:3176 +#: src/frontends/qt/GuiView.cpp:2822 src/frontends/qt/GuiView.cpp:3089 +#: src/frontends/qt/GuiView.cpp:3192 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34602,33 +34602,33 @@ msgstr "" "\n" "M??chten Sie dieses Dokument ??berschreiben?" -#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:3077 -#: src/frontends/qt/GuiView.cpp:3180 +#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:3093 +#: src/frontends/qt/GuiView.cpp:3196 msgid "Overwrite document?" msgstr "Dokument ??berschreiben?" -#: src/frontends/qt/GuiView.cpp:2817 +#: src/frontends/qt/GuiView.cpp:2833 #, c-format msgid "Importing %1$s..." msgstr "Importiere %1$s..." -#: src/frontends/qt/GuiView.cpp:2820 +#: src/frontends/qt/GuiView.cpp:2836 msgid "imported." msgstr "wurde eingef??gt." -#: src/frontends/qt/GuiView.cpp:2822 +#: src/frontends/qt/GuiView.cpp:2838 msgid "file not imported!" msgstr "Datei wurde nicht importiert!" -#: src/frontends/qt/GuiView.cpp:2848 +#: src/frontends/qt/GuiView.cpp:2864 msgid "newfile" msgstr "Neues_Dokument" -#: src/frontends/qt/GuiView.cpp:2881 +#: src/frontends/qt/GuiView.cpp:2897 msgid "Select LyX document to insert" msgstr "W??hlen Sie das einzuf??gende LyX-Dokument" -#: src/frontends/qt/GuiView.cpp:2928 +#: src/frontends/qt/GuiView.cpp:2944 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34641,23 +34641,23 @@ msgstr "" "Dieser Unterordner existiert aber noch nicht.\n" "Soll er angelegt werden?" -#: src/frontends/qt/GuiView.cpp:2933 +#: src/frontends/qt/GuiView.cpp:2949 msgid "Create Language Directory?" msgstr "Sprach-Unterorder erstellen?" -#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 +#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 msgid "&Yes, Create" msgstr "&Ja, erstellen" -#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 +#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 msgid "&No, Save Template in Parent Directory" msgstr "&Nein, speichere Vorlage im Hauptordner" -#: src/frontends/qt/GuiView.cpp:2937 src/frontends/qt/GuiView.cpp:2968 +#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:2984 msgid "Subdirectory creation failed!" msgstr "Erstellung des Unterordners fehlgeschlagen!" -#: src/frontends/qt/GuiView.cpp:2938 src/frontends/qt/GuiView.cpp:2969 +#: src/frontends/qt/GuiView.cpp:2954 src/frontends/qt/GuiView.cpp:2985 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34665,7 +34665,7 @@ msgstr "" "Der Unterordner konnte leider nicht erstellt werden\n" "Die Vorlage wird im Hauptordner gespeichert." -#: src/frontends/qt/GuiView.cpp:2959 +#: src/frontends/qt/GuiView.cpp:2975 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34678,19 +34678,19 @@ msgstr "" "Dieser Unterordner existiert aber noch nicht.\n" "Soll er angelegt werden?" -#: src/frontends/qt/GuiView.cpp:2964 +#: src/frontends/qt/GuiView.cpp:2980 msgid "Create Category Directory?" msgstr "Kategorien-Ordner erstellen?" -#: src/frontends/qt/GuiView.cpp:2999 +#: src/frontends/qt/GuiView.cpp:3015 msgid "Choose a filename to save template as" msgstr "W??hlen Sie einen Dateinamen f??r die Vorlage" -#: src/frontends/qt/GuiView.cpp:3000 +#: src/frontends/qt/GuiView.cpp:3016 msgid "Choose a filename to save document as" msgstr "W??hlen Sie einen Dateinamen f??r das Dokument" -#: src/frontends/qt/GuiView.cpp:3036 +#: src/frontends/qt/GuiView.cpp:3052 #, c-format msgid "" "The file\n" @@ -34705,17 +34705,17 @@ msgstr "" "Bitte schlie??en Sie sie, wenn Sie sie ??berschreiben m??chten.\n" "M??chten Sie statt dessen einen neuen Dateinamen w??hlen?" -#: src/frontends/qt/GuiView.cpp:3040 +#: src/frontends/qt/GuiView.cpp:3056 msgid "Chosen File Already Open" msgstr "Ausgew??hlte Datei bereits ge??ffnet" -#: src/frontends/qt/GuiView.cpp:3041 src/frontends/qt/GuiView.cpp:3063 -#: src/frontends/qt/GuiView.cpp:3079 src/frontends/qt/GuiView.cpp:3181 -#: src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3057 src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3095 src/frontends/qt/GuiView.cpp:3197 +#: src/frontends/qt/GuiView.cpp:3242 msgid "&Rename" msgstr "&Umbenennen" -#: src/frontends/qt/GuiView.cpp:3056 +#: src/frontends/qt/GuiView.cpp:3072 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34726,27 +34726,27 @@ msgstr "" "\n" "M??chten Sie einen anderen Namen w??hlen?" -#: src/frontends/qt/GuiView.cpp:3061 +#: src/frontends/qt/GuiView.cpp:3077 msgid "Rename document?" msgstr "Dokument umbenennen?" -#: src/frontends/qt/GuiView.cpp:3061 +#: src/frontends/qt/GuiView.cpp:3077 msgid "Copy document?" msgstr "Dokument kopieren?" -#: src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3079 msgid "&Copy" msgstr "&Kopieren" -#: src/frontends/qt/GuiView.cpp:3123 +#: src/frontends/qt/GuiView.cpp:3139 msgid "Choose a filename to export the document as" msgstr "W??hlen Sie einen Dateinamen f??r das exportierte Dokument" -#: src/frontends/qt/GuiView.cpp:3127 +#: src/frontends/qt/GuiView.cpp:3143 msgid "Guess from extension (*.*)" msgstr "Von der Dateierweiterung ableiten (*.*)" -#: src/frontends/qt/GuiView.cpp:3222 +#: src/frontends/qt/GuiView.cpp:3238 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -34757,15 +34757,15 @@ msgstr "" "\n" "M??chten Sie das Dokument umbenennen und erneut versuchen?" -#: src/frontends/qt/GuiView.cpp:3225 +#: src/frontends/qt/GuiView.cpp:3241 msgid "Rename and save?" msgstr "Umbenennen und speichern?" -#: src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3242 msgid "&Retry" msgstr "&Wiederholen" -#: src/frontends/qt/GuiView.cpp:3271 +#: src/frontends/qt/GuiView.cpp:3287 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -34787,25 +34787,25 @@ msgstr "" "die Voreinstellung in Werkzeuge > Einstellungen ... >\n" "Aussehen & Handhabung > Benutzeroberfl??che.\n" -#: src/frontends/qt/GuiView.cpp:3280 +#: src/frontends/qt/GuiView.cpp:3296 msgid "Close or hide document?" msgstr "Dokument schlie??en oder verbergen?" -#: src/frontends/qt/GuiView.cpp:3281 +#: src/frontends/qt/GuiView.cpp:3297 msgid "&Hide" msgstr "&Verbergen" -#: src/frontends/qt/GuiView.cpp:3378 +#: src/frontends/qt/GuiView.cpp:3394 msgid "Close document" msgstr "Dokument schlie??en" -#: src/frontends/qt/GuiView.cpp:3379 +#: src/frontends/qt/GuiView.cpp:3395 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Dokument konnte nicht geschlossen werden, da es gerade von LyX verarbeitet " "wird." -#: src/frontends/qt/GuiView.cpp:3511 src/frontends/qt/GuiView.cpp:3626 +#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3642 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -34816,16 +34816,16 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3514 src/frontends/qt/GuiView.cpp:3629 +#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:3645 msgid "Save new document?" msgstr "Neues Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3515 src/frontends/qt/GuiView.cpp:3529 -#: src/frontends/qt/GuiView.cpp:3631 +#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3545 +#: src/frontends/qt/GuiView.cpp:3647 msgid "&Save" msgstr "&Speichern" -#: src/frontends/qt/GuiView.cpp:3520 +#: src/frontends/qt/GuiView.cpp:3536 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -34836,7 +34836,7 @@ msgstr "" "sind nicht gespeichert.\n" "M??chten Sie das Dokument speichern oder die ??nderungen verwerfen?" -#: src/frontends/qt/GuiView.cpp:3523 +#: src/frontends/qt/GuiView.cpp:3539 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -34847,19 +34847,19 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern oder es endg??ltig verwerfen?" -#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3623 +#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3639 msgid "Save changed document?" msgstr "Ge??ndertes Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3527 +#: src/frontends/qt/GuiView.cpp:3543 msgid "Save document?" msgstr "Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3529 +#: src/frontends/qt/GuiView.cpp:3545 msgid "&Discard" msgstr "&Verwerfen" -#: src/frontends/qt/GuiView.cpp:3620 +#: src/frontends/qt/GuiView.cpp:3636 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -34870,7 +34870,7 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3652 +#: src/frontends/qt/GuiView.cpp:3668 #, c-format msgid "" "Document \n" @@ -34882,37 +34882,37 @@ msgstr "" "wurde extern ver??ndert. Wollen Sie es erneut laden?\n" "Alle lokalen Ver??nderungen werden dann verworfen." -#: src/frontends/qt/GuiView.cpp:3655 +#: src/frontends/qt/GuiView.cpp:3671 msgid "Reload externally changed document?" msgstr "Extern ge??ndertes Dokument neu laden?" -#: src/frontends/qt/GuiView.cpp:3700 +#: src/frontends/qt/GuiView.cpp:3716 msgid "Document could not be checked in." msgstr "Das Dokument konnte nicht eingecheckt werden." -#: src/frontends/qt/GuiView.cpp:3743 +#: src/frontends/qt/GuiView.cpp:3759 msgid "Error when setting the locking property." msgstr "Fehler beim Setzen der Dateisperrung." -#: src/frontends/qt/GuiView.cpp:3792 +#: src/frontends/qt/GuiView.cpp:3808 msgid "Directory is not accessible." msgstr "Das Verzeichnis ist nicht lesbar." -#: src/frontends/qt/GuiView.cpp:3869 +#: src/frontends/qt/GuiView.cpp:3885 #, c-format msgid "Opening child document %1$s..." msgstr "??ffne Unterdokument %1$s..." -#: src/frontends/qt/GuiView.cpp:3927 +#: src/frontends/qt/GuiView.cpp:3943 #, c-format msgid "No buffer for file: %1$s." msgstr "Kein Pufferspeicher f??r Datei: %1$s." -#: src/frontends/qt/GuiView.cpp:3937 +#: src/frontends/qt/GuiView.cpp:3953 msgid "Inverse Search Failed" msgstr "R??ckw??rtssuche gescheitert" -#: src/frontends/qt/GuiView.cpp:3938 +#: src/frontends/qt/GuiView.cpp:3954 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -34920,35 +34920,35 @@ msgstr "" "Die R??ckw??rtssuche wollte eine ung??ltige Position anspringen.\n" "Bitte aktualisieren Sie das ausgegebene Dokument." -#: src/frontends/qt/GuiView.cpp:4018 +#: src/frontends/qt/GuiView.cpp:4034 msgid "Export Error" msgstr "Exportfehler" -#: src/frontends/qt/GuiView.cpp:4019 +#: src/frontends/qt/GuiView.cpp:4035 msgid "Error cloning the Buffer." msgstr "Fehler beim Klonen des Pufferspeichers." -#: src/frontends/qt/GuiView.cpp:4170 src/frontends/qt/GuiView.cpp:4190 +#: src/frontends/qt/GuiView.cpp:4186 src/frontends/qt/GuiView.cpp:4206 msgid "Exporting ..." msgstr "Exportiere ..." -#: src/frontends/qt/GuiView.cpp:4199 +#: src/frontends/qt/GuiView.cpp:4215 msgid "Previewing ..." msgstr "Generiere Vorschau ..." -#: src/frontends/qt/GuiView.cpp:4237 +#: src/frontends/qt/GuiView.cpp:4253 msgid "Document not loaded" msgstr "Dokument nicht geladen" -#: src/frontends/qt/GuiView.cpp:4324 +#: src/frontends/qt/GuiView.cpp:4340 msgid "Select file to insert" msgstr "W??hlen Sie das einzuf??gende Dokument" -#: src/frontends/qt/GuiView.cpp:4327 +#: src/frontends/qt/GuiView.cpp:4343 msgid "All Files (*)" msgstr "Alle Dateien (*)" -#: src/frontends/qt/GuiView.cpp:4355 +#: src/frontends/qt/GuiView.cpp:4371 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -34958,7 +34958,7 @@ msgstr "" "dass Sie die auf der Festplatte gespeicherte Version des Dokuments %1$s " "laden m??chten?" -#: src/frontends/qt/GuiView.cpp:4362 +#: src/frontends/qt/GuiView.cpp:4378 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -34967,61 +34967,61 @@ msgstr "" "Alle ??nderungen gehen verloren. Sind Sie sicher, dass Sie zur gespeicherten " "Version des Dokuments %1$s zur??ckkehren m??chten?" -#: src/frontends/qt/GuiView.cpp:4365 +#: src/frontends/qt/GuiView.cpp:4381 msgid "Revert to saved document?" msgstr "Gespeichertes Dokument neu laden?" -#: src/frontends/qt/GuiView.cpp:4382 +#: src/frontends/qt/GuiView.cpp:4398 msgid "Buffer export reset." msgstr "Export zur??ckgesetzt." -#: src/frontends/qt/GuiView.cpp:4405 +#: src/frontends/qt/GuiView.cpp:4421 msgid "Saving all documents..." msgstr "Speichere alle Dokumente..." -#: src/frontends/qt/GuiView.cpp:4415 +#: src/frontends/qt/GuiView.cpp:4431 msgid "All documents saved." msgstr "Alle Dokumente wurden gespeichert." -#: src/frontends/qt/GuiView.cpp:4454 +#: src/frontends/qt/GuiView.cpp:4470 msgid "Developer mode is now enabled." msgstr "Der Entwicklermodus ist nun aktiviert." -#: src/frontends/qt/GuiView.cpp:4456 +#: src/frontends/qt/GuiView.cpp:4472 msgid "Developer mode is now disabled." msgstr "Der Entwicklermodus ist nun deaktiviert." -#: src/frontends/qt/GuiView.cpp:4488 +#: src/frontends/qt/GuiView.cpp:4504 msgid "Toolbars unlocked." msgstr "Werkzeugleisten nicht verankert." -#: src/frontends/qt/GuiView.cpp:4490 +#: src/frontends/qt/GuiView.cpp:4506 msgid "Toolbars locked." msgstr "Werkzeugleisten verankert." -#: src/frontends/qt/GuiView.cpp:4503 +#: src/frontends/qt/GuiView.cpp:4518 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Eingestellte Symbolgr????e: %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4592 +#: src/frontends/qt/GuiView.cpp:4607 #, c-format msgid "%1$s unknown command!" msgstr "LFUN_UI_TOGGLE %1$s unbekannter Befehl!" -#: src/frontends/qt/GuiView.cpp:4696 +#: src/frontends/qt/GuiView.cpp:4711 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Aktueller Skalierungsfaktor: %1$d% (Standardwert: %2$d%)" -#: src/frontends/qt/GuiView.cpp:4755 +#: src/frontends/qt/GuiView.cpp:4770 msgid "Please, preview the document first." msgstr "Bitte geben Sie das Dokument zun??chst aus." -#: src/frontends/qt/GuiView.cpp:4771 +#: src/frontends/qt/GuiView.cpp:4786 msgid "Couldn't proceed." msgstr "Konnte nicht fortfahren." -#: src/frontends/qt/GuiView.cpp:5126 +#: src/frontends/qt/GuiView.cpp:5141 msgid "Disable Shell Escape" msgstr "Erlaubnis zum Aufruf externer Programme widerrufen" commit bca1b63d89e27b31b089ab48c63368640084b3a6 Author: Juergen Spitzmueller Date: Mon Nov 1 14:21:34 2021 +0100 Update toolbar and properly reset focus when find widget is closed (#12396) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 1ea296b..4b02518 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include "QSizePolicy" #if QT_VERSION >= 0x050000 @@ -63,8 +64,8 @@ static void uniqueInsert(QComboBox * box, QString const & text) } -GuiSearchWidget::GuiSearchWidget(QWidget * parent) - : QWidget(parent) +GuiSearchWidget::GuiSearchWidget(QWidget * parent, GuiView & view) + : QWidget(parent), view_(view) { setupUi(this); @@ -149,6 +150,8 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev) } if (ev->key() == Qt::Key_Escape) { dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace")); + view_.setFocus(); + dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); return; } @@ -414,6 +417,15 @@ void GuiSearchWidget::showEvent(QShowEvent * e) } +void GuiSearchWidget::hideEvent(QHideEvent * e) +{ + QWidget::hideEvent(e); + view_.setFocus(); + // update toolbar status + dispatch(FuncRequest(LFUN_BUFFER_UPDATE)); +} + + void GuiSearchWidget::findBufferChanged() { docstring search = theClipboard().getFindBuffer(); @@ -554,7 +566,7 @@ void GuiSearchWidget::restoreSession(QString const & session_key) GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags) : DockView(parent, "findreplace", qt_("Search and Replace"), area, flags), - widget_(new GuiSearchWidget(this)) + widget_(new GuiSearchWidget(this, parent)) { setWidget(widget_); widget_->setBufferView(bufferview()); diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h index 2c0cd3c..2fbc8c7 100644 --- a/src/frontends/qt/GuiSearch.h +++ b/src/frontends/qt/GuiSearch.h @@ -32,7 +32,7 @@ class GuiSearchWidget : public QWidget, public Ui::SearchUi Q_OBJECT public: - GuiSearchWidget(QWidget * parent); + GuiSearchWidget(QWidget * parent, GuiView & view); /// void saveSession(QSettings & settings, QString const & session_key) const; /// @@ -68,6 +68,8 @@ private: /// void showEvent(QShowEvent * e) override; /// + void hideEvent(QHideEvent * e) override; + /// void doFind(bool const backwards = false, bool const instant = false); /// @@ -85,6 +87,8 @@ private: /// BufferView const * bv_ = nullptr; /// + GuiView & view_; + /// bool minimized_ = false; /// contains the search box FancyLineEdit * findLE_; commit 455ff6fee7842e9eee861d50f17681d0913e70ef Author: Juergen Spitzmueller Date: Mon Nov 1 14:15:05 2021 +0100 More indentation correction diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h index 579e989..2c0cd3c 100644 --- a/src/frontends/qt/GuiSearch.h +++ b/src/frontends/qt/GuiSearch.h @@ -127,8 +127,8 @@ public: protected: bool wantInitialFocus() const override { return true; } - void mouseMoveEvent(QMouseEvent * event) override; - void mousePressEvent(QMouseEvent * event) override; + void mouseMoveEvent(QMouseEvent * event) override; + void mousePressEvent(QMouseEvent * event) override; void mouseDoubleClickEvent(QMouseEvent *event) override; public Q_SLOTS: @@ -145,7 +145,7 @@ private: /// The encapsulated widget. GuiSearchWidget * widget_; /// - QPoint dragPosition; + QPoint dragPosition; }; } // namespace frontend commit b9a9234cf63a590cf1277bd56d6ce735469737c2 Author: Juergen Spitzmueller Date: Mon Nov 1 13:08:16 2021 +0100 Amend ce8b4e3a218f diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 73fecd2..1ea296b 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -565,28 +565,32 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags } -void GuiSearch::mousePressEvent(QMouseEvent *event) +void GuiSearch::mousePressEvent(QMouseEvent * event) { if (isFloating() && event->button() == Qt::LeftButton) { dragPosition = event->globalPos() - frameGeometry().topLeft(); event->accept(); - } + } else + DockView::mousePressEvent(event); } -void GuiSearch::mouseMoveEvent(QMouseEvent *event) +void GuiSearch::mouseMoveEvent(QMouseEvent * event) { if (isFloating() && event->buttons() & Qt::LeftButton) { move(event->globalPos() - dragPosition); event->accept(); - } + } else + DockView::mouseMoveEvent(event); } -void GuiSearch::mouseDoubleClickEvent(QMouseEvent *event) +void GuiSearch::mouseDoubleClickEvent(QMouseEvent * event) { if (event->button() == Qt::LeftButton) setFloating(!isFloating()); + else + DockView::mouseDoubleClickEvent(event); } commit 76ac4d8f8df449312b9c646b2e4e6d406c32b752 Author: Juergen Spitzmueller Date: Mon Nov 1 13:02:05 2021 +0100 Fix indentation diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 88edf53..73fecd2 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -567,27 +567,26 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags void GuiSearch::mousePressEvent(QMouseEvent *event) { - if (isFloating() && event->button() == Qt::LeftButton) { - dragPosition = event->globalPos() - frameGeometry().topLeft(); - event->accept(); - } + if (isFloating() && event->button() == Qt::LeftButton) { + dragPosition = event->globalPos() - frameGeometry().topLeft(); + event->accept(); + } } void GuiSearch::mouseMoveEvent(QMouseEvent *event) { - if (isFloating() && event->buttons() & Qt::LeftButton) { - move(event->globalPos() - dragPosition); - event->accept(); - } + if (isFloating() && event->buttons() & Qt::LeftButton) { + move(event->globalPos() - dragPosition); + event->accept(); + } } void GuiSearch::mouseDoubleClickEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton) { - setFloating(!isFloating()); - } + if (event->button() == Qt::LeftButton) + setFloating(!isFloating()); } commit a71c7f2154d7fa3dcd7459c13f7a3bdd7d6ed027 Author: Daniel Ramoeller Date: Sat Oct 9 18:29:23 2021 +0200 Make color description "changed" rather than "added" Fix for #12227 (regression). Amended by J??rgen Spitzm??ller diff --git a/src/Changes.cpp b/src/Changes.cpp index 33209af..1bdbbf3 100644 --- a/src/Changes.cpp +++ b/src/Changes.cpp @@ -73,24 +73,24 @@ Color Change::color() const Color color = Color_none; switch (author % 5) { case 0: - color = Color_addedtextauthor1; + color = Color_changedtext_workarea_author1; break; case 1: - color = Color_addedtextauthor2; + color = Color_changedtext_workarea_author2; break; case 2: - color = Color_addedtextauthor3; + color = Color_changedtext_workarea_author3; break; case 3: - color = Color_addedtextauthor4; + color = Color_changedtext_workarea_author4; break; case 4: - color = Color_addedtextauthor5; + color = Color_changedtext_workarea_author5; break; } if (deleted()) - color.mergeColor = Color_deletedtextmodifier; + color.mergeColor = Color_deletedtext_workarea_modifier; return color; } diff --git a/src/Color.cpp b/src/Color.cpp index cf297e9..7cb520d 100644 --- a/src/Color.cpp +++ b/src/Color.cpp @@ -322,14 +322,14 @@ ColorSet::ColorSet() { Color_eolmarker, N_("end-of-line marker"), "eolmarker", Brown, Brown, "eolmarker" }, { Color_appendix, N_("appendix marker"), "appendix", Brown, Brown, "appendix" }, { Color_changebar, N_("change bar"), "changebar", blue, "#86a4ff", "changebar" }, - { Color_deletedtext, N_("deleted text (output)"), "deletedtext", "#ff0000", "#ff0000", "deletedtext" }, - { Color_addedtext, N_("added text (output)"), "addedtext", "#0000ff", "#0000ff", "addedtext" }, - { Color_addedtextauthor1, N_("added text (workarea, 1st author)"), "changedtextauthor1", "#0000ff", "#86a4ff", "changedtextauthor1" }, - { Color_addedtextauthor2, N_("added text (workarea, 2nd author)"), "changedtextauthor2", "#ff00ff", "#ee86ee", "changedtextauthor2" }, - { Color_addedtextauthor3, N_("added text (workarea, 3rd author)"), "changedtextauthor3", "#ff0000", "#ea8989", "changedtextauthor3" }, - { Color_addedtextauthor4, N_("added text (workarea, 4th author)"), "changedtextauthor4", "#aa00ff", "#c371ec", "changedtextauthor4" }, - { Color_addedtextauthor5, N_("added text (workarea, 5th author)"), "changedtextauthor5", "#55aa00", "#acd780", "changedtextauthor5" }, - { Color_deletedtextmodifier, N_("deleted text modifier (workarea)"), "deletedtextmodifier", white, white, "deletedtextmodifier" }, + { Color_deletedtext_output, N_("deleted text (output)"), "deletedtext", "#ff0000", "#ff0000", "deletedtext" }, + { Color_addedtext_output, N_("added text (output)"), "addedtext", "#0000ff", "#0000ff", "addedtext" }, + { Color_changedtext_workarea_author1, N_("changed text (workarea, 1st author)"), "changedtextauthor1", "#0000ff", "#86a4ff", "changedtextauthor1" }, + { Color_changedtext_workarea_author2, N_("changed text (workarea, 2nd author)"), "changedtextauthor2", "#ff00ff", "#ee86ee", "changedtextauthor2" }, + { Color_changedtext_workarea_author3, N_("changed text (workarea, 3rd author)"), "changedtextauthor3", "#ff0000", "#ea8989", "changedtextauthor3" }, + { Color_changedtext_workarea_author4, N_("changed text (workarea, 4th author)"), "changedtextauthor4", "#aa00ff", "#c371ec", "changedtextauthor4" }, + { Color_changedtext_workarea_author5, N_("changed text (workarea, 5th author)"), "changedtextauthor5", "#55aa00", "#acd780", "changedtextauthor5" }, + { Color_deletedtext_workarea_modifier, N_("deleted text modifier (workarea)"), "deletedtextmodifier", white, white, "deletedtextmodifier" }, { Color_added_space, N_("added space markers"), "added_space", Brown, Brown, "added_space" }, { Color_tabularline, N_("table line"), "tabularline", black, Linen, "tabularline" }, { Color_tabularonoffline, N_("table on/off line"), "tabularonoffline", "#b0c4de", "#23497b", "tabularonoffline" }, diff --git a/src/ColorCode.h b/src/ColorCode.h index c7253ff..f2f4521 100644 --- a/src/ColorCode.h +++ b/src/ColorCode.h @@ -182,22 +182,22 @@ enum ColorCode { Color_appendix, /// Changebar color Color_changebar, - /// Deleted text color - Color_deletedtext, - /// Added text color - Color_addedtext, - /// Added text color author 1 - Color_addedtextauthor1, - /// Added text color author 2 - Color_addedtextauthor2, - /// Added text color author 3 - Color_addedtextauthor3, - /// Added text color author 4 - Color_addedtextauthor4, - /// Added text color author 5 - Color_addedtextauthor5, - /// Deleted text modifying color - Color_deletedtextmodifier, + /// Deleted text color (output) + Color_deletedtext_output, + /// Added text color (output) + Color_addedtext_output, + /// Changed text color author 1 (workarea) + Color_changedtext_workarea_author1, + /// Changed text color author 2 (workarea) + Color_changedtext_workarea_author2, + /// Changed text color author 3 (workarea) + Color_changedtext_workarea_author3, + /// Changed text color author 4 (workarea) + Color_changedtext_workarea_author4, + /// Changed text color author 5 (workarea) + Color_changedtext_workarea_author5, + /// Deleted text modifying color (workarea) + Color_deletedtext_workarea_modifier, /// Table line color Color_tabularline, /// Table line color diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index cec1078..0344202 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -1726,11 +1726,11 @@ TexString LaTeXFeatures::getMacros() const if (mustProvide("ct-xcolor-ulem")) { streamsize const prec = macros.os().precision(2); - RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext)); + RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext_output)); macros << "\\providecolor{lyxadded}{rgb}{" << cadd.r / 255.0 << ',' << cadd.g / 255.0 << ',' << cadd.b / 255.0 << "}\n"; - RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext)); + RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext_output)); macros << "\\providecolor{lyxdeleted}{rgb}{" << cdel.r / 255.0 << ',' << cdel.g / 255.0 << ',' << cdel.b / 255.0 << "}\n"; @@ -1755,11 +1755,11 @@ TexString LaTeXFeatures::getMacros() const if (!mustProvide("ct-xcolor-ulem")) { streamsize const prec = macros.os().precision(2); - RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext)); + RGBColor cadd = rgbFromHexName(lcolor.getX11HexName(Color_addedtext_output)); macros << "\\providecolor{lyxadded}{rgb}{" << cadd.r / 255.0 << ',' << cadd.g / 255.0 << ',' << cadd.b / 255.0 << "}\n"; - RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext)); + RGBColor cdel = rgbFromHexName(lcolor.getX11HexName(Color_deletedtext_output)); macros << "\\providecolor{lyxdeleted}{rgb}{" << cdel.r / 255.0 << ',' << cdel.g / 255.0 << ',' << cdel.b / 255.0 << "}\n"; commit 1165fa7f46eaa763498f22a29a6cf26fa1ceab66 Author: jpc Date: Mon Nov 1 11:17:19 2021 +0100 Update fr.po diff --git a/po/fr.gmo b/po/fr.gmo index f290e86..03e8b11 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index e2e8c3a..94df3e3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -362,8 +362,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-25 10:36+0200\n" -"PO-Revision-Date: 2021-10-25 10:38+0200\n" +"POT-Creation-Date: 2021-11-01 11:08+0100\n" +"PO-Revision-Date: 2021-11-01 11:16+0100\n" "Last-Translator: Jean-Pierre Chr??tien \n" "Language-Team: lyxfr\n" "Language: fr\n" @@ -937,7 +937,7 @@ msgstr "??longation" #: src/frontends/qt/ui/BoxUi.ui:265 src/frontends/qt/ui/ListingsUi.ui:110 #: src/frontends/qt/ui/TabularUi.ui:344 src/frontends/qt/ui/TabularUi.ui:1553 -#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1544 +#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1552 #: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042 msgid "Left" msgstr "?? gauche" @@ -950,7 +950,7 @@ msgstr "Centr??" #: src/frontends/qt/ui/BoxUi.ui:275 src/frontends/qt/ui/ListingsUi.ui:115 #: src/frontends/qt/ui/TabularUi.ui:354 src/frontends/qt/ui/WrapUi.ui:52 -#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiParagraph.cpp:116 +#: src/frontends/qt/GuiDocument.cpp:1554 src/frontends/qt/GuiParagraph.cpp:116 #: src/frontends/qt/GuiTabular.cpp:1044 msgid "Right" msgstr "?? droite" @@ -1112,15 +1112,15 @@ msgstr "Ajouter &tout" #: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458 #: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310 #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2836 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2809 src/frontends/qt/GuiView.cpp:3041 -#: src/frontends/qt/GuiView.cpp:3065 src/frontends/qt/GuiView.cpp:3079 -#: src/frontends/qt/GuiView.cpp:3181 src/frontends/qt/GuiView.cpp:3226 -#: src/frontends/qt/GuiView.cpp:3281 src/frontends/qt/GuiView.cpp:3515 -#: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3631 -#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4360 -#: src/frontends/qt/GuiView.cpp:4367 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:2825 src/frontends/qt/GuiView.cpp:3057 +#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3095 +#: src/frontends/qt/GuiView.cpp:3197 src/frontends/qt/GuiView.cpp:3242 +#: src/frontends/qt/GuiView.cpp:3297 src/frontends/qt/GuiView.cpp:3531 +#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3647 +#: src/frontends/qt/GuiView.cpp:3672 src/frontends/qt/GuiView.cpp:4376 +#: src/frontends/qt/GuiView.cpp:4383 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Annuler" @@ -1158,16 +1158,16 @@ msgstr "&Taille :" #: src/frontends/qt/GuiCharacter.cpp:85 src/frontends/qt/GuiCharacter.cpp:98 #: src/frontends/qt/GuiCharacter.cpp:136 src/frontends/qt/GuiCharacter.cpp:147 #: src/frontends/qt/GuiCharacter.cpp:190 src/frontends/qt/GuiCharacter.cpp:241 -#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:858 -#: src/frontends/qt/GuiDocument.cpp:878 src/frontends/qt/GuiDocument.cpp:1050 -#: src/frontends/qt/GuiDocument.cpp:1135 src/frontends/qt/GuiDocument.cpp:1181 -#: src/frontends/qt/GuiDocument.cpp:1192 src/frontends/qt/GuiDocument.cpp:1420 -#: src/frontends/qt/GuiDocument.cpp:1538 src/frontends/qt/GuiDocument.cpp:1545 -#: src/frontends/qt/GuiDocument.cpp:2578 src/frontends/qt/GuiDocument.cpp:2665 -#: src/frontends/qt/GuiDocument.cpp:2666 src/frontends/qt/GuiDocument.cpp:2667 -#: src/frontends/qt/GuiDocument.cpp:2687 src/frontends/qt/GuiDocument.cpp:2694 -#: src/frontends/qt/GuiDocument.cpp:2701 src/frontends/qt/GuiDocument.cpp:2791 -#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4893 +#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:866 +#: src/frontends/qt/GuiDocument.cpp:886 src/frontends/qt/GuiDocument.cpp:1058 +#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1189 +#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1428 +#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:1553 +#: src/frontends/qt/GuiDocument.cpp:2586 src/frontends/qt/GuiDocument.cpp:2673 +#: src/frontends/qt/GuiDocument.cpp:2674 src/frontends/qt/GuiDocument.cpp:2675 +#: src/frontends/qt/GuiDocument.cpp:2695 src/frontends/qt/GuiDocument.cpp:2702 +#: src/frontends/qt/GuiDocument.cpp:2709 src/frontends/qt/GuiDocument.cpp:2799 +#: src/frontends/qt/GuiDocument.cpp:3405 src/frontends/qt/GuiDocument.cpp:4890 #: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71 #: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160 #: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479 @@ -1355,7 +1355,6 @@ msgid "Language Settings" msgstr "Param??tres de langue" #: src/frontends/qt/ui/CharacterUi.ui:265 src/frontends/qt/ui/LanguageUi.ui:22 -#: src/frontends/qt/ui/LyXFilesUi.ui:94 #: src/frontends/qt/ui/SpellcheckerUi.ui:28 #: src/frontends/qt/ui/ThesaurusUi.ui:23 msgid "&Language:" @@ -1365,7 +1364,7 @@ msgstr "Lan&gue :" #: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440 #: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482 #: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327 -#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1769 +#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777 #: src/frontends/qt/GuiPrefs.cpp:2426 src/frontends/qt/Menus.cpp:938 msgid "Language" msgstr "Langue" @@ -1559,7 +1558,7 @@ msgid "Greyed-out notes:" msgstr "Notes gris??es :" #: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256 -#: src/frontends/qt/GuiDocument.cpp:2207 src/frontends/qt/GuiDocument.cpp:2237 +#: src/frontends/qt/GuiDocument.cpp:2215 src/frontends/qt/GuiDocument.cpp:2245 msgid "&Change..." msgstr "&Modifier..." @@ -1626,7 +1625,7 @@ msgstr "&Parcourir..." msgid "Select the document from which the settings should be taken" msgstr "S??lectionner le document ?? partir duquel extraire les r??glages" -#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:781 +#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:789 msgid "Document Settings" msgstr "Param??tres du document" @@ -1959,7 +1958,7 @@ msgid "Restrict search to whole words only" msgstr "Restreindre la recherche aux mots complets seulement" #: src/frontends/qt/ui/FindAndReplaceUi.ui:153 -#: src/frontends/qt/ui/SearchUi.ui:217 src/frontends/qt/GuiSearch.cpp:101 +#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:101 msgid "Wh&ole words" msgstr "Mots com&plets" @@ -1977,7 +1976,7 @@ msgid "Find next occurrence (Enter, backwards: Shift+Enter)" msgstr "Rechercher l'occurrence suivante (Entr??e, vers l'arri??re : Maj+Entr??e)" #: src/frontends/qt/ui/FindAndReplaceUi.ui:208 -#: src/frontends/qt/ui/SearchUi.ui:172 src/frontends/qt/FindAndReplace.cpp:647 +#: src/frontends/qt/ui/SearchUi.ui:190 src/frontends/qt/FindAndReplace.cpp:647 msgid "Find &>" msgstr "Rechercher &>" @@ -1998,7 +1997,7 @@ msgid "Replace all occurrences at once" msgstr "Remplacer toutes les occurrences" #: src/frontends/qt/ui/FindAndReplaceUi.ui:237 -#: src/frontends/qt/ui/SearchUi.ui:50 +#: src/frontends/qt/ui/SearchUi.ui:68 msgid "Replace &All" msgstr "Remplacer &tout" @@ -2663,8 +2662,8 @@ msgid "Edit the file" msgstr "Modifier le fichier" #: src/frontends/qt/ui/IncludeUi.ui:72 src/frontends/qt/ui/LocalLayoutUi.ui:77 -#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:579 -#: src/frontends/qt/GuiDocument.cpp:751 +#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:578 +#: src/frontends/qt/GuiDocument.cpp:759 msgid "&Edit" msgstr "Mo&difier" @@ -3269,6 +3268,10 @@ msgstr "Filtrer selon la casse" msgid "Case Sensiti&ve" msgstr "Selon la &casse" +#: src/frontends/qt/ui/LyXFilesUi.ui:94 +msgid "File &Language:" +msgstr "Lan&gue du fichier :" + #: src/frontends/qt/ui/LyXFilesUi.ui:110 msgid "The available language(s) of the selected file will be displayed here" msgstr "" @@ -3678,7 +3681,7 @@ msgstr "Images" #: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63 #: lib/layouts/egs.layout:712 lib/languages:146 -#: src/frontends/qt/GuiDocument.cpp:1599 src/frontends/qt/GuiErrorList.cpp:50 +#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiErrorList.cpp:50 #: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642 msgid "LaTeX" msgstr "LaTeX" @@ -3889,7 +3892,7 @@ msgstr "Pa&ysage" #: src/frontends/qt/ui/PageLayoutUi.ui:162 #: lib/layouts/customHeadersFooters.module:3 lib/layouts/landscape.module:3 -#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1767 +#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1775 msgid "Page Layout" msgstr "Format de la page" @@ -3914,7 +3917,7 @@ msgid "Line &spacing" msgstr "&Interligne" #: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:2118 -#: src/frontends/qt/GuiDocument.cpp:867 +#: src/frontends/qt/GuiDocument.cpp:875 msgid "Single" msgstr "Simple" @@ -3923,7 +3926,7 @@ msgid "1.5" msgstr "Un et demi" #: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:2124 -#: src/frontends/qt/GuiDocument.cpp:871 +#: src/frontends/qt/GuiDocument.cpp:879 msgid "Double" msgstr "Double" @@ -3933,10 +3936,10 @@ msgstr "Double" #: src/frontends/qt/ui/TabularUi.ui:1210 src/frontends/qt/ui/TabularUi.ui:1229 #: src/frontends/qt/ui/TabularUi.ui:1277 src/frontends/qt/ui/VSpaceUi.ui:118 #: lib/layouts/stdcustom.inc:8 src/frontends/qt/FloatPlacement.cpp:185 -#: src/frontends/qt/GuiDocument.cpp:859 src/frontends/qt/GuiDocument.cpp:865 -#: src/frontends/qt/GuiDocument.cpp:873 src/frontends/qt/GuiDocument.cpp:989 -#: src/frontends/qt/GuiDocument.cpp:1056 src/frontends/qt/GuiDocument.cpp:1142 -#: src/frontends/qt/GuiDocument.cpp:1193 src/frontends/qt/GuiDocument.cpp:1539 +#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/GuiDocument.cpp:873 +#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:997 +#: src/frontends/qt/GuiDocument.cpp:1064 src/frontends/qt/GuiDocument.cpp:1150 +#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547 #: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816 #: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871 #: src/frontends/qt/GuiPrefs.cpp:2325 src/frontends/qt/GuiPrefs.cpp:2348 @@ -4753,18 +4756,18 @@ msgstr "" "documents" #: src/frontends/qt/ui/PrefLanguageUi.ui:77 -#: src/frontends/qt/GuiDocument.cpp:1052 src/frontends/qt/GuiDocument.cpp:2708 +#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2716 #: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843 msgid "Automatic" msgstr "Automatique" #: src/frontends/qt/ui/PrefLanguageUi.ui:82 -#: src/frontends/qt/GuiDocument.cpp:1054 +#: src/frontends/qt/GuiDocument.cpp:1062 msgid "Always Babel" msgstr "Toujours utiliser babel" #: src/frontends/qt/ui/PrefLanguageUi.ui:92 -#: src/frontends/qt/GuiDocument.cpp:1058 +#: src/frontends/qt/GuiDocument.cpp:1066 msgid "None[[language package]]" msgstr "Aucun" @@ -4939,7 +4942,7 @@ msgid "Default length &unit:" msgstr "Unit?? de &longueur implicite :" #: src/frontends/qt/ui/PrefLanguageUi.ui:348 -#: src/frontends/qt/GuiDocument.cpp:1015 +#: src/frontends/qt/GuiDocument.cpp:1023 msgid "Language Default" msgstr "Langue implicite" @@ -5584,89 +5587,89 @@ msgstr "Ne pas ??mettre la partie de l'??tiquette avant \":\"" msgid "No Prefix" msgstr "Sans pr??fixe" -#: src/frontends/qt/ui/SearchUi.ui:34 +#: src/frontends/qt/ui/SearchUi.ui:52 msgid "Find previous occurrence (Shift+Enter)" msgstr "Rechercher l'occurrence pr??c??dente (Maj+Entr??e)" -#: src/frontends/qt/ui/SearchUi.ui:37 src/frontends/qt/FindAndReplace.cpp:642 +#: src/frontends/qt/ui/SearchUi.ui:55 src/frontends/qt/FindAndReplace.cpp:642 msgid "&< Find" msgstr "&< Rechercher" -#: src/frontends/qt/ui/SearchUi.ui:47 +#: src/frontends/qt/ui/SearchUi.ui:65 msgid "Replace all occurrences" msgstr "Remplacer toutes les occurrences" -#: src/frontends/qt/ui/SearchUi.ui:82 src/frontends/qt/GuiSearch.cpp:203 +#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:203 msgid "Hide replace and option widgets" msgstr "Cacher les vignettes Remplacer et Options" -#: src/frontends/qt/ui/SearchUi.ui:85 src/frontends/qt/GuiSearch.cpp:202 +#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:202 msgid "&Minimize" msgstr "&Minimiser" -#: src/frontends/qt/ui/SearchUi.ui:92 +#: src/frontends/qt/ui/SearchUi.ui:110 msgid "Rep&lace with:" msgstr "Remplacer &par :" -#: src/frontends/qt/ui/SearchUi.ui:102 +#: src/frontends/qt/ui/SearchUi.ui:120 msgid "&Search:" msgstr "R&echercher :" -#: src/frontends/qt/ui/SearchUi.ui:137 +#: src/frontends/qt/ui/SearchUi.ui:155 msgid "Replace and find next occurrence" msgstr "Remplacer et rechercher l'occurrence suivante" -#: src/frontends/qt/ui/SearchUi.ui:143 +#: src/frontends/qt/ui/SearchUi.ui:161 msgid "&Replace >" msgstr "&Remplacer >" -#: src/frontends/qt/ui/SearchUi.ui:153 +#: src/frontends/qt/ui/SearchUi.ui:171 msgid "Replace and find previous occurrence" msgstr "Remplacer et rechercher l'occurrence pr??c??dente" -#: src/frontends/qt/ui/SearchUi.ui:156 +#: src/frontends/qt/ui/SearchUi.ui:174 msgid "< Re&place" msgstr "< &Remplacer" -#: src/frontends/qt/ui/SearchUi.ui:166 +#: src/frontends/qt/ui/SearchUi.ui:184 msgid "Find next occurrence (Enter)" msgstr "Rechercher l'occurrence suivante (Entr??e)" -#: src/frontends/qt/ui/SearchUi.ui:204 +#: src/frontends/qt/ui/SearchUi.ui:228 msgid "Treat uppercase/lowercase writing as distinct" msgstr "Distinguer majuscules/minuscules" -#: src/frontends/qt/ui/SearchUi.ui:207 src/frontends/qt/GuiSearch.cpp:99 +#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:99 msgid "&Case sensitive[[search]]" msgstr "Selon la &casse" -#: src/frontends/qt/ui/SearchUi.ui:214 +#: src/frontends/qt/ui/SearchUi.ui:238 msgid "Match whole words only" msgstr "Mots complets seulement" -#: src/frontends/qt/ui/SearchUi.ui:224 +#: src/frontends/qt/ui/SearchUi.ui:248 msgid "Limit search and replace to selection" msgstr "Limiter rechercher/remplacer ?? la s??lection" -#: src/frontends/qt/ui/SearchUi.ui:227 src/frontends/qt/GuiSearch.cpp:103 +#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:103 msgid "Selection onl&y" msgstr "S??lection &uniquement" -#: src/frontends/qt/ui/SearchUi.ui:234 +#: src/frontends/qt/ui/SearchUi.ui:258 msgid "If this is checked, LyX will search forward immediately" msgstr "Si la case est coch??e, LyX cherchera vers l'avant imm??diatement" -#: src/frontends/qt/ui/SearchUi.ui:237 src/frontends/qt/GuiSearch.cpp:105 +#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:105 msgid "Search as yo&u type" msgstr "Chercher pendant la &saisie" -#: src/frontends/qt/ui/SearchUi.ui:244 +#: src/frontends/qt/ui/SearchUi.ui:268 msgid "If the end/start of the document is reached, automatically wrap around" msgstr "" "Continuer automatiquement la recherche si le d??but ou la fin du document est " "atteint" -#: src/frontends/qt/ui/SearchUi.ui:247 src/frontends/qt/GuiSearch.cpp:107 +#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:107 msgid "&Wrap" msgstr "&R??cursion" @@ -6438,25 +6441,25 @@ msgstr "Conserver l'espacement m??me apr??s un saut de page" msgid "DefSkip" msgstr "Implicite" -#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:862 +#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:870 msgid "SmallSkip" msgstr "Petit" -#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:863 +#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:871 msgid "MedSkip" msgstr "Moyen" -#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:864 +#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:872 msgid "BigSkip" msgstr "Grand" #: src/frontends/qt/ui/VSpaceUi.ui:103 src/VSpace.cpp:201 -#: src/frontends/qt/GuiDocument.cpp:860 +#: src/frontends/qt/GuiDocument.cpp:868 msgid "Half line height" msgstr "Demi interligne" #: src/frontends/qt/ui/VSpaceUi.ui:108 src/VSpace.cpp:204 -#: src/frontends/qt/GuiDocument.cpp:861 +#: src/frontends/qt/GuiDocument.cpp:869 msgid "Line height" msgstr "Interligne" @@ -6500,8 +6503,8 @@ msgstr "Seulement le corps" msgid "Select the output format" msgstr "S??lectionner le format de sortie" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3656 -#: src/frontends/qt/GuiView.cpp:4360 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3672 +#: src/frontends/qt/GuiView.cpp:4376 msgid "&Reload" msgstr "&Recharger" @@ -7375,7 +7378,7 @@ msgstr "D??finition" #: lib/layouts/theorems-without-preamble.inc:240 #: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204 #: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216 -#: src/frontends/qt/GuiDocument.cpp:1346 +#: src/frontends/qt/GuiDocument.cpp:1354 msgid "Example" msgstr "Exemple" @@ -7919,7 +7922,7 @@ msgstr "Titre court pour l'annexe" #: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657 #: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294 #: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0 -#: src/frontends/qt/GuiDocument.cpp:1773 src/insets/InsetBibtex.cpp:957 +#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957 msgid "Bibliography" msgstr "Bibliographie" @@ -8495,9 +8498,9 @@ msgstr "Autre affiliation :" msgid "And" msgstr "Et" -#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3136 -#: src/frontends/qt/GuiDocument.cpp:3148 src/frontends/qt/GuiDocument.cpp:3274 -#: src/frontends/qt/GuiDocument.cpp:3293 +#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3144 +#: src/frontends/qt/GuiDocument.cpp:3156 src/frontends/qt/GuiDocument.cpp:3282 +#: src/frontends/qt/GuiDocument.cpp:3301 msgid "and" msgstr "et" @@ -12968,8 +12971,8 @@ msgid "Fixme Error" msgstr "Erreur Fixme" #: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199 -#: src/frontends/qt/GuiDocument.cpp:2849 src/frontends/qt/GuiDocument.cpp:2923 -#: src/frontends/qt/GuiDocument.cpp:4836 +#: src/frontends/qt/GuiDocument.cpp:2857 src/frontends/qt/GuiDocument.cpp:2931 +#: src/frontends/qt/GuiDocument.cpp:4828 msgid "Error" msgstr "Erreur" @@ -17338,7 +17341,7 @@ msgstr "Notes de bas de page" msgid "Notes" msgstr "Notes" -#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1780 +#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1788 msgid "Branches" msgstr "Branches" @@ -17376,7 +17379,7 @@ msgstr "Liste des listings" msgid "List of Listings" msgstr "Liste des listings" -#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1778 +#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1786 msgid "Listings[[inset]]" msgstr "Listings" @@ -22259,7 +22262,7 @@ msgid "Fractions" msgstr "Fractions" #: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442 -#: src/frontends/qt/GuiDocument.cpp:1765 +#: src/frontends/qt/GuiDocument.cpp:1773 msgid "Fonts" msgstr "Polices" @@ -22276,7 +22279,7 @@ msgid "Big operators" msgstr "Grands op??rateurs" #: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690 -#: src/frontends/qt/GuiDocument.cpp:5168 +#: src/frontends/qt/GuiDocument.cpp:5165 msgid "Miscellaneous" msgstr "Divers" @@ -27131,7 +27134,7 @@ msgstr "MS Word Office Open XML|O" msgid "Table (CSV)" msgstr "Tableau (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1602 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1618 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -27333,7 +27336,7 @@ msgstr "Mentions de danger et conseils de prudence" msgid "Multilingual Captions" msgstr "L??gendes multilingues" -#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1763 +#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1771 msgid "Modules" msgstr "Modules" @@ -27683,8 +27686,8 @@ msgid "Overwrite modified file?" msgstr "??craser le fichier modifi?? ?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2809 -#: src/frontends/qt/GuiView.cpp:3078 src/frontends/qt/GuiView.cpp:3181 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2825 +#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3197 msgid "&Overwrite" msgstr "??&craser" @@ -27926,7 +27929,7 @@ msgstr "La branche ?? %1$s ?? existe d??j??." msgid "Error viewing the output file." msgstr "Erreur lors de l'affichage du fichier imprimable." -#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2640 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2656 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" @@ -28013,7 +28016,7 @@ msgstr "" msgid "Couldn't export file" msgstr "Exportation du fichier impossible" -#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2782 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2798 msgid "File name error" msgstr "Erreur de nom de fichier" @@ -28031,7 +28034,7 @@ msgstr "" "devriez enregistrer le fichier dans un r??pertoire dont le chemin d'acc??s ne " "contient pas d'espaces." -#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:848 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:859 msgid "Document export cancelled." msgstr "Export du document annul??." @@ -28303,12 +28306,12 @@ msgid "Document class not available" msgstr "Classe de document non disponible" #: src/BufferParams.cpp:1098 src/Color.cpp:281 -#: src/frontends/qt/GuiDocument.cpp:3526 +#: src/frontends/qt/GuiDocument.cpp:3534 msgid "greyedout inset text" msgstr "texte d'insert gris??" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2979 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:3007 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28319,7 +28322,7 @@ msgid "LyX Warning: " msgstr "Avertissement LyX : " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2980 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:3008 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -28480,7 +28483,7 @@ msgid "This portion of the document is deleted." msgstr "Cette portion du document est supprim??e." #: src/BufferView.cpp:1191 src/BufferView.cpp:2253 -#: src/frontends/qt/GuiView.cpp:4230 src/frontends/qt/GuiView.cpp:4318 +#: src/frontends/qt/GuiView.cpp:4246 src/frontends/qt/GuiView.cpp:4334 msgid "Absolute filename expected." msgstr "Chemin absolu requis." @@ -29244,11 +29247,11 @@ msgstr "" "du format %1$s vers le format %2$s.\n" "D??finissez un convertisseur dans les pr??f??rences." -#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1992 +#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:2000 msgid "Pygments driver command not found!" msgstr "Commande d'activation de pygments introuvable !" -#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1993 +#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:2001 msgid "" "The driver command necessary to use the minted package\n" "(pygmentize) has not been found. Make sure you have\n" @@ -29523,17 +29526,17 @@ msgid "Number %1$s" msgstr "Num??ro %1$s" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Roman" msgstr "Romain" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Sans Serif" msgstr "Sans empattement" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167 msgid "Typewriter" msgstr "Chasse fixe" @@ -29617,7 +29620,7 @@ msgstr "Nom propre %1$s, " msgid "Cannot view file" msgstr "Visionnement du fichier impossible" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3920 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3936 #, c-format msgid "File does not exist: %1$s" msgstr "Fichier inexistant : %1$s" @@ -30653,7 +30656,7 @@ msgstr "LyX VC : message de journal" msgid "(no log message)" msgstr "(aucun message de journal)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3783 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3799 msgid "LyX VC: Log Message" msgstr "LyX VC : Message de journal" @@ -30674,7 +30677,7 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Revenir ?? la version enregistr??e du document ?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4367 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4383 msgid "&Revert" msgstr "&Revenir ?? la Sauvegarde" @@ -30763,7 +30766,7 @@ msgstr ", Profondeur : %1$d" msgid ", Spacing: " msgstr ", Espacement : " -#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:869 +#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:877 msgid "OneHalf" msgstr "Un et Demi" @@ -31010,7 +31013,7 @@ msgstr "??tiquettes et r??f??rences" msgid "Broken References and Citations" msgstr "R??f??rences et citations cass??es" -#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1762 +#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1770 msgid "Child Documents" msgstr "Sous-documents" @@ -31034,7 +31037,7 @@ msgstr "V??rifiez si le paquetage RCS GNU est install?? sur votre syst??me." #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3699 src/frontends/qt/GuiView.cpp:3742 +#: src/frontends/qt/GuiView.cpp:3715 src/frontends/qt/GuiView.cpp:3758 msgid "Revision control error." msgstr "Erreur de contr??le de version." @@ -31289,7 +31292,7 @@ msgstr "" "Le document %1$s est d??j?? charg?? et a ??t?? modifi??.\n" "Voulez-vous revenir ?? la version enregistr??e et ignorer vos modifications ?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4358 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4374 msgid "Reload saved document?" msgstr "Revenir ?? la sauvegarde ?" @@ -31473,8 +31476,8 @@ msgstr "" "Entr??e)" #: src/frontends/qt/FloatPlacement.cpp:182 -#: src/frontends/qt/GuiDocument.cpp:1141 src/frontends/qt/GuiDocument.cpp:2709 -#: src/frontends/qt/GuiDocument.cpp:2736 +#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2717 +#: src/frontends/qt/GuiDocument.cpp:2744 msgid "Class Default" msgstr "Valeurs implicites de la classe" @@ -31482,7 +31485,7 @@ msgstr "Valeurs implicites de la classe" msgid "Document Default" msgstr "Document implicite" -#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1777 +#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1785 msgid "Float Settings" msgstr "Param??tres de flottant" @@ -31651,7 +31654,7 @@ msgstr "Commande d??sactiv??e" msgid "Bad debug value `%1$s'." msgstr "Valeur de d??bogage incorrecte ?? %1$s ??." -#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2137 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2153 msgid "Command not allowed without a buffer open" msgstr "Commande non autoris??e si aucun tampon n'est ouvert" @@ -31915,12 +31918,12 @@ msgstr "toutes les entit??s de r??f??rences" #: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466 #: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167 -#: src/frontends/qt/GuiDocument.cpp:2887 src/frontends/qt/GuiExternal.cpp:677 +#: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 -#: src/frontends/qt/GuiLyXFiles.cpp:362 src/frontends/qt/GuiLyXFiles.cpp:368 -#: src/frontends/qt/GuiView.cpp:2549 src/frontends/qt/GuiView.cpp:2608 -#: src/frontends/qt/GuiView.cpp:2748 src/frontends/qt/GuiView.cpp:2882 -#: src/frontends/qt/GuiView.cpp:3002 src/frontends/qt/GuiView.cpp:3124 +#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374 +#: src/frontends/qt/GuiView.cpp:2565 src/frontends/qt/GuiView.cpp:2624 +#: src/frontends/qt/GuiView.cpp:2764 src/frontends/qt/GuiView.cpp:2898 +#: src/frontends/qt/GuiView.cpp:3018 src/frontends/qt/GuiView.cpp:3140 msgid "D&ocuments" msgstr "Documents|u" @@ -32002,7 +32005,7 @@ msgid "Filename Suffix" msgstr "Suffixe du fichier" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:4634 +#: src/frontends/qt/GuiDocument.cpp:3331 src/frontends/qt/GuiDocument.cpp:4626 #: src/frontends/qt/GuiProgressView.cpp:144 #: src/frontends/qt/GuiProgressView.cpp:158 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -32010,8 +32013,8 @@ msgid "Yes" msgstr "Oui" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3322 src/frontends/qt/GuiDocument.cpp:3965 -#: src/frontends/qt/GuiDocument.cpp:4633 +#: src/frontends/qt/GuiDocument.cpp:3330 src/frontends/qt/GuiDocument.cpp:3957 +#: src/frontends/qt/GuiDocument.cpp:4625 #: src/frontends/qt/GuiProgressView.cpp:110 #: src/frontends/qt/GuiProgressView.cpp:143 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -32280,10 +32283,10 @@ msgstr "Fichiers %1$s" msgid "Choose a filename to save the pasted graphic as" msgstr "Choisir le nom de fichier sous lequel enregistrer le graphique coll??" -#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2626 -#: src/frontends/qt/GuiView.cpp:2767 src/frontends/qt/GuiView.cpp:2783 -#: src/frontends/qt/GuiView.cpp:2795 src/frontends/qt/GuiView.cpp:2812 -#: src/frontends/qt/GuiView.cpp:2897 src/frontends/qt/GuiView.cpp:4330 +#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2642 +#: src/frontends/qt/GuiView.cpp:2783 src/frontends/qt/GuiView.cpp:2799 +#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2828 +#: src/frontends/qt/GuiView.cpp:2913 src/frontends/qt/GuiView.cpp:4346 msgid "Canceled." msgstr "Annul??." @@ -32312,9 +32315,9 @@ msgstr "Comparer les fichiers LyX" msgid "Select document" msgstr "S??lectionner le document" -#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:361 -#: src/frontends/qt/GuiView.cpp:2553 src/frontends/qt/GuiView.cpp:2612 -#: src/frontends/qt/GuiView.cpp:2886 src/frontends/qt/GuiView.cpp:3013 +#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367 +#: src/frontends/qt/GuiView.cpp:2569 src/frontends/qt/GuiView.cpp:2628 +#: src/frontends/qt/GuiView.cpp:2902 src/frontends/qt/GuiView.cpp:3029 msgid "LyX Documents (*.lyx)" msgstr "Documents LyX (*.lyx)" @@ -32382,67 +32385,67 @@ msgstr "Variable" msgid "Module not found!" msgstr "Module introuvable !" -#: src/frontends/qt/GuiDocument.cpp:595 src/frontends/qt/GuiDocument.cpp:767 +#: src/frontends/qt/GuiDocument.cpp:594 src/frontends/qt/GuiDocument.cpp:775 msgid "&End Edit" msgstr "Fin de modification" -#: src/frontends/qt/GuiDocument.cpp:655 +#: src/frontends/qt/GuiDocument.cpp:663 msgid "Validation required!" msgstr "Validation n??cessaire !" -#: src/frontends/qt/GuiDocument.cpp:705 +#: src/frontends/qt/GuiDocument.cpp:713 msgid "Layout is valid!" msgstr "Le format est valide !" -#: src/frontends/qt/GuiDocument.cpp:706 +#: src/frontends/qt/GuiDocument.cpp:714 msgid "Layout is invalid!" msgstr "Format invalide !" -#: src/frontends/qt/GuiDocument.cpp:718 +#: src/frontends/qt/GuiDocument.cpp:726 msgid "Conversion to current format impossible!" msgstr "Conversion vers le format courant impossible !" -#: src/frontends/qt/GuiDocument.cpp:719 +#: src/frontends/qt/GuiDocument.cpp:727 msgid "Conversion to current stable format impossible." msgstr "Conversion vers le format stable courant impossible." -#: src/frontends/qt/GuiDocument.cpp:724 +#: src/frontends/qt/GuiDocument.cpp:732 msgid "Convert to current format" msgstr "Conversion vers le format courant" -#: src/frontends/qt/GuiDocument.cpp:902 src/frontends/qt/GuiInclude.cpp:52 +#: src/frontends/qt/GuiDocument.cpp:910 src/frontends/qt/GuiInclude.cpp:52 msgid "Child Document" msgstr "Sous-document" -#: src/frontends/qt/GuiDocument.cpp:903 +#: src/frontends/qt/GuiDocument.cpp:911 msgid "Include to Output" msgstr "Inclus dans le r??sultat" -#: src/frontends/qt/GuiDocument.cpp:987 +#: src/frontends/qt/GuiDocument.cpp:995 msgid "Unicode (utf8)" msgstr "Unicode (utf8)" -#: src/frontends/qt/GuiDocument.cpp:988 +#: src/frontends/qt/GuiDocument.cpp:996 msgid "Traditional (auto-selected)" msgstr "Traditionnel (auto-s??lection)" -#: src/frontends/qt/GuiDocument.cpp:991 +#: src/frontends/qt/GuiDocument.cpp:999 msgid "Select Unicode (utf8) encoding." msgstr "S??lectionner l???encodage Unicode (utf8)." -#: src/frontends/qt/GuiDocument.cpp:993 +#: src/frontends/qt/GuiDocument.cpp:1001 msgid "Use language-dependent traditional encodings." msgstr "Utiliser les encodages historiques sp??cifiques ?? la langue." -#: src/frontends/qt/GuiDocument.cpp:995 +#: src/frontends/qt/GuiDocument.cpp:1003 msgid "Select a custom, document-wide encoding." msgstr "S??lectionner un encodage global sp??cifique pour le document." -#: src/frontends/qt/GuiDocument.cpp:1004 +#: src/frontends/qt/GuiDocument.cpp:1012 msgid "Standard Unicode support by the ``inputenc'' package." msgstr "Support standard Unicode via le paquetage ?? inputenc ??." -#: src/frontends/qt/GuiDocument.cpp:1007 +#: src/frontends/qt/GuiDocument.cpp:1015 msgid "" "Use UTF-8 'as-is': do not load any supporting packages, do not convert any " "characters to LaTeX macros. For use with non-TeX fonts (XeTeX/LuaTeX) or " @@ -32452,7 +32455,7 @@ msgstr "" "convertir aucun caract??re en macro LaTeX,. ?? utiliser avec des polices non-" "TeX (XeTeX/LuaTeX) ou un pr??ambule adapt??." -#: src/frontends/qt/GuiDocument.cpp:1012 +#: src/frontends/qt/GuiDocument.cpp:1020 msgid "" "Load ``inputenc'' with option 'utf8x' for extended Unicode support by the " "``ucs'' package." @@ -32460,11 +32463,11 @@ msgstr "" "Charger ?? inputenc ?? avec l'option ?? utf8x ?? pour obtenir Unicode ??tendu par " "le paquetage ?? ucs ??." -#: src/frontends/qt/GuiDocument.cpp:1016 +#: src/frontends/qt/GuiDocument.cpp:1024 msgid "Language Default (no inputenc)" msgstr "Langue implicite (pas de recours ?? inputenc)" -#: src/frontends/qt/GuiDocument.cpp:1018 +#: src/frontends/qt/GuiDocument.cpp:1026 msgid "" "Use the traditional default encoding of the text language. Switch encoding " "if a text part is set to a language with different default." @@ -32473,7 +32476,7 @@ msgstr "" "l'encodage si une langue avec un r??glage implicite diff??rent est affect??e ?? " "une partie de texte." -#: src/frontends/qt/GuiDocument.cpp:1022 +#: src/frontends/qt/GuiDocument.cpp:1030 msgid "" "Do not load the 'inputenc' package. Switch encoding if required but do not " "write input encoding switch commands to the source." @@ -32481,23 +32484,23 @@ msgstr "" "Ne pas charger le paquetage ?? inputenc ??. Changer d'encodage si demand?? mais " "ne pas ??crire de commandes de changement d'encodage dans le code source." -#: src/frontends/qt/GuiDocument.cpp:1136 +#: src/frontends/qt/GuiDocument.cpp:1144 msgid "10" msgstr "10" -#: src/frontends/qt/GuiDocument.cpp:1137 +#: src/frontends/qt/GuiDocument.cpp:1145 msgid "11" msgstr "11" -#: src/frontends/qt/GuiDocument.cpp:1138 +#: src/frontends/qt/GuiDocument.cpp:1146 msgid "12" msgstr "12" -#: src/frontends/qt/GuiDocument.cpp:1140 +#: src/frontends/qt/GuiDocument.cpp:1148 msgid "Automatic[[encoding]]" msgstr "Automatique" -#: src/frontends/qt/GuiDocument.cpp:1150 +#: src/frontends/qt/GuiDocument.cpp:1158 msgid "" "Use OpenType and TrueType fonts directly (requires XeTeX or LuaTeX)\n" "You need to install the package \"fontspec\" to use this feature" @@ -32507,194 +32510,194 @@ msgstr "" "Vous devez installer le paquetage ?? fontspec ?? pour utiliser cette " "fonctionnalit??" -#: src/frontends/qt/GuiDocument.cpp:1182 +#: src/frontends/qt/GuiDocument.cpp:1190 msgid "empty" msgstr "vide" -#: src/frontends/qt/GuiDocument.cpp:1183 +#: src/frontends/qt/GuiDocument.cpp:1191 msgid "plain" msgstr "ordinaire" -#: src/frontends/qt/GuiDocument.cpp:1184 +#: src/frontends/qt/GuiDocument.cpp:1192 msgid "headings" msgstr "en-t??tes" -#: src/frontends/qt/GuiDocument.cpp:1185 +#: src/frontends/qt/GuiDocument.cpp:1193 msgid "fancy" msgstr "sophistiqu??" -#: src/frontends/qt/GuiDocument.cpp:1194 +#: src/frontends/qt/GuiDocument.cpp:1202 msgid "US letter" msgstr "Lettre US" -#: src/frontends/qt/GuiDocument.cpp:1195 +#: src/frontends/qt/GuiDocument.cpp:1203 msgid "US legal" msgstr "L??gal US" -#: src/frontends/qt/GuiDocument.cpp:1196 +#: src/frontends/qt/GuiDocument.cpp:1204 msgid "US executive" msgstr "Executive US" -#: src/frontends/qt/GuiDocument.cpp:1197 +#: src/frontends/qt/GuiDocument.cpp:1205 msgid "A0" msgstr "A0" -#: src/frontends/qt/GuiDocument.cpp:1198 +#: src/frontends/qt/GuiDocument.cpp:1206 msgid "A1" msgstr "A1" -#: src/frontends/qt/GuiDocument.cpp:1199 +#: src/frontends/qt/GuiDocument.cpp:1207 msgid "A2" msgstr "A2" -#: src/frontends/qt/GuiDocument.cpp:1200 +#: src/frontends/qt/GuiDocument.cpp:1208 msgid "A3" msgstr "A3" -#: src/frontends/qt/GuiDocument.cpp:1201 +#: src/frontends/qt/GuiDocument.cpp:1209 msgid "A4" msgstr "A4" -#: src/frontends/qt/GuiDocument.cpp:1202 +#: src/frontends/qt/GuiDocument.cpp:1210 msgid "A5" msgstr "A5" -#: src/frontends/qt/GuiDocument.cpp:1203 +#: src/frontends/qt/GuiDocument.cpp:1211 msgid "A6" msgstr "A6" -#: src/frontends/qt/GuiDocument.cpp:1204 +#: src/frontends/qt/GuiDocument.cpp:1212 msgid "B0" msgstr "B0" -#: src/frontends/qt/GuiDocument.cpp:1205 +#: src/frontends/qt/GuiDocument.cpp:1213 msgid "B1" msgstr "B1" -#: src/frontends/qt/GuiDocument.cpp:1206 +#: src/frontends/qt/GuiDocument.cpp:1214 msgid "B2" msgstr "B2" -#: src/frontends/qt/GuiDocument.cpp:1207 +#: src/frontends/qt/GuiDocument.cpp:1215 msgid "B3" msgstr "B3" -#: src/frontends/qt/GuiDocument.cpp:1208 +#: src/frontends/qt/GuiDocument.cpp:1216 msgid "B4" msgstr "B4" -#: src/frontends/qt/GuiDocument.cpp:1209 +#: src/frontends/qt/GuiDocument.cpp:1217 msgid "B5" msgstr "B5" -#: src/frontends/qt/GuiDocument.cpp:1210 +#: src/frontends/qt/GuiDocument.cpp:1218 msgid "B6" msgstr "B6" -#: src/frontends/qt/GuiDocument.cpp:1211 +#: src/frontends/qt/GuiDocument.cpp:1219 msgid "C0" msgstr "C0" -#: src/frontends/qt/GuiDocument.cpp:1212 +#: src/frontends/qt/GuiDocument.cpp:1220 msgid "C1" msgstr "C1" -#: src/frontends/qt/GuiDocument.cpp:1213 +#: src/frontends/qt/GuiDocument.cpp:1221 msgid "C2" msgstr "C2" -#: src/frontends/qt/GuiDocument.cpp:1214 +#: src/frontends/qt/GuiDocument.cpp:1222 msgid "C3" msgstr "C3" -#: src/frontends/qt/GuiDocument.cpp:1215 +#: src/frontends/qt/GuiDocument.cpp:1223 msgid "C4" msgstr "C4" -#: src/frontends/qt/GuiDocument.cpp:1216 +#: src/frontends/qt/GuiDocument.cpp:1224 msgid "C5" msgstr "C5" -#: src/frontends/qt/GuiDocument.cpp:1217 +#: src/frontends/qt/GuiDocument.cpp:1225 msgid "C6" msgstr "C6" -#: src/frontends/qt/GuiDocument.cpp:1218 +#: src/frontends/qt/GuiDocument.cpp:1226 msgid "JIS B0" msgstr "JIS B0" -#: src/frontends/qt/GuiDocument.cpp:1219 +#: src/frontends/qt/GuiDocument.cpp:1227 msgid "JIS B1" msgstr "JIS B1" -#: src/frontends/qt/GuiDocument.cpp:1220 +#: src/frontends/qt/GuiDocument.cpp:1228 msgid "JIS B2" msgstr "JIS B2" -#: src/frontends/qt/GuiDocument.cpp:1221 +#: src/frontends/qt/GuiDocument.cpp:1229 msgid "JIS B3" msgstr "JIS B3" -#: src/frontends/qt/GuiDocument.cpp:1222 +#: src/frontends/qt/GuiDocument.cpp:1230 msgid "JIS B4" msgstr "JIS B4" -#: src/frontends/qt/GuiDocument.cpp:1223 +#: src/frontends/qt/GuiDocument.cpp:1231 msgid "JIS B5" msgstr "JIS B5" -#: src/frontends/qt/GuiDocument.cpp:1224 +#: src/frontends/qt/GuiDocument.cpp:1232 msgid "JIS B6" msgstr "JIS B6" -#: src/frontends/qt/GuiDocument.cpp:1347 +#: src/frontends/qt/GuiDocument.cpp:1355 msgid "Numbered" msgstr "Num??rot??" -#: src/frontends/qt/GuiDocument.cpp:1348 +#: src/frontends/qt/GuiDocument.cpp:1356 msgid "Appears in TOC" msgstr "Appara??t dans la TdM" -#: src/frontends/qt/GuiDocument.cpp:1436 +#: src/frontends/qt/GuiDocument.cpp:1444 msgid "Package" msgstr "Paquetage" -#: src/frontends/qt/GuiDocument.cpp:1436 +#: src/frontends/qt/GuiDocument.cpp:1444 msgid "Load automatically" msgstr "Charger automatiquement" -#: src/frontends/qt/GuiDocument.cpp:1437 +#: src/frontends/qt/GuiDocument.cpp:1445 msgid "Load always" msgstr "Toujours charger" -#: src/frontends/qt/GuiDocument.cpp:1437 +#: src/frontends/qt/GuiDocument.cpp:1445 msgid "Do not load" msgstr "Ne pas charger" -#: src/frontends/qt/GuiDocument.cpp:1449 +#: src/frontends/qt/GuiDocument.cpp:1457 msgid "The AMS LaTeX packages are always used" msgstr "Les paquetages LaTeX AMS sont utilis??s dans tous les cas" -#: src/frontends/qt/GuiDocument.cpp:1452 +#: src/frontends/qt/GuiDocument.cpp:1460 #, c-format msgid "The LaTeX package %1$s is always used" msgstr "Le paquetage LaTeX %1$s est utilis?? dans tous les cas" -#: src/frontends/qt/GuiDocument.cpp:1457 +#: src/frontends/qt/GuiDocument.cpp:1465 msgid "The AMS LaTeX packages are never used" msgstr "Les paquetages LaTeX AMS ne sont jamais utilis??s" -#: src/frontends/qt/GuiDocument.cpp:1460 +#: src/frontends/qt/GuiDocument.cpp:1468 #, c-format msgid "The LaTeX package %1$s is never used" msgstr "Le paquetage LaTeX %1$s n'est jamais utilis??" -#: src/frontends/qt/GuiDocument.cpp:1597 src/frontends/qt/GuiDocument.cpp:2866 +#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2874 #, c-format msgid "%1$s [Class '%2$s']" msgstr "%1$s [classe ?? %2$s ??]" -#: src/frontends/qt/GuiDocument.cpp:1600 +#: src/frontends/qt/GuiDocument.cpp:1608 #, c-format msgid "" "Class not found by LyX. Please check if you have the matching %1$s class and " @@ -32703,82 +32706,82 @@ msgstr "" "Classe introuvable par LyX. V??rifier si la classe %1$s et tous les " "paquetages requis (%2$s) sont bien install??s." -#: src/frontends/qt/GuiDocument.cpp:1662 +#: src/frontends/qt/GuiDocument.cpp:1670 msgid "All avail. modules" msgstr "Tous les modules dispo." -#: src/frontends/qt/GuiDocument.cpp:1754 src/frontends/qt/GuiDocument.cpp:1978 +#: src/frontends/qt/GuiDocument.cpp:1762 src/frontends/qt/GuiDocument.cpp:1986 msgid "Input listings parameters below. Enter ? for a list of parameters." msgstr "" "Saisir les param??tres du listing ci-dessous. Taper ? pour une liste des " "param??tres." -#: src/frontends/qt/GuiDocument.cpp:1761 +#: src/frontends/qt/GuiDocument.cpp:1769 msgid "Document Class" msgstr "Classe de document" -#: src/frontends/qt/GuiDocument.cpp:1764 +#: src/frontends/qt/GuiDocument.cpp:1772 msgid "Local Layout" msgstr "Format local" -#: src/frontends/qt/GuiDocument.cpp:1766 +#: src/frontends/qt/GuiDocument.cpp:1774 msgid "Text Layout" msgstr "Format du texte" -#: src/frontends/qt/GuiDocument.cpp:1768 +#: src/frontends/qt/GuiDocument.cpp:1776 msgid "Page Margins" msgstr "Marges" -#: src/frontends/qt/GuiDocument.cpp:1770 src/frontends/qt/GuiPrefs.cpp:1076 +#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1076 msgid "Colors" msgstr "Couleurs" -#: src/frontends/qt/GuiDocument.cpp:1771 +#: src/frontends/qt/GuiDocument.cpp:1779 msgid "Change Tracking" msgstr "Suivi des modifications" -#: src/frontends/qt/GuiDocument.cpp:1772 +#: src/frontends/qt/GuiDocument.cpp:1780 msgid "Numbering & TOC" msgstr "Num??rotation & TdM" -#: src/frontends/qt/GuiDocument.cpp:1774 +#: src/frontends/qt/GuiDocument.cpp:1782 msgid "Indexes" msgstr "Index" -#: src/frontends/qt/GuiDocument.cpp:1775 +#: src/frontends/qt/GuiDocument.cpp:1783 msgid "PDF Properties" msgstr "Propri??t??s du PDF" -#: src/frontends/qt/GuiDocument.cpp:1776 +#: src/frontends/qt/GuiDocument.cpp:1784 msgid "Math Options" msgstr "Options mode math" -#: src/frontends/qt/GuiDocument.cpp:1779 +#: src/frontends/qt/GuiDocument.cpp:1787 msgid "Bullets" msgstr "Puces" -#: src/frontends/qt/GuiDocument.cpp:1781 +#: src/frontends/qt/GuiDocument.cpp:1789 msgid "Formats[[output]]" msgstr "Sortie" -#: src/frontends/qt/GuiDocument.cpp:1782 +#: src/frontends/qt/GuiDocument.cpp:1790 msgid "LaTeX Preamble" msgstr "Pr??ambule LaTeX" -#: src/frontends/qt/GuiDocument.cpp:2087 src/frontends/qt/GuiDocument.cpp:2173 +#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181 msgid "Class defaults" msgstr "Valeurs implicites de la classe" -#: src/frontends/qt/GuiDocument.cpp:2087 src/frontends/qt/GuiDocument.cpp:2173 +#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181 msgid "Package defaults" msgstr "Valeurs implicites du paquetage" -#: src/frontends/qt/GuiDocument.cpp:2090 src/frontends/qt/GuiDocument.cpp:2176 +#: src/frontends/qt/GuiDocument.cpp:2098 src/frontends/qt/GuiDocument.cpp:2184 msgid "If no value is given, the defaults as set by the class are used." msgstr "" "En l'absence de valeur, les r??glages implicites de la classe seront utilis??s." -#: src/frontends/qt/GuiDocument.cpp:2091 src/frontends/qt/GuiDocument.cpp:2177 +#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185 msgid "" "If no value is given, the defaults as set by the geometry package or a " "package/class overriding geometry's defaults are used." @@ -32787,49 +32790,49 @@ msgstr "" "?? geometry ?? ou par un paquetage ou une classe ??crasant les r??glages " "implicites de geometry." -#: src/frontends/qt/GuiDocument.cpp:2220 src/frontends/qt/GuiDocument.cpp:2250 +#: src/frontends/qt/GuiDocument.cpp:2228 src/frontends/qt/GuiDocument.cpp:2258 msgid "&Default..." msgstr "&Implicite..." -#: src/frontends/qt/GuiDocument.cpp:2451 +#: src/frontends/qt/GuiDocument.cpp:2459 msgid "Direct (No inputenc)" msgstr "Direct (pas de recours ?? inputenc)" -#: src/frontends/qt/GuiDocument.cpp:2453 +#: src/frontends/qt/GuiDocument.cpp:2461 msgid "Direct (XeTeX/LuaTeX)" msgstr "Direct (XeTeX/LuaTeX)" -#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4309 -#: src/frontends/qt/GuiDocument.cpp:4318 src/frontends/qt/GuiDocument.cpp:4327 -#: src/frontends/qt/GuiDocument.cpp:4336 +#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4301 +#: src/frontends/qt/GuiDocument.cpp:4310 src/frontends/qt/GuiDocument.cpp:4319 +#: src/frontends/qt/GuiDocument.cpp:4328 msgid " (not installed)" msgstr " (pas install??)" -#: src/frontends/qt/GuiDocument.cpp:2668 +#: src/frontends/qt/GuiDocument.cpp:2676 msgid "Non-TeX Fonts Default" msgstr "Polices non-TeX implicites" -#: src/frontends/qt/GuiDocument.cpp:2670 +#: src/frontends/qt/GuiDocument.cpp:2678 msgid " (not available)" msgstr " (indisponible)" -#: src/frontends/qt/GuiDocument.cpp:2671 +#: src/frontends/qt/GuiDocument.cpp:2679 msgid "Class Default (TeX Fonts)" msgstr "Valeurs implicites de la classe (polices TeX)" -#: src/frontends/qt/GuiDocument.cpp:2818 +#: src/frontends/qt/GuiDocument.cpp:2826 msgid "Lay&outs" msgstr "Forma&t|" -#: src/frontends/qt/GuiDocument.cpp:2820 +#: src/frontends/qt/GuiDocument.cpp:2828 msgid "LyX Layout (*.layout)" msgstr "Formats LyX (*.layout)" -#: src/frontends/qt/GuiDocument.cpp:2822 src/frontends/qt/GuiDocument.cpp:2831 +#: src/frontends/qt/GuiDocument.cpp:2830 src/frontends/qt/GuiDocument.cpp:2839 msgid "Local layout file" msgstr "Fichier de format local" -#: src/frontends/qt/GuiDocument.cpp:2832 +#: src/frontends/qt/GuiDocument.cpp:2840 msgid "" "The layout file you have selected is a local layout\n" "file, not one in the system or user directory.\n" @@ -32842,33 +32845,33 @@ msgstr "" "Votre document ne peut pas fonctionner avec ce format si vous\n" "d??placez le fichier de format un r??pertoire diff??rent." -#: src/frontends/qt/GuiDocument.cpp:2836 +#: src/frontends/qt/GuiDocument.cpp:2844 msgid "&Set Layout" msgstr "&S??lectionner le format" -#: src/frontends/qt/GuiDocument.cpp:2850 +#: src/frontends/qt/GuiDocument.cpp:2858 msgid "Unable to read local layout file." msgstr "??chec de la lecture d'un fichier de format local." -#: src/frontends/qt/GuiDocument.cpp:2867 +#: src/frontends/qt/GuiDocument.cpp:2875 msgid "This is a local layout file." msgstr "Ceci est un fichier de format local." -#: src/frontends/qt/GuiDocument.cpp:2881 +#: src/frontends/qt/GuiDocument.cpp:2889 msgid "Select master document" msgstr "S??lectionner le document ma??tre" -#: src/frontends/qt/GuiDocument.cpp:2885 +#: src/frontends/qt/GuiDocument.cpp:2893 msgid "LyX Files (*.lyx)" msgstr "Documents LyX (*.lyx)" -#: src/frontends/qt/GuiDocument.cpp:2909 src/frontends/qt/GuiDocument.cpp:3210 -#: src/frontends/qt/GuiDocument.cpp:4825 +#: src/frontends/qt/GuiDocument.cpp:2917 src/frontends/qt/GuiDocument.cpp:3218 +#: src/frontends/qt/GuiDocument.cpp:4817 msgid "Unapplied changes" msgstr "Modifications non appliqu??es" -#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3211 -#: src/frontends/qt/GuiDocument.cpp:4826 +#: src/frontends/qt/GuiDocument.cpp:2918 src/frontends/qt/GuiDocument.cpp:3219 +#: src/frontends/qt/GuiDocument.cpp:4818 msgid "" "Some changes in the dialog were not yet applied.\n" "If you do not apply now, they will be lost after this action." @@ -32876,86 +32879,86 @@ msgstr "" "Certaines modifications dans le dialogue n'ont pas encore ??t?? appliqu??es. Si " "vous ne la appliquez pas maintenant, elles seront perdues apr??s cette action." -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4828 +#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221 +#: src/frontends/qt/GuiDocument.cpp:4820 msgid "&Apply" msgstr "&Appliquer" -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4828 +#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221 +#: src/frontends/qt/GuiDocument.cpp:4820 msgid "&Dismiss" msgstr "Aban&donner" -#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4836 +#: src/frontends/qt/GuiDocument.cpp:2931 src/frontends/qt/GuiDocument.cpp:4828 msgid "Unable to set document class." msgstr "Impossible d'appliquer la classe du document." -#: src/frontends/qt/GuiDocument.cpp:3089 +#: src/frontends/qt/GuiDocument.cpp:3097 msgid "Basic numerical" msgstr "Num??rique de base" -#: src/frontends/qt/GuiDocument.cpp:3092 +#: src/frontends/qt/GuiDocument.cpp:3100 msgid "Author-year" msgstr "Auteur-ann??e" -#: src/frontends/qt/GuiDocument.cpp:3095 +#: src/frontends/qt/GuiDocument.cpp:3103 msgid "Author-number" msgstr "Auteur-num??ro" -#: src/frontends/qt/GuiDocument.cpp:3135 +#: src/frontends/qt/GuiDocument.cpp:3143 #, c-format msgid "%1$s and %2$s" msgstr "%1$s et %2$s" -#: src/frontends/qt/GuiDocument.cpp:3142 +#: src/frontends/qt/GuiDocument.cpp:3150 #, c-format msgid "%1$s, %2$s" msgstr "%1$s, %2$s" -#: src/frontends/qt/GuiDocument.cpp:3147 +#: src/frontends/qt/GuiDocument.cpp:3155 #, c-format msgid "%1$s, %2$s, and %3$s" msgstr "%1$s, %2$s and %3$s" -#: src/frontends/qt/GuiDocument.cpp:3161 +#: src/frontends/qt/GuiDocument.cpp:3169 #, c-format msgid "%1$s (unavailable)" msgstr "%1$s (indisponible)" -#: src/frontends/qt/GuiDocument.cpp:3260 +#: src/frontends/qt/GuiDocument.cpp:3268 msgid "Module provided by document class." msgstr "Module fourni par la classe de document." -#: src/frontends/qt/GuiDocument.cpp:3268 +#: src/frontends/qt/GuiDocument.cpp:3276 #, c-format msgid "

Category: %1$s.

" msgstr "

Categorie : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3278 +#: src/frontends/qt/GuiDocument.cpp:3286 #, c-format msgid "

Package(s) required: %1$s.

" msgstr "

Paquetage(s) requis : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3284 +#: src/frontends/qt/GuiDocument.cpp:3292 msgid "or" msgstr "ou" -#: src/frontends/qt/GuiDocument.cpp:3287 +#: src/frontends/qt/GuiDocument.cpp:3295 #, c-format msgid "

Modules required: %1$s.

" msgstr "

Modules requis : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3296 +#: src/frontends/qt/GuiDocument.cpp:3304 #, c-format msgid "

Modules excluded: %1$s.

" msgstr "

Modules exclus : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3301 +#: src/frontends/qt/GuiDocument.cpp:3309 #, c-format msgid "

Filename: %1$s.module.

" msgstr "

Nom de fichier : %1$s.module.

" -#: src/frontends/qt/GuiDocument.cpp:3306 +#: src/frontends/qt/GuiDocument.cpp:3314 msgid "" "

WARNING: Some required packages are unavailable!

" @@ -32963,61 +32966,61 @@ msgstr "" "

AVERTISSEMENT : certains paquetages requis ne sont pas " "disponibles !

" -#: src/frontends/qt/GuiDocument.cpp:3967 +#: src/frontends/qt/GuiDocument.cpp:3959 msgid "per part" msgstr "par partie" -#: src/frontends/qt/GuiDocument.cpp:3969 +#: src/frontends/qt/GuiDocument.cpp:3961 msgid "per chapter" msgstr "par chapitre" -#: src/frontends/qt/GuiDocument.cpp:3971 +#: src/frontends/qt/GuiDocument.cpp:3963 msgid "per section" msgstr "par section" -#: src/frontends/qt/GuiDocument.cpp:3973 +#: src/frontends/qt/GuiDocument.cpp:3965 msgid "per subsection" msgstr "par sous-section" -#: src/frontends/qt/GuiDocument.cpp:3974 +#: src/frontends/qt/GuiDocument.cpp:3966 msgid "per child document" msgstr "par sous-document" -#: src/frontends/qt/GuiDocument.cpp:4001 +#: src/frontends/qt/GuiDocument.cpp:3993 #, c-format msgid "%1$s (not available)" msgstr "%1$s (indisponible)" -#: src/frontends/qt/GuiDocument.cpp:4229 +#: src/frontends/qt/GuiDocument.cpp:4221 msgid "[No options predefined]" msgstr "[Aucune option pr??d??finie]" -#: src/frontends/qt/GuiDocument.cpp:4496 +#: src/frontends/qt/GuiDocument.cpp:4488 msgid "C&ustomize Hyperref Options" msgstr "Personnaliser les options h&yperref" -#: src/frontends/qt/GuiDocument.cpp:4498 +#: src/frontends/qt/GuiDocument.cpp:4490 msgid "&Use Hyperref Support" msgstr "&Utiliser le support pour hyperref" -#: src/frontends/qt/GuiDocument.cpp:4848 +#: src/frontends/qt/GuiDocument.cpp:4840 msgid "Can't set layout!" msgstr "Impossible d'appliquer le format !" -#: src/frontends/qt/GuiDocument.cpp:4849 +#: src/frontends/qt/GuiDocument.cpp:4841 #, c-format msgid "Unable to set layout for ID: %1$s" msgstr "Impossible d'appliquer le format pour ID : %1$s" -#: src/frontends/qt/GuiDocument.cpp:4947 +#: src/frontends/qt/GuiDocument.cpp:4944 msgid "Not Found" msgstr "Introuvable" -#: src/frontends/qt/GuiDocument.cpp:5009 +#: src/frontends/qt/GuiDocument.cpp:5006 msgid "Assigned master does not include this file" msgstr "Le document ma??tre d??sign?? n'inclut pas ce fichier" -#: src/frontends/qt/GuiDocument.cpp:5010 +#: src/frontends/qt/GuiDocument.cpp:5007 #, c-format msgid "" "You must include this file in the document\n" @@ -33028,11 +33031,11 @@ msgstr "" "%1$s' pour pouvoir utiliser les fonctionnalit??s\n" "?? document ma??tre ??." -#: src/frontends/qt/GuiDocument.cpp:5014 +#: src/frontends/qt/GuiDocument.cpp:5011 msgid "Could not load master" msgstr "Chargement du document ma??tre impossible" -#: src/frontends/qt/GuiDocument.cpp:5015 +#: src/frontends/qt/GuiDocument.cpp:5012 #, c-format msgid "" "The master document '%1$s'\n" @@ -33041,23 +33044,23 @@ msgstr "" "Le document ma??tre %1$s\n" " n'a pas pu ??tre charg??." -#: src/frontends/qt/GuiDocument.cpp:5165 +#: src/frontends/qt/GuiDocument.cpp:5162 msgid "%1 (missing req.)" msgstr "%1 (req. manquante)" -#: src/frontends/qt/GuiDocument.cpp:5177 +#: src/frontends/qt/GuiDocument.cpp:5174 msgid "personal module" msgstr "module personnel" -#: src/frontends/qt/GuiDocument.cpp:5177 +#: src/frontends/qt/GuiDocument.cpp:5174 msgid "distributed module" msgstr "module distribu??" -#: src/frontends/qt/GuiDocument.cpp:5178 +#: src/frontends/qt/GuiDocument.cpp:5175 msgid "Module name: %1 (%2)" msgstr "Nom du module : %1 (%2)" -#: src/frontends/qt/GuiDocument.cpp:5184 +#: src/frontends/qt/GuiDocument.cpp:5181 msgid "Note: Some requirements for this module are missing!" msgstr "Nota : certains ??l??ments pour ce module sont manquants !" @@ -33689,41 +33692,33 @@ msgstr "Fichier journal d'erreurs lyx2lyx introuvable." msgid "No version control log file found." msgstr "Fichier journal du contr??le de version introuvable." -#: src/frontends/qt/GuiLyXFiles.cpp:152 -msgid "Preferred &Language:" -msgstr "Lan&gue pr??f??r??e :" - -#: src/frontends/qt/GuiLyXFiles.cpp:158 src/frontends/qt/GuiLyXFiles.cpp:584 +#: src/frontends/qt/GuiLyXFiles.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:590 msgid "New File From Template" msgstr "Nouveau fichier depuis mod??le" -#: src/frontends/qt/GuiLyXFiles.cpp:190 +#: src/frontends/qt/GuiLyXFiles.cpp:189 msgid "All available files" msgstr "Tous les fichiers disponibles" -#: src/frontends/qt/GuiLyXFiles.cpp:191 +#: src/frontends/qt/GuiLyXFiles.cpp:190 msgid "Enter string to filter the list of available files" msgstr "" "Saisir une cha??ne de caract??res pour filtrer la liste des fichiers " "disponibles" -#: src/frontends/qt/GuiLyXFiles.cpp:224 +#: src/frontends/qt/GuiLyXFiles.cpp:223 msgid "User and System Files" msgstr "Fichiers utilisateur et syst??me" -#: src/frontends/qt/GuiLyXFiles.cpp:225 +#: src/frontends/qt/GuiLyXFiles.cpp:224 msgid "User Files Only" msgstr "Fichiers utilisateur uniquement" -#: src/frontends/qt/GuiLyXFiles.cpp:226 +#: src/frontends/qt/GuiLyXFiles.cpp:225 msgid "System Files Only" msgstr "Fichiers syst??me uniquement" -#: src/frontends/qt/GuiLyXFiles.cpp:313 -msgid "File &Language:" -msgstr "Lan&gue du fichier :" - -#: src/frontends/qt/GuiLyXFiles.cpp:314 +#: src/frontends/qt/GuiLyXFiles.cpp:331 msgid "" "All available languages of the selected file are displayed here.\n" "The selected language version will be opened." @@ -33732,65 +33727,77 @@ msgstr "" "ici.\n" "La version dans la langue s??lectionn??e sera affich??e." -#: src/frontends/qt/GuiLyXFiles.cpp:360 +#: src/frontends/qt/GuiLyXFiles.cpp:334 +msgid "No alternative language versions available for the selected file." +msgstr "Aucun choix de langues disponible pour le fichier s??lectionn??." + +#: src/frontends/qt/GuiLyXFiles.cpp:336 +msgid "" +"If alternative languages are available for a given file,\n" +"they can be chosen here if a file is selected." +msgstr "" +"Si un choix de langues est disponible pour un fichier donn??,\n" +"une langue peut ??tre fix??e ici si un fichier est s??lectionn??." + +#: src/frontends/qt/GuiLyXFiles.cpp:366 msgid "Select example file" msgstr "Choisir le fichier d'exemple" -#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2609 -#: src/frontends/qt/GuiView.cpp:2749 src/frontends/qt/GuiView.cpp:2883 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2625 +#: src/frontends/qt/GuiView.cpp:2765 src/frontends/qt/GuiView.cpp:2899 msgid "&Examples" msgstr "&Exemples" -#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2548 +#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2564 msgid "Select template file" msgstr "Choisir le mod??le" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2550 -#: src/frontends/qt/GuiView.cpp:3003 +#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2566 +#: src/frontends/qt/GuiView.cpp:3019 msgid "&Templates" msgstr "&Mod??les" -#: src/frontends/qt/GuiLyXFiles.cpp:374 +#: src/frontends/qt/GuiLyXFiles.cpp:380 msgid "&User files" msgstr "Fichiers &utilisateur" -#: src/frontends/qt/GuiLyXFiles.cpp:375 +#: src/frontends/qt/GuiLyXFiles.cpp:381 msgid "&System files" msgstr "Fichiers &syst??me" -#: src/frontends/qt/GuiLyXFiles.cpp:378 +#: src/frontends/qt/GuiLyXFiles.cpp:384 msgid "Chose UI file" msgstr "Choisir un fichier d'interface" -#: src/frontends/qt/GuiLyXFiles.cpp:379 +#: src/frontends/qt/GuiLyXFiles.cpp:385 msgid "LyX UI Files (*.ui)" msgstr "Fichiers d'interface LyX (*.ui)" -#: src/frontends/qt/GuiLyXFiles.cpp:382 +#: src/frontends/qt/GuiLyXFiles.cpp:388 msgid "Chose bind file" msgstr "Choisir un fichier de raccourcis" -#: src/frontends/qt/GuiLyXFiles.cpp:383 +#: src/frontends/qt/GuiLyXFiles.cpp:389 msgid "LyX Bind Files (*.bind)" msgstr "Fichiers de raccourcis LyX (*.bind)" -#: src/frontends/qt/GuiLyXFiles.cpp:386 +#: src/frontends/qt/GuiLyXFiles.cpp:392 msgid "Chose keyboard map" msgstr "Choisir une r??affectation clavier" -#: src/frontends/qt/GuiLyXFiles.cpp:387 +#: src/frontends/qt/GuiLyXFiles.cpp:393 msgid "LyX Keymap Files (*.kmap)" msgstr "Fichiers de r??affectation clavier LyX (*.kmap)" -#: src/frontends/qt/GuiLyXFiles.cpp:445 +#: src/frontends/qt/GuiLyXFiles.cpp:451 msgid "Default Template" msgstr "Mod??le implicite" -#: src/frontends/qt/GuiLyXFiles.cpp:582 +#: src/frontends/qt/GuiLyXFiles.cpp:588 msgid "Open Example File" msgstr "Ouvrir le fichier d'exemple" -#: src/frontends/qt/GuiLyXFiles.cpp:586 +#: src/frontends/qt/GuiLyXFiles.cpp:592 msgid "Open File" msgstr "Ouvrir le fichier" @@ -33872,7 +33879,7 @@ msgstr "" "En principe, vous n'avez pas ?? le modifier puisqu'on utilise la plus grande " "largeur d'??tiquette de tous les ??l??ments." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3281 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3297 msgid "&Close" msgstr "&Fermer" @@ -34672,7 +34679,7 @@ msgstr "" "Maj-Molette pour ajuster." #: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 -#: src/frontends/qt/GuiView.cpp:948 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/GuiView.cpp:959 src/frontends/qt/Menus.cpp:1843 #: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 #: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 #: src/frontends/qt/Menus.cpp:1863 @@ -34699,100 +34706,100 @@ msgstr "Voulez-vous arr??ter le processus d'exportation en arri??re-plan ?" msgid "Co&ntinue" msgstr "&Continuer" -#: src/frontends/qt/GuiView.cpp:845 +#: src/frontends/qt/GuiView.cpp:856 #, c-format msgid "Successful export to format: %1$s" msgstr "Succ??s de l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:854 +#: src/frontends/qt/GuiView.cpp:865 #, c-format msgid "Error while exporting format: %1$s" msgstr "Erreur ?? l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:857 +#: src/frontends/qt/GuiView.cpp:868 #, c-format msgid "Successful preview of format: %1$s" msgstr "Succ??s de l'aper??u du format : %1$s" -#: src/frontends/qt/GuiView.cpp:860 +#: src/frontends/qt/GuiView.cpp:871 #, c-format msgid "Error while previewing format: %1$s" msgstr "Erreur au visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:863 +#: src/frontends/qt/GuiView.cpp:874 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Conversion annul??e pendant le visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:1208 +#: src/frontends/qt/GuiView.cpp:1224 msgid "Exit LyX" msgstr "Quitter LyX" -#: src/frontends/qt/GuiView.cpp:1209 +#: src/frontends/qt/GuiView.cpp:1225 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "Impossible de fermer LyX, des documents sont en cours de traitement." -#: src/frontends/qt/GuiView.cpp:1357 +#: src/frontends/qt/GuiView.cpp:1373 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (modifi?? par une application externe)" -#: src/frontends/qt/GuiView.cpp:1480 +#: src/frontends/qt/GuiView.cpp:1496 msgid "Welcome to LyX!" msgstr "Bienvenue dans LyX !" -#: src/frontends/qt/GuiView.cpp:2017 +#: src/frontends/qt/GuiView.cpp:2033 msgid "Automatic save done." msgstr "Sauvegarde automatique effective." -#: src/frontends/qt/GuiView.cpp:2018 +#: src/frontends/qt/GuiView.cpp:2034 msgid "Automatic save failed!" msgstr "La sauvegarde automatique a ??chou?? !" -#: src/frontends/qt/GuiView.cpp:2074 +#: src/frontends/qt/GuiView.cpp:2090 msgid "Command not allowed without any document open" msgstr "Commande non autoris??e si aucun document n'est ouvert" -#: src/frontends/qt/GuiView.cpp:2143 +#: src/frontends/qt/GuiView.cpp:2159 msgid "Invalid argument of master-buffer-forall" msgstr "Argument invalide pour la commande master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2261 +#: src/frontends/qt/GuiView.cpp:2277 msgid "Function toolbar-set requires two arguments!" msgstr "La fonction toolbar-set n??cessite deux arguments !" -#: src/frontends/qt/GuiView.cpp:2268 +#: src/frontends/qt/GuiView.cpp:2284 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !" -#: src/frontends/qt/GuiView.cpp:2284 src/frontends/qt/GuiView.cpp:2297 -#: src/frontends/qt/GuiView.cpp:2314 +#: src/frontends/qt/GuiView.cpp:2300 src/frontends/qt/GuiView.cpp:2313 +#: src/frontends/qt/GuiView.cpp:2330 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Barre d'outils inconnue \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2434 src/frontends/qt/GuiView.cpp:2447 +#: src/frontends/qt/GuiView.cpp:2450 src/frontends/qt/GuiView.cpp:2463 msgid "Zoom level cannot be less than %1$d%." msgstr "Le niveau de zoom ne peut ??tre inf??rieur ?? %1$d%." -#: src/frontends/qt/GuiView.cpp:2577 +#: src/frontends/qt/GuiView.cpp:2593 msgid "Document not loaded." msgstr "Le document n'a pas ??t?? charg??." -#: src/frontends/qt/GuiView.cpp:2607 +#: src/frontends/qt/GuiView.cpp:2623 msgid "Select document to open" msgstr "Choisir le document ?? ouvrir" -#: src/frontends/qt/GuiView.cpp:2613 +#: src/frontends/qt/GuiView.cpp:2629 msgid "LyX Document Backups (*.lyx~)" msgstr "Sauvegardes des documents LyX (*.lyx~)" -#: src/frontends/qt/GuiView.cpp:2614 +#: src/frontends/qt/GuiView.cpp:2630 msgid "All Files (*.*)" msgstr "Tous les fichiers (*.*)" -#: src/frontends/qt/GuiView.cpp:2641 +#: src/frontends/qt/GuiView.cpp:2657 #, c-format msgid "" "The directory in the given path\n" @@ -34803,40 +34810,40 @@ msgstr "" "%1$s\n" "n'existe pas." -#: src/frontends/qt/GuiView.cpp:2658 +#: src/frontends/qt/GuiView.cpp:2674 #, c-format msgid "Opening document %1$s..." msgstr "Ouverture du document %1$s..." -#: src/frontends/qt/GuiView.cpp:2663 +#: src/frontends/qt/GuiView.cpp:2679 #, c-format msgid "Document %1$s opened." msgstr "Document %1$s ouvert." -#: src/frontends/qt/GuiView.cpp:2666 +#: src/frontends/qt/GuiView.cpp:2682 msgid "Version control detected." msgstr "Contr??le de version d??tect??." -#: src/frontends/qt/GuiView.cpp:2668 +#: src/frontends/qt/GuiView.cpp:2684 #, c-format msgid "Could not open document %1$s" msgstr "Impossible d'ouvrir le document %1$s" -#: src/frontends/qt/GuiView.cpp:2696 +#: src/frontends/qt/GuiView.cpp:2712 msgid "Couldn't import file" msgstr "Impossible d'importer le fichier" -#: src/frontends/qt/GuiView.cpp:2697 +#: src/frontends/qt/GuiView.cpp:2713 #, c-format msgid "No information for importing the format %1$s." msgstr "Pas d'information pour importer le format %1$s." -#: src/frontends/qt/GuiView.cpp:2744 +#: src/frontends/qt/GuiView.cpp:2760 #, c-format msgid "Select %1$s file to import" msgstr "Choisir le fichier %1$s ?? importer" -#: src/frontends/qt/GuiView.cpp:2779 +#: src/frontends/qt/GuiView.cpp:2795 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34845,8 +34852,8 @@ msgstr "" "Le nom de fichier ????%1$s ?? n'est pas valide !\n" "Importation interrompue." -#: src/frontends/qt/GuiView.cpp:2806 src/frontends/qt/GuiView.cpp:3073 -#: src/frontends/qt/GuiView.cpp:3176 +#: src/frontends/qt/GuiView.cpp:2822 src/frontends/qt/GuiView.cpp:3089 +#: src/frontends/qt/GuiView.cpp:3192 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34857,33 +34864,33 @@ msgstr "" "\n" "Voulez-vous ??crire par dessus ce document ?" -#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:3077 -#: src/frontends/qt/GuiView.cpp:3180 +#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:3093 +#: src/frontends/qt/GuiView.cpp:3196 msgid "Overwrite document?" msgstr "??craser le document ?" -#: src/frontends/qt/GuiView.cpp:2817 +#: src/frontends/qt/GuiView.cpp:2833 #, c-format msgid "Importing %1$s..." msgstr "Importe %1$s..." -#: src/frontends/qt/GuiView.cpp:2820 +#: src/frontends/qt/GuiView.cpp:2836 msgid "imported." msgstr "import??." -#: src/frontends/qt/GuiView.cpp:2822 +#: src/frontends/qt/GuiView.cpp:2838 msgid "file not imported!" msgstr "fichier non import?? !" -#: src/frontends/qt/GuiView.cpp:2848 +#: src/frontends/qt/GuiView.cpp:2864 msgid "newfile" msgstr "nouveau" -#: src/frontends/qt/GuiView.cpp:2881 +#: src/frontends/qt/GuiView.cpp:2897 msgid "Select LyX document to insert" msgstr "Choisir le document ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:2928 +#: src/frontends/qt/GuiView.cpp:2944 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34896,23 +34903,23 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2933 +#: src/frontends/qt/GuiView.cpp:2949 msgid "Create Language Directory?" msgstr "Cr??er un r??pertoire de langue ?" -#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 +#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 msgid "&Yes, Create" msgstr "&Oui, cr??er" -#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 +#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981 msgid "&No, Save Template in Parent Directory" msgstr "&Non, enregistrer le mod??le dans le r??pertoire parent" -#: src/frontends/qt/GuiView.cpp:2937 src/frontends/qt/GuiView.cpp:2968 +#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:2984 msgid "Subdirectory creation failed!" msgstr "??chec de la cr??ation du sous-r??pertoire !" -#: src/frontends/qt/GuiView.cpp:2938 src/frontends/qt/GuiView.cpp:2969 +#: src/frontends/qt/GuiView.cpp:2954 src/frontends/qt/GuiView.cpp:2985 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34920,7 +34927,7 @@ msgstr "" "Impossible de cr??er le sous-r??pertoire.\n" "Le mod??le sera enregistr?? dans le r??pertoire parent." -#: src/frontends/qt/GuiView.cpp:2959 +#: src/frontends/qt/GuiView.cpp:2975 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34933,19 +34940,19 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2964 +#: src/frontends/qt/GuiView.cpp:2980 msgid "Create Category Directory?" msgstr "Cr??er un r??pertoire de cat??gorie ?" -#: src/frontends/qt/GuiView.cpp:2999 +#: src/frontends/qt/GuiView.cpp:3015 msgid "Choose a filename to save template as" msgstr "Choisir le nom du fichier sous lequel enregistrer le mod??le" -#: src/frontends/qt/GuiView.cpp:3000 +#: src/frontends/qt/GuiView.cpp:3016 msgid "Choose a filename to save document as" msgstr "Choisir le nom sous lequel enregistrer le fichier" -#: src/frontends/qt/GuiView.cpp:3036 +#: src/frontends/qt/GuiView.cpp:3052 #, c-format msgid "" "The file\n" @@ -34960,17 +34967,17 @@ msgstr "" "Merci de le fermer avant d'essayer de l'??craser.\n" "Vouez-vous d??finir un nouveau nom de fichier ?" -#: src/frontends/qt/GuiView.cpp:3040 +#: src/frontends/qt/GuiView.cpp:3056 msgid "Chosen File Already Open" msgstr "Fichier s??lectionn?? d??j?? ouvert" -#: src/frontends/qt/GuiView.cpp:3041 src/frontends/qt/GuiView.cpp:3063 -#: src/frontends/qt/GuiView.cpp:3079 src/frontends/qt/GuiView.cpp:3181 -#: src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3057 src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3095 src/frontends/qt/GuiView.cpp:3197 +#: src/frontends/qt/GuiView.cpp:3242 msgid "&Rename" msgstr "&Renommer" -#: src/frontends/qt/GuiView.cpp:3056 +#: src/frontends/qt/GuiView.cpp:3072 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34981,27 +34988,27 @@ msgstr "" "\n" "Voulez-vous choisir un nouveau nom ?" -#: src/frontends/qt/GuiView.cpp:3061 +#: src/frontends/qt/GuiView.cpp:3077 msgid "Rename document?" msgstr "Renommer le document ?" -#: src/frontends/qt/GuiView.cpp:3061 +#: src/frontends/qt/GuiView.cpp:3077 msgid "Copy document?" msgstr "Copier le document ?" -#: src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3079 msgid "&Copy" msgstr "&Copier" -#: src/frontends/qt/GuiView.cpp:3123 +#: src/frontends/qt/GuiView.cpp:3139 msgid "Choose a filename to export the document as" msgstr "Choisir le nom sous lequel exporter le fichier" -#: src/frontends/qt/GuiView.cpp:3127 +#: src/frontends/qt/GuiView.cpp:3143 msgid "Guess from extension (*.*)" msgstr "Deviner ?? partir du suffixe (*.*)" -#: src/frontends/qt/GuiView.cpp:3222 +#: src/frontends/qt/GuiView.cpp:3238 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -35012,15 +35019,15 @@ msgstr "" "\n" "Voulez-vous renommer le document et essayer ?? nouveau ?" -#: src/frontends/qt/GuiView.cpp:3225 +#: src/frontends/qt/GuiView.cpp:3241 msgid "Rename and save?" msgstr "Renommer et enregistrer ?" -#: src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3242 msgid "&Retry" msgstr "&R??essayer" -#: src/frontends/qt/GuiView.cpp:3271 +#: src/frontends/qt/GuiView.cpp:3287 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -35038,24 +35045,24 @@ msgstr "" "Les documents cach??s peuvent ??tre r??-affich??s via\n" "Affichage->Cach??->...\n" -#: src/frontends/qt/GuiView.cpp:3280 +#: src/frontends/qt/GuiView.cpp:3296 msgid "Close or hide document?" msgstr "Fermer ou cacher le document ?" -#: src/frontends/qt/GuiView.cpp:3281 +#: src/frontends/qt/GuiView.cpp:3297 msgid "&Hide" msgstr "&Cacher" -#: src/frontends/qt/GuiView.cpp:3378 +#: src/frontends/qt/GuiView.cpp:3394 msgid "Close document" msgstr "Fermer le document" -#: src/frontends/qt/GuiView.cpp:3379 +#: src/frontends/qt/GuiView.cpp:3395 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Impossible de fermer le document, il est en cours de traitement par LyX." -#: src/frontends/qt/GuiView.cpp:3511 src/frontends/qt/GuiView.cpp:3626 +#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3642 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35066,16 +35073,16 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3514 src/frontends/qt/GuiView.cpp:3629 +#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:3645 msgid "Save new document?" msgstr "Enregistrer le nouveau document ?" -#: src/frontends/qt/GuiView.cpp:3515 src/frontends/qt/GuiView.cpp:3529 -#: src/frontends/qt/GuiView.cpp:3631 +#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3545 +#: src/frontends/qt/GuiView.cpp:3647 msgid "&Save" msgstr "&Enregistrer" -#: src/frontends/qt/GuiView.cpp:3520 +#: src/frontends/qt/GuiView.cpp:3536 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35086,7 +35093,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou ignorer ces modifications ?" -#: src/frontends/qt/GuiView.cpp:3523 +#: src/frontends/qt/GuiView.cpp:3539 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35097,19 +35104,19 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou bien l'abandonner enti??rement ?" -#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3623 +#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3639 msgid "Save changed document?" msgstr "Enregistrer le document modifi?? ?" -#: src/frontends/qt/GuiView.cpp:3527 +#: src/frontends/qt/GuiView.cpp:3543 msgid "Save document?" msgstr "Enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3529 +#: src/frontends/qt/GuiView.cpp:3545 msgid "&Discard" msgstr "I&gnorer" -#: src/frontends/qt/GuiView.cpp:3620 +#: src/frontends/qt/GuiView.cpp:3636 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35120,7 +35127,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3652 +#: src/frontends/qt/GuiView.cpp:3668 #, c-format msgid "" "Document \n" @@ -35132,37 +35139,37 @@ msgstr "" "a ??t?? modifi?? par une application externe. Le recharger maintenant ? Toutes " "les modifications locales seront perdues." -#: src/frontends/qt/GuiView.cpp:3655 +#: src/frontends/qt/GuiView.cpp:3671 msgid "Reload externally changed document?" msgstr "Recharger le document modifi?? par une application externe ?" -#: src/frontends/qt/GuiView.cpp:3700 +#: src/frontends/qt/GuiView.cpp:3716 msgid "Document could not be checked in." msgstr "Impossible d'enregistrer les changements." -#: src/frontends/qt/GuiView.cpp:3743 +#: src/frontends/qt/GuiView.cpp:3759 msgid "Error when setting the locking property." msgstr "Erreur lors du positionnement de la propri??t?? de verrouillage." -#: src/frontends/qt/GuiView.cpp:3792 +#: src/frontends/qt/GuiView.cpp:3808 msgid "Directory is not accessible." msgstr "R??pertoire inaccessible." -#: src/frontends/qt/GuiView.cpp:3869 +#: src/frontends/qt/GuiView.cpp:3885 #, c-format msgid "Opening child document %1$s..." msgstr "Ouverture du sous-document %1$s..." -#: src/frontends/qt/GuiView.cpp:3927 +#: src/frontends/qt/GuiView.cpp:3943 #, c-format msgid "No buffer for file: %1$s." msgstr "Pas de tampon pour le fichier : %1$s." -#: src/frontends/qt/GuiView.cpp:3937 +#: src/frontends/qt/GuiView.cpp:3953 msgid "Inverse Search Failed" msgstr "??chec de la recherche invers??e" -#: src/frontends/qt/GuiView.cpp:3938 +#: src/frontends/qt/GuiView.cpp:3954 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -35170,35 +35177,35 @@ msgstr "" "Position requise par la recherche invers??e invalide.\n" "Vous devriez peut-??tre mettre ?? jour le document dans la visionneuse." -#: src/frontends/qt/GuiView.cpp:4018 +#: src/frontends/qt/GuiView.cpp:4034 msgid "Export Error" msgstr "Exporter l'erreur" -#: src/frontends/qt/GuiView.cpp:4019 +#: src/frontends/qt/GuiView.cpp:4035 msgid "Error cloning the Buffer." msgstr "Erreur lors du clonage du tampon." -#: src/frontends/qt/GuiView.cpp:4170 src/frontends/qt/GuiView.cpp:4190 +#: src/frontends/qt/GuiView.cpp:4186 src/frontends/qt/GuiView.cpp:4206 msgid "Exporting ..." msgstr "Exportation en cours..." -#: src/frontends/qt/GuiView.cpp:4199 +#: src/frontends/qt/GuiView.cpp:4215 msgid "Previewing ..." msgstr "Visionnement en cours..." -#: src/frontends/qt/GuiView.cpp:4237 +#: src/frontends/qt/GuiView.cpp:4253 msgid "Document not loaded" msgstr "Le document n'a pas ??t?? charg??" -#: src/frontends/qt/GuiView.cpp:4324 +#: src/frontends/qt/GuiView.cpp:4340 msgid "Select file to insert" msgstr "Choisir le fichier ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:4327 +#: src/frontends/qt/GuiView.cpp:4343 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: src/frontends/qt/GuiView.cpp:4355 +#: src/frontends/qt/GuiView.cpp:4371 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -35207,7 +35214,7 @@ msgstr "" "La version actuelle sera perdue. ??tes-vous s??r de vouloir revenir ?? la " "derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4362 +#: src/frontends/qt/GuiView.cpp:4378 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -35216,61 +35223,61 @@ msgstr "" "Toutes les modifications seront perdues. ??tes-vous s??r de vouloir revenir ?? " "la derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4365 +#: src/frontends/qt/GuiView.cpp:4381 msgid "Revert to saved document?" msgstr "Revenir ?? la sauvegarde du document ?" -#: src/frontends/qt/GuiView.cpp:4382 +#: src/frontends/qt/GuiView.cpp:4398 msgid "Buffer export reset." msgstr "RaZ exportation du tampon." -#: src/frontends/qt/GuiView.cpp:4405 +#: src/frontends/qt/GuiView.cpp:4421 msgid "Saving all documents..." msgstr "Enregistrement de tous les documents..." -#: src/frontends/qt/GuiView.cpp:4415 +#: src/frontends/qt/GuiView.cpp:4431 msgid "All documents saved." msgstr "Tous les documents sont enregistr??s." -#: src/frontends/qt/GuiView.cpp:4454 +#: src/frontends/qt/GuiView.cpp:4470 msgid "Developer mode is now enabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant actif." -#: src/frontends/qt/GuiView.cpp:4456 +#: src/frontends/qt/GuiView.cpp:4472 msgid "Developer mode is now disabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant inactif." -#: src/frontends/qt/GuiView.cpp:4488 +#: src/frontends/qt/GuiView.cpp:4504 msgid "Toolbars unlocked." msgstr "Barres d'outils d??verrouill??es." -#: src/frontends/qt/GuiView.cpp:4490 +#: src/frontends/qt/GuiView.cpp:4506 msgid "Toolbars locked." msgstr "Barres d'outils verrouill??es." -#: src/frontends/qt/GuiView.cpp:4503 +#: src/frontends/qt/GuiView.cpp:4518 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Taille d'ic??ne r??gl??e ?? %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4592 +#: src/frontends/qt/GuiView.cpp:4607 #, c-format msgid "%1$s unknown command!" msgstr "%1$s : commande inconnue !" -#: src/frontends/qt/GuiView.cpp:4696 +#: src/frontends/qt/GuiView.cpp:4711 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)" -#: src/frontends/qt/GuiView.cpp:4755 +#: src/frontends/qt/GuiView.cpp:4770 msgid "Please, preview the document first." msgstr "Merci d'afficher d'abord un aper??u du document." -#: src/frontends/qt/GuiView.cpp:4771 +#: src/frontends/qt/GuiView.cpp:4786 msgid "Couldn't proceed." msgstr "Impossible de poursuivre." -#: src/frontends/qt/GuiView.cpp:5126 +#: src/frontends/qt/GuiView.cpp:5141 msgid "Disable Shell Escape" msgstr "D??sactiver shell escape" @@ -35856,27 +35863,27 @@ msgstr "" "??tat de la branche : %2$s\n" "??tat de l'insert : %3$s" -#: src/insets/InsetBranch.cpp:120 +#: src/insets/InsetBranch.cpp:122 msgid "Branch: " msgstr "Branche : " -#: src/insets/InsetBranch.cpp:122 +#: src/insets/InsetBranch.cpp:124 msgid "Branch (child): " msgstr "Branche (sous-document) : " -#: src/insets/InsetBranch.cpp:124 +#: src/insets/InsetBranch.cpp:126 msgid "Branch (master): " msgstr "Branche (document ma??tre) : " -#: src/insets/InsetBranch.cpp:126 +#: src/insets/InsetBranch.cpp:128 msgid "Branch (undefined): " msgstr "Branche (ind??finie) : " -#: src/insets/InsetBranch.cpp:188 +#: src/insets/InsetBranch.cpp:190 msgid "Branch state changes in master document" msgstr "L'??tat de la branche change dans le document ma??tre" -#: src/insets/InsetBranch.cpp:189 +#: src/insets/InsetBranch.cpp:191 #, c-format msgid "" "The state of the branch '%1$s' was changed in the master file. Please make " @@ -37180,7 +37187,7 @@ msgid "Selection size should match clipboard content." msgstr "" "La taille de la s??lection doit correspondre au contenu du presse-papier." -#: src/insets/InsetText.cpp:1378 +#: src/insets/InsetText.cpp:1380 msgid "[contains tracked changes]" msgstr "[contient les modifications suivies]" @@ -37941,6 +37948,9 @@ msgstr "" msgid "Unknown user" msgstr "Utilisateur inconnu" +#~ msgid "Preferred &Language:" +#~ msgstr "Lan&gue pr??f??r??e :" + #~ msgid "Setting debug level to %1$s" #~ msgstr "Niveau de d??bogage %1$s" commit 4888414f2757a4e8075dc1f9fec79be30a0fff64 Author: Juergen Spitzmueller Date: Mon Nov 1 08:30:41 2021 +0100 Attempt to fix #12226 for good diff --git a/src/frontends/qt/TocWidget.cpp b/src/frontends/qt/TocWidget.cpp index 957b3a6..cd346a8 100644 --- a/src/frontends/qt/TocWidget.cpp +++ b/src/frontends/qt/TocWidget.cpp @@ -532,11 +532,11 @@ void TocWidget::filterContents() activeFilterCO->currentIndex() != 1; int size = indices.size(); + QString const matchstring = filter_ ? filter_->text() : QString(); for (int i = 0; i < size; i++) { QModelIndex index = indices[i]; - bool matches = filter_ && - index.data().toString().contains( - filter_->text(), Qt::CaseInsensitive); + bool matches = index.data().toString().contains( + matchstring, Qt::CaseInsensitive); TocItem const & item = gui_view_.tocModels().currentItem(current_type_, index); matches &= (show_active && item.isOutput()) || (show_inactive && !item.isOutput()); diff --git a/src/frontends/qt/TocWidget.h b/src/frontends/qt/TocWidget.h index 4f8c617..df6c705 100644 --- a/src/frontends/qt/TocWidget.h +++ b/src/frontends/qt/TocWidget.h @@ -120,7 +120,7 @@ private: // Timer for scheduling expensive update operations QTimer * timer_; /// Filter bar - FancyLineEdit * filter_; + FancyLineEdit * filter_ = nullptr; }; } // namespace frontend commit f3d5a95bb2472c907bb9bb7d07dc622413e3accb Author: Juergen Spitzmueller Date: Sun Oct 31 13:43:27 2021 +0100 Redraw all work areas while zooming (#12334) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 9aa325f..1068bdd 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -786,7 +786,7 @@ void GuiView::zoomSliderMoved(int value) { DispatchResult dr; dispatch(FuncRequest(LFUN_BUFFER_ZOOM, convert(value)), dr); - currentWorkArea()->scheduleRedraw(true); + scheduleRedrawWorkAreas(); zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), value))); } @@ -802,7 +802,7 @@ void GuiView::zoomInPressed() { DispatchResult dr; dispatch(FuncRequest(LFUN_BUFFER_ZOOM_IN), dr); - currentWorkArea()->scheduleRedraw(true); + scheduleRedrawWorkAreas(); } @@ -810,7 +810,7 @@ void GuiView::zoomOutPressed() { DispatchResult dr; dispatch(FuncRequest(LFUN_BUFFER_ZOOM_OUT), dr); - currentWorkArea()->scheduleRedraw(true); + scheduleRedrawWorkAreas(); } @@ -823,6 +823,17 @@ void GuiView::showZoomContextMenu() } +void GuiView::scheduleRedrawWorkAreas() +{ + for (int i = 0; i < d.tabWorkAreaCount(); i++) { + TabWorkArea* ta = d.tabWorkArea(i); + for (int u = 0; u < ta->count(); u++) { + ta->workArea(u)->scheduleRedraw(true); + } + } +} + + QVector GuiView::GuiViewPrivate::guiWorkAreas() { QVector areas; diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h index 657634c..c16b557 100644 --- a/src/frontends/qt/GuiView.h +++ b/src/frontends/qt/GuiView.h @@ -288,6 +288,9 @@ private: /// TabWorkArea * addTabWorkArea(); + /// + void scheduleRedrawWorkAreas(); + /// connect to signals in the given BufferView void connectBufferView(BufferView & bv); /// disconnect from signals in the given BufferView commit 4c0caf9dd48d097ba2721609d45bb65a21740959 Author: Juergen Spitzmueller Date: Sun Oct 31 13:16:20 2021 +0100 Polishing diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index 1b837f0..3e6df5d 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -611,8 +611,7 @@ LocalLayout::LocalLayout(QWidget * parent) connect(validatePB, SIGNAL(clicked()), this, SLOT(validatePressed())); connect(convertPB, SIGNAL(clicked()), this, SLOT(convertPressed())); connect(editPB, SIGNAL(clicked()), this, SLOT(editExternal())); - // https://stackoverflow.com/questions/13027091/how-to-override-tab-width-in-qt - const int tabStop = 4; + int const tabStop = 4; QFontMetrics metrics(locallayoutTE->currentFont()); #if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) // horizontalAdvance() is available starting in 5.11.0 commit c50f40b522884f57b06b94a363f77da1797d1e89 Author: Daniel Ramoeller Date: Sat Oct 16 09:51:33 2021 +0200 Set Local Layout tab stop distance to 4 Fix for bug #12395. diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index 23a1818..1b837f0 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -488,8 +488,7 @@ PreambleModule::PreambleModule(QWidget * parent) connect(editPB, SIGNAL(clicked()), this, SLOT(editExternal())); connect(findLE, SIGNAL(returnPressed()), this, SLOT(findText())); checkFindButton(); - // https://stackoverflow.com/questions/13027091/how-to-override-tab-width-in-qt - const int tabStop = 4; + int const tabStop = 4; QFontMetrics metrics(preambleTE->currentFont()); #if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) // horizontalAdvance() is available starting in 5.11.0 @@ -612,6 +611,16 @@ LocalLayout::LocalLayout(QWidget * parent) connect(validatePB, SIGNAL(clicked()), this, SLOT(validatePressed())); connect(convertPB, SIGNAL(clicked()), this, SLOT(convertPressed())); connect(editPB, SIGNAL(clicked()), this, SLOT(editExternal())); + // https://stackoverflow.com/questions/13027091/how-to-override-tab-width-in-qt + const int tabStop = 4; + QFontMetrics metrics(locallayoutTE->currentFont()); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + // horizontalAdvance() is available starting in 5.11.0 + // setTabStopDistance() is available starting in 5.10.0 + locallayoutTE->setTabStopDistance(tabStop * metrics.horizontalAdvance(' ')); +#else + locallayoutTE->setTabStopWidth(tabStop * metrics.width(' ')); +#endif } commit ce8b4e3a218fcff0200e18f67db542acc04eaf8f Author: Daniel Ramoeller Date: Fri Mar 19 07:37:11 2021 +0100 Movable minimised Quick Search Widget Fix for bug #12207. diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 32a8fd1..88edf53 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -564,6 +564,33 @@ GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags connect(widget_, SIGNAL(needSizeUpdate()), this, SLOT(updateSize())); } + +void GuiSearch::mousePressEvent(QMouseEvent *event) +{ + if (isFloating() && event->button() == Qt::LeftButton) { + dragPosition = event->globalPos() - frameGeometry().topLeft(); + event->accept(); + } +} + + +void GuiSearch::mouseMoveEvent(QMouseEvent *event) +{ + if (isFloating() && event->buttons() & Qt::LeftButton) { + move(event->globalPos() - dragPosition); + event->accept(); + } +} + + +void GuiSearch::mouseDoubleClickEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) { + setFloating(!isFloating()); + } +} + + void GuiSearch::onBufferViewChanged() { widget_->setEnabled(static_cast(bufferview())); diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h index a6d1fd8..579e989 100644 --- a/src/frontends/qt/GuiSearch.h +++ b/src/frontends/qt/GuiSearch.h @@ -127,6 +127,9 @@ public: protected: bool wantInitialFocus() const override { return true; } + void mouseMoveEvent(QMouseEvent * event) override; + void mousePressEvent(QMouseEvent * event) override; + void mouseDoubleClickEvent(QMouseEvent *event) override; public Q_SLOTS: /// @@ -141,6 +144,8 @@ private Q_SLOTS: private: /// The encapsulated widget. GuiSearchWidget * widget_; + /// + QPoint dragPosition; }; } // namespace frontend commit 528eee0a25a79855f7123545762f8ba433d5c2cc Author: Daniel Ramoeller Date: Fri Mar 19 08:54:22 2021 +0100 Adjust spacing of Quick Find Dock Fix for bug #12209. (amended by J??rgen Spitzm??ller) diff --git a/src/frontends/qt/ui/SearchUi.ui b/src/frontends/qt/ui/SearchUi.ui index 1837d6e..2b24b5a 100644 --- a/src/frontends/qt/ui/SearchUi.ui +++ b/src/frontends/qt/ui/SearchUi.ui @@ -7,7 +7,7 @@ 0 0 706 - 135 + 103 @@ -23,8 +23,26 @@ false + + 6 + + + 3 + + + 3 + + + 3 + + + 0 + + + 3 + @@ -198,6 +216,12 @@ + + 6 + + + 6 + commit f0126b9fdff2118f3e9566387bed0cb5da2df9d4 Author: Juergen Spitzmueller Date: Sun Oct 31 11:56:53 2021 +0100 \\noindent in a paragraph that starts with \\vspace is possible But the \\vspace must precede \\noindent (the latter leaves vmode) diff --git a/src/OutputParams.h b/src/OutputParams.h index 2191a83..7ca5c1f 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -283,7 +283,7 @@ public: /** Whether we are in a table cell. * For newline, it matters whether its content is aligned or not. - */ + */ TableCell inTableCell = NO; /** Whether we are inside a float or subfloat. @@ -422,6 +422,9 @@ public: /// Explicit output folder, if any is desired std::string export_folder; + + /// A postponed \\noindent (after VSpace) + mutable bool need_noindent = false; }; diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 10131ef..6b1e118 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2355,14 +2355,23 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, // 1. that cannot have indentation or are indented always, // 2. that are not part of the immediate text sequence (e.g., contain only floats), // 3. that are PassThru, - // 4. that are centered, - // 5. or start with a vspace. - if (canindent && params_.noindent() && owner_->isPartOfTextSequence() - && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER - && !owner_->empty() - && (!owner_->isInset(0) || owner_->getInset(0)->lyxCode() != VSPACE_CODE)) { - os << "\\noindent" << termcmd; - column += 10; + // 4. or that are centered. + if (canindent && params_.noindent() + && owner_->isPartOfTextSequence() + && !layout_->pass_thru + && curAlign != LYX_ALIGN_CENTER) { + if (!owner_->empty() + && (owner_->isInset(0) + && owner_->getInset(0)->lyxCode() == VSPACE_CODE)) + // If the paragraph starts with a vspace, the \\noindent + // needs to come after that (as it leaves vmode). + // If the paragraph consists only of the vspace, + // \\noindent is not needed at all. + runparams.need_noindent = owner_->size() > 1; + else { + os << "\\noindent" << termcmd; + column += 10; + } } if (curAlign == layout_->align) diff --git a/src/insets/InsetVSpace.cpp b/src/insets/InsetVSpace.cpp index c774e98..80fba4d 100644 --- a/src/insets/InsetVSpace.cpp +++ b/src/insets/InsetVSpace.cpp @@ -209,9 +209,15 @@ void InsetVSpace::draw(PainterInfo & pi, int x, int y) const } -void InsetVSpace::latex(otexstream & os, OutputParams const &) const +void InsetVSpace::latex(otexstream & os, OutputParams const & rp) const { - os << from_ascii(space_.asLatexCommand(buffer().params())) << '\n'; + os << from_ascii(space_.asLatexCommand(buffer().params())) << breakln; + if (rp.need_noindent) { + // If the paragraph starts with a vspace and has more than that + // content, the \\noindent needs to come after that + // (as \\noindent leaves vmode). + os << "\\noindent" << termcmd; + } } commit 96a4dd235eae438073b3a2b00c73ff930f7be14a Author: Daniel Ramoeller Date: Tue Sep 15 07:31:53 2020 +0200 Fix for bug #11974 Support for setUnifiedTitleAndToolBarOnMac (unify toolbar and title bar). diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 767791f..9aa325f 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -1039,6 +1039,11 @@ void GuiView::updateLockToolbars() if (tb && tb->isMovable()) toolbarsMovable_ = true; } +#if QT_VERSION >= 0x050200 + // set unified mac toolbars only when not movable as recommended: + // https://doc.qt.io/qt-5/qmainwindow.html#unifiedTitleAndToolBarOnMac-prop + setUnifiedTitleAndToolBarOnMac(!toolbarsMovable_); +#endif } @@ -4488,12 +4493,11 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr) dr.setMessage(_("Toolbars unlocked.")); else dr.setMessage(_("Toolbars locked.")); - } else if (GuiToolbar * t = toolbar(name)) { + } else if (GuiToolbar * tb = toolbar(name)) // toggle current toolbar movablity - t->movable(); - // update lock (all) toolbars positions - updateLockToolbars(); - } + tb->movable(); + // update lock (all) toolbars positions + updateLockToolbars(); break; } commit fbc64ea7ee115bdc4a55c214f28de2166d71f6a2 Author: Juergen Spitzmueller Date: Sun Oct 31 10:38:52 2021 +0100 Amend comment diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 98be025..10131ef 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2352,7 +2352,7 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, LyXAlignment const curAlign = params_.align(); // Do not output \\noindent for paragraphs - // 1. that cannot have indentation, + // 1. that cannot have indentation or are indented always, // 2. that are not part of the immediate text sequence (e.g., contain only floats), // 3. that are PassThru, // 4. that are centered, commit 456a72b62a76803d88e11facc787ebfed477bb40 Author: Juergen Spitzmueller Date: Sun Oct 31 10:22:11 2021 +0100 Do not output \\noindent for paragraphs starting with a vspace These are not indented anyway, and the extra \\noindent causes whitespace diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 1b58f55..98be025 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2351,11 +2351,16 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, LyXAlignment const curAlign = params_.align(); - // Do not output \\noindent for paragraphs that are not part of the - // immediate text sequence (e.g., contain only floats), that cannot - // have indentation, that are PassThru or centered. + // Do not output \\noindent for paragraphs + // 1. that cannot have indentation, + // 2. that are not part of the immediate text sequence (e.g., contain only floats), + // 3. that are PassThru, + // 4. that are centered, + // 5. or start with a vspace. if (canindent && params_.noindent() && owner_->isPartOfTextSequence() - && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER) { + && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER + && !owner_->empty() + && (!owner_->isInset(0) || owner_->getInset(0)->lyxCode() != VSPACE_CODE)) { os << "\\noindent" << termcmd; column += 10; } commit 18a91852e16105cabe59a4de2787a00569fdf365 Author: Juergen Spitzmueller Date: Sun Oct 31 09:58:10 2021 +0100 Properly terminate \\noindent diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 709507b..1b58f55 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2356,7 +2356,7 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, // have indentation, that are PassThru or centered. if (canindent && params_.noindent() && owner_->isPartOfTextSequence() && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER) { - os << "\\noindent "; + os << "\\noindent" << termcmd; column += 10; } commit 633013453eea56467b50869a355849c46a39a3a3 Author: Juergen Spitzmueller Date: Sun Oct 31 09:26:57 2021 +0100 Factor out Paragraph::isPartOfTextSequence Amends 045c25cf76 diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index dc4be43..709507b 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2268,6 +2268,16 @@ bool Paragraph::isPassThru() const return inInset().isPassThru() || d->layout_->pass_thru; } + +bool Paragraph::isPartOfTextSequence() const +{ + for (pos_type i = 0; i < size(); ++i) { + if (!isInset(i) || getInset(i)->isPartOfTextSequence()) + return true; + } + return false; +} + namespace { // paragraphs inside floats need different alignment tags to avoid @@ -2339,21 +2349,12 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, (layout_->toggle_indent != ITOGGLE_NEVER) : (layout_->toggle_indent == ITOGGLE_ALWAYS); - // Paragraphs that only contain insets which are not part of the text sequence - // (e.g., floats) should not get \\noindent (this would cause extra white space) - bool emptypar = true; - if (canindent) { - for (pos_type i = 0; i < owner_->size(); ++i) { - if (!owner_->isInset(i) || owner_->getInset(i)->isPartOfTextSequence()) { - emptypar = false; - break; - } - } - } - LyXAlignment const curAlign = params_.align(); - if (canindent && !emptypar && params_.noindent() + // Do not output \\noindent for paragraphs that are not part of the + // immediate text sequence (e.g., contain only floats), that cannot + // have indentation, that are PassThru or centered. + if (canindent && params_.noindent() && owner_->isPartOfTextSequence() && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER) { os << "\\noindent "; column += 10; diff --git a/src/Paragraph.h b/src/Paragraph.h index 67f41dd..d6e4a76 100644 --- a/src/Paragraph.h +++ b/src/Paragraph.h @@ -239,6 +239,8 @@ public: /// bool isPassThru() const; /// + bool isPartOfTextSequence() const; + /// pos_type size() const; /// bool empty() const; commit 5d3f940973874a73f843c6c1a652a4ce5a23e58c Author: Juergen Spitzmueller Date: Sat Oct 30 17:51:16 2021 +0200 de.po diff --git a/po/de.po b/po/de.po index 03cce46..3edd532 100644 --- a/po/de.po +++ b/po/de.po @@ -94,8 +94,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4git\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-21 16:51+0200\n" -"PO-Revision-Date: 2021-10-21 16:57+0200\n" +"POT-Creation-Date: 2021-10-30 17:44+0200\n" +"PO-Revision-Date: 2021-10-30 17:51+0200\n" "Last-Translator: J??rgen Spitzm??ller \n" "Language-Team: Deutsch \n" "Language: de\n" @@ -899,7 +899,7 @@ msgstr "&Gr????e:" #: src/frontends/qt/GuiDocument.cpp:2666 src/frontends/qt/GuiDocument.cpp:2667 #: src/frontends/qt/GuiDocument.cpp:2687 src/frontends/qt/GuiDocument.cpp:2694 #: src/frontends/qt/GuiDocument.cpp:2701 src/frontends/qt/GuiDocument.cpp:2791 -#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4893 +#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4882 #: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71 #: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160 #: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479 @@ -1087,7 +1087,6 @@ msgid "Language Settings" msgstr "Spracheinstellungen" #: src/frontends/qt/ui/CharacterUi.ui:265 src/frontends/qt/ui/LanguageUi.ui:22 -#: src/frontends/qt/ui/LyXFilesUi.ui:94 #: src/frontends/qt/ui/SpellcheckerUi.ui:28 #: src/frontends/qt/ui/ThesaurusUi.ui:23 msgid "&Language:" @@ -3015,6 +3014,10 @@ msgstr "Gro??-/Kleinschreibung beim Filtern beachten" msgid "Case Sensiti&ve" msgstr "Gro??-/&Kleinschreibung beachten" +#: src/frontends/qt/ui/LyXFilesUi.ui:94 +msgid "File &Language:" +msgstr "S&prache des Dokuments:" + #: src/frontends/qt/ui/LyXFilesUi.ui:110 msgid "The available language(s) of the selected file will be displayed here" msgstr "" @@ -12690,7 +12693,7 @@ msgstr "Fixme-Fehler" #: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199 #: src/frontends/qt/GuiDocument.cpp:2849 src/frontends/qt/GuiDocument.cpp:2923 -#: src/frontends/qt/GuiDocument.cpp:4836 +#: src/frontends/qt/GuiDocument.cpp:4820 msgid "Error" msgstr "Fehler" @@ -19628,7 +19631,7 @@ msgid "Copy as Reference|R" msgstr "Als Querverweis kopieren|k" #: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108 -#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1561 +#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1567 #: src/mathed/InsetMathNest.cpp:555 msgid "Cut" msgstr "Ausschneiden" @@ -19639,7 +19642,7 @@ msgid "Copy" msgstr "Kopieren" #: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110 -#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1506 +#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512 #: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1560 #: src/mathed/InsetMathNest.cpp:533 msgid "Paste" @@ -21968,7 +21971,7 @@ msgid "Big operators" msgstr "Gro??e Operatoren" #: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690 -#: src/frontends/qt/GuiDocument.cpp:5168 +#: src/frontends/qt/GuiDocument.cpp:5157 msgid "Miscellaneous" msgstr "Verschiedenes" @@ -27994,7 +27997,7 @@ msgid "greyedout inset text" msgstr "Grauschrift-Einf??gungstext" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2979 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:2992 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28005,7 +28008,7 @@ msgid "LyX Warning: " msgstr "LyX-Warnung: " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2980 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:2993 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -29207,17 +29210,17 @@ msgid "Number %1$s" msgstr "Nummer %1$s" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 msgid "Roman" msgstr "Serifenschrift" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 msgid "Sans Serif" msgstr "Serifenlos" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150 -#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4882 src/frontends/qt/GuiListings.cpp:167 msgid "Typewriter" msgstr "Schreibmaschine" @@ -30512,7 +30515,7 @@ msgstr "Mathe-Editor-Modus" msgid "No valid math formula" msgstr "Keine g??ltige Matheformel" -#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1024 +#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1032 msgid "Already in regular expression mode" msgstr "Bereits im Regexp-Modus" @@ -30520,40 +30523,40 @@ msgstr "Bereits im Regexp-Modus" msgid "Regexp editor mode" msgstr "Regexp-Editor-Modus" -#: src/Text3.cpp:1595 +#: src/Text3.cpp:1601 msgid "Layout " msgstr "Format " -#: src/Text3.cpp:1596 src/Text3.cpp:2166 +#: src/Text3.cpp:1602 src/Text3.cpp:2172 msgid " not known" msgstr " unbekannt" -#: src/Text3.cpp:2165 +#: src/Text3.cpp:2171 msgid "Table Style " msgstr "Tabellenstil" -#: src/Text3.cpp:2358 src/frontends/qt/GuiApplication.cpp:1873 +#: src/Text3.cpp:2364 src/frontends/qt/GuiApplication.cpp:1873 msgid "Missing argument" msgstr "Fehlendes Argument" -#: src/Text3.cpp:2527 +#: src/Text3.cpp:2533 msgid "Invalid argument (number exceeds stack size)!" msgstr "Ung??ltiges Argument (Zahl gr????er als Zwischenspeicher)!" -#: src/Text3.cpp:2531 +#: src/Text3.cpp:2537 msgid "Invalid argument (must be a non-negative number)!" msgstr "Ung??ltiges Argument (muss eine nicht-negative Zahl sein)!" -#: src/Text3.cpp:2536 src/Text3.cpp:2554 +#: src/Text3.cpp:2542 src/Text3.cpp:2560 #, c-format msgid "Text properties applied: %1$s" msgstr "Angewendete Texteigenschaften: %1$s" -#: src/Text3.cpp:2713 +#: src/Text3.cpp:2719 msgid "Path to thesaurus directory not set!" msgstr "Pfad zum Thesaurus-W??rterbuch nicht festlegt!" -#: src/Text3.cpp:2714 +#: src/Text3.cpp:2720 msgid "" "The path to the thesaurus directory has not been specified.\n" "The thesaurus is not functional.\n" @@ -30565,7 +30568,7 @@ msgstr "" "Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n" "um den Thesaurus einzurichten." -#: src/Text3.cpp:2848 src/Text3.cpp:2859 +#: src/Text3.cpp:2854 src/Text3.cpp:2865 msgid "Paragraph layout set" msgstr "Absatzformat festgelegt" @@ -31648,7 +31651,7 @@ msgstr "alle Literaturverzeichnisse" #: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167 #: src/frontends/qt/GuiDocument.cpp:2887 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 -#: src/frontends/qt/GuiLyXFiles.cpp:362 src/frontends/qt/GuiLyXFiles.cpp:368 +#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374 #: src/frontends/qt/GuiView.cpp:2549 src/frontends/qt/GuiView.cpp:2608 #: src/frontends/qt/GuiView.cpp:2748 src/frontends/qt/GuiView.cpp:2882 #: src/frontends/qt/GuiView.cpp:3002 src/frontends/qt/GuiView.cpp:3124 @@ -31733,7 +31736,7 @@ msgid "Filename Suffix" msgstr "Erweitere Dateinamen" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:4634 +#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:4618 #: src/frontends/qt/GuiProgressView.cpp:144 #: src/frontends/qt/GuiProgressView.cpp:158 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -31741,8 +31744,8 @@ msgid "Yes" msgstr "Ja" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3322 src/frontends/qt/GuiDocument.cpp:3965 -#: src/frontends/qt/GuiDocument.cpp:4633 +#: src/frontends/qt/GuiDocument.cpp:3322 src/frontends/qt/GuiDocument.cpp:3949 +#: src/frontends/qt/GuiDocument.cpp:4617 #: src/frontends/qt/GuiProgressView.cpp:110 #: src/frontends/qt/GuiProgressView.cpp:143 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -32044,7 +32047,7 @@ msgstr "Vergleiche LyX-Dateien" msgid "Select document" msgstr "Dokument w??hlen" -#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:361 +#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367 #: src/frontends/qt/GuiView.cpp:2553 src/frontends/qt/GuiView.cpp:2612 #: src/frontends/qt/GuiView.cpp:2886 src/frontends/qt/GuiView.cpp:3013 msgid "LyX Documents (*.lyx)" @@ -32533,9 +32536,9 @@ msgstr "Direkt (ohne inputenc)" msgid "Direct (XeTeX/LuaTeX)" msgstr "Direkt (XeTeX/LuaTeX)" -#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4309 -#: src/frontends/qt/GuiDocument.cpp:4318 src/frontends/qt/GuiDocument.cpp:4327 -#: src/frontends/qt/GuiDocument.cpp:4336 +#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4293 +#: src/frontends/qt/GuiDocument.cpp:4302 src/frontends/qt/GuiDocument.cpp:4311 +#: src/frontends/qt/GuiDocument.cpp:4320 msgid " (not installed)" msgstr " (nicht installiert)" @@ -32599,12 +32602,12 @@ msgstr "LyX-Dokumente (*.lyx)" # , c-format # , c-format #: src/frontends/qt/GuiDocument.cpp:2909 src/frontends/qt/GuiDocument.cpp:3210 -#: src/frontends/qt/GuiDocument.cpp:4825 +#: src/frontends/qt/GuiDocument.cpp:4809 msgid "Unapplied changes" msgstr "Nicht ??bernommene ??nderungen" #: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3211 -#: src/frontends/qt/GuiDocument.cpp:4826 +#: src/frontends/qt/GuiDocument.cpp:4810 msgid "" "Some changes in the dialog were not yet applied.\n" "If you do not apply now, they will be lost after this action." @@ -32614,16 +32617,16 @@ msgstr "" "Aktion verlorengehen." #: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4828 +#: src/frontends/qt/GuiDocument.cpp:4812 msgid "&Apply" msgstr "&Anwenden" #: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4828 +#: src/frontends/qt/GuiDocument.cpp:4812 msgid "&Dismiss" msgstr "&Ablehnen" -#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4836 +#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4820 msgid "Unable to set document class." msgstr "Kann Dokumentklasse nicht einstellen." @@ -32700,61 +32703,61 @@ msgstr "" "

WARNUNG: Einige ben??tigte Pakete sind nicht verf??gbar!" "

" -#: src/frontends/qt/GuiDocument.cpp:3967 +#: src/frontends/qt/GuiDocument.cpp:3951 msgid "per part" msgstr "pro Teil" -#: src/frontends/qt/GuiDocument.cpp:3969 +#: src/frontends/qt/GuiDocument.cpp:3953 msgid "per chapter" msgstr "pro Kapitel" -#: src/frontends/qt/GuiDocument.cpp:3971 +#: src/frontends/qt/GuiDocument.cpp:3955 msgid "per section" msgstr "pro Abschnitt" -#: src/frontends/qt/GuiDocument.cpp:3973 +#: src/frontends/qt/GuiDocument.cpp:3957 msgid "per subsection" msgstr "pro Unterabschnitt" -#: src/frontends/qt/GuiDocument.cpp:3974 +#: src/frontends/qt/GuiDocument.cpp:3958 msgid "per child document" msgstr "pro Unterdokument" -#: src/frontends/qt/GuiDocument.cpp:4001 +#: src/frontends/qt/GuiDocument.cpp:3985 #, c-format msgid "%1$s (not available)" msgstr "%1$s (nicht verf??gbar)" -#: src/frontends/qt/GuiDocument.cpp:4229 +#: src/frontends/qt/GuiDocument.cpp:4213 msgid "[No options predefined]" msgstr "[Keine Optionen vordefiniert]" -#: src/frontends/qt/GuiDocument.cpp:4496 +#: src/frontends/qt/GuiDocument.cpp:4480 msgid "C&ustomize Hyperref Options" msgstr "H&yperref-Optionen anpassen" -#: src/frontends/qt/GuiDocument.cpp:4498 +#: src/frontends/qt/GuiDocument.cpp:4482 msgid "&Use Hyperref Support" msgstr "Hyperref-Unterst??tzung &verwenden" -#: src/frontends/qt/GuiDocument.cpp:4848 +#: src/frontends/qt/GuiDocument.cpp:4832 msgid "Can't set layout!" msgstr "Kann Format nicht verwenden!" -#: src/frontends/qt/GuiDocument.cpp:4849 +#: src/frontends/qt/GuiDocument.cpp:4833 #, c-format msgid "Unable to set layout for ID: %1$s" msgstr "Kann Format f??r ID '%1$s' nicht verwenden" -#: src/frontends/qt/GuiDocument.cpp:4947 +#: src/frontends/qt/GuiDocument.cpp:4936 msgid "Not Found" msgstr "Nicht gefunden" -#: src/frontends/qt/GuiDocument.cpp:5009 +#: src/frontends/qt/GuiDocument.cpp:4998 msgid "Assigned master does not include this file" msgstr "Zugewiesenes Hauptdokument bettet diese Datei nicht ein" -#: src/frontends/qt/GuiDocument.cpp:5010 +#: src/frontends/qt/GuiDocument.cpp:4999 #, c-format msgid "" "You must include this file in the document\n" @@ -32765,11 +32768,11 @@ msgstr "" "'%1$s' einbetten, sonst bleibt die\n" "vorgenommene Zuordnung des Hauptdokuments wirkungslos." -#: src/frontends/qt/GuiDocument.cpp:5014 +#: src/frontends/qt/GuiDocument.cpp:5003 msgid "Could not load master" msgstr "Konnte das Hauptdokument nicht laden" -#: src/frontends/qt/GuiDocument.cpp:5015 +#: src/frontends/qt/GuiDocument.cpp:5004 #, c-format msgid "" "The master document '%1$s'\n" @@ -32778,23 +32781,23 @@ msgstr "" "Das Hauptdokument '%1$s'\n" "konnte nicht geladen werden." -#: src/frontends/qt/GuiDocument.cpp:5165 +#: src/frontends/qt/GuiDocument.cpp:5154 msgid "%1 (missing req.)" msgstr "%1 (fehlende Vor.)" -#: src/frontends/qt/GuiDocument.cpp:5177 +#: src/frontends/qt/GuiDocument.cpp:5166 msgid "personal module" msgstr "pers??nliches Modul" -#: src/frontends/qt/GuiDocument.cpp:5177 +#: src/frontends/qt/GuiDocument.cpp:5166 msgid "distributed module" msgstr "mitgeliefertes Modul" -#: src/frontends/qt/GuiDocument.cpp:5178 +#: src/frontends/qt/GuiDocument.cpp:5167 msgid "Module name: %1 (%2)" msgstr "Modulname: %1 (%2)" -#: src/frontends/qt/GuiDocument.cpp:5184 +#: src/frontends/qt/GuiDocument.cpp:5173 msgid "Note: Some requirements for this module are missing!" msgstr "" "Achtung: Einige Voraussetzungen f??r dieses Modul sind nicht gegeben!" @@ -33427,39 +33430,31 @@ msgstr "Keine lyx2lyx-Fehlerprotokolldatei gefunden." msgid "No version control log file found." msgstr "Es wurde keine Protokolldatei der Versionskontrolle gefunden." -#: src/frontends/qt/GuiLyXFiles.cpp:152 -msgid "Preferred &Language:" -msgstr "Bevorzugte S&prache:" - -#: src/frontends/qt/GuiLyXFiles.cpp:158 src/frontends/qt/GuiLyXFiles.cpp:584 +#: src/frontends/qt/GuiLyXFiles.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:590 msgid "New File From Template" msgstr "Neu von Vorlage" -#: src/frontends/qt/GuiLyXFiles.cpp:190 +#: src/frontends/qt/GuiLyXFiles.cpp:189 msgid "All available files" msgstr "Alle verf??gbaren Dokumente" -#: src/frontends/qt/GuiLyXFiles.cpp:191 +#: src/frontends/qt/GuiLyXFiles.cpp:190 msgid "Enter string to filter the list of available files" msgstr "Geben Sie eine Zeichenkette zum Filtern der verf??gbaren Dokumente ein." -#: src/frontends/qt/GuiLyXFiles.cpp:224 +#: src/frontends/qt/GuiLyXFiles.cpp:223 msgid "User and System Files" msgstr "Benutzer- und Systemdateien" -#: src/frontends/qt/GuiLyXFiles.cpp:225 +#: src/frontends/qt/GuiLyXFiles.cpp:224 msgid "User Files Only" msgstr "Nur Benutzerdateien" -#: src/frontends/qt/GuiLyXFiles.cpp:226 +#: src/frontends/qt/GuiLyXFiles.cpp:225 msgid "System Files Only" msgstr "Nur Systemdateien" -#: src/frontends/qt/GuiLyXFiles.cpp:313 -msgid "File &Language:" -msgstr "S&prache des Dokuments:" - -#: src/frontends/qt/GuiLyXFiles.cpp:314 +#: src/frontends/qt/GuiLyXFiles.cpp:331 msgid "" "All available languages of the selected file are displayed here.\n" "The selected language version will be opened." @@ -33468,65 +33463,78 @@ msgstr "" "angezeigt.\n" "Die Datei wird in der ausgew??hlten Sprachversion ge??ffnet." -#: src/frontends/qt/GuiLyXFiles.cpp:360 +#: src/frontends/qt/GuiLyXFiles.cpp:334 +msgid "No alternative language versions available for the selected file." +msgstr "" +"F??r die ausgew??hlte Datei sind keine Versionen in anderen Sprachen verf??gbar." + +#: src/frontends/qt/GuiLyXFiles.cpp:336 +msgid "" +"If alternative languages are available for a given file,\n" +"they can be chosen here if a file is selected." +msgstr "" +"Wenn f??r eine bestimmte Datei Versionen in mehreren Sprachen verf??gbar sind, " +"k??nnen Sie hier aus diesen ausw??hlen, nachdem die Datei markiert wurde." + +#: src/frontends/qt/GuiLyXFiles.cpp:366 msgid "Select example file" msgstr "W??hlen Sie eine Beispieldatei" -#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2609 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2609 #: src/frontends/qt/GuiView.cpp:2749 src/frontends/qt/GuiView.cpp:2883 msgid "&Examples" msgstr "&Beispiele" -#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2548 +#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2548 msgid "Select template file" msgstr "W??hlen Sie eine Vorlagendatei" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2550 +#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2550 #: src/frontends/qt/GuiView.cpp:3003 msgid "&Templates" msgstr "&Vorlagen" -#: src/frontends/qt/GuiLyXFiles.cpp:374 +#: src/frontends/qt/GuiLyXFiles.cpp:380 msgid "&User files" msgstr "&Benutzerdateien" -#: src/frontends/qt/GuiLyXFiles.cpp:375 +#: src/frontends/qt/GuiLyXFiles.cpp:381 msgid "&System files" msgstr "&Systemdateien" -#: src/frontends/qt/GuiLyXFiles.cpp:378 +#: src/frontends/qt/GuiLyXFiles.cpp:384 msgid "Chose UI file" msgstr "W??hlen Sie eine 'UI'-Datei" -#: src/frontends/qt/GuiLyXFiles.cpp:379 +#: src/frontends/qt/GuiLyXFiles.cpp:385 msgid "LyX UI Files (*.ui)" msgstr "LyX-UI-Dateien (*.ui)" -#: src/frontends/qt/GuiLyXFiles.cpp:382 +#: src/frontends/qt/GuiLyXFiles.cpp:388 msgid "Chose bind file" msgstr "W??hlen Sie eine Tastaturk??rzel-Datei" -#: src/frontends/qt/GuiLyXFiles.cpp:383 +#: src/frontends/qt/GuiLyXFiles.cpp:389 msgid "LyX Bind Files (*.bind)" msgstr "LyX-Tastaturk??rzel-Dateien (*.bind)" -#: src/frontends/qt/GuiLyXFiles.cpp:386 +#: src/frontends/qt/GuiLyXFiles.cpp:392 msgid "Chose keyboard map" msgstr "W??hlen Sie eine Tastaturtabelle" -#: src/frontends/qt/GuiLyXFiles.cpp:387 +#: src/frontends/qt/GuiLyXFiles.cpp:393 msgid "LyX Keymap Files (*.kmap)" msgstr "LyX-Tastaturtabellen (*.kmap)" -#: src/frontends/qt/GuiLyXFiles.cpp:445 +#: src/frontends/qt/GuiLyXFiles.cpp:451 msgid "Default Template" msgstr "Standardvorlage" -#: src/frontends/qt/GuiLyXFiles.cpp:582 +#: src/frontends/qt/GuiLyXFiles.cpp:588 msgid "Open Example File" msgstr "Beispieldatei ??ffnen" -#: src/frontends/qt/GuiLyXFiles.cpp:586 +#: src/frontends/qt/GuiLyXFiles.cpp:592 msgid "Open File" msgstr "Datei ??ffnen" @@ -35444,11 +35452,11 @@ msgstr "Horizontaler Abstand" msgid "Horizontal Math Space" msgstr "Horizontaler Mathe-Abstand" -#: src/insets/InsetArgument.cpp:153 +#: src/insets/InsetArgument.cpp:152 msgid "Unknown Argument" msgstr "Unbekanntes Argument" -#: src/insets/InsetArgument.cpp:154 +#: src/insets/InsetArgument.cpp:153 msgid "Argument not known in this Layout. Will be suppressed in the output." msgstr "" "Dieses Argument ist im gew??hlten Absatzstil unbekannt. Es wird in der " @@ -35602,27 +35610,27 @@ msgstr "" "Status des Zweigs: %2$s\n" "Status der Einf??gung: %3$s" -#: src/insets/InsetBranch.cpp:120 +#: src/insets/InsetBranch.cpp:122 msgid "Branch: " msgstr "Zweig: " -#: src/insets/InsetBranch.cpp:122 +#: src/insets/InsetBranch.cpp:124 msgid "Branch (child): " msgstr "Zweig (Unterdokument): " -#: src/insets/InsetBranch.cpp:124 +#: src/insets/InsetBranch.cpp:126 msgid "Branch (master): " msgstr "Zweig (Hauptdokument): " -#: src/insets/InsetBranch.cpp:126 +#: src/insets/InsetBranch.cpp:128 msgid "Branch (undefined): " msgstr "Zweig (undefiniert): " -#: src/insets/InsetBranch.cpp:188 +#: src/insets/InsetBranch.cpp:190 msgid "Branch state changes in master document" msgstr "??nderung des Zweigstatus im Hauptdokument" -#: src/insets/InsetBranch.cpp:189 +#: src/insets/InsetBranch.cpp:191 #, c-format msgid "" "The state of the branch '%1$s' was changed in the master file. Please make " @@ -36932,7 +36940,7 @@ msgstr "" # , c-format # , c-format -#: src/insets/InsetText.cpp:1378 +#: src/insets/InsetText.cpp:1380 msgid "[contains tracked changes]" msgstr "[enth??lt verfolgte ??nderungen]" @@ -37222,19 +37230,19 @@ msgstr "Mathe-Makro: \\%1$s" msgid "Invalid macro! \\%1$s" msgstr "Ung??ltiges Makro! \\%1$s" -#: src/mathed/InsetMathNest.cpp:1010 +#: src/mathed/InsetMathNest.cpp:1018 msgid "create new math text environment ($...$)" msgstr "Neue Mathe-Textumgebung erzeugen ($...$)" -#: src/mathed/InsetMathNest.cpp:1013 +#: src/mathed/InsetMathNest.cpp:1021 msgid "entered math text mode (textrm)" msgstr "Mathe-Textmodus betreten (textrm)" -#: src/mathed/InsetMathNest.cpp:1035 +#: src/mathed/InsetMathNest.cpp:1043 msgid "Regular expression editor mode" msgstr "Bearbeitungsmodus f??r regul??re Ausdr??cke" -#: src/mathed/InsetMathNest.cpp:1934 +#: src/mathed/InsetMathNest.cpp:1942 #, c-format msgid "Cannot apply %1$s here." msgstr "%1$s kann hier nicht angewendet werden." @@ -37691,6 +37699,9 @@ msgstr "" msgid "Unknown user" msgstr "Unbekannter Benutzer" +#~ msgid "Preferred &Language:" +#~ msgstr "Bevorzugte S&prache:" + #, c-format #~ msgid "Setting debug level to %1$s" #~ msgstr "Festlegen des Test-Levels auf %1$s" commit 045c25cf761dbc2d9efcab73af42a52496dcb075 Author: Juergen Spitzmueller Date: Sat Oct 30 14:19:46 2021 +0200 Prevent unneeded (and wrong) \noindent * When a paragraph is logically empty (only contains stuff which is not part of the text sequence * In centered paragraphs diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 09874a0..dc4be43 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2339,13 +2339,26 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, (layout_->toggle_indent != ITOGGLE_NEVER) : (layout_->toggle_indent == ITOGGLE_ALWAYS); - if (canindent && params_.noindent() && !layout_->pass_thru) { - os << "\\noindent "; - column += 10; + // Paragraphs that only contain insets which are not part of the text sequence + // (e.g., floats) should not get \\noindent (this would cause extra white space) + bool emptypar = true; + if (canindent) { + for (pos_type i = 0; i < owner_->size(); ++i) { + if (!owner_->isInset(i) || owner_->getInset(i)->isPartOfTextSequence()) { + emptypar = false; + break; + } + } } LyXAlignment const curAlign = params_.align(); + if (canindent && !emptypar && params_.noindent() + && !layout_->pass_thru && curAlign != LYX_ALIGN_CENTER) { + os << "\\noindent "; + column += 10; + } + if (curAlign == layout_->align) return column; commit 710fb50118b83b7b34de184c48389f4eb3145654 Author: Thibaut Cuvelier Date: Fri Oct 29 21:29:11 2021 +0200 Fix the Unicode encoding of Rightarrow Author: lynx Related issue: 12411. https://www.lyx.org/trac/ticket/12411 diff --git a/lib/symbols b/lib/symbols index 8e22f48..f56c038 100644 --- a/lib/symbols +++ b/lib/symbols @@ -384,7 +384,7 @@ nwarrow cmsy 45 0 mathrel ↖ ↖ swarrow cmsy 46 0 mathrel ↙ ↙ Leftrightarrow cmsy 44 219 mathrel ↔ ↔ Leftarrow cmsy 40 220 mathrel ⇐ ⇐ -Rightarrow cmsy 41 222 mathrel ⇒ ȝ +Rightarrow cmsy 41 222 mathrel ⇒ ⇒ le cmsy 183 163 mathrel ≤ ≤ ge cmsy 184 179 mathrel ≥ ≥ succ cmsy 194 0 mathrel ≻ ≻ commit f8e893ce7e9383730b9049ca6e068419fe6ee959 Author: Jean-Marc Lasgouttes Date: Fri Oct 29 18:08:29 2021 +0200 Release note: remove fun "bidi" As documented later, this has been removed. diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES index b7e870c..0c7df0f 100644 --- a/lib/RELEASE-NOTES +++ b/lib/RELEASE-NOTES @@ -92,8 +92,6 @@ !!!The following new LyX functions have been introduced in 2.4: -* bidi is a helper function to implement icons that are different between LTR and RTL text. - * buffer-reset-export advises LyX to remove the auxiliary files before doing the next export. commit 9febb601905b4329615f9f37a6b801cd0e9abaf4 Author: Juergen Spitzmueller Date: Fri Oct 29 18:01:02 2021 +0200 Document parskip change in RELEASE NOTES (#10968) diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES index b779b62..b7e870c 100644 --- a/lib/RELEASE-NOTES +++ b/lib/RELEASE-NOTES @@ -220,6 +220,15 @@ !!Caveats when upgrading from earlier versions to 2.4.x +* LyX now uses the parskip package for vertical paragraph separation. Since the + output differs from the previous (sub-optimal) approach which applied paragraph + separation to sections, lists etc. as well, existing documents + are converted to use preamble code that maintains the previous layout. + The downside is that the workarea looks as if paragraph indendation rather + than paragraph separation was used (output is correct). We encourage you + to try if the new layout suits you, remove the respective preamble code + and re-set the paragraph separation to use the new layout. + * Autotools monolithic build option for building LyX binaries was removed, for compilation speedup use parallel building on multiple cores instead. commit f3002d1cf4bc261a9ef4bb56ededa5e0e859ed6d Author: Juergen Spitzmueller Date: Fri Oct 29 17:51:32 2021 +0200 Get rid of some more fragile index reliances diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index cc74a19..23a1818 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -855,8 +855,8 @@ GuiDocument::GuiDocument(GuiView & lv) textLayoutModule->skipLE->setValidator(new LengthValidator( textLayoutModule->skipLE)); - textLayoutModule->indentCO->addItem(qt_("Default")); - textLayoutModule->indentCO->addItem(qt_("Custom")); + textLayoutModule->indentCO->addItem(qt_("Default"), toqstr("default")); + textLayoutModule->indentCO->addItem(qt_("Custom"), toqstr("custom")); textLayoutModule->skipCO->addItem(qt_("Half line height"), VSpace::HALFLINE); textLayoutModule->skipCO->addItem(qt_("Line height"), VSpace::FULLLINE); textLayoutModule->skipCO->addItem(qt_("SmallSkip"), VSpace::SMALLSKIP); @@ -1535,8 +1535,8 @@ GuiDocument::GuiDocument(GuiView & lv) this, SLOT(change_adaptor())); - mathsModule->MathIndentCO->addItem(qt_("Default")); - mathsModule->MathIndentCO->addItem(qt_("Custom")); + mathsModule->MathIndentCO->addItem(qt_("Default"), toqstr("default")); + mathsModule->MathIndentCO->addItem(qt_("Custom"), toqstr("custom")); mathsModule->MathIndentLE->setValidator(new LengthValidator( mathsModule->MathIndentLE)); // initialize the length validator @@ -2009,7 +2009,7 @@ void GuiDocument::setLSpacing(int item) void GuiDocument::setIndent(int item) { - bool const enable = (item == 1); + bool const enable = (textLayoutModule->indentCO->itemData(item) == "custom"); textLayoutModule->indentLE->setEnabled(enable); textLayoutModule->indentLengthCO->setEnabled(enable); textLayoutModule->skipLE->setEnabled(false); @@ -2053,7 +2053,7 @@ void GuiDocument::allowMathIndent() { mathsModule->MathIndentLengthCO->setEnabled(false); } if (mathsModule->MathIndentCB->isChecked() - && mathsModule->MathIndentCO->currentIndex() == 1) { + && mathsModule->MathIndentCO->itemData(mathsModule->MathIndentCO->currentIndex()) == "custom") { mathsModule->MathIndentLE->setEnabled(true); mathsModule->MathIndentLengthCO->setEnabled(true); } @@ -3584,21 +3584,13 @@ void GuiDocument::applyView() bp_.is_math_indent = mathsModule->MathIndentCB->isChecked(); if (bp_.is_math_indent) { // if formulas are indented - switch (mathsModule->MathIndentCO->currentIndex()) { - case 0: - bp_.setMathIndent(Length()); - break; - case 1: { + if (mathsModule->MathIndentCO->itemData(mathsModule->MathIndentCO->currentIndex()) == "custom") { Length mathindent(widgetsToLength(mathsModule->MathIndentLE, mathsModule->MathIndentLengthCO)); bp_.setMathIndent(mathindent); - break; - } - default: - // this should never happen + } else + // default bp_.setMathIndent(Length()); - break; - } } switch (mathsModule->MathNumberingPosCO->currentIndex()) { case 0: @@ -3657,21 +3649,13 @@ void GuiDocument::applyView() if (textLayoutModule->indentRB->isChecked()) { // if paragraphs are separated by an indentation bp_.paragraph_separation = BufferParams::ParagraphIndentSeparation; - switch (textLayoutModule->indentCO->currentIndex()) { - case 0: - bp_.setParIndent(Length()); - break; - case 1: { + if (textLayoutModule->indentCO->itemData(textLayoutModule->indentCO->currentIndex()) == "custom") { Length parindent(widgetsToLength(textLayoutModule->indentLE, textLayoutModule->indentLengthCO)); bp_.setParIndent(parindent); - break; - } - default: - // this should never happen + } else + // default bp_.setParIndent(Length()); - break; - } } else { // if paragraphs are separated by a skip bp_.paragraph_separation = BufferParams::ParagraphSkipSeparation; @@ -4179,15 +4163,15 @@ void GuiDocument::paramsToDialog() if (bp_.paragraph_separation == BufferParams::ParagraphIndentSeparation) { textLayoutModule->indentRB->setChecked(true); string parindent = bp_.getParIndent().asString(); - int indent = 0; + QString indent = toqstr("default"); if (!parindent.empty()) { lengthToWidgets(textLayoutModule->indentLE, textLayoutModule->indentLengthCO, parindent, default_unit); - indent = 1; + indent = toqstr("custom"); } - textLayoutModule->indentCO->setCurrentIndex(indent); - setIndent(indent); + textLayoutModule->indentCO->setCurrentIndex(textLayoutModule->indentCO->findData(indent)); + setIndent(textLayoutModule->indentCO->currentIndex()); } else { textLayoutModule->skipRB->setChecked(true); VSpace::VSpaceKind skip = bp_.getDefSkip().kind(); @@ -4861,8 +4845,9 @@ bool GuiDocument::isValid() // if we're asking for skips between paragraphs !textLayoutModule->skipRB->isChecked() || // then either we haven't chosen custom - VSpace::VSpaceKind(textLayoutModule->skipCO->itemData( - textLayoutModule->skipCO->currentIndex()).toInt()) + VSpace::VSpaceKind( + textLayoutModule->skipCO->itemData( + textLayoutModule->skipCO->currentIndex()).toInt()) != VSpace::LENGTH || // or else a length has been given !textLayoutModule->skipLE->text().isEmpty() @@ -4871,7 +4856,8 @@ bool GuiDocument::isValid() // if we're asking for indentation !textLayoutModule->indentRB->isChecked() || // then either we haven't chosen custom - textLayoutModule->indentCO->currentIndex() != 1 || + (textLayoutModule->indentCO->itemData( + textLayoutModule->indentCO->currentIndex()) != "custom") || // or else a length has been given !textLayoutModule->indentLE->text().isEmpty() ) && @@ -4879,7 +4865,8 @@ bool GuiDocument::isValid() // if we're asking for math indentation !mathsModule->MathIndentCB->isChecked() || // then either we haven't chosen custom - mathsModule->MathIndentCO->currentIndex() != 1 || + (mathsModule->MathIndentCO->itemData( + mathsModule->MathIndentCO->currentIndex()) != "custom") || // or else a length has been given !mathsModule->MathIndentLE->text().isEmpty() ); commit b7dc0548bf086f4c5d2c59bb04dcd9929992a2a0 Author: Kornel Benko Date: Fri Oct 29 17:46:44 2021 +0200 Update sk.po diff --git a/po/sk.po b/po/sk.po index 2419494..4d9fa47 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX-2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-21 16:34+0200\n" -"PO-Revision-Date: 2021-10-21 14:36+0000\n" +"POT-Creation-Date: 2021-10-29 17:36+0200\n" +"PO-Revision-Date: 2021-10-29 15:44+0000\n" "Last-Translator: Kornel Benko \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -33010,10 +33010,6 @@ msgstr "??iadny protokolov?? s??bor ch??b lyx2lyx sa nena??iel." msgid "No version control log file found." msgstr "Protokolov?? s??bor spr??vy verzi?? nen??jden??." -#: src/frontends/qt/GuiLyXFiles.cpp:152 -msgid "Preferred &Language:" -msgstr "&Preferen??n?? Jazyk:" - #: src/frontends/qt/GuiLyXFiles.cpp:158 src/frontends/qt/GuiLyXFiles.cpp:584 msgid "New File From Template" msgstr "Nov?? S??bor zo ??abl??ny???|b" @@ -33050,6 +33046,18 @@ msgstr "" "Tu s?? zobrazen?? v??etky dostupn?? jazyky vybran??ho s??boru.\n" "Otvor?? sa s??bor s vybranou jazykovou verziou." +#: src/frontends/qt/GuiLyXFiles.cpp:334 +msgid "No alternative language versions available for the selected file." +msgstr "Pre vybran?? s??bor neexistuj?? alternat??vne jazykov?? verzie." + +#: src/frontends/qt/GuiLyXFiles.cpp:336 +msgid "" +"If alternative languages are available for a given file,\n" +"they can be chosen here if a file is selected." +msgstr "" +"Ke?? existuj?? alternat??vne jazykov?? verzie pre dan?? s??bor,\n" +"m????u tu by?? zvolen?? ak je s??bor vybran??." + #: src/frontends/qt/GuiLyXFiles.cpp:360 msgid "Select example file" msgstr "Vyberte pr??kladn?? s??bor" @@ -37221,6 +37229,9 @@ msgstr "" msgid "Unknown user" msgstr "Nezn??my pou????vate??" +#~ msgid "Preferred &Language:" +#~ msgstr "&Preferen??n?? Jazyk:" + #~ msgid "Setting debug level to %1$s" #~ msgstr "Nastavenie ??rovne ladenia na %1$s" commit 110445e3e2fe9beab1c38d2806cfd126dae967a9 Author: Jean-Marc Lasgouttes Date: Fri Oct 29 17:44:32 2021 +0200 Rename BufferView::updateScrollbar to show what does Only parameters are updated, not the scrollbar itself. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index f7f2d35..e4b7102 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -583,7 +583,7 @@ void BufferView::processUpdateFlags(Update::flags flags) } -void BufferView::updateScrollbar() +void BufferView::updateScrollbarParameters() { if (height_ == 0 && width_ == 0) return; @@ -3483,7 +3483,7 @@ void BufferView::draw(frontend::Painter & pain, bool paint_caret) // The scrollbar needs an update. // FIXME: does it always? see ticket #11947. - updateScrollbar(); + updateScrollbarParameters(); // Normalize anchor for next time pair firstpm = tm.first(); diff --git a/src/BufferView.h b/src/BufferView.h index e831e3a..210200a 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -155,8 +155,8 @@ public: int horizScrollOffset(Text const * text, pit_type pit, pos_type pos) const; - /// reset the scrollbar to reflect current view position. - void updateScrollbar(); + /// reset the scrollbar parameters to reflect current view position. + void updateScrollbarParameters(); /// return the Scrollbar Parameters. ScrollbarParameters const & scrollbarParameters() const; /// \return Tool tip for the given position. commit 47b394f2c5867b0b81ca6f6fbda26a98f53f3a51 Author: Juergen Spitzmueller Date: Fri Oct 29 17:06:11 2021 +0200 Amend [5c055034/lyxgit] Relying on indexes is too fragile here diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index ee2ee17..cc74a19 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -4861,7 +4861,9 @@ bool GuiDocument::isValid() // if we're asking for skips between paragraphs !textLayoutModule->skipRB->isChecked() || // then either we haven't chosen custom - textLayoutModule->skipCO->currentIndex() != 5 || + VSpace::VSpaceKind(textLayoutModule->skipCO->itemData( + textLayoutModule->skipCO->currentIndex()).toInt()) + != VSpace::LENGTH || // or else a length has been given !textLayoutModule->skipLE->text().isEmpty() ) && commit 5c055034c2076160bcb6ea7ae6d42de694cc2ca7 Author: Jean-Marc Lasgouttes Date: Fri Oct 29 16:38:29 2021 +0200 Fixup b0c102cfb: make it possible to select medskip as parskip Some new parskip possibilities had been added, but the check for custom length index had not bee updated. This code is very fragile. Related to bug #10968. diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index 5a4584e..ee2ee17 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -4861,7 +4861,7 @@ bool GuiDocument::isValid() // if we're asking for skips between paragraphs !textLayoutModule->skipRB->isChecked() || // then either we haven't chosen custom - textLayoutModule->skipCO->currentIndex() != 3 || + textLayoutModule->skipCO->currentIndex() != 5 || // or else a length has been given !textLayoutModule->skipLE->text().isEmpty() ) && commit 61fb295e46dbff2c5fe745d51891dbbce0f231a0 Author: Juergen Spitzmueller Date: Fri Oct 29 13:16:08 2021 +0200 Disable language selector in LyXFiles dialog if no file is selected (#12412) diff --git a/src/frontends/qt/GuiLyXFiles.cpp b/src/frontends/qt/GuiLyXFiles.cpp index ee02d7b..dedb0bd 100644 --- a/src/frontends/qt/GuiLyXFiles.cpp +++ b/src/frontends/qt/GuiLyXFiles.cpp @@ -149,7 +149,6 @@ QMap GuiLyXFiles::getFiles() ++i; } setLanguage(); - languageLA->setText(qt_("Preferred &Language:")); return result; } @@ -310,9 +309,6 @@ void GuiLyXFiles::on_filesLW_itemClicked(QTreeWidgetItem * item, int) languageCO->addItem(i.value(), i.key()); ++i; } - languageLA->setText(qt_("File &Language:")); - languageCO->setToolTip(qt_("All available languages of the selected file are displayed here.\n" - "The selected language version will be opened.")); setLanguage(); QString const realpath = getRealPath(); filesLW->currentItem()->setData(0, Qt::ToolTipRole, realpath); @@ -327,8 +323,18 @@ void GuiLyXFiles::on_filesLW_itemClicked(QTreeWidgetItem * item, int) void GuiLyXFiles::setLanguage() { // Enable language selection only if there is a selection. - languageCO->setEnabled(languageCO->count() > 1); - languageLA->setEnabled(languageCO->count() > 1); + bool const item_selected = filesLW->currentItem(); + bool const language_alternatives = languageCO->count() > 1; + languageCO->setEnabled(item_selected && language_alternatives); + languageLA->setEnabled(item_selected && language_alternatives); + if (item_selected && language_alternatives) + languageCO->setToolTip(qt_("All available languages of the selected file are displayed here.\n" + "The selected language version will be opened.")); + else if (item_selected) + languageCO->setToolTip(qt_("No alternative language versions available for the selected file.")); + else + languageCO->setToolTip(qt_("If alternative languages are available for a given file,\n" + "they can be chosen here if a file is selected.")); // first try last setting if (!savelang_.isEmpty()) { int index = languageCO->findData(savelang_); diff --git a/src/frontends/qt/ui/LyXFilesUi.ui b/src/frontends/qt/ui/LyXFilesUi.ui index 621b9bb..573ac77 100644 --- a/src/frontends/qt/ui/LyXFilesUi.ui +++ b/src/frontends/qt/ui/LyXFilesUi.ui @@ -91,7 +91,7 @@
- &Language: + File &Language: languageCO commit 2c50f0cd77a96ccfeb48262e7144eadc39ee21f7 Author: Jean-Marc Lasgouttes Date: Fri Oct 29 12:39:50 2021 +0200 An assert to hopefully please coverity diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 626818c..a452184 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -664,6 +664,8 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH // TODO: no real support for Unicode. This code is very similar to RenderPreview::addPreview, the same gotcha applies. graphics::PreviewLoader* loader = buffer().loader(); + // This should be OK because we are exporting + LASSERT(loader != nullptr, return); loader->add(snippet); loader->startLoading(true); // Generate the image and wait until done. graphics::PreviewImage const * img = loader->preview(snippet); commit ed052a76915e90a414f7a2631b8e4dee8cb3b3c8 Author: Thibaut Cuvelier Date: Thu Oct 28 23:52:30 2021 +0200 Fix the Unicode encoding of langle/rangle Author: lynx Related issue: 12411. https://www.lyx.org/trac/ticket/12411 The previous mapping was for HTML 4, the new one is for HTML 5. diff --git a/lib/symbols b/lib/symbols index 2e097e7..8e22f48 100644 --- a/lib/symbols +++ b/lib/symbols @@ -438,8 +438,8 @@ Uparrow cmsy 42 221 mathrel ⇑ ⇑ Downarrow cmsy 43 223 mathrel ⇓ ⇓ Updownarrow cmsy 109 0 mathrel ⇕ ⇕ backslash cmsy 110 0 mathord \ \ -rangle cmsy 105 241 mathclose ⟩ 〉 -langle cmsy 104 225 mathopen ⟨ 〈 +rangle cmsy 105 241 mathclose ⟩ ⟩ +langle cmsy 104 225 mathopen ⟨ ⟨ rbrace cmsy 103 0 mathclose } } lbrace cmsy 102 0 mathopen { { rceil cmsy 101 249 mathclose ⌉ ⌉ commit 54028c3eea9bdba9f4f851eb339933b1e8e1cfec Author: Yuriy Skalko Date: Thu Oct 21 12:56:05 2021 +0300 Mark inverted branch insets diff --git a/lib/doc/UserGuide.lyx b/lib/doc/UserGuide.lyx index b3e93e8..123c09a 100644 --- a/lib/doc/UserGuide.lyx +++ b/lib/doc/UserGuide.lyx @@ -35523,8 +35523,18 @@ There are also inverted branch insets, whose content is output just in case \emph on not \emph default - activated. - This make it easy to add alternative text for different versions of a document. + activated +\change_inserted 244031559 1635284375 + (they are marked with ~ before the name) +\change_unchanged +. + +\change_deleted 244031559 1635284383 +This +\change_inserted 244031559 1635284385 +Such insets +\change_unchanged + make it easy to add alternative text for different versions of a document. To control whether a particular inset is inverted, right-click on the inset button and choose \family sans diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp index 95f7ba9..66cc6ef 100644 --- a/src/insets/InsetBranch.cpp +++ b/src/insets/InsetBranch.cpp @@ -112,8 +112,10 @@ docstring const InsetBranch::buttonLabel(BufferView const &) const if (inchild && master_selected != child_selected) symb += (child_selected ? tick : cross); + docstring inv_symb = from_ascii(params_.inverted ? "~" : ""); + if (decoration() == InsetDecoration::MINIMALISTIC) - return symb + params_.branch; + return symb + inv_symb + params_.branch; docstring s; if (inmaster && inchild) @@ -124,7 +126,7 @@ docstring const InsetBranch::buttonLabel(BufferView const &) const s = _("Branch (master): "); else // !inmaster && !inchild s = _("Branch (undefined): "); - s += params_.branch; + s += inv_symb + params_.branch; return symb + s; } commit 2d57c7199caee7ca12adde024cfbd3081ac58362 Author: Yuriy Skalko Date: Tue Oct 26 18:24:02 2021 +0300 Update ru.po diff --git a/po/ru.po b/po/ru.po index 5189cab..8de1130 100644 --- a/po/ru.po +++ b/po/ru.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" "POT-Creation-Date: 2021-03-05 15:06-0500\n" -"PO-Revision-Date: 2021-03-06 12:45+0200\n" +"PO-Revision-Date: 2021-10-26 18:20+0300\n" "Last-Translator: Yuriy Skalko \n" "Language-Team: Russian \n" "Language: ru\n" @@ -18014,7 +18014,7 @@ msgstr "[???????????? TODO]" #: lib/layouts/todonotes.module:48 msgid "List of TODOs Heading|s" -msgstr "???????????? ???????????????????? TODO" +msgstr "?????????????????? ???????????? TODO" #: lib/layouts/todonotes.module:49 msgid "Enter a custom header for the List of TODOs here" @@ -20092,19 +20092,19 @@ msgstr "?????????????????? ??????????????????|??" #: lib/ui/stdcontext.inc:659 msgid "Promote Section|P" -msgstr "?????????????????? ????????????|??" +msgstr "?????????????????? ????????????" #: lib/ui/stdcontext.inc:660 msgid "Demote Section|D" -msgstr "?????????????????? ????????????|??" +msgstr "?????????????????? ????????????" #: lib/ui/stdcontext.inc:662 msgid "Move Section Down|w" -msgstr "?????????????????????? ???????????? ????????|??" +msgstr "?????????????????????? ???????????? ????????" #: lib/ui/stdcontext.inc:664 msgid "Select Section|S" -msgstr "???????????????? ????????????|??" +msgstr "???????????????? ????????????" #: lib/ui/stdcontext.inc:672 msgid "Wrap by Preview|y" @@ -33895,7 +33895,7 @@ msgstr "???????????? \"%1$s\" ???? ???????????????????????? ?????????????????? \ #: src/frontends/qt/GuiToolbar.cpp:638 src/insets/InsetBranch.cpp:79 #: src/insets/InsetBranch.cpp:82 msgid "off" -msgstr "????????????????" +msgstr "????????." #: src/frontends/qt/GuiToolbar.cpp:645 src/frontends/qt/GuiToolbar.cpp:685 #, c-format @@ -35058,12 +35058,12 @@ msgstr "%1$s (%2$s, %3$s)" #: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72 msgid "active" -msgstr "????????????????" +msgstr "??????????????" #: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72 #: src/insets/InsetIndex.cpp:659 msgid "non-active" -msgstr "???? ????????????????" +msgstr "???? ??????????????" #: src/insets/InsetBranch.cpp:75 src/insets/InsetBranch.cpp:85 #, c-format @@ -35078,8 +35078,8 @@ msgid "" "Inset Status: %3$s" msgstr "" "?????? ??????????: %1$s\n" -"???????????? ??????????: %2$s\n" -"???????????? ??????????????: %3$s" +"?????????????????? ??????????: %2$s\n" +"?????????????????? ??????????????: %3$s" #: src/insets/InsetBranch.cpp:120 msgid "Branch: " commit 9ca91b25664221978c336527002e66a7d18c95ef Author: Scott Kostyshak Date: Mon Oct 25 12:28:06 2021 -0400 Update layouts (run layout2layout.py) There is nothing in the diff besides the format number changing from 93 to 95. From what I understand, this is as expected since 93 -> 94 and 94 -> 95 just add new layout tags. Updating the layouts makes it easier to test master. Otherwise, in some use cases layout2layout can be run hundreds of times which can make some things slow (e.g., opening documents or even opening the advanced find pane). diff --git a/lib/citeengines/basic.citeengine b/lib/citeengines/basic.citeengine index ed2b8a6..e78812f 100644 --- a/lib/citeengines/basic.citeengine +++ b/lib/citeengines/basic.citeengine @@ -6,7 +6,7 @@ # Author: Julien Rioux -Format 93 +Format 95 # The framework (biblatex|bibtex) CiteFramework bibtex diff --git a/lib/citeengines/biblatex-natbib.citeengine b/lib/citeengines/biblatex-natbib.citeengine index 91cfc51..5342a57 100644 --- a/lib/citeengines/biblatex-natbib.citeengine +++ b/lib/citeengines/biblatex-natbib.citeengine @@ -10,7 +10,7 @@ # Author: J??rgen Spitzm??ller -Format 93 +Format 95 Requires biblatex diff --git a/lib/citeengines/biblatex.citeengine b/lib/citeengines/biblatex.citeengine index a993fb7..c72f2da 100644 --- a/lib/citeengines/biblatex.citeengine +++ b/lib/citeengines/biblatex.citeengine @@ -8,7 +8,7 @@ # Author: J??rgen Spitzm??ller -Format 93 +Format 95 Requires biblatex diff --git a/lib/citeengines/jurabib.citeengine b/lib/citeengines/jurabib.citeengine index d7d886e..f5d2a9d 100644 --- a/lib/citeengines/jurabib.citeengine +++ b/lib/citeengines/jurabib.citeengine @@ -7,7 +7,7 @@ # Author: Julien Rioux -Format 93 +Format 95 Requires jurabib diff --git a/lib/citeengines/natbib.citeengine b/lib/citeengines/natbib.citeengine index 7fcbe27..a761180 100644 --- a/lib/citeengines/natbib.citeengine +++ b/lib/citeengines/natbib.citeengine @@ -8,7 +8,7 @@ # Author: Julien Rioux -Format 93 +Format 95 Requires natbib diff --git a/lib/layouts/AEA.layout b/lib/layouts/AEA.layout index 07c8b5d..c932042 100644 --- a/lib/layouts/AEA.layout +++ b/lib/layouts/AEA.layout @@ -4,7 +4,7 @@ # Authors : Koji Yokota # Uwe St??hr -Format 93 +Format 95 Input stdclass.inc Input theorems-ams.module Input theorems-bytype.module diff --git a/lib/layouts/IEEEtran-CompSoc.layout b/lib/layouts/IEEEtran-CompSoc.layout index 200e4ec..8da8264 100644 --- a/lib/layouts/IEEEtran-CompSoc.layout +++ b/lib/layouts/IEEEtran-CompSoc.layout @@ -6,7 +6,7 @@ # IEEtran Computer Society textclass definition file. -Format 93 +Format 95 Input IEEEtran.layout diff --git a/lib/layouts/IEEEtran-TransMag.layout b/lib/layouts/IEEEtran-TransMag.layout index ad3521b..29262fc 100644 --- a/lib/layouts/IEEEtran-TransMag.layout +++ b/lib/layouts/IEEEtran-TransMag.layout @@ -6,7 +6,7 @@ # IEEtran Magnetics textclass definition file. -Format 93 +Format 95 Input IEEEtran.layout diff --git a/lib/layouts/IEEEtran.layout b/lib/layouts/IEEEtran.layout index 6f818d2..26ff845 100644 --- a/lib/layouts/IEEEtran.layout +++ b/lib/layouts/IEEEtran.layout @@ -9,7 +9,7 @@ # IEEtran textclass definition file. -Format 93 +Format 95 Sides 1 SecNumDepth 3 diff --git a/lib/layouts/InStar.module b/lib/layouts/InStar.module index 5bdb8a5..b0452d7 100644 --- a/lib/layouts/InStar.module +++ b/lib/layouts/InStar.module @@ -12,7 +12,7 @@ #DescriptionEnd #Author: Richard Kimberly Heck -Format 93 +Format 95 Style "In Preamble" CopyStyle Standard diff --git a/lib/layouts/RJournal.layout b/lib/layouts/RJournal.layout index 3414f90..f3521da 100644 --- a/lib/layouts/RJournal.layout +++ b/lib/layouts/RJournal.layout @@ -4,7 +4,7 @@ # Author: Yihui Xie # Modified by: Scott Kostyshak -Format 93 +Format 95 Input stdclass.inc diff --git a/lib/layouts/a0poster.layout b/lib/layouts/a0poster.layout index a1baf60..d2b294d 100644 --- a/lib/layouts/a0poster.layout +++ b/lib/layouts/a0poster.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Posters} # Wrapper layout for the a0poster poster class -Format 93 +Format 95 # Authors: G??nter Milde, J??rgen Spitzm??ller diff --git a/lib/layouts/aa.layout b/lib/layouts/aa.layout index 55b38e4..3fd9f33 100644 --- a/lib/layouts/aa.layout +++ b/lib/layouts/aa.layout @@ -18,7 +18,7 @@ # 2013-05-26 Updated for aa.cls version 8.2 -Format 93 +Format 95 Columns 2 Sides 2 SecNumDepth 3 diff --git a/lib/layouts/aapaper.inc b/lib/layouts/aapaper.inc index 4bede88..a71bd1f 100644 --- a/lib/layouts/aapaper.inc +++ b/lib/layouts/aapaper.inc @@ -5,7 +5,7 @@ # Author: Peter S??tterlin -Format 93 +Format 95 Style Subtitle Margin Static LatexType Command diff --git a/lib/layouts/aapaper.layout b/lib/layouts/aapaper.layout index f3f9c1a..e1f3736 100644 --- a/lib/layouts/aapaper.layout +++ b/lib/layouts/aapaper.layout @@ -15,7 +15,7 @@ # and reconfigure LyX (after running texhash, of course). -Format 93 +Format 95 Columns 2 Sides 2 SecNumDepth 3 diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout index 859296b..b1b334b 100644 --- a/lib/layouts/aastex.layout +++ b/lib/layouts/aastex.layout @@ -43,7 +43,7 @@ # The new "aastex6.layout" depends on aastex6.cls but inputs this # file for the definitions (cf. LyX ticket #10027) -Format 93 +Format 95 Columns 1 Sides 1 #SecNumDepth 3 diff --git a/lib/layouts/aastex6.layout b/lib/layouts/aastex6.layout index 9c9b402..85ffa65 100644 --- a/lib/layouts/aastex6.layout +++ b/lib/layouts/aastex6.layout @@ -46,7 +46,7 @@ # - aastex6.cls loads hyperref (with pre-set options) and url # -> option clash if "Use Hyerref" is selected in Document>Settings -Format 93 +Format 95 Input aastex.layout diff --git a/lib/layouts/aastex62.layout b/lib/layouts/aastex62.layout index ae9772a..e91d8b1 100644 --- a/lib/layouts/aastex62.layout +++ b/lib/layouts/aastex62.layout @@ -50,7 +50,7 @@ # - aastex6.cls loads hyperref (with pre-set options) and url # -> option clash if "Use Hyerref" is selected in Document>Settings -Format 93 +Format 95 Provides hyperref 1 diff --git a/lib/layouts/achemso.layout b/lib/layouts/achemso.layout index 99b6c46..b873b18 100644 --- a/lib/layouts/achemso.layout +++ b/lib/layouts/achemso.layout @@ -4,7 +4,7 @@ # textclass definition file for achemso 3.8 and 3.9 # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/acm-sigs-alt.layout b/lib/layouts/acm-sigs-alt.layout index ee543d7..016bc89 100644 --- a/lib/layouts/acm-sigs-alt.layout +++ b/lib/layouts/acm-sigs-alt.layout @@ -9,6 +9,6 @@ # # Author: Gioele Barabucci -Format 93 +Format 95 Input acm-sigs.inc diff --git a/lib/layouts/acm-sigs.inc b/lib/layouts/acm-sigs.inc index a0b9269..e863823 100644 --- a/lib/layouts/acm-sigs.inc +++ b/lib/layouts/acm-sigs.inc @@ -2,7 +2,7 @@ # # Author: Gioele Barabucci -Format 93 +Format 95 Input stdclass.inc Columns 2 diff --git a/lib/layouts/acm-sigs.layout b/lib/layouts/acm-sigs.layout index 9a41add..40bc40c 100644 --- a/lib/layouts/acm-sigs.layout +++ b/lib/layouts/acm-sigs.layout @@ -9,6 +9,6 @@ # # Author: Gioele Barabucci -Format 93 +Format 95 Input acm-sigs.inc diff --git a/lib/layouts/acmart.layout b/lib/layouts/acmart.layout index 5f41c3e..9ac33d2 100644 --- a/lib/layouts/acmart.layout +++ b/lib/layouts/acmart.layout @@ -9,7 +9,7 @@ # Reviewed following tickets #10722 & #10723 # by Jean-Pierre Chr??tien -Format 93 +Format 95 Provides amscls 1 Provides amsmath 1 diff --git a/lib/layouts/acmsiggraph-0-92.layout b/lib/layouts/acmsiggraph-0-92.layout index 123aa1a..53e2307 100644 --- a/lib/layouts/acmsiggraph-0-92.layout +++ b/lib/layouts/acmsiggraph-0-92.layout @@ -19,7 +19,7 @@ # "TOG data URL", and "TOG code URL". The corresponding # LaTeX commands are no longer supported. -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/acmsiggraph.layout b/lib/layouts/acmsiggraph.layout index 3f58e56..a05c8c2 100644 --- a/lib/layouts/acmsiggraph.layout +++ b/lib/layouts/acmsiggraph.layout @@ -11,7 +11,7 @@ # ACM style files can be obtained at # http://www.acm.org/sigs/pubs/proceed/template.html -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/agums.layout b/lib/layouts/agums.layout index 189ab5e..e7b57e4 100644 --- a/lib/layouts/agums.layout +++ b/lib/layouts/agums.layout @@ -5,7 +5,7 @@ # Author: Martin Vermeer -Format 93 +Format 95 Input aguplus.inc ClassOptions diff --git a/lib/layouts/aguplus.inc b/lib/layouts/aguplus.inc index 5dbec5d..d0977fb 100644 --- a/lib/layouts/aguplus.inc +++ b/lib/layouts/aguplus.inc @@ -6,7 +6,7 @@ # ftp://ftp.agu.org/journals/latex/journals -Format 93 +Format 95 Input stdclass.inc SecNumDepth 4 diff --git a/lib/layouts/agutex.layout b/lib/layouts/agutex.layout index 2a964cd..6ba7093 100644 --- a/lib/layouts/agutex.layout +++ b/lib/layouts/agutex.layout @@ -4,7 +4,7 @@ # AGUTeX textclass definition file. # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/algorithm2e.module b/lib/layouts/algorithm2e.module index e0114a1..1cecc85 100644 --- a/lib/layouts/algorithm2e.module +++ b/lib/layouts/algorithm2e.module @@ -8,7 +8,7 @@ # #Author: J??rgen Spitzm??ller -Format 93 +Format 95 Requires algorithm2e diff --git a/lib/layouts/amsart.layout b/lib/layouts/amsart.layout index e4b7507..61b8143 100644 --- a/lib/layouts/amsart.layout +++ b/lib/layouts/amsart.layout @@ -11,7 +11,7 @@ # Modularized Jan '08 by Richard Kimberly Heck # Moved "number within sections" to modules Aug '09 (Paul Rubin ) -Format 93 +Format 95 Columns 1 Sides 2 diff --git a/lib/layouts/amsbook.layout b/lib/layouts/amsbook.layout index 3cd74fc..43edd2c 100644 --- a/lib/layouts/amsbook.layout +++ b/lib/layouts/amsbook.layout @@ -12,7 +12,7 @@ # Moved "number within sections" to modules Aug '09 (Paul Rubin ) -Format 93 +Format 95 Columns 1 Sides 2 diff --git a/lib/layouts/amsdefs.inc b/lib/layouts/amsdefs.inc index 0d9e6b0..aaf609a 100644 --- a/lib/layouts/amsdefs.inc +++ b/lib/layouts/amsdefs.inc @@ -5,7 +5,7 @@ # Modularized Jan '08 by Richard Kimberly Heck # Including the maths stuff -Format 93 +Format 95 # By default AMS articles & books use leqno option (as SIAM journals). Provides leqno 1 diff --git a/lib/layouts/apa.layout b/lib/layouts/apa.layout index c29a7c4..aa52d7d 100644 --- a/lib/layouts/apa.layout +++ b/lib/layouts/apa.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author: Randy Gobbel -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Headers diff --git a/lib/layouts/apa6.layout b/lib/layouts/apa6.layout index ee456bc..b6bac13 100644 --- a/lib/layouts/apa6.layout +++ b/lib/layouts/apa6.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author: Jacob Bishop based on the apa # layout written by Randy Gobbel. -Format 93 +Format 95 Input apax.inc diff --git a/lib/layouts/apa7.layout b/lib/layouts/apa7.layout index 51d63cd..c0aa0cd 100644 --- a/lib/layouts/apa7.layout +++ b/lib/layouts/apa7.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author: Jacob Bishop based on the apa # layout written by Randy Gobbel. -Format 93 +Format 95 Input apax.inc diff --git a/lib/layouts/apax.inc b/lib/layouts/apax.inc index 50c3ce3..bdb5ec9 100644 --- a/lib/layouts/apax.inc +++ b/lib/layouts/apax.inc @@ -2,7 +2,7 @@ # Author: Jacob Bishop based on the apa # layout written by Randy Gobbel. -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Headers diff --git a/lib/layouts/arab-article.layout b/lib/layouts/arab-article.layout index c50d7f0..6f8f77a 100644 --- a/lib/layouts/arab-article.layout +++ b/lib/layouts/arab-article.layout @@ -4,5 +4,5 @@ # Arabic article textclass definition file. # Author: Dekel Tsur -Format 93 +Format 95 Input article diff --git a/lib/layouts/article-beamer.layout b/lib/layouts/article-beamer.layout index 87bd694..d389ff0 100644 --- a/lib/layouts/article-beamer.layout +++ b/lib/layouts/article-beamer.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author: J??rgen Spitzm??ller -Format 93 +Format 95 # Includes Input article.layout diff --git a/lib/layouts/article.layout b/lib/layouts/article.layout index 04996bc..3f4c9a9 100644 --- a/lib/layouts/article.layout +++ b/lib/layouts/article.layout @@ -6,7 +6,7 @@ # Transposed by Pascal Andr?? # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdclass.inc SecNumDepth 3 diff --git a/lib/layouts/beamer.layout b/lib/layouts/beamer.layout index c2acbf5..f3a5ff9 100644 --- a/lib/layouts/beamer.layout +++ b/lib/layouts/beamer.layout @@ -6,7 +6,7 @@ # Richard Kimberly Heck , Martin Vermeer and probably others. -Format 93 +Format 95 # # GLOBAL SETTINGS diff --git a/lib/layouts/beamerposter.layout b/lib/layouts/beamerposter.layout index 0b598ee..699d88f 100644 --- a/lib/layouts/beamerposter.layout +++ b/lib/layouts/beamerposter.layout @@ -7,7 +7,7 @@ # # Input general definitions -Format 93 +Format 95 Input beamer.layout diff --git a/lib/layouts/bicaption.module b/lib/layouts/bicaption.module index a601179..5550d36 100644 --- a/lib/layouts/bicaption.module +++ b/lib/layouts/bicaption.module @@ -6,7 +6,7 @@ #DescriptionEnd #Author: Uwe St??hr -Format 93 +Format 95 Style "Caption setup" LatexType command diff --git a/lib/layouts/book.layout b/lib/layouts/book.layout index a0717ec..29700b5 100644 --- a/lib/layouts/book.layout +++ b/lib/layouts/book.layout @@ -7,7 +7,7 @@ # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdclass.inc Input numreport.inc diff --git a/lib/layouts/braille.module b/lib/layouts/braille.module index ac8ee1a..e437f2e 100644 --- a/lib/layouts/braille.module +++ b/lib/layouts/braille.module @@ -6,7 +6,7 @@ #DescriptionEnd # Author: Uwe St??hr -Format 93 +Format 95 AddToPreamble \usepackage{braille} diff --git a/lib/layouts/broadway.layout b/lib/layouts/broadway.layout index 66c1adb..db5da24 100644 --- a/lib/layouts/broadway.layout +++ b/lib/layouts/broadway.layout @@ -4,7 +4,7 @@ # For theater plays -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth 2 diff --git a/lib/layouts/bxjsarticle.layout b/lib/layouts/bxjsarticle.layout index 1692d53..deb346e 100644 --- a/lib/layouts/bxjsarticle.layout +++ b/lib/layouts/bxjsarticle.layout @@ -6,7 +6,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/bxjsbook.layout b/lib/layouts/bxjsbook.layout index 858a825..1ab672a 100644 --- a/lib/layouts/bxjsbook.layout +++ b/lib/layouts/bxjsbook.layout @@ -6,7 +6,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/bxjsreport.layout b/lib/layouts/bxjsreport.layout index 7d70c40..2333bdd 100644 --- a/lib/layouts/bxjsreport.layout +++ b/lib/layouts/bxjsreport.layout @@ -6,7 +6,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/bxjsslide.layout b/lib/layouts/bxjsslide.layout index 0f24f63..d783bbe 100644 --- a/lib/layouts/bxjsslide.layout +++ b/lib/layouts/bxjsslide.layout @@ -6,7 +6,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/chess.layout b/lib/layouts/chess.layout index 01356a1..22e888a 100644 --- a/lib/layouts/chess.layout +++ b/lib/layouts/chess.layout @@ -17,7 +17,7 @@ # \vspace*{-0.5in}) # -Format 93 +Format 95 Requires chess diff --git a/lib/layouts/chessboard.module b/lib/layouts/chessboard.module index 7f01cb5..e750fbc 100644 --- a/lib/layouts/chessboard.module +++ b/lib/layouts/chessboard.module @@ -7,7 +7,7 @@ # Author: Kornel Benko # J??rgen Spitzm??ller -Format 93 +Format 95 # # XSkak basics diff --git a/lib/layouts/cl2emult.layout b/lib/layouts/cl2emult.layout index f282def..2dfb6e5 100644 --- a/lib/layouts/cl2emult.layout +++ b/lib/layouts/cl2emult.layout @@ -4,7 +4,7 @@ # Springer's cl2emult textclass definition file. # Author : Andr?? Poenitz -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth 2 diff --git a/lib/layouts/copernicus.layout b/lib/layouts/copernicus.layout index 02cff4f..d1c8f76 100644 --- a/lib/layouts/copernicus.layout +++ b/lib/layouts/copernicus.layout @@ -5,7 +5,7 @@ # Please do not edit this file unless you know what you are doing. # At least make backup copies of all your project files! -Format 93 +Format 95 Provides babel 1 Provides inputenc 1 diff --git a/lib/layouts/ctex-article.layout b/lib/layouts/ctex-article.layout index f6f881a..d005549 100644 --- a/lib/layouts/ctex-article.layout +++ b/lib/layouts/ctex-article.layout @@ -2,7 +2,7 @@ # \DeclareLaTeXClass[ctexart,savesym.sty,xeCJK.sty]{Chinese Article (CTeX)} # \DeclareCategory{Articles} -Format 93 +Format 95 # Read the definitions from article.layout Input article.layout diff --git a/lib/layouts/ctex-book.layout b/lib/layouts/ctex-book.layout index 7f3df23..28c2609 100644 --- a/lib/layouts/ctex-book.layout +++ b/lib/layouts/ctex-book.layout @@ -2,7 +2,7 @@ # \DeclareLaTeXClass[ctexbook,savesym.sty,xeCJK.sty]{Chinese Book (CTeX)} # \DeclareCategory{Books} -Format 93 +Format 95 # Read the definitions from book.layout Input book.layout diff --git a/lib/layouts/ctex-report.layout b/lib/layouts/ctex-report.layout index b6f0261..dac312d 100644 --- a/lib/layouts/ctex-report.layout +++ b/lib/layouts/ctex-report.layout @@ -2,7 +2,7 @@ # \DeclareLaTeXClass[ctexrep,savesym.sty,xeCJK.sty]{Chinese Report (CTeX)} # \DeclareCategory{Reports} -Format 93 +Format 95 # Read the definitions from report.layout Input report.layout diff --git a/lib/layouts/customHeadersFooters.module b/lib/layouts/customHeadersFooters.module index c021610..137dd9d 100644 --- a/lib/layouts/customHeadersFooters.module +++ b/lib/layouts/customHeadersFooters.module @@ -7,7 +7,7 @@ #DescriptionEnd #Author: Uwe St??hr -Format 93 +Format 95 Style "Left Header" Category Header/Footer diff --git a/lib/layouts/db_stdcharstyles.inc b/lib/layouts/db_stdcharstyles.inc index 581befa..d61aaad 100644 --- a/lib/layouts/db_stdcharstyles.inc +++ b/lib/layouts/db_stdcharstyles.inc @@ -2,7 +2,7 @@ # Author : Jos?? Ab??lio Oliveira Matos # Character Styles definition -Format 93 +Format 95 InsetLayout Flex:Filename LabelString Filename diff --git a/lib/layouts/db_stdclass.inc b/lib/layouts/db_stdclass.inc index b4cf34f..43c7a58 100644 --- a/lib/layouts/db_stdclass.inc +++ b/lib/layouts/db_stdclass.inc @@ -5,7 +5,7 @@ # It is desirable, as far as possible, to have the same look and feel for # related layouts in latex and docbook. -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/db_stdstarsections.inc b/lib/layouts/db_stdstarsections.inc index 7708bd1..6b69a41 100644 --- a/lib/layouts/db_stdstarsections.inc +++ b/lib/layouts/db_stdstarsections.inc @@ -4,5 +4,5 @@ # Heavily modifed and enhanced by several developers. -Format 93 +Format 95 Input stdstarsections.inc diff --git a/lib/layouts/db_stdstruct.inc b/lib/layouts/db_stdstruct.inc index 9412d36..e38c25e 100644 --- a/lib/layouts/db_stdstruct.inc +++ b/lib/layouts/db_stdstruct.inc @@ -5,7 +5,7 @@ # It is desirable, as far as possible, to have the same look and feel for # related layouts in latex and docbook. -Format 93 +Format 95 Input stdstruct.inc Style Abstract diff --git a/lib/layouts/db_stdtitle.inc b/lib/layouts/db_stdtitle.inc index 1a90312..1495685 100644 --- a/lib/layouts/db_stdtitle.inc +++ b/lib/layouts/db_stdtitle.inc @@ -6,7 +6,7 @@ # It is desirable, as far as possible, to have the same look and feel for # related layouts in latex and docbook. -Format 93 +Format 95 Input stdtitle.inc diff --git a/lib/layouts/dinbrief.layout b/lib/layouts/dinbrief.layout index 1c360f4..557979a 100644 --- a/lib/layouts/dinbrief.layout +++ b/lib/layouts/dinbrief.layout @@ -16,7 +16,7 @@ # TODO: DocBook doesn't support several letters in the same file. -Format 93 +Format 95 Input letter.layout diff --git a/lib/layouts/docbook-book.layout b/lib/layouts/docbook-book.layout index ff85fc0..ae3b2f5 100644 --- a/lib/layouts/docbook-book.layout +++ b/lib/layouts/docbook-book.layout @@ -8,7 +8,7 @@ # Author : Jose' Matos # hacked for books: Luc Abom -Format 93 +Format 95 Input report Input db_stdclass.inc diff --git a/lib/layouts/docbook-chapter.layout b/lib/layouts/docbook-chapter.layout index 7172749..2204e8a 100644 --- a/lib/layouts/docbook-chapter.layout +++ b/lib/layouts/docbook-chapter.layout @@ -4,7 +4,7 @@ # DocBook textclass definition file. # Author : Jose' Matos -Format 93 +Format 95 Input db_stdclass.inc SecNumDepth 2 diff --git a/lib/layouts/docbook-section.layout b/lib/layouts/docbook-section.layout index 6173181..e433e66 100644 --- a/lib/layouts/docbook-section.layout +++ b/lib/layouts/docbook-section.layout @@ -4,7 +4,7 @@ # DocBook textclass definition file. # Author : Jose' Matos -Format 93 +Format 95 Input db_stdclass.inc SecNumDepth 3 diff --git a/lib/layouts/docbook.layout b/lib/layouts/docbook.layout index 770cbee..dc61c94 100644 --- a/lib/layouts/docbook.layout +++ b/lib/layouts/docbook.layout @@ -4,7 +4,7 @@ # DocBook textclass definition file. # Author : Jose' Matos -Format 93 +Format 95 Input db_stdclass.inc # Exclude higher, or equal, sections: diff --git a/lib/layouts/doublecol-new.layout b/lib/layouts/doublecol-new.layout index ff2241e..fb4bb94 100644 --- a/lib/layouts/doublecol-new.layout +++ b/lib/layouts/doublecol-new.layout @@ -6,5 +6,5 @@ # TeX templates are found at http://www.inderscience.com/mapper.php?id=64 # # Read the definitions from article.layout -Format 93 +Format 95 Input article.layout diff --git a/lib/layouts/dtk.layout b/lib/layouts/dtk.layout index 692827a..1e7442b 100644 --- a/lib/layouts/dtk.layout +++ b/lib/layouts/dtk.layout @@ -7,7 +7,7 @@ # Author : Herbert Voss 2001/08/13 -Format 93 +Format 95 Columns 1 Sides 2 SecNumDepth -1 # no counting diff --git a/lib/layouts/ectaart.layout b/lib/layouts/ectaart.layout index b9cebec..054610d 100644 --- a/lib/layouts/ectaart.layout +++ b/lib/layouts/ectaart.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author : Koji Yokota -Format 93 +Format 95 Input article.layout TitleLatexType Environment diff --git a/lib/layouts/egs.layout b/lib/layouts/egs.layout index 4a07db8..29da661 100644 --- a/lib/layouts/egs.layout +++ b/lib/layouts/egs.layout @@ -9,7 +9,7 @@ # Converted article -> egs Martin Vermeer -Format 93 +Format 95 Columns 2 Sides 1 PageStyle Plain diff --git a/lib/layouts/elsart.layout b/lib/layouts/elsart.layout index 9c35eb8..9382f1c 100644 --- a/lib/layouts/elsart.layout +++ b/lib/layouts/elsart.layout @@ -23,7 +23,7 @@ # numbered sections, as does the class file. -Format 93 +Format 95 Columns 1 Sides 2 PageStyle headings diff --git a/lib/layouts/elsarticle.layout b/lib/layouts/elsarticle.layout index ddbfa96..7a723b0 100644 --- a/lib/layouts/elsarticle.layout +++ b/lib/layouts/elsarticle.layout @@ -4,7 +4,7 @@ # elsarticle textclass definition file. # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/endnotes.module b/lib/layouts/endnotes.module index 9d26ffe..533c649 100644 --- a/lib/layouts/endnotes.module +++ b/lib/layouts/endnotes.module @@ -9,7 +9,7 @@ #DescriptionEnd #Excludes: enotez | foottoenotez -Format 93 +Format 95 Counter endnotes GuiName Endnotes diff --git a/lib/layouts/enotez.module b/lib/layouts/enotez.module index e1a332f..402ae3b 100644 --- a/lib/layouts/enotez.module +++ b/lib/layouts/enotez.module @@ -9,7 +9,7 @@ #DescriptionEnd #Excludes: endnotes | foottoend -Format 93 +Format 95 Counter endnotes GuiName Endnotes diff --git a/lib/layouts/entcs.layout b/lib/layouts/entcs.layout index 11509ea..02b84f2 100644 --- a/lib/layouts/entcs.layout +++ b/lib/layouts/entcs.layout @@ -4,7 +4,7 @@ # Based on LyX article class; modified to support ENTCS class # Reuben Thomas (rrt at sc3d.org) 27/5-2/6/01 -Format 93 +Format 95 Input article.layout # only font size 11pt is really available diff --git a/lib/layouts/enumitem.module b/lib/layouts/enumitem.module index 1fa0a6b..41f11ba 100644 --- a/lib/layouts/enumitem.module +++ b/lib/layouts/enumitem.module @@ -14,7 +14,7 @@ # both KOMA and non-KOMA document classes. # 2011-01-12 bugfix: set elabeling label font to \normalfont. -Format 93 +Format 95 # The package enumitem provides user control over the layout of the three # basic list environments: enumerate, itemize and description. It supersedes diff --git a/lib/layouts/eqs-within-sections.module b/lib/layouts/eqs-within-sections.module index e5095e4..878b593 100644 --- a/lib/layouts/eqs-within-sections.module +++ b/lib/layouts/eqs-within-sections.module @@ -5,7 +5,7 @@ #the section number to the equation number, as in '(2.1)'. #DescriptionEnd -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/europasscv.layout b/lib/layouts/europasscv.layout index 3f0e125..b4a8035 100644 --- a/lib/layouts/europasscv.layout +++ b/lib/layouts/europasscv.layout @@ -35,7 +35,7 @@ # General textclass parameters -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/europecv.layout b/lib/layouts/europecv.layout index 756588f..a81b386 100644 --- a/lib/layouts/europecv.layout +++ b/lib/layouts/europecv.layout @@ -5,7 +5,7 @@ # Author : Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 # General textclass parameters Columns 1 diff --git a/lib/layouts/extarticle.layout b/lib/layouts/extarticle.layout index 9aedea2..38d7bcd 100644 --- a/lib/layouts/extarticle.layout +++ b/lib/layouts/extarticle.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Herbert Voss -Format 93 +Format 95 Input article.layout # change available fontsizes diff --git a/lib/layouts/extbook.layout b/lib/layouts/extbook.layout index 8027879..3d66d9f 100644 --- a/lib/layouts/extbook.layout +++ b/lib/layouts/extbook.layout @@ -4,7 +4,7 @@ # Extended book textclass definition file. # Herbert Voss -Format 93 +Format 95 Input book.layout # change available fontsizes diff --git a/lib/layouts/extletter.layout b/lib/layouts/extletter.layout index 4870ae9..93f1cce 100644 --- a/lib/layouts/extletter.layout +++ b/lib/layouts/extletter.layout @@ -4,7 +4,7 @@ # Extended article textclass definition file. # Herbert Voss -Format 93 +Format 95 Input letter.layout # change available fontsizes diff --git a/lib/layouts/extreport.layout b/lib/layouts/extreport.layout index e9ccf2c..d7db843 100644 --- a/lib/layouts/extreport.layout +++ b/lib/layouts/extreport.layout @@ -4,7 +4,7 @@ # Extented report textclass definition file. # Herbert Voss -Format 93 +Format 95 Input report.layout # change available fontsizes diff --git a/lib/layouts/figs-within-sections.module b/lib/layouts/figs-within-sections.module index f3e55cc..09865c7 100644 --- a/lib/layouts/figs-within-sections.module +++ b/lib/layouts/figs-within-sections.module @@ -5,7 +5,7 @@ #the section number to the figure number, as in 'fig. 2.1'. #DescriptionEnd -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/fix-cm.module b/lib/layouts/fix-cm.module index 86b8f5e..7f18bea 100644 --- a/lib/layouts/fix-cm.module +++ b/lib/layouts/fix-cm.module @@ -9,6 +9,6 @@ # Author : Patrick Atamaniuk -Format 93 +Format 95 Requires fix-cm diff --git a/lib/layouts/fixltx2e.module b/lib/layouts/fixltx2e.module index 1664903..85aa2ee 100644 --- a/lib/layouts/fixltx2e.module +++ b/lib/layouts/fixltx2e.module @@ -11,6 +11,6 @@ # Author : Georg Baum -Format 93 +Format 95 Requires fixltx2e diff --git a/lib/layouts/fixme.module b/lib/layouts/fixme.module index b051e8b..ea0c01d 100644 --- a/lib/layouts/fixme.module +++ b/lib/layouts/fixme.module @@ -13,7 +13,7 @@ # Authors: Mark Edgington # J??rgen Spitzm??ller -Format 93 +Format 95 OutlinerName fixme "Fixme" diff --git a/lib/layouts/foils.layout b/lib/layouts/foils.layout index 2cbc855..d851cc0 100644 --- a/lib/layouts/foils.layout +++ b/lib/layouts/foils.layout @@ -7,7 +7,7 @@ # To do: Define class specific options. -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/foottoend.module b/lib/layouts/foottoend.module index d375b4e..8973d66 100644 --- a/lib/layouts/foottoend.module +++ b/lib/layouts/foottoend.module @@ -9,7 +9,7 @@ #DescriptionEnd #Excludes: enotez | foottoenotez -Format 93 +Format 95 InsetLayout Foot diff --git a/lib/layouts/foottoenotez.module b/lib/layouts/foottoenotez.module index 94fff8f..ecb180c 100644 --- a/lib/layouts/foottoenotez.module +++ b/lib/layouts/foottoenotez.module @@ -10,7 +10,7 @@ #DescriptionEnd #Excludes: endnotes | foottoend -Format 93 +Format 95 InsetLayout Foot diff --git a/lib/layouts/frletter.layout b/lib/layouts/frletter.layout index 5331558..8d068aa 100644 --- a/lib/layouts/frletter.layout +++ b/lib/layouts/frletter.layout @@ -4,7 +4,7 @@ # Layout file for the frletter class. # Author : Liviu Andronic and Uwe St??hr -Format 93 +Format 95 # Read the definitions from letter.layout Input letter.layout diff --git a/lib/layouts/g-brief.layout b/lib/layouts/g-brief.layout index d2cb36d..f648545 100644 --- a/lib/layouts/g-brief.layout +++ b/lib/layouts/g-brief.layout @@ -4,7 +4,7 @@ # Letter textclass definition file. # Author : Thomas Hartkens -Format 93 +Format 95 Input stdinsets.inc Input stdfloats.inc Input stdcounters.inc diff --git a/lib/layouts/g-brief2.layout b/lib/layouts/g-brief2.layout index 6f79452..3963763 100644 --- a/lib/layouts/g-brief2.layout +++ b/lib/layouts/g-brief2.layout @@ -6,7 +6,7 @@ # Thomas Hartkens # Input general definitions -Format 93 +Format 95 Input stdfloats.inc Input stdcounters.inc Input stdinsets.inc diff --git a/lib/layouts/graphicboxes.module b/lib/layouts/graphicboxes.module index 3dcd09a..54ec4f8 100644 --- a/lib/layouts/graphicboxes.module +++ b/lib/layouts/graphicboxes.module @@ -7,7 +7,7 @@ #Author: J??rgen Spitzm??ller # Uwe St??hr -Format 93 +Format 95 InsetLayout Flex:Reflectbox LyXType custom diff --git a/lib/layouts/hanging.module b/lib/layouts/hanging.module index d5abdbc..0dd0ab6 100644 --- a/lib/layouts/hanging.module +++ b/lib/layouts/hanging.module @@ -12,7 +12,7 @@ #Copyright Peter R. Wilson. #Released under the LaTeX Project Public License. -Format 93 +Format 95 Style Hanging LatexType Environment diff --git a/lib/layouts/heb-article.layout b/lib/layouts/heb-article.layout index 6e4728e..7b377ca 100644 --- a/lib/layouts/heb-article.layout +++ b/lib/layouts/heb-article.layout @@ -5,7 +5,7 @@ # Author: Dekel Tsur # Few changes by Baruch Even -Format 93 +Format 95 Input article Preamble diff --git a/lib/layouts/heb-letter.layout b/lib/layouts/heb-letter.layout index d88c67e..c1b7f1b 100644 --- a/lib/layouts/heb-letter.layout +++ b/lib/layouts/heb-letter.layout @@ -4,7 +4,7 @@ # Hebrew letter textclass definition file. # Author: Dekel Tsur -Format 93 +Format 95 Input letter diff --git a/lib/layouts/hollywood.layout b/lib/layouts/hollywood.layout index 851eab1..9bff0b4 100644 --- a/lib/layouts/hollywood.layout +++ b/lib/layouts/hollywood.layout @@ -16,7 +16,7 @@ # Based on course given by Lars Davidson -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth 2 diff --git a/lib/layouts/hpstatement.module b/lib/layouts/hpstatement.module index c53b78f..8c84bbd 100644 --- a/lib/layouts/hpstatement.module +++ b/lib/layouts/hpstatement.module @@ -7,7 +7,7 @@ #DescriptionEnd #Author: Uwe St??hr -Format 93 +Format 95 InsetLayout "Flex:H-P number" LyxType custom diff --git a/lib/layouts/ijmpc.layout b/lib/layouts/ijmpc.layout index 6cb98a5..95a31b3 100644 --- a/lib/layouts/ijmpc.layout +++ b/lib/layouts/ijmpc.layout @@ -12,7 +12,7 @@ # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Sides 1 Columns 1 diff --git a/lib/layouts/ijmpd.layout b/lib/layouts/ijmpd.layout index ac7edc9..f397203 100644 --- a/lib/layouts/ijmpd.layout +++ b/lib/layouts/ijmpd.layout @@ -17,7 +17,7 @@ # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Sides 1 Columns 1 diff --git a/lib/layouts/initials.module b/lib/layouts/initials.module index 663c439..b757ff2 100644 --- a/lib/layouts/initials.module +++ b/lib/layouts/initials.module @@ -6,7 +6,7 @@ #DescriptionEnd #Authors: Pavel Sanda and Uwe St??hr -Format 93 +Format 95 AddToPreamble \@ifundefined{lettrine}{\usepackage{lettrine}}{} diff --git a/lib/layouts/iopart.layout b/lib/layouts/iopart.layout index 43ea891..99dfb84 100644 --- a/lib/layouts/iopart.layout +++ b/lib/layouts/iopart.layout @@ -4,7 +4,7 @@ # IOP article textclass definition file. # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/isprs.layout b/lib/layouts/isprs.layout index 96ee4c6..bd1efed 100644 --- a/lib/layouts/isprs.layout +++ b/lib/layouts/isprs.layout @@ -9,7 +9,7 @@ # Heavily modifed and enhanced by serveral developers. # Input general definitions -Format 93 +Format 95 Input stdclass.inc Sides 2 Columns 2 diff --git a/lib/layouts/iucr.layout b/lib/layouts/iucr.layout index 01b5714..bb63834 100644 --- a/lib/layouts/iucr.layout +++ b/lib/layouts/iucr.layout @@ -5,7 +5,7 @@ # Author: Uwe St??hr (uwestoehr at web.de) # IUCr LaTeX files can be downloaded from ftp://ftp.iucr.org/templates/latex/ -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/jarticle.layout b/lib/layouts/jarticle.layout index 490d78a..83ee155 100644 --- a/lib/layouts/jarticle.layout +++ b/lib/layouts/jarticle.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/jasatex.layout b/lib/layouts/jasatex.layout index 5b48359..0c10423 100644 --- a/lib/layouts/jasatex.layout +++ b/lib/layouts/jasatex.layout @@ -4,7 +4,7 @@ # JASATeX textclass definition file. # Author: Uwe St??hr (uwestoehr at web.de) -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/jbook.layout b/lib/layouts/jbook.layout index 2c348ad..a0a7f0c 100644 --- a/lib/layouts/jbook.layout +++ b/lib/layouts/jbook.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/jgrga.layout b/lib/layouts/jgrga.layout index a2d35a4..b26eae5 100644 --- a/lib/layouts/jgrga.layout +++ b/lib/layouts/jgrga.layout @@ -4,7 +4,7 @@ # AGUplus JGR textclass definition file. # Author: Martin Vermeer -Format 93 +Format 95 Input aguplus.inc ClassOptions diff --git a/lib/layouts/jreport.layout b/lib/layouts/jreport.layout index 449acee..9a2d5ad 100644 --- a/lib/layouts/jreport.layout +++ b/lib/layouts/jreport.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/jsarticle.layout b/lib/layouts/jsarticle.layout index 2c544c2..ed167c5 100644 --- a/lib/layouts/jsarticle.layout +++ b/lib/layouts/jsarticle.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/jsbook.layout b/lib/layouts/jsbook.layout index da73fc6..99ee137 100644 --- a/lib/layouts/jsbook.layout +++ b/lib/layouts/jsbook.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/jss.layout b/lib/layouts/jss.layout index 7405634..29fdc4d 100644 --- a/lib/layouts/jss.layout +++ b/lib/layouts/jss.layout @@ -8,7 +8,7 @@ # License: GNU GPL version 2 or later # JSS LaTeX files can be downloaded from http://www.jstatsoft.org/downloads/JSSstyle.zip -Format 93 +Format 95 # Read the definitions from article.layout Input article.layout diff --git a/lib/layouts/kluwer.layout b/lib/layouts/kluwer.layout index 4072eff..ffdfc77 100644 --- a/lib/layouts/kluwer.layout +++ b/lib/layouts/kluwer.layout @@ -15,7 +15,7 @@ # 2003-03-03 Updated for lyx 1.3.0. -Format 93 +Format 95 Columns 1 Sides 2 SecNumDepth 4 diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module index 231eea2..7b93b63 100644 --- a/lib/layouts/knitr.module +++ b/lib/layouts/knitr.module @@ -6,7 +6,7 @@ #DescriptionEnd #Excludes: lilypond | sweave -Format 93 +Format 95 Input litinsets.inc diff --git a/lib/layouts/landscape.module b/lib/layouts/landscape.module index 9491cf7..33ec7fc 100644 --- a/lib/layouts/landscape.module +++ b/lib/layouts/landscape.module @@ -6,7 +6,7 @@ # #Author: J??rgen Spitzm??ller -Format 93 +Format 95 InsetLayout Flex:Landscape LyXType custom diff --git a/lib/layouts/latex8.layout b/lib/layouts/latex8.layout index 679a932..88f4145 100644 --- a/lib/layouts/latex8.layout +++ b/lib/layouts/latex8.layout @@ -4,7 +4,7 @@ # Latex8 textclass definition file. # Author : Allan Rae -Format 93 +Format 95 Preamble \usepackage{latex8} \usepackage{times} diff --git a/lib/layouts/letter.layout b/lib/layouts/letter.layout index b3f816f..cdc0e02 100644 --- a/lib/layouts/letter.layout +++ b/lib/layouts/letter.layout @@ -5,7 +5,7 @@ # Author : Matthias Ettrich # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdinsets.inc Input stdletter.inc Input stdlists.inc diff --git a/lib/layouts/lettre.layout b/lib/layouts/lettre.layout index 30e63a3..f454e3e 100644 --- a/lib/layouts/lettre.layout +++ b/lib/layouts/lettre.layout @@ -31,7 +31,7 @@ # TODO: DocBook doesn't support several letters in the same file. -Format 93 +Format 95 #(pre)declarations (just to impose some order on the menus) Style Standard diff --git a/lib/layouts/lilypond.module b/lib/layouts/lilypond.module index 6c98f14..1cafc43 100644 --- a/lib/layouts/lilypond.module +++ b/lib/layouts/lilypond.module @@ -8,7 +8,7 @@ # Author: Julien Rioux -Format 93 +Format 95 OutputFormat lilypond-book InsetLayout "Flex:LilyPond" diff --git a/lib/layouts/linguistics.module b/lib/layouts/linguistics.module index 3405748..42038b2 100644 --- a/lib/layouts/linguistics.module +++ b/lib/layouts/linguistics.module @@ -8,7 +8,7 @@ # Author: J??rgen Spitzm??ller -Format 93 +Format 95 # # Counters diff --git a/lib/layouts/litinsets.inc b/lib/layouts/litinsets.inc index 91c76eb..0ecb846 100644 --- a/lib/layouts/litinsets.inc +++ b/lib/layouts/litinsets.inc @@ -6,7 +6,7 @@ # Note that this file is included in sweave.module, # knitr.module and noweb.module. -Format 93 +Format 95 Counter chunk GuiName "Knitr Chunk" diff --git a/lib/layouts/llncs.layout b/lib/layouts/llncs.layout index 64298c9..2d5d9fc 100644 --- a/lib/layouts/llncs.layout +++ b/lib/layouts/llncs.layout @@ -15,7 +15,7 @@ # Modified for LyX 12 by Jean-Marc Lasgouttes and MV. -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Plain diff --git a/lib/layouts/logicalmkup.module b/lib/layouts/logicalmkup.module index 51cdb99..1296bfc 100644 --- a/lib/layouts/logicalmkup.module +++ b/lib/layouts/logicalmkup.module @@ -6,7 +6,7 @@ # Author : Martin vermeer -Format 93 +Format 95 InsetLayout Flex:Noun LyxType charstyle diff --git a/lib/layouts/ltugboat.layout b/lib/layouts/ltugboat.layout index d46380c..62067d7 100644 --- a/lib/layouts/ltugboat.layout +++ b/lib/layouts/ltugboat.layout @@ -6,7 +6,7 @@ # Author : Herbert Voss 2001/08/13 -Format 93 +Format 95 Columns 2 Sides 2 #SecNumDepth # no counting diff --git a/lib/layouts/lyxmacros.inc b/lib/layouts/lyxmacros.inc index 08b18e3..52db46a 100644 --- a/lib/layouts/lyxmacros.inc +++ b/lib/layouts/lyxmacros.inc @@ -8,7 +8,7 @@ # be removed later. -Format 93 +Format 95 Style LyX-Code Category MainText Margin Static diff --git a/lib/layouts/maa-monthly.layout b/lib/layouts/maa-monthly.layout index e8b673d..4bf1457 100644 --- a/lib/layouts/maa-monthly.layout +++ b/lib/layouts/maa-monthly.layout @@ -6,7 +6,7 @@ # # Author : John Perry -Format 93 +Format 95 Provides amscls 1 Provides amsmath 1 diff --git a/lib/layouts/memoir.layout b/lib/layouts/memoir.layout index c4d47db..cdda494 100644 --- a/lib/layouts/memoir.layout +++ b/lib/layouts/memoir.layout @@ -7,7 +7,7 @@ # feel free to contribute missing features! -Format 93 +Format 95 Columns 1 Sides 2 SecNumDepth 1 diff --git a/lib/layouts/minimalistic.module b/lib/layouts/minimalistic.module index 584e4cd..3ea79db 100644 --- a/lib/layouts/minimalistic.module +++ b/lib/layouts/minimalistic.module @@ -4,7 +4,7 @@ # Redefines several insets (Index, Branch, URL) as being Minimalistic. #DescriptionEnd -Format 93 +Format 95 InsetLayout Index Decoration minimalistic diff --git a/lib/layouts/moderncv.layout b/lib/layouts/moderncv.layout index f1984a1..4e05d3e 100644 --- a/lib/layouts/moderncv.layout +++ b/lib/layouts/moderncv.layout @@ -7,7 +7,7 @@ # General textclass parameters -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/multicol.module b/lib/layouts/multicol.module index db53ff4..e2f0e95 100644 --- a/lib/layouts/multicol.module +++ b/lib/layouts/multicol.module @@ -7,7 +7,7 @@ #DescriptionEnd #Authors: Uwe St??hr and J??rgen Spitzm??ller -Format 93 +Format 95 InsetLayout Flex:Multiple_Columns LyXType custom diff --git a/lib/layouts/mwart.layout b/lib/layouts/mwart.layout index d4f07d6..71a76e6 100644 --- a/lib/layouts/mwart.layout +++ b/lib/layouts/mwart.layout @@ -6,7 +6,7 @@ # Transposed by Tomasz ??uczak # Heavily modifed and enhanced by several developers. -Format 93 +Format 95 Input stdclass.inc NoStyle Chapter diff --git a/lib/layouts/mwbk.layout b/lib/layouts/mwbk.layout index a311bca..27de3c7 100644 --- a/lib/layouts/mwbk.layout +++ b/lib/layouts/mwbk.layout @@ -6,7 +6,7 @@ # Transposed by Tomasz ??uczak # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdclass.inc Input numreport.inc diff --git a/lib/layouts/mwrep.layout b/lib/layouts/mwrep.layout index b7f26c3..fdb7d42 100644 --- a/lib/layouts/mwrep.layout +++ b/lib/layouts/mwrep.layout @@ -6,7 +6,7 @@ # Transposed by Tomasz ??uczak # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdclass.inc Input numreport.inc diff --git a/lib/layouts/natbibapa.module b/lib/layouts/natbibapa.module index 489275b..7813fbf 100644 --- a/lib/layouts/natbibapa.module +++ b/lib/layouts/natbibapa.module @@ -10,7 +10,7 @@ # # Author: Jacob Bishop -Format 93 +Format 95 AddToPreamble \usepackage[natbibapa]{apacite} diff --git a/lib/layouts/noweb.module b/lib/layouts/noweb.module index 351da8d..7f782a7 100644 --- a/lib/layouts/noweb.module +++ b/lib/layouts/noweb.module @@ -4,7 +4,7 @@ #Allows to use Noweb as a literate programming tool. #DescriptionEnd -Format 93 +Format 95 Input litinsets.inc OutputType literate diff --git a/lib/layouts/numarticle.inc b/lib/layouts/numarticle.inc index 0ec4e02..9ed6827 100644 --- a/lib/layouts/numarticle.inc +++ b/lib/layouts/numarticle.inc @@ -1,7 +1,7 @@ # Author : Andr?? P??nitz # This include file contains label definitions for an article-like numbering. -Format 93 +Format 95 # appendix applies to sections. Counter section diff --git a/lib/layouts/numreport.inc b/lib/layouts/numreport.inc index b94fb06..b49d071 100644 --- a/lib/layouts/numreport.inc +++ b/lib/layouts/numreport.inc @@ -1,7 +1,7 @@ # Author : Andr?? P??nitz # This include file contains label definitions for a report-like numbering. -Format 93 +Format 95 Counter chapter GuiName Chapter diff --git a/lib/layouts/numrevtex.inc b/lib/layouts/numrevtex.inc index bbb6830..c759bd8 100644 --- a/lib/layouts/numrevtex.inc +++ b/lib/layouts/numrevtex.inc @@ -2,7 +2,7 @@ # This include files contains label definitions for a article-like numbering. -Format 93 +Format 95 Style Section LabelType Static LabelCounter section diff --git a/lib/layouts/paper.layout b/lib/layouts/paper.layout index 71f9d55..44af30a 100644 --- a/lib/layouts/paper.layout +++ b/lib/layouts/paper.layout @@ -5,7 +5,7 @@ # Created by Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes at inria.fr) -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth 3 diff --git a/lib/layouts/paralist.module b/lib/layouts/paralist.module index 273a930..65f96a2 100644 --- a/lib/layouts/paralist.module +++ b/lib/layouts/paralist.module @@ -13,7 +13,7 @@ # Author: Georg Baum # (structuring taken from enumitem.module by G??nter Milde) -Format 93 +Format 95 AddToPreamble \usepackage{paralist} diff --git a/lib/layouts/pdfcomment.module b/lib/layouts/pdfcomment.module index 9f8b140..4c93f63 100644 --- a/lib/layouts/pdfcomment.module +++ b/lib/layouts/pdfcomment.module @@ -8,7 +8,7 @@ # Author: Juergen Spitzmueller # Uwe St??hr -Format 93 +Format 95 # # helper commands diff --git a/lib/layouts/pdfform.module b/lib/layouts/pdfform.module index 9df6164..0d82661 100644 --- a/lib/layouts/pdfform.module +++ b/lib/layouts/pdfform.module @@ -7,7 +7,7 @@ #DescriptionEnd # Author: Uwe St??hr -Format 93 +Format 95 # # the form environment diff --git a/lib/layouts/powerdot.layout b/lib/layouts/powerdot.layout index bc8c6f7..ae44c86 100644 --- a/lib/layouts/powerdot.layout +++ b/lib/layouts/powerdot.layout @@ -5,7 +5,7 @@ # Created: 29-Aug-05 by Mael Hill??reau # Modified: 20-May-06 by Uwe St??hr, 18-Mar-2013 J??rgen Spitzm??ller -Format 93 +Format 95 Input stdcounters.inc Input stdinsets.inc diff --git a/lib/layouts/recipebook.layout b/lib/layouts/recipebook.layout index 2888c72..7196dc7 100644 --- a/lib/layouts/recipebook.layout +++ b/lib/layouts/recipebook.layout @@ -27,7 +27,7 @@ # Another command, \ingred{...}, is defined to typeset a # list of ingredients. -Format 93 +Format 95 Input scrclass.inc Input numreport.inc diff --git a/lib/layouts/report.layout b/lib/layouts/report.layout index 2242743..29edcd3 100644 --- a/lib/layouts/report.layout +++ b/lib/layouts/report.layout @@ -6,7 +6,7 @@ # Transposed by Pascal Andr?? # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Input stdclass.inc Input numreport.inc diff --git a/lib/layouts/revtex.layout b/lib/layouts/revtex.layout index 24a5504..e348614 100644 --- a/lib/layouts/revtex.layout +++ b/lib/layouts/revtex.layout @@ -10,7 +10,7 @@ # Amir Karger (LyX v11.34 style modifications - using changes # made by Jean-Marc Lasgouttes to amsart.layout) -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Headers diff --git a/lib/layouts/revtex4-1.layout b/lib/layouts/revtex4-1.layout index a101efe..7e5ed11 100644 --- a/lib/layouts/revtex4-1.layout +++ b/lib/layouts/revtex4-1.layout @@ -16,6 +16,6 @@ # - add support for \onlinecite{} -Format 93 +Format 95 Input revtex4-x.inc diff --git a/lib/layouts/revtex4-2.layout b/lib/layouts/revtex4-2.layout index 03a23a2..e242884 100644 --- a/lib/layouts/revtex4-2.layout +++ b/lib/layouts/revtex4-2.layout @@ -16,6 +16,6 @@ # - add support for \onlinecite{} -Format 93 +Format 95 Input revtex4-x.inc diff --git a/lib/layouts/revtex4-x.inc b/lib/layouts/revtex4-x.inc index eaa1fff..feec956 100644 --- a/lib/layouts/revtex4-x.inc +++ b/lib/layouts/revtex4-x.inc @@ -13,7 +13,7 @@ # - add support for \onlinecite{} -Format 93 +Format 95 Input stdclass.inc Input numrevtex.inc diff --git a/lib/layouts/revtex4.layout b/lib/layouts/revtex4.layout index 27be7c5..ca7f478 100644 --- a/lib/layouts/revtex4.layout +++ b/lib/layouts/revtex4.layout @@ -11,7 +11,7 @@ # Amir Karger (RevTeX 4 beta) 9/1999, 7/2000 # Heavily modifed and enhanced by serveral developers. -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/rsphrase.module b/lib/layouts/rsphrase.module index 76d83b5..ccecfd5 100644 --- a/lib/layouts/rsphrase.module +++ b/lib/layouts/rsphrase.module @@ -7,7 +7,7 @@ #DescriptionEnd #Author: Uwe St??hr -Format 93 +Format 95 InsetLayout "Flex:R-S number" LyxType custom diff --git a/lib/layouts/ruby.module b/lib/layouts/ruby.module index c4f2a4a..83ab924 100644 --- a/lib/layouts/ruby.module +++ b/lib/layouts/ruby.module @@ -21,7 +21,7 @@ # W3W spec: # https://www.w3.org/International/articles/ruby/markup.en.html -Format 93 +Format 95 InsetLayout Flex:Ruby LyxType charstyle diff --git a/lib/layouts/sciposter.layout b/lib/layouts/sciposter.layout index 6104f44..d59b64c 100644 --- a/lib/layouts/sciposter.layout +++ b/lib/layouts/sciposter.layout @@ -7,7 +7,7 @@ # # Input general definitions -Format 93 +Format 95 Input stdclass.inc diff --git a/lib/layouts/scrartcl.layout b/lib/layouts/scrartcl.layout index e23504f..75385c8 100644 --- a/lib/layouts/scrartcl.layout +++ b/lib/layouts/scrartcl.layout @@ -4,7 +4,7 @@ # KOMA scrartcl textclass definition file. # Bernd Rellermeyer <100.41728 at germanynet.de>, 1998/7/11. -Format 93 +Format 95 Input scrclass.inc SecNumDepth 3 diff --git a/lib/layouts/scrarticle-beamer.layout b/lib/layouts/scrarticle-beamer.layout index 4b4a1cf..269614c 100644 --- a/lib/layouts/scrarticle-beamer.layout +++ b/lib/layouts/scrarticle-beamer.layout @@ -3,7 +3,7 @@ # \DeclareCategory{Articles} # Author: J??rgen Spitzm??ller -Format 93 +Format 95 # Includes Input scrartcl.layout diff --git a/lib/layouts/scrbook.layout b/lib/layouts/scrbook.layout index 51a2790..21c013a 100644 --- a/lib/layouts/scrbook.layout +++ b/lib/layouts/scrbook.layout @@ -4,7 +4,7 @@ # KOMA scrbook textclass definition file. # Bernd Rellermeyer <100.41728 at germanynet.de>, 1998/7/11. -Format 93 +Format 95 Input scrclass.inc Input numreport.inc diff --git a/lib/layouts/scrclass.inc b/lib/layouts/scrclass.inc index 77be465..4884925 100644 --- a/lib/layouts/scrclass.inc +++ b/lib/layouts/scrclass.inc @@ -8,7 +8,7 @@ # Labeling is now used also in non-KOMA classes -Format 93 +Format 95 SecNumDepth 2 TocDepth 2 DefaultStyle Standard diff --git a/lib/layouts/scrlettr.layout b/lib/layouts/scrlettr.layout index cd41318..edaf94b 100644 --- a/lib/layouts/scrlettr.layout +++ b/lib/layouts/scrlettr.layout @@ -4,7 +4,7 @@ # KOMA scrlettr textclass definition file. # Bernd Rellermeyer <100.41728 at germanynet.de>, 1999/2/17. -Format 93 +Format 95 Style Standard Category MainText diff --git a/lib/layouts/scrlttr2.layout b/lib/layouts/scrlttr2.layout index f617fe1..c14f7a8 100644 --- a/lib/layouts/scrlttr2.layout +++ b/lib/layouts/scrlttr2.layout @@ -13,7 +13,7 @@ # () and an address. However, phone and fax numbers should be put in
, they # are not allowed directly in ... The generated DocBook will not be valid due to this! -Format 93 +Format 95 Provides subscript 1 Style Standard diff --git a/lib/layouts/scrreprt.layout b/lib/layouts/scrreprt.layout index 3729552..2f0e695 100644 --- a/lib/layouts/scrreprt.layout +++ b/lib/layouts/scrreprt.layout @@ -4,7 +4,7 @@ # KOMA scrreprt textclass definition file. # Bernd Rellermeyer <100.41728 at germanynet.de>, 1998/7/11. -Format 93 +Format 95 Input scrclass.inc Input numreport.inc diff --git a/lib/layouts/sectionbox.module b/lib/layouts/sectionbox.module index 3f1965a..889ba30 100644 --- a/lib/layouts/sectionbox.module +++ b/lib/layouts/sectionbox.module @@ -7,7 +7,7 @@ # Author: J??rgen Spitzm??ller -Format 93 +Format 95 InsetLayout Flex:SectionBox LyXType custom diff --git a/lib/layouts/seminar.layout b/lib/layouts/seminar.layout index cfe988a..2b50236 100644 --- a/lib/layouts/seminar.layout +++ b/lib/layouts/seminar.layout @@ -11,7 +11,7 @@ # 1.4 2008-10-08 G??nter Milde (use --Separator-- "look") # 1.5 2011-06-09 G??nter Milde (Use Flex insets) -Format 93 +Format 95 Sides 1 Columns 1 diff --git a/lib/layouts/shapepar.module b/lib/layouts/shapepar.module index 6b9c3df..1d01b0e 100644 --- a/lib/layouts/shapepar.module +++ b/lib/layouts/shapepar.module @@ -7,7 +7,7 @@ #DescriptionEnd #Author: Uwe St??hr -Format 93 +Format 95 AddToPreamble % used for custom paragraph shapes diff --git a/lib/layouts/siamltex.layout b/lib/layouts/siamltex.layout index 29a5172..8beaa83 100644 --- a/lib/layouts/siamltex.layout +++ b/lib/layouts/siamltex.layout @@ -11,7 +11,7 @@ # Modified from amsart.layout May '08 by Andrew Corrigan -Format 93 +Format 95 Columns 1 Sides 2 PageStyle Headers diff --git a/lib/layouts/sigplanconf.layout b/lib/layouts/sigplanconf.layout index a29089e..0861c14 100644 --- a/lib/layouts/sigplanconf.layout +++ b/lib/layouts/sigplanconf.layout @@ -17,7 +17,7 @@ # ACM style files can be obtained at # http://www.acm.org/sigs/pubs/proceed/template.html -Format 93 +Format 95 Columns 1 Sides 1 diff --git a/lib/layouts/simplecv.layout b/lib/layouts/simplecv.layout index 7b667f5..79da4bb 100644 --- a/lib/layouts/simplecv.layout +++ b/lib/layouts/simplecv.layout @@ -5,7 +5,7 @@ # Author : Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes at inria.fr) -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth -1 diff --git a/lib/layouts/singlecol-new.layout b/lib/layouts/singlecol-new.layout index c71c068..f599a42 100644 --- a/lib/layouts/singlecol-new.layout +++ b/lib/layouts/singlecol-new.layout @@ -6,5 +6,5 @@ # TeX templates are found at http://www.inderscience.com/mapper.php?id=64 # # Read the definitions from article.layout -Format 93 +Format 95 Input article.layout diff --git a/lib/layouts/singlecol.layout b/lib/layouts/singlecol.layout index ffa44cd..342bb75 100644 --- a/lib/layouts/singlecol.layout +++ b/lib/layouts/singlecol.layout @@ -3,5 +3,5 @@ # \DeclareCategory{Obsolete} # Read the definitions from article.layout -Format 93 +Format 95 Input article.layout diff --git a/lib/layouts/slides.layout b/lib/layouts/slides.layout index 9cc78b9..532f75a 100644 --- a/lib/layouts/slides.layout +++ b/lib/layouts/slides.layout @@ -8,7 +8,7 @@ # -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Plain diff --git a/lib/layouts/soul.module b/lib/layouts/soul.module index 89e79b5..4824339 100644 --- a/lib/layouts/soul.module +++ b/lib/layouts/soul.module @@ -12,7 +12,7 @@ #Author: Stephen [original implementation], # Juergen Spitzmueller [fixes] -Format 93 +Format 95 InsetLayout Flex:Spaceletters LyxType charstyle diff --git a/lib/layouts/spie.layout b/lib/layouts/spie.layout index 7ebaeae..6d488c9 100644 --- a/lib/layouts/spie.layout +++ b/lib/layouts/spie.layout @@ -6,7 +6,7 @@ # to be used with the spie.cls LaTex-style available at # http://public.lanl.gov/kmh/spie/ -Format 93 +Format 95 Input stdclass.inc NoStyle Chapter diff --git a/lib/layouts/stdcharstyles.inc b/lib/layouts/stdcharstyles.inc index e8246ef..ce6de75 100644 --- a/lib/layouts/stdcharstyles.inc +++ b/lib/layouts/stdcharstyles.inc @@ -2,7 +2,7 @@ # Author : Martin vermeer # Character Styles definition -Format 93 +Format 95 # Error fallback: InsetLayout Flex diff --git a/lib/layouts/stdciteformats.inc b/lib/layouts/stdciteformats.inc index 6875375..5491cd0 100644 --- a/lib/layouts/stdciteformats.inc +++ b/lib/layouts/stdciteformats.inc @@ -11,7 +11,7 @@ # Author: Richard Kimberly Heck # J??rgen Spitzm??ller -Format 93 +Format 95 CiteFormat default # diff --git a/lib/layouts/stdclass.inc b/lib/layouts/stdclass.inc index c8e8f05..758b481 100644 --- a/lib/layouts/stdclass.inc +++ b/lib/layouts/stdclass.inc @@ -7,7 +7,7 @@ # ``standard'' layouts, like article and friends. -Format 93 +Format 95 Columns 1 Sides 1 SecNumDepth 2 diff --git a/lib/layouts/stdcounters.inc b/lib/layouts/stdcounters.inc index 90308b5..dadf311 100644 --- a/lib/layouts/stdcounters.inc +++ b/lib/layouts/stdcounters.inc @@ -4,7 +4,7 @@ # in most LyX layouts. -Format 93 +Format 95 Counter part GuiName Part LabelString "\Roman{part}" diff --git a/lib/layouts/stdcustom.inc b/lib/layouts/stdcustom.inc index 0c561b4..4d4a2dd 100644 --- a/lib/layouts/stdcustom.inc +++ b/lib/layouts/stdcustom.inc @@ -2,7 +2,7 @@ # Author : Martin vermeer # Custom Inset layouts definition -Format 93 +Format 95 # Error fallback: InsetLayout "Flex:Custom" diff --git a/lib/layouts/stdfloatnames.inc b/lib/layouts/stdfloatnames.inc index 1e5bc45..ae682ca 100644 --- a/lib/layouts/stdfloatnames.inc +++ b/lib/layouts/stdfloatnames.inc @@ -1,6 +1,6 @@ # This defines the names used by common Float types. -Format 93 +Format 95 OutlinerName table "Tables" OutlinerName figure "Figures" diff --git a/lib/layouts/stdfloats.inc b/lib/layouts/stdfloats.inc index e34b9f1..d5632bc 100644 --- a/lib/layouts/stdfloats.inc +++ b/lib/layouts/stdfloats.inc @@ -4,7 +4,7 @@ # in most LyX layouts. -Format 93 +Format 95 Input stdfloatnames.inc diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc index 2b562c2..2106d23 100644 --- a/lib/layouts/stdinsets.inc +++ b/lib/layouts/stdinsets.inc @@ -4,7 +4,7 @@ # # Detailed format description is available in the customization manual -Format 93 +Format 95 Provides stdinsets 1 diff --git a/lib/layouts/stdlayouts.inc b/lib/layouts/stdlayouts.inc index f2bf404..b1b741b 100644 --- a/lib/layouts/stdlayouts.inc +++ b/lib/layouts/stdlayouts.inc @@ -7,7 +7,7 @@ # quotations and such. -Format 93 +Format 95 Style Quotation Category MainText diff --git a/lib/layouts/stdletter.inc b/lib/layouts/stdletter.inc index df3d557..02ed194 100644 --- a/lib/layouts/stdletter.inc +++ b/lib/layouts/stdletter.inc @@ -3,7 +3,7 @@ # Heavily modifed and enhanced by several developers. -Format 93 +Format 95 Columns 1 Sides 1 PageStyle Empty diff --git a/lib/layouts/stdlists.inc b/lib/layouts/stdlists.inc index 5b4219a..3a4fd3d 100644 --- a/lib/layouts/stdlists.inc +++ b/lib/layouts/stdlists.inc @@ -6,7 +6,7 @@ # This include files contains various standard environments for lists. -Format 93 +Format 95 Input stdlyxlist.inc diff --git a/lib/layouts/stdlyxlist.inc b/lib/layouts/stdlyxlist.inc index b79ddbd..c8a3658 100644 --- a/lib/layouts/stdlyxlist.inc +++ b/lib/layouts/stdlyxlist.inc @@ -1,7 +1,7 @@ # The special "LyXList". Separated out for inclusion where the # whole of stdlist.inc is not needed. -Format 93 +Format 95 Style Labeling Category List diff --git a/lib/layouts/stdrefprefix.inc b/lib/layouts/stdrefprefix.inc index 467919f..bbd52b1 100644 --- a/lib/layouts/stdrefprefix.inc +++ b/lib/layouts/stdrefprefix.inc @@ -7,7 +7,7 @@ # in stdclass.inc, so any file that includes either of these will get # the standard RefPrefix definitions. -Format 93 +Format 95 ModifyStyle Part RefPrefix part diff --git a/lib/layouts/stdsections.inc b/lib/layouts/stdsections.inc index c7bff0e..eee967d 100644 --- a/lib/layouts/stdsections.inc +++ b/lib/layouts/stdsections.inc @@ -7,7 +7,7 @@ # commands that are useful for article-like document classes, but not # for letters. -Format 93 +Format 95 Style Part Category Sectioning diff --git a/lib/layouts/stdstarsections.inc b/lib/layouts/stdstarsections.inc index 33ead92..e1e09d4 100644 --- a/lib/layouts/stdstarsections.inc +++ b/lib/layouts/stdstarsections.inc @@ -9,7 +9,7 @@ # modifying the style of the regular sectioning layouts. -Format 93 +Format 95 Style Part* CopyStyle Part Category Unnumbered diff --git a/lib/layouts/stdstruct.inc b/lib/layouts/stdstruct.inc index 606e77a..3f2ac31 100644 --- a/lib/layouts/stdstruct.inc +++ b/lib/layouts/stdstruct.inc @@ -8,7 +8,7 @@ # a document, like abstract, bibliography and such. -Format 93 +Format 95 Style Abstract Margin Static diff --git a/lib/layouts/stdtitle.inc b/lib/layouts/stdtitle.inc index 31f175e..7010c71 100644 --- a/lib/layouts/stdtitle.inc +++ b/lib/layouts/stdtitle.inc @@ -8,7 +8,7 @@ # a document, like title, author and such. -Format 93 +Format 95 Style Title Margin Static diff --git a/lib/layouts/subequations.module b/lib/layouts/subequations.module index 00a96c2..d8b74a2 100644 --- a/lib/layouts/subequations.module +++ b/lib/layouts/subequations.module @@ -6,7 +6,7 @@ # Author: Joel A. Kulesza (jkulesza at gmail.com) -Format 93 +Format 95 InsetLayout Flex:Subequations LyxType custom diff --git a/lib/layouts/svcommon.inc b/lib/layouts/svcommon.inc index 3435196..3ef9416 100644 --- a/lib/layouts/svcommon.inc +++ b/lib/layouts/svcommon.inc @@ -19,7 +19,7 @@ # see http://www.springer.com/authors for class files and further instructions -Format 93 +Format 95 PageStyle Plain diff --git a/lib/layouts/svglobal.layout b/lib/layouts/svglobal.layout index aea2ee6..70ad85b 100644 --- a/lib/layouts/svglobal.layout +++ b/lib/layouts/svglobal.layout @@ -20,7 +20,7 @@ # see www.springer.de/author/tex/help-journals.html for class files -Format 93 +Format 95 Input svcommon.inc diff --git a/lib/layouts/svglobal3.layout b/lib/layouts/svglobal3.layout index 9cdb918..0b699ed 100644 --- a/lib/layouts/svglobal3.layout +++ b/lib/layouts/svglobal3.layout @@ -15,7 +15,7 @@ # # see ftp://ftp.springer.de/pub/tex/latex/svjour3/ for class files -Format 93 +Format 95 Input svcommon.inc diff --git a/lib/layouts/svjog.layout b/lib/layouts/svjog.layout index bd40185..6ecd6c8 100644 --- a/lib/layouts/svjog.layout +++ b/lib/layouts/svjog.layout @@ -24,7 +24,7 @@ # see www.springer.de/author/tex/help-journals.html for class files -Format 93 +Format 95 Input svcommon.inc diff --git a/lib/layouts/svmono.layout b/lib/layouts/svmono.layout index 6c0f3a9..ce766c9 100644 --- a/lib/layouts/svmono.layout +++ b/lib/layouts/svmono.layout @@ -8,7 +8,7 @@ # Class and style files and templates are found at: # http://wiki.lyx.org/Examples/Springer # -Format 93 +Format 95 Input svcommon.inc TocDepth 2 diff --git a/lib/layouts/svmult.layout b/lib/layouts/svmult.layout index 1ca617e..13b23ea 100644 --- a/lib/layouts/svmult.layout +++ b/lib/layouts/svmult.layout @@ -8,7 +8,7 @@ # Class and style files and templates are found at: # http://wiki.lyx.org/Examples/Springer # -Format 93 +Format 95 Input svcommon.inc diff --git a/lib/layouts/svprobth.layout b/lib/layouts/svprobth.layout index eec4110..14363fa 100644 --- a/lib/layouts/svprobth.layout +++ b/lib/layouts/svprobth.layout @@ -31,7 +31,7 @@ # see www.springer.de/author/tex/help-journals.html for class files -Format 93 +Format 95 Input svcommon.inc NoStyle Front_Matter diff --git a/lib/layouts/sweave.module b/lib/layouts/sweave.module index 254d330..e9d3a9f 100644 --- a/lib/layouts/sweave.module +++ b/lib/layouts/sweave.module @@ -6,7 +6,7 @@ #DescriptionEnd #Excludes: lilypond -Format 93 +Format 95 Input litinsets.inc diff --git a/lib/layouts/tabs-within-sections.module b/lib/layouts/tabs-within-sections.module index edd0a69..fe05dcb 100644 --- a/lib/layouts/tabs-within-sections.module +++ b/lib/layouts/tabs-within-sections.module @@ -5,7 +5,7 @@ #the section number to the table number, as in 'Table 2.1'. #DescriptionEnd -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/tarticle.layout b/lib/layouts/tarticle.layout index e59a60c..299ab28 100644 --- a/lib/layouts/tarticle.layout +++ b/lib/layouts/tarticle.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com)1 # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/tbook.layout b/lib/layouts/tbook.layout index dcb779f..f3b92f7 100644 --- a/lib/layouts/tbook.layout +++ b/lib/layouts/tbook.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota6 at gmail.com) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/tcolorbox.module b/lib/layouts/tcolorbox.module index 71e43a8..a18cbe4 100644 --- a/lib/layouts/tcolorbox.module +++ b/lib/layouts/tcolorbox.module @@ -7,7 +7,7 @@ #Authors: J??rgen Spitzm??ller # Uwe St??hr -Format 93 +Format 95 InsetLayout Flex:Color_Box LyXType custom diff --git a/lib/layouts/theorems-ams-bytype.inc b/lib/layouts/theorems-ams-bytype.inc index ad5e9b4..90e997f 100644 --- a/lib/layouts/theorems-ams-bytype.inc +++ b/lib/layouts/theorems-ams-bytype.inc @@ -21,7 +21,7 @@ # - Claim # - Case (by inclusion) -Format 93 +Format 95 Input theorems-counters-bytype.inc diff --git a/lib/layouts/theorems-ams-bytype.module b/lib/layouts/theorems-ams-bytype.module index 9cb2956..0a4f7e7 100644 --- a/lib/layouts/theorems-ams-bytype.module +++ b/lib/layouts/theorems-ams-bytype.module @@ -18,7 +18,7 @@ # Modularized Jan 08 by Richard Kimberly Heck # Hacked June '09 by Paul Rubin to use separate counters -Format 93 +Format 95 Requires amsmath,amsthm diff --git a/lib/layouts/theorems-ams-chap-bytype.inc b/lib/layouts/theorems-ams-chap-bytype.inc index 6f6679f..a8ea0be 100644 --- a/lib/layouts/theorems-ams-chap-bytype.inc +++ b/lib/layouts/theorems-ams-chap-bytype.inc @@ -23,7 +23,7 @@ # - Case (by inclusion) -Format 93 +Format 95 Input theorems-counters-bytype.inc diff --git a/lib/layouts/theorems-ams-chap-bytype.module b/lib/layouts/theorems-ams-chap-bytype.module index fad4fcb..5485524 100644 --- a/lib/layouts/theorems-ams-chap-bytype.module +++ b/lib/layouts/theorems-ams-chap-bytype.module @@ -19,7 +19,7 @@ # Hacked June '09 by Paul Rubin to use separate counters # Chapter dependence added Oct '16 by Andrew Parsloe -Format 93 +Format 95 Requires amsmath,amsthm diff --git a/lib/layouts/theorems-ams-extended-bytype.module b/lib/layouts/theorems-ams-extended-bytype.module index ea8bb0d..6f30ef9 100644 --- a/lib/layouts/theorems-ams-extended-bytype.module +++ b/lib/layouts/theorems-ams-extended-bytype.module @@ -19,7 +19,7 @@ # Modularized Jan 08 by Richard Kimberly Heck # Hacked June '09 by Paul Rubin to use separate counters -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/theorems-ams-extended-chap-bytype.module b/lib/layouts/theorems-ams-extended-chap-bytype.module index dfb6aec..faab707 100644 --- a/lib/layouts/theorems-ams-extended-chap-bytype.module +++ b/lib/layouts/theorems-ams-extended-chap-bytype.module @@ -20,7 +20,7 @@ # Hacked June '09 by Paul Rubin to use separate counters # Chapter dependence added Oct '16 by Andrew Parsloe -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/theorems-ams-extended.module b/lib/layouts/theorems-ams-extended.module index 510fba8..6efe465 100644 --- a/lib/layouts/theorems-ams-extended.module +++ b/lib/layouts/theorems-ams-extended.module @@ -15,7 +15,7 @@ # Tinkered with Sep. '07 by Paul Rubin # Modularized Jan 08 by Richard Kimberly Heck -Format 93 +Format 95 Requires amsmath diff --git a/lib/layouts/theorems-ams.inc b/lib/layouts/theorems-ams.inc index 1ab5280..9718b2f 100644 --- a/lib/layouts/theorems-ams.inc +++ b/lib/layouts/theorems-ams.inc @@ -20,7 +20,7 @@ # - Proof # - Case (by inclusion) -Format 93 +Format 95 OutlinerName thm "Definitions & Theorems" diff --git a/lib/layouts/theorems-ams.module b/lib/layouts/theorems-ams.module index 85ed240..e328296 100644 --- a/lib/layouts/theorems-ams.module +++ b/lib/layouts/theorems-ams.module @@ -14,7 +14,7 @@ # Tinkered with Sep. '07 by Paul Rubin # Modularized Jan 08 by Richard Kimberly Heck -Format 93 +Format 95 Requires amsmath,amsthm diff --git a/lib/layouts/theorems-bytype.inc b/lib/layouts/theorems-bytype.inc index 237c764..deccac3 100644 --- a/lib/layouts/theorems-bytype.inc +++ b/lib/layouts/theorems-bytype.inc @@ -22,7 +22,7 @@ # - Proof # - Case (by inclusion) -Format 93 +Format 95 Style Theorem Category Reasoning diff --git a/lib/layouts/theorems-bytype.module b/lib/layouts/theorems-bytype.module index 75d523d..e2b7428 100644 --- a/lib/layouts/theorems-bytype.module +++ b/lib/layouts/theorems-bytype.module @@ -12,7 +12,7 @@ # Author: Paul Rubin (hacked from Richard Kimberly Heck's theorems-std.module) -Format 93 +Format 95 Input theorems-counters-bytype.inc Input theorems-bytype.inc diff --git a/lib/layouts/theorems-case.inc b/lib/layouts/theorems-case.inc index f186970..3c8e4ff 100644 --- a/lib/layouts/theorems-case.inc +++ b/lib/layouts/theorems-case.inc @@ -6,7 +6,7 @@ # Define Case as an enumeration environment # with its own counters -Format 93 +Format 95 Counter casei GuiName "Case (Level 1)" diff --git a/lib/layouts/theorems-chap-bytype.module b/lib/layouts/theorems-chap-bytype.module index 85e6c72..2861b74 100644 --- a/lib/layouts/theorems-chap-bytype.module +++ b/lib/layouts/theorems-chap-bytype.module @@ -12,7 +12,7 @@ # Author: Paul Rubin (hacked from Richard Kimberly Heck's various modules) -Format 93 +Format 95 Input theorems-counters-bytype.inc diff --git a/lib/layouts/theorems-chap.module b/lib/layouts/theorems-chap.module index 11dde47..8fffe4d 100644 --- a/lib/layouts/theorems-chap.module +++ b/lib/layouts/theorems-chap.module @@ -10,7 +10,7 @@ # Author: Richard Kimberly Heck -Format 93 +Format 95 Counter theorem GuiName Theorem diff --git a/lib/layouts/theorems-counters-bytype.inc b/lib/layouts/theorems-counters-bytype.inc index 000977f..457d978 100644 --- a/lib/layouts/theorems-counters-bytype.inc +++ b/lib/layouts/theorems-counters-bytype.inc @@ -1,6 +1,6 @@ # Theorem-like counters, separately for each type of theorem -Format 93 +Format 95 Counter theorem GuiName Theorem LaTeXName thm diff --git a/lib/layouts/theorems-counters-extended-bytype.inc b/lib/layouts/theorems-counters-extended-bytype.inc index 36a27f1..76008c5 100644 --- a/lib/layouts/theorems-counters-extended-bytype.inc +++ b/lib/layouts/theorems-counters-extended-bytype.inc @@ -1,6 +1,6 @@ # Theorem-like counters, extended, separately for each type of theorem -Format 93 +Format 95 Counter criterion GuiName Criterion End diff --git a/lib/layouts/theorems-named.module b/lib/layouts/theorems-named.module index ee48b0b..5565150 100644 --- a/lib/layouts/theorems-named.module +++ b/lib/layouts/theorems-named.module @@ -7,7 +7,7 @@ #DescriptionEnd #Original Author: John Perry -Format 93 +Format 95 ProvideStyle Theorem* Category Reasoning diff --git a/lib/layouts/theorems-order.inc b/lib/layouts/theorems-order.inc index 00bb456..584bd6d 100644 --- a/lib/layouts/theorems-order.inc +++ b/lib/layouts/theorems-order.inc @@ -1,7 +1,7 @@ # Sets the order of the main theorem environments # Author: Richard Kimberly Heck -Format 93 +Format 95 #Get the order right Style Theorem diff --git a/lib/layouts/theorems-proof-std.inc b/lib/layouts/theorems-proof-std.inc index e6924f3..7e34390 100644 --- a/lib/layouts/theorems-proof-std.inc +++ b/lib/layouts/theorems-proof-std.inc @@ -1,6 +1,6 @@ # Moved here by rikiheck. Original author cloudy. -Format 93 +Format 95 #This is just a hacked version of the AMS proof environment Style Proof diff --git a/lib/layouts/theorems-proof.inc b/lib/layouts/theorems-proof.inc index b68f900..01707e9 100644 --- a/lib/layouts/theorems-proof.inc +++ b/lib/layouts/theorems-proof.inc @@ -8,7 +8,7 @@ # Tinkered with Sep. '07 by Paul Rubin # Modularized Jan 08 by Richard Kimberly Heck -Format 93 +Format 95 Style Proof Category Reasoning diff --git a/lib/layouts/theorems-refprefix.inc b/lib/layouts/theorems-refprefix.inc index c33061b..7b113b0 100644 --- a/lib/layouts/theorems-refprefix.inc +++ b/lib/layouts/theorems-refprefix.inc @@ -1,6 +1,6 @@ # Reference prefixes for theorem environments -Format 93 +Format 95 ModifyStyle Theorem RefPrefix thm diff --git a/lib/layouts/theorems-sec-bytype.module b/lib/layouts/theorems-sec-bytype.module index 8b17b26..6efa866 100644 --- a/lib/layouts/theorems-sec-bytype.module +++ b/lib/layouts/theorems-sec-bytype.module @@ -12,7 +12,7 @@ # Author: Paul Rubin (hacked from Richard Kimberly Heck's various modules) -Format 93 +Format 95 Input theorems-counters-bytype.inc diff --git a/lib/layouts/theorems-sec.module b/lib/layouts/theorems-sec.module index c215bd8..e146346 100644 --- a/lib/layouts/theorems-sec.module +++ b/lib/layouts/theorems-sec.module @@ -9,7 +9,7 @@ # Author: Richard Kimberly Heck -Format 93 +Format 95 Counter theorem GuiName Theorem diff --git a/lib/layouts/theorems-starred-equivalents.inc b/lib/layouts/theorems-starred-equivalents.inc index c270992..752f4bc 100644 --- a/lib/layouts/theorems-starred-equivalents.inc +++ b/lib/layouts/theorems-starred-equivalents.inc @@ -1,7 +1,7 @@ # Sets the order of the main theorem environments # Author: Richard Kimberly Heck -Format 93 +Format 95 Style Theorem CopyStyle Theorem* diff --git a/lib/layouts/theorems-starred.inc b/lib/layouts/theorems-starred.inc index 51817aa..e7a095d 100644 --- a/lib/layouts/theorems-starred.inc +++ b/lib/layouts/theorems-starred.inc @@ -19,7 +19,7 @@ # - Claim # - Proof -Format 93 +Format 95 OutlinerName thm "Definitions & Theorems" diff --git a/lib/layouts/theorems-starred.module b/lib/layouts/theorems-starred.module index b2645f9..4cb450c 100644 --- a/lib/layouts/theorems-starred.module +++ b/lib/layouts/theorems-starred.module @@ -8,7 +8,7 @@ # Author: Richard Kimberly Heck -Format 93 +Format 95 Input theorems-order.inc Input theorems-starred.inc diff --git a/lib/layouts/theorems-std.module b/lib/layouts/theorems-std.module index b8fad68..ecf9fc7 100644 --- a/lib/layouts/theorems-std.module +++ b/lib/layouts/theorems-std.module @@ -9,7 +9,7 @@ # Author: Richard Kimberly Heck -Format 93 +Format 95 Counter theorem GuiName Theorem diff --git a/lib/layouts/theorems-without-preamble.inc b/lib/layouts/theorems-without-preamble.inc index b9fbb24..917cf12 100644 --- a/lib/layouts/theorems-without-preamble.inc +++ b/lib/layouts/theorems-without-preamble.inc @@ -26,7 +26,7 @@ # - Note -Format 93 +Format 95 OutlinerName thm "Definitions & Theorems" diff --git a/lib/layouts/theorems.inc b/lib/layouts/theorems.inc index 317368b..ee46bfb 100644 --- a/lib/layouts/theorems.inc +++ b/lib/layouts/theorems.inc @@ -20,7 +20,7 @@ # - Claim # - Case (by inclusion) -Format 93 +Format 95 OutlinerName thm "Definitions & Theorems" diff --git a/lib/layouts/todonotes.module b/lib/layouts/todonotes.module index 06d5f65..74feb56 100644 --- a/lib/layouts/todonotes.module +++ b/lib/layouts/todonotes.module @@ -10,7 +10,7 @@ # Authors: Stephen # J??rgen Spitzm??ller -Format 93 +Format 95 OutlinerName todonotes "TODO" diff --git a/lib/layouts/treport.layout b/lib/layouts/treport.layout index d6ffd71..03d6d5c 100644 --- a/lib/layouts/treport.layout +++ b/lib/layouts/treport.layout @@ -5,7 +5,7 @@ # Author : Koji Yokota (yokota at res.otaru-uc.ac.jp) # This style provides japanese features -Format 93 +Format 95 Provides japanese 1 # Input general definitions diff --git a/lib/layouts/tufte-book.layout b/lib/layouts/tufte-book.layout index 7575689..f36f395 100644 --- a/lib/layouts/tufte-book.layout +++ b/lib/layouts/tufte-book.layout @@ -5,7 +5,7 @@ # Jason Waskiewicz , 2009/10/18 # Modified by Uwe St??hr , 2009/11/15 -Format 93 +Format 95 Provides geometry 1 Provides natbib-internal 1 diff --git a/lib/layouts/tufte-handout.layout b/lib/layouts/tufte-handout.layout index 95e3658..c6f5ef1 100644 --- a/lib/layouts/tufte-handout.layout +++ b/lib/layouts/tufte-handout.layout @@ -5,7 +5,7 @@ # Juergen Spitzmueller , 2008/10/22 # Modified by Uwe St??hr , 2009/11/15 -Format 93 +Format 95 # import other layouts Input stdlayouts.inc diff --git a/lib/layouts/varwidth.module b/lib/layouts/varwidth.module index 56bb8c4..5a0063b 100644 --- a/lib/layouts/varwidth.module +++ b/lib/layouts/varwidth.module @@ -15,7 +15,7 @@ # Authors: Guillaume Munch # J??rgen Spitzm??ller -Format 93 +Format 95 InsetLayout Flex:Minipage_(Var._Width) LyXType custom commit ba74850c79dd3cdd36b14678e3e70ef579fb513c Author: jpc Date: Mon Oct 25 10:38:44 2021 +0200 Update fr.po diff --git a/po/fr.gmo b/po/fr.gmo index 7bf826f..f290e86 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 27ef394..e2e8c3a 100644 --- a/po/fr.po +++ b/po/fr.po @@ -362,8 +362,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-19 11:34+0200\n" -"PO-Revision-Date: 2021-10-19 11:42+0200\n" +"POT-Creation-Date: 2021-10-25 10:36+0200\n" +"PO-Revision-Date: 2021-10-25 10:38+0200\n" "Last-Translator: Jean-Pierre Chr??tien \n" "Language-Team: lyxfr\n" "Language: fr\n" @@ -19927,7 +19927,7 @@ msgid "Copy as Reference|R" msgstr "Copier comme r??f??rence|C" #: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108 -#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1561 +#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1567 #: src/mathed/InsetMathNest.cpp:555 msgid "Cut" msgstr "Couper" @@ -19938,7 +19938,7 @@ msgid "Copy" msgstr "Copier" #: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110 -#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1506 +#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512 #: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1560 #: src/mathed/InsetMathNest.cpp:533 msgid "Paste" @@ -28308,7 +28308,7 @@ msgid "greyedout inset text" msgstr "texte d'insert gris??" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2977 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:2979 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28319,7 +28319,7 @@ msgid "LyX Warning: " msgstr "Avertissement LyX : " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2978 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:2980 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -30678,15 +30678,15 @@ msgstr "Revenir ?? la version enregistr??e du document ?" msgid "&Revert" msgstr "&Revenir ?? la Sauvegarde" -#: src/Paragraph.cpp:2151 +#: src/Paragraph.cpp:2152 msgid "Senseless with this layout!" msgstr "Inappropri?? avec ce style !" -#: src/Paragraph.cpp:2205 +#: src/Paragraph.cpp:2206 msgid "Alignment not permitted" msgstr "Alignement non autoris??" -#: src/Paragraph.cpp:2206 +#: src/Paragraph.cpp:2207 msgid "" "The new layout does not permit the alignment previously used.\n" "Setting to default." @@ -30803,7 +30803,7 @@ msgstr "Mode ??diteur math??matique" msgid "No valid math formula" msgstr "Pas de formule math??matique valide" -#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1024 +#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1032 msgid "Already in regular expression mode" msgstr "D??j?? en mode ?? expression r??guli??re ??" @@ -30811,40 +30811,40 @@ msgstr "D??j?? en mode ?? expression r??guli??re ??" msgid "Regexp editor mode" msgstr "Mode ?? expression r??guli??re ??" -#: src/Text3.cpp:1595 +#: src/Text3.cpp:1601 msgid "Layout " msgstr "Environnement " -#: src/Text3.cpp:1596 src/Text3.cpp:2166 +#: src/Text3.cpp:1602 src/Text3.cpp:2172 msgid " not known" msgstr " inconnu" -#: src/Text3.cpp:2165 +#: src/Text3.cpp:2171 msgid "Table Style " msgstr "Style de tableau " -#: src/Text3.cpp:2358 src/frontends/qt/GuiApplication.cpp:1873 +#: src/Text3.cpp:2364 src/frontends/qt/GuiApplication.cpp:1873 msgid "Missing argument" msgstr "Param??tre manquant" -#: src/Text3.cpp:2527 +#: src/Text3.cpp:2533 msgid "Invalid argument (number exceeds stack size)!" msgstr "Argument invalide (le nombre est sup??rieur ?? la taille de la pile) !" -#: src/Text3.cpp:2531 +#: src/Text3.cpp:2537 msgid "Invalid argument (must be a non-negative number)!" msgstr "Argument invalide (nombre non n??gatif obligatoire)" -#: src/Text3.cpp:2536 src/Text3.cpp:2554 +#: src/Text3.cpp:2542 src/Text3.cpp:2560 #, c-format msgid "Text properties applied: %1$s" msgstr "Propri??t??s du texte appliqu??es : %1$s" -#: src/Text3.cpp:2713 +#: src/Text3.cpp:2719 msgid "Path to thesaurus directory not set!" msgstr "Chemin d'acc??s au r??pertoire du th??saurus non pr??cis?? !" -#: src/Text3.cpp:2714 +#: src/Text3.cpp:2720 msgid "" "The path to the thesaurus directory has not been specified.\n" "The thesaurus is not functional.\n" @@ -30856,7 +30856,7 @@ msgstr "" "Se r??f??rer au Guide de l'utilisateur, section 6.15.1, pour\n" "les instructions de r??glage." -#: src/Text3.cpp:2848 src/Text3.cpp:2859 +#: src/Text3.cpp:2854 src/Text3.cpp:2865 msgid "Paragraph layout set" msgstr "Style du paragraphe red??fini" @@ -31027,8 +31027,8 @@ msgid "Nomenclature Entries" msgstr "Entr??es de la liste des symboles" #: src/VCBackend.cpp:64 -msgid "Perhaps the RCS package is not installed on your system?" -msgstr "Le paquetage RCS n'est peut-??tre pas install?? sur votre syst??me." +msgid "Check whether the GNU RCS package is installed on your system." +msgstr "V??rifiez si le paquetage RCS GNU est install?? sur votre syst??me." #: src/VCBackend.cpp:65 src/VCBackend.cpp:880 src/VCBackend.cpp:885 #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 @@ -35701,11 +35701,11 @@ msgstr "Espacement horizontal" msgid "Horizontal Math Space" msgstr "Espacement horizontal math??matique" -#: src/insets/InsetArgument.cpp:153 +#: src/insets/InsetArgument.cpp:152 msgid "Unknown Argument" msgstr "Argument inconnu" -#: src/insets/InsetArgument.cpp:154 +#: src/insets/InsetArgument.cpp:153 msgid "Argument not known in this Layout. Will be suppressed in the output." msgstr "Argument inconnu de ce format. Sera supprim?? dans la sortie." @@ -37473,19 +37473,19 @@ msgstr "Macros math??matique : \\%1$s" msgid "Invalid macro! \\%1$s" msgstr "Macro math??matique invalide ! \\%1$s" -#: src/mathed/InsetMathNest.cpp:1010 +#: src/mathed/InsetMathNest.cpp:1018 msgid "create new math text environment ($...$)" msgstr "cr???? un nouvel environnement texte math ($...$)" -#: src/mathed/InsetMathNest.cpp:1013 +#: src/mathed/InsetMathNest.cpp:1021 msgid "entered math text mode (textrm)" msgstr "entr?? en mode texte math (textrm)" -#: src/mathed/InsetMathNest.cpp:1035 +#: src/mathed/InsetMathNest.cpp:1043 msgid "Regular expression editor mode" msgstr "Mode d'??dition ?? expression r??guli??re ??" -#: src/mathed/InsetMathNest.cpp:1934 +#: src/mathed/InsetMathNest.cpp:1942 #, c-format msgid "Cannot apply %1$s here." msgstr "Impossible d'appliquer %1$s ici." commit c38e759b283df3074f1cfb2897115162af337464 Author: Stephan Witt Date: Sun Oct 24 21:43:23 2021 +0200 #12150 don't set the directory file permissions of LyX app bundle to 444 anymore diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh index 7cd3b79..30233cc 100644 --- a/development/LyX-Mac-binary-release.sh +++ b/development/LyX-Mac-binary-release.sh @@ -1076,6 +1076,6 @@ if [ ${LyxOnlyPackage:-"no"} = "no" ]; then convert_universal copy_dictionaries test -n "${CODESIGN_IDENTITY}" && code_sign "${LYX_BUNDLE_PATH}" - find "${LyxAppPrefix}" -type d -exec chmod a-w '{}' \; + find "${LyxAppPrefix}" -type d -exec chmod go-w '{}' \; fi build_package commit aabe9e8b11b73d57d22893f5889ebee9dd97efe5 Author: Stephan Witt Date: Sun Oct 24 21:41:11 2021 +0200 Improved Qt framework configuration detection on macOS, add support for Qt6 diff --git a/config/qt.m4 b/config/qt.m4 index 129e2ab..b9ffe28 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -44,6 +44,7 @@ AC_DEFUN([QT_CHECK_COMPILE], qt_cv_libname= for libname in $qt_guilibs \ '-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtWidgets -framework QtMacExtras -framework QtGui'\ + '-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtSvgWidgets -framework QtWidgets -framework QtGui'\ '-framework QtCore -framework QtGui' do QT_TRY_LINK($libname) @@ -366,21 +367,27 @@ AC_DEFUN([QT_DO_MANUAL_CONFIG], QT_CORE_LDFLAGS= if test -n "$qt_cv_includes"; then QT_INCLUDES="-I$qt_cv_includes" - for i in Qt QtCore QtGui QtWidgets QtSvg QtConcurrent QtMacExtras; do + for i in Qt QtCore QtGui QtWidgets QtSvg QtConcurrent QtSvgWidgets QtCore5Compat QtMacExtras; do QT_INCLUDES="$QT_INCLUDES -I$qt_cv_includes/$i" + if test "$lyx_use_packaging" = "macosx" ; then + QT_INCLUDES="$QT_INCLUDES -I$qt_cv_libraries/${i}.framework/Headers" + fi done QT_CORE_INCLUDES="-I$qt_cv_includes -I$qt_cv_includes/QtCore" fi case "$qt_cv_libraries" in - *framework*) - QT_LDFLAGS="-F$qt_cv_libraries" - QT_CORE_LDFLAGS="-F$qt_cv_libraries" - ;; "") ;; *) - QT_LDFLAGS="-L$qt_cv_libraries" - QT_CORE_LDFLAGS="-L$qt_cv_libraries" + if test "$lyx_use_packaging" = "macosx" ; then + QT_INCLUDES="$QT_INCLUDES -F$qt_cv_libraries" + QT_CORE_INCLUDES="$QT_CORE_INCLUDES -I$qt_cv_libraries/QtCore.framework/Headers -F$qt_cv_libraries" + QT_LDFLAGS="-F$qt_cv_libraries" + QT_CORE_LDFLAGS="-F$qt_cv_libraries" + else + QT_LDFLAGS="-L$qt_cv_libraries" + QT_CORE_LDFLAGS="-L$qt_cv_libraries" + fi ;; esac AC_SUBST(QT_INCLUDES) diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh index 00b58e4..7cd3b79 100644 --- a/development/LyX-Mac-binary-release.sh +++ b/development/LyX-Mac-binary-release.sh @@ -374,6 +374,10 @@ case "${QtVersion}" in QtLibraries=${QtLibraries:-"QtSvg QtXml QtPrintSupport QtMacExtras QtWidgets QtGui QtNetwork QtConcurrent QtCore"} QtFrameworkVersion="5" ;; +6*) + QtLibraries=${QtLibraries:-"QtCore5Compat QtDBus QtSvg QtXml QtPrintSupport QtSvgWidgets QtWidgets QtGui QtNetwork QtConcurrent QtCore"} + QtFrameworkVersion="A" + ;; *) QtLibraries=${QtLibraries:-"QtSvg QtXml QtGui QtNetwork QtCore"} QtFrameworkVersion="4" @@ -425,16 +429,6 @@ build_qt() { "${QtSourceDir}"/configure ${QtConfigureOptions} ${QTARCHS} -prefix "${QtInstallDir}" make -j1 && make -j1 install ) - if [ -d "${QtInstallDir}" -a ! -f "${QtInstallDir}"/include/QtCore ]; then - cd "${QtInstallDir}" && ( - mkdir -p include - cd include - for libnm in ${QtLibraries} ; do - test -d ${libnm} -o -L ${libnm} || \ - ( ln -s ../lib/${libnm}.framework/Headers ${libnm} && echo Link to framework ${libnm} ) - done - ) - fi } case ${QtOnlyPackage:-"no"} in @@ -697,7 +691,7 @@ build_lyx() { mkdir -p "${LyxBuildDir}" && cd "${LyxBuildDir}" CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}" - LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYLDFLAGS} -F${QtInstallDir}/lib" + LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYLDFLAGS}" if [ "$configure_qt_frameworks" = "yes" ]; then export QT_CORE_CFLAGS="-FQtCore" commit c52344e8590bef4ca034eb03270125dd37bef3e3 Author: Stephan Witt Date: Sun Oct 24 11:28:03 2021 +0200 #12408 improved release notes text for changed shortcuts on macOS diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES index ffcbeb5..b779b62 100644 --- a/lib/RELEASE-NOTES +++ b/lib/RELEASE-NOTES @@ -24,8 +24,10 @@ * This allows Shift-F3 to be used for word-find-backwards (i.e., find previous) on Linux and Windows. -* The shortcut for word-find on OSX is now Cmd-E, as is the Apple standard. The - shortcut for word-find-previous is Cmd-G. +* The shortcut to use the selection for a find on macOS is now Cmd-E, as is the + Apple standard. The shortcut for find the next occurrence of the current + find buffer text is Cmd-G. The shortcut for toggle of font emphasis has been + changed to Cmd-Ctrl-E. * Continuous spellcheck is now on by default, but only if the user does not have an existing preferences file. In that case, the old setting is preserved. commit 436620a881dd85141d89bd3c26c462056b4d9c2a Author: Stephan Witt Date: Sat Oct 23 13:34:18 2021 +0200 #12201 force open document in tabs on Mac when user preference is Always diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp index 6bc28e9..62673f4 100644 --- a/src/LyXRC.cpp +++ b/src/LyXRC.cpp @@ -286,10 +286,6 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format) // format prior to 2.0 and introduction of format tag unsigned int rc_format = 0; -#ifdef USE_MACOSX_PACKAGING - open_buffers_in_tabs = appleUserTabbingPreferenceAlways(); -#endif - while (lexrc.isOK()) { // By using two switches we take advantage of the compiler // telling us if we have missed a LyXRCTags element in @@ -1064,6 +1060,10 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format) break; case RC_OPEN_BUFFERS_IN_TABS: lexrc >> open_buffers_in_tabs; +#ifdef USE_MACOSX_PACKAGING + if (appleUserTabbingPreferenceAlways()) + open_buffers_in_tabs = true; +#endif break; case RC_SINGLE_CLOSE_TAB_BUTTON: lexrc >> single_close_tab_button; commit 85f030a03173252dbb9d3ba75853ad48f43a8a8f Author: Jean-Marc Lasgouttes Date: Thu Oct 21 22:36:29 2021 +0200 Let Tab go out of inset when no cycling is possible Adapted patch from Enrico by adding S-Tab handling. Fixes bug #11085 diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index 7e763b7..b62505a 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -780,8 +780,12 @@ void InsetMathNest::doDispatch(Cursor & cur, FuncRequest & cmd) cur.clearTargetX(); cur.macroModeClose(); if (!cur.inset().idxNext(cur)) { - cur.idx() = firstIdx(); - cur.pos() = 0; + if (cur.lastidx() == 0) + cur.popForward(); + else { + cur.idx() = firstIdx(); + cur.pos() = 0; + } } break; @@ -791,8 +795,12 @@ void InsetMathNest::doDispatch(Cursor & cur, FuncRequest & cmd) cur.clearTargetX(); cur.macroModeClose(); if (!cur.inset().idxPrev(cur)) { - cur.idx() = cur.lastidx(); - cur.pos() = lyxrc.mac_like_cursor_movement ? cur.lastpos() : 0; + if (cur.lastidx() == 0) + cur.popBackward(); + else { + cur.idx() = cur.lastidx(); + cur.pos() = lyxrc.mac_like_cursor_movement ? cur.lastpos() : 0; + } } break; commit 2f236b01e0eb9dd7388cc446e9d0c58a3b31208f Author: Jean-Marc Lasgouttes Date: Thu Oct 21 19:14:06 2021 +0200 Make sure that language is "latex" in InsetArgument when pass-thru. The code that determine whether an InsetArgument is passThru is complex and lives in updateBuffer. This patch factors out the code in a new init method and calls it also in doInsetInsert when inserting a InsetArgument. Fixes bug #12143. diff --git a/src/Text3.cpp b/src/Text3.cpp index b1bf879..c8483fe 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -252,7 +252,7 @@ static bool doInsertInset(Cursor & cur, Text * text, cur.recordUndo(); if (cmd.action() == LFUN_ARGUMENT_INSERT) { bool cotextinsert = false; - InsetArgument const * const ia = static_cast(inset); + InsetArgument * const ia = static_cast(inset); Layout const & lay = cur.paragraph().layout(); Layout::LaTeXArgMap args = lay.args(); Layout::LaTeXArgMap::const_iterator const lait = args.find(ia->name()); @@ -275,6 +275,7 @@ static bool doInsertInset(Cursor & cur, Text * text, else ds = cur.paragraph().asString(); text->insertInset(cur, inset); + ia->init(cur.paragraph()); if (edit) inset->edit(cur, true); // Now put co-text into inset @@ -321,6 +322,11 @@ static bool doInsertInset(Cursor & cur, Text * text, inset_text->setOuterFont(cur.bv(), font.fontInfo()); } + if (cmd.action() == LFUN_ARGUMENT_INSERT) { + InsetArgument * const ia = static_cast(inset); + ia->init(cur.paragraph()); + } + if (edit) inset->edit(cur, true); diff --git a/src/insets/InsetArgument.cpp b/src/insets/InsetArgument.cpp index 811b884..88085cf 100644 --- a/src/insets/InsetArgument.cpp +++ b/src/insets/InsetArgument.cpp @@ -63,31 +63,30 @@ void InsetArgument::read(Lexer & lex) } -void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted) +void InsetArgument::init(Paragraph const & par) { - bool const insetlayout = !it.paragraph().layout().hasArgs(); + Inset const & ininset = par.inInset(); + bool const insetlayout = !par.layout().hasArgs(); Layout::LaTeXArgMap const args = insetlayout ? - it.inset().getLayout().args() : it.paragraph().layout().args(); + ininset.getLayout().args() : par.layout().args(); pass_thru_context_ = insetlayout ? - it.inset().getLayout().isPassThru() : it.paragraph().layout().pass_thru; + ininset.getLayout().isPassThru() : par.layout().pass_thru; // Record PassThru status in order to act on changes. bool const former_pass_thru = pass_thru_; // Handle pre 2.1 ArgInsets (lyx2lyx cannot classify them) // "999" is the conventional name given to those by lyx2lyx if (name_ == "999") { - int const req = insetlayout ? it.inset().getLayout().requiredArgs() - : it.paragraph().layout().requiredArgs(); - int const opts = insetlayout ? it.inset().getLayout().optArgs() - : it.paragraph().layout().optArgs(); + int const req = insetlayout ? ininset.getLayout().requiredArgs() + : par.layout().requiredArgs(); + int const opts = insetlayout ? ininset.getLayout().optArgs() + : par.layout().optArgs(); int nr = 0; int ours = 0; - InsetList::const_iterator parit = it.paragraph().insetList().begin(); - InsetList::const_iterator parend = it.paragraph().insetList().end(); - for (; parit != parend; ++parit) { - if (parit->inset->lyxCode() == ARG_CODE) { + for (InsetList::Element const & elt : par.insetList()) { + if (elt.inset->lyxCode() == ARG_CODE) { ++nr; - if (parit->inset == this) + if (elt.inset == this) ours = nr; } } @@ -133,8 +132,8 @@ void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype, bool is_toc_caption_ = true; // empty if AddToToc is not set caption_of_toc_ = insetlayout - ? it.inset().getLayout().tocType() - : it.paragraph().layout().tocType(); + ? ininset.getLayout().tocType() + : par.layout().tocType(); } switch ((*lait).second.passthru) { @@ -157,13 +156,19 @@ void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype, bool if (former_pass_thru != pass_thru_) { // PassThru status changed. We might need to update // the language of the contents - Language const * l = insetlayout - ? it.inset().buffer().language() - : it.buffer()->language(); + // Language const * l = insetlayout + // ? it.inset().buffer().language() + // : it.buffer()->language(); + Language const * l = ininset.buffer().language(); fixParagraphLanguage(l); } setButtonLabel(); +} + +void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted) +{ + init(it.paragraph()); InsetCollapsible::updateBuffer(it, utype, deleted); } diff --git a/src/insets/InsetArgument.h b/src/insets/InsetArgument.h index 7488e45..34f4309 100644 --- a/src/insets/InsetArgument.h +++ b/src/insets/InsetArgument.h @@ -51,6 +51,9 @@ public: InsetCode lyxCode() const override { return ARG_CODE; } /// docstring layoutName() const override { return from_ascii("Argument"); } + + /// Initialize the members of this inset when inserted in \c par. + void init(Paragraph const & par); /// Update the label string of this inset void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false) override; /// commit 3444a5a54af2419b4e02b4784a4d3d25f7076ee0 Author: Juergen Spitzmueller Date: Thu Oct 21 16:57:59 2021 +0200 de.po diff --git a/po/de.po b/po/de.po index cc7a3d0..03cce46 100644 --- a/po/de.po +++ b/po/de.po @@ -94,8 +94,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4git\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-17 17:27+0200\n" -"PO-Revision-Date: 2021-10-17 17:33+0200\n" +"POT-Creation-Date: 2021-10-21 16:51+0200\n" +"PO-Revision-Date: 2021-10-21 16:57+0200\n" "Last-Translator: J??rgen Spitzm??ller \n" "Language-Team: Deutsch \n" "Language: de\n" @@ -851,8 +851,8 @@ msgstr "A&lle hinzuf??gen" #: src/frontends/qt/GuiView.cpp:3181 src/frontends/qt/GuiView.cpp:3226 #: src/frontends/qt/GuiView.cpp:3281 src/frontends/qt/GuiView.cpp:3515 #: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3631 -#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4362 -#: src/frontends/qt/GuiView.cpp:4369 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4360 +#: src/frontends/qt/GuiView.cpp:4367 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Abbrechen" @@ -6227,7 +6227,7 @@ msgid "Select the output format" msgstr "Ausgabeformat w??hlen" #: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3656 -#: src/frontends/qt/GuiView.cpp:4362 +#: src/frontends/qt/GuiView.cpp:4360 msgid "&Reload" msgstr "Ne&u laden" @@ -19634,7 +19634,7 @@ msgid "Cut" msgstr "Ausschneiden" #: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109 -#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2266 +#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2268 msgid "Copy" msgstr "Kopieren" @@ -21570,7 +21570,7 @@ msgstr "Rechtschreibung w??hrend der Eingabe ??berpr??fen" msgid "Undo" msgstr "R??ckg??ngig" -#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1492 +#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1493 msgid "Redo" msgstr "Wiederholen" @@ -27994,7 +27994,7 @@ msgid "greyedout inset text" msgstr "Grauschrift-Einf??gungstext" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2977 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:2979 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28005,7 +28005,7 @@ msgid "LyX Warning: " msgstr "LyX-Warnung: " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2978 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:2980 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -28165,8 +28165,8 @@ msgstr "Das Dokument wurde extern bearbeitet" msgid "This portion of the document is deleted." msgstr "Dieser Teil des Dokuments wird gel??scht." -#: src/BufferView.cpp:1191 src/BufferView.cpp:2251 -#: src/frontends/qt/GuiView.cpp:4232 src/frontends/qt/GuiView.cpp:4320 +#: src/BufferView.cpp:1191 src/BufferView.cpp:2253 +#: src/frontends/qt/GuiView.cpp:4230 src/frontends/qt/GuiView.cpp:4318 msgid "Absolute filename expected." msgstr "Ein absoluter Dateipfad wird erwartet." @@ -28179,105 +28179,105 @@ msgstr "Die Dokumentklasse ,%1$s` konnte nicht geladen werden." msgid "No further undo information" msgstr "Nichts mehr r??ckg??ngig zu machen" -#: src/BufferView.cpp:1500 +#: src/BufferView.cpp:1501 msgid "No further redo information" msgstr "Nichts mehr zu wiederholen" -#: src/BufferView.cpp:1691 src/BufferView.cpp:1706 src/BufferView.cpp:1737 +#: src/BufferView.cpp:1693 src/BufferView.cpp:1708 src/BufferView.cpp:1739 msgid "Search string not found!" msgstr "Die Zeichenkette wurde nicht gefunden!" -#: src/BufferView.cpp:1758 +#: src/BufferView.cpp:1760 msgid "Mark off" msgstr "Marke aus" -#: src/BufferView.cpp:1764 +#: src/BufferView.cpp:1766 msgid "Mark on" msgstr "Marke ein" -#: src/BufferView.cpp:1771 +#: src/BufferView.cpp:1773 msgid "Mark removed" msgstr "Marke entfernt" -#: src/BufferView.cpp:1774 +#: src/BufferView.cpp:1776 msgid "Mark set" msgstr "Marke gesetzt" -#: src/BufferView.cpp:1865 +#: src/BufferView.cpp:1867 msgid "Statistics for the selection:" msgstr "Statistik f??r die Auswahl:" -#: src/BufferView.cpp:1867 +#: src/BufferView.cpp:1869 msgid "Statistics for the document:" msgstr "Statistik f??r das Dokument:" -#: src/BufferView.cpp:1870 +#: src/BufferView.cpp:1872 #, c-format msgid "%1$d words" msgstr "%1$d W??rter" -#: src/BufferView.cpp:1872 +#: src/BufferView.cpp:1874 msgid "One word" msgstr "Ein Wort" -#: src/BufferView.cpp:1875 +#: src/BufferView.cpp:1877 #, c-format msgid "%1$d characters (including blanks)" msgstr "%1$d Zeichen (inklusive Leerzeichen)" -#: src/BufferView.cpp:1878 +#: src/BufferView.cpp:1880 msgid "One character (including blanks)" msgstr "Ein Zeichen (inklusive Leerzeichen)" -#: src/BufferView.cpp:1881 +#: src/BufferView.cpp:1883 #, c-format msgid "%1$d characters (excluding blanks)" msgstr "%1$d Zeichen (ohne Leerzeichen)" -#: src/BufferView.cpp:1884 +#: src/BufferView.cpp:1886 msgid "One character (excluding blanks)" msgstr "Ein Zeichen (ohne Leerzeichen)" -#: src/BufferView.cpp:1886 +#: src/BufferView.cpp:1888 msgid "Statistics" msgstr "Statistik" -#: src/BufferView.cpp:2109 +#: src/BufferView.cpp:2111 #, c-format msgid "" "`inset-forall' interrupted because number of actions is larger than %1$d" msgstr "" ",inset-forall` wurde abgebrochen, da die Zahl der Aktionen %1$d ??bersteigt" -#: src/BufferView.cpp:2111 +#: src/BufferView.cpp:2113 #, c-format msgid "Applied \"%1$s\" to %2$d insets" msgstr "Der Befehl \"%1$s\" wurde auf %2$d Einf??gungen angewandt" -#: src/BufferView.cpp:2119 +#: src/BufferView.cpp:2121 msgid "Branch name" msgstr "Name des Zweigs" -#: src/BufferView.cpp:2126 src/frontends/qt/GuiBranches.cpp:225 +#: src/BufferView.cpp:2128 src/frontends/qt/GuiBranches.cpp:225 msgid "Branch already exists" msgstr "Zweig existiert bereits" -#: src/BufferView.cpp:3053 +#: src/BufferView.cpp:3055 #, c-format msgid "Inserting document %1$s..." msgstr "F??ge Dokument %1$s ein..." -#: src/BufferView.cpp:3069 +#: src/BufferView.cpp:3071 #, c-format msgid "Document %1$s inserted." msgstr "Dokument %1$s ist eingef??gt." -#: src/BufferView.cpp:3071 +#: src/BufferView.cpp:3073 #, c-format msgid "Could not insert document %1$s" msgstr "Das Dokument %1$s konnte nicht eingef??gt werden" -#: src/BufferView.cpp:3569 +#: src/BufferView.cpp:3571 #, c-format msgid "" "Could not read the specified document\n" @@ -28288,11 +28288,11 @@ msgstr "" "konnte aufgrund des folgenden Fehlers\n" "nicht gelesen werden: %2$s" -#: src/BufferView.cpp:3571 +#: src/BufferView.cpp:3573 msgid "Could not read file" msgstr "Die Datei konnte nicht gelesen werden" -#: src/BufferView.cpp:3578 +#: src/BufferView.cpp:3580 #, c-format msgid "" "%1$s\n" @@ -28301,17 +28301,17 @@ msgstr "" "%1$s\n" "ist nicht lesbar." -#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311 +#: src/BufferView.cpp:3581 src/frontends/qt/qt_helpers.cpp:311 #: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320 #: src/output.cpp:39 msgid "Could not open file" msgstr "Die Datei konnte nicht ge??ffnet werden" -#: src/BufferView.cpp:3586 +#: src/BufferView.cpp:3588 msgid "Reading not UTF-8 encoded file" msgstr "Lese nicht-UTF-8-kodierte Datei" -#: src/BufferView.cpp:3587 +#: src/BufferView.cpp:3589 msgid "" "The file is not UTF-8 encoded.\n" "It will be read as local 8Bit-encoded.\n" @@ -30383,19 +30383,19 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Zur gespeicherten Version des Dokuments zur??ckkehren?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4369 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4367 msgid "&Revert" msgstr "&Wiederherstellen" -#: src/Paragraph.cpp:2151 +#: src/Paragraph.cpp:2152 msgid "Senseless with this layout!" msgstr "F??r dieses Format nicht relevant!" -#: src/Paragraph.cpp:2205 +#: src/Paragraph.cpp:2206 msgid "Alignment not permitted" msgstr "Ausrichtung nicht erlaubt" -#: src/Paragraph.cpp:2206 +#: src/Paragraph.cpp:2207 msgid "" "The new layout does not permit the alignment previously used.\n" "Setting to default." @@ -30740,8 +30740,8 @@ msgid "Nomenclature Entries" msgstr "Nomenklatureintr??ge" #: src/VCBackend.cpp:64 -msgid "Perhaps the RCS package is not installed on your system?" -msgstr "Ist das RCS-Paket auf Ihrem System installiert?" +msgid "Check whether the GNU RCS package is installed on your system." +msgstr "Pr??fen Sie, ob das Programm GNU RCS auf Ihrem System installiert ist." #: src/VCBackend.cpp:65 src/VCBackend.cpp:880 src/VCBackend.cpp:885 #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 @@ -31012,7 +31012,7 @@ msgstr "" "M??chten Sie die ??nderungen verwerfen und zur gespeicherten Version " "zur??ckkehren?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4360 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4358 msgid "Reload saved document?" msgstr "Gespeichertes Dokument neu laden?" @@ -32015,7 +32015,7 @@ msgstr "W??hlen Sie einen Dateinamen, um die eingef??gte Grafik zu speichern als #: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2626 #: src/frontends/qt/GuiView.cpp:2767 src/frontends/qt/GuiView.cpp:2783 #: src/frontends/qt/GuiView.cpp:2795 src/frontends/qt/GuiView.cpp:2812 -#: src/frontends/qt/GuiView.cpp:2897 src/frontends/qt/GuiView.cpp:4332 +#: src/frontends/qt/GuiView.cpp:2897 src/frontends/qt/GuiView.cpp:4330 msgid "Canceled." msgstr "Abgebrochen." @@ -34920,27 +34920,27 @@ msgstr "Exportfehler" msgid "Error cloning the Buffer." msgstr "Fehler beim Klonen des Pufferspeichers." -#: src/frontends/qt/GuiView.cpp:4172 src/frontends/qt/GuiView.cpp:4192 +#: src/frontends/qt/GuiView.cpp:4170 src/frontends/qt/GuiView.cpp:4190 msgid "Exporting ..." msgstr "Exportiere ..." -#: src/frontends/qt/GuiView.cpp:4201 +#: src/frontends/qt/GuiView.cpp:4199 msgid "Previewing ..." msgstr "Generiere Vorschau ..." -#: src/frontends/qt/GuiView.cpp:4239 +#: src/frontends/qt/GuiView.cpp:4237 msgid "Document not loaded" msgstr "Dokument nicht geladen" -#: src/frontends/qt/GuiView.cpp:4326 +#: src/frontends/qt/GuiView.cpp:4324 msgid "Select file to insert" msgstr "W??hlen Sie das einzuf??gende Dokument" -#: src/frontends/qt/GuiView.cpp:4329 +#: src/frontends/qt/GuiView.cpp:4327 msgid "All Files (*)" msgstr "Alle Dateien (*)" -#: src/frontends/qt/GuiView.cpp:4357 +#: src/frontends/qt/GuiView.cpp:4355 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -34950,7 +34950,7 @@ msgstr "" "dass Sie die auf der Festplatte gespeicherte Version des Dokuments %1$s " "laden m??chten?" -#: src/frontends/qt/GuiView.cpp:4364 +#: src/frontends/qt/GuiView.cpp:4362 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -34959,61 +34959,61 @@ msgstr "" "Alle ??nderungen gehen verloren. Sind Sie sicher, dass Sie zur gespeicherten " "Version des Dokuments %1$s zur??ckkehren m??chten?" -#: src/frontends/qt/GuiView.cpp:4367 +#: src/frontends/qt/GuiView.cpp:4365 msgid "Revert to saved document?" msgstr "Gespeichertes Dokument neu laden?" -#: src/frontends/qt/GuiView.cpp:4384 +#: src/frontends/qt/GuiView.cpp:4382 msgid "Buffer export reset." msgstr "Export zur??ckgesetzt." -#: src/frontends/qt/GuiView.cpp:4407 +#: src/frontends/qt/GuiView.cpp:4405 msgid "Saving all documents..." msgstr "Speichere alle Dokumente..." -#: src/frontends/qt/GuiView.cpp:4417 +#: src/frontends/qt/GuiView.cpp:4415 msgid "All documents saved." msgstr "Alle Dokumente wurden gespeichert." -#: src/frontends/qt/GuiView.cpp:4456 +#: src/frontends/qt/GuiView.cpp:4454 msgid "Developer mode is now enabled." msgstr "Der Entwicklermodus ist nun aktiviert." -#: src/frontends/qt/GuiView.cpp:4458 +#: src/frontends/qt/GuiView.cpp:4456 msgid "Developer mode is now disabled." msgstr "Der Entwicklermodus ist nun deaktiviert." -#: src/frontends/qt/GuiView.cpp:4490 +#: src/frontends/qt/GuiView.cpp:4488 msgid "Toolbars unlocked." msgstr "Werkzeugleisten nicht verankert." -#: src/frontends/qt/GuiView.cpp:4492 +#: src/frontends/qt/GuiView.cpp:4490 msgid "Toolbars locked." msgstr "Werkzeugleisten verankert." -#: src/frontends/qt/GuiView.cpp:4505 +#: src/frontends/qt/GuiView.cpp:4503 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Eingestellte Symbolgr????e: %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4594 +#: src/frontends/qt/GuiView.cpp:4592 #, c-format msgid "%1$s unknown command!" msgstr "LFUN_UI_TOGGLE %1$s unbekannter Befehl!" -#: src/frontends/qt/GuiView.cpp:4698 +#: src/frontends/qt/GuiView.cpp:4696 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Aktueller Skalierungsfaktor: %1$d% (Standardwert: %2$d%)" -#: src/frontends/qt/GuiView.cpp:4757 +#: src/frontends/qt/GuiView.cpp:4755 msgid "Please, preview the document first." msgstr "Bitte geben Sie das Dokument zun??chst aus." -#: src/frontends/qt/GuiView.cpp:4773 +#: src/frontends/qt/GuiView.cpp:4771 msgid "Couldn't proceed." msgstr "Konnte nicht fortfahren." -#: src/frontends/qt/GuiView.cpp:5128 +#: src/frontends/qt/GuiView.cpp:5126 msgid "Disable Shell Escape" msgstr "Erlaubnis zum Aufruf externer Programme widerrufen" @@ -36932,7 +36932,7 @@ msgstr "" # , c-format # , c-format -#: src/insets/InsetText.cpp:1389 +#: src/insets/InsetText.cpp:1378 msgid "[contains tracked changes]" msgstr "[enth??lt verfolgte ??nderungen]" commit cbea71e408c64d3d203c45560731197196360e32 Author: Kornel Benko Date: Thu Oct 21 16:43:07 2021 +0200 Update sk.po diff --git a/po/sk.po b/po/sk.po index 16c9bf7..2419494 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX-2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-10-17 21:07+0200\n" -"PO-Revision-Date: 2021-10-17 19:25+0000\n" +"POT-Creation-Date: 2021-10-21 16:34+0200\n" +"PO-Revision-Date: 2021-10-21 14:36+0000\n" "Last-Translator: Kornel Benko \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -30378,8 +30378,8 @@ msgid "Nomenclature Entries" msgstr "Z??pisy nomenklat??ry" #: src/VCBackend.cpp:64 -msgid "Perhaps the RCS package is not installed on your system?" -msgstr "Azda ??e bal??k RCS nie je in??talovan?? vo va??om po????ta??i?" +msgid "Check whether the GNU RCS package is installed on your system." +msgstr "Skontrolujte ??i je bal??k GNU RCS in??talovan?? vo va??om po????ta??i." #: src/VCBackend.cpp:65 src/VCBackend.cpp:874 src/VCBackend.cpp:879 #: src/VCBackend.cpp:928 src/VCBackend.cpp:987 src/VCBackend.cpp:1046 commit 6770fe5f38b62a4bae63992b36f9babcd4c73490 Author: Pavel Sanda Date: Thu Oct 21 16:01:57 2021 +0200 * better wording diff --git a/src/VCBackend.cpp b/src/VCBackend.cpp index d83453a..ca603c9 100644 --- a/src/VCBackend.cpp +++ b/src/VCBackend.cpp @@ -61,7 +61,7 @@ int VCS::doVCCommand(string const & cmd, FileName const & path, bool reportError if (ret && reportError) { docstring rcsmsg; if (prefixIs(cmd, "ci ")) - rcsmsg = "\n" + _("Perhaps the GNU RCS package is not installed on your system?"); + rcsmsg = "\n" + _("Check whether the GNU RCS package is installed on your system."); frontend::Alert::error(_("Revision control error."), bformat(_("Some problem occurred while running the command:\n" "'%1$s'.") + rcsmsg, commit 985f7c93160de826aa58ee3deb8f459452414669 Author: Pavel Sanda Date: Thu Oct 21 15:20:28 2021 +0200 Improve error msg. diff --git a/src/VCBackend.cpp b/src/VCBackend.cpp index 3e8fc44..d83453a 100644 --- a/src/VCBackend.cpp +++ b/src/VCBackend.cpp @@ -61,7 +61,7 @@ int VCS::doVCCommand(string const & cmd, FileName const & path, bool reportError if (ret && reportError) { docstring rcsmsg; if (prefixIs(cmd, "ci ")) - rcsmsg = "\n" + _("Perhaps the RCS package is not installed on your system?"); + rcsmsg = "\n" + _("Perhaps the GNU RCS package is not installed on your system?"); frontend::Alert::error(_("Revision control error."), bformat(_("Some problem occurred while running the command:\n" "'%1$s'.") + rcsmsg, commit b55aea6776fdcc757e6c58311c52061d89620dbf Author: Juergen Spitzmueller Date: Thu Oct 21 10:27:05 2021 +0200 Prevent unneeded cprotection in branches (#12378) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index e437b65..09874a0 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -1148,6 +1148,7 @@ void Paragraph::Private::latexInset(BufferParams const & bparams, bool const cprotect = textinset ? textinset->hasCProtectContent(runparams.moving_arg) && !textinset->text().isMainText() + && inset->lyxCode() != BRANCH_CODE : false; unsigned int count2 = basefont.latexWriteStartChanges(os, bparams, rp, running_font, @@ -2823,6 +2824,7 @@ void Paragraph::latex(BufferParams const & bparams, bool const cprotect = textinset ? textinset->hasCProtectContent(runparams.moving_arg) && !textinset->text().isMainText() + && inInset().lyxCode() != BRANCH_CODE : false; column += current_font.latexWriteStartChanges(ots, bparams, runparams, basefont, last_font, false, commit cf0494bd3f0167f0cdce0f8cb32b0fa33cea6db0 Author: jpc Date: Tue Oct 19 11:43:14 2021 +0200 Update fr.po diff --git a/po/fr.gmo b/po/fr.gmo index 203cf5d..7bf826f 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 94d8580..27ef394 100644 --- a/po/fr.po +++ b/po/fr.po @@ -362,8 +362,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-05-09 11:22+0200\n" -"PO-Revision-Date: 2021-06-28 10:31+0200\n" +"POT-Creation-Date: 2021-10-19 11:34+0200\n" +"PO-Revision-Date: 2021-10-19 11:42+0200\n" "Last-Translator: Jean-Pierre Chr??tien \n" "Language-Team: lyxfr\n" "Language: fr\n" @@ -904,7 +904,7 @@ msgstr "En haut" #: src/frontends/qt/ui/BoxUi.ui:209 src/frontends/qt/ui/BoxUi.ui:239 #: src/frontends/qt/ui/TabularUi.ui:218 src/frontends/qt/ui/TabularUi.ui:409 #: lib/ui/stdcontext.inc:483 src/frontends/qt/GuiMathMatrix.cpp:55 -#: src/frontends/qt/GuiTabular.cpp:254 +#: src/frontends/qt/GuiTabular.cpp:256 msgid "Middle" msgstr "Au milieu" @@ -937,21 +937,21 @@ msgstr "??longation" #: src/frontends/qt/ui/BoxUi.ui:265 src/frontends/qt/ui/ListingsUi.ui:110 #: src/frontends/qt/ui/TabularUi.ui:344 src/frontends/qt/ui/TabularUi.ui:1553 -#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1542 -#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1040 +#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1544 +#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042 msgid "Left" msgstr "?? gauche" #: src/frontends/qt/ui/BoxUi.ui:270 src/frontends/qt/ui/TabularUi.ui:349 #: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:73 -#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1041 +#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1043 msgid "Center" msgstr "Centr??" #: src/frontends/qt/ui/BoxUi.ui:275 src/frontends/qt/ui/ListingsUi.ui:115 #: src/frontends/qt/ui/TabularUi.ui:354 src/frontends/qt/ui/WrapUi.ui:52 -#: src/frontends/qt/GuiDocument.cpp:1544 src/frontends/qt/GuiParagraph.cpp:116 -#: src/frontends/qt/GuiTabular.cpp:1042 +#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiParagraph.cpp:116 +#: src/frontends/qt/GuiTabular.cpp:1044 msgid "Right" msgstr "?? droite" @@ -1036,7 +1036,7 @@ msgid "Remove the selected branch" msgstr "Enlever la branche s??lectionn??e" #: src/frontends/qt/ui/BranchesUi.ui:74 src/frontends/qt/ui/IndicesUi.ui:165 -#: src/Buffer.cpp:4723 src/Buffer.cpp:4736 +#: src/Buffer.cpp:4736 src/Buffer.cpp:4749 msgid "&Remove" msgstr "&Enlever" @@ -1110,17 +1110,17 @@ msgid "Add A&ll" msgstr "Ajouter &tout" #: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458 -#: src/Buffer.cpp:4697 src/Buffer.cpp:4807 src/LyXVC.cpp:114 src/LyXVC.cpp:310 +#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310 #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2834 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2836 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2807 src/frontends/qt/GuiView.cpp:3039 -#: src/frontends/qt/GuiView.cpp:3063 src/frontends/qt/GuiView.cpp:3077 -#: src/frontends/qt/GuiView.cpp:3179 src/frontends/qt/GuiView.cpp:3224 -#: src/frontends/qt/GuiView.cpp:3279 src/frontends/qt/GuiView.cpp:3513 -#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3629 -#: src/frontends/qt/GuiView.cpp:3654 src/frontends/qt/GuiView.cpp:4358 -#: src/frontends/qt/GuiView.cpp:4365 src/insets/InsetBibtex.cpp:153 +#: src/frontends/qt/GuiView.cpp:2809 src/frontends/qt/GuiView.cpp:3041 +#: src/frontends/qt/GuiView.cpp:3065 src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3181 src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3281 src/frontends/qt/GuiView.cpp:3515 +#: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3631 +#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4360 +#: src/frontends/qt/GuiView.cpp:4367 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Annuler" @@ -1159,15 +1159,15 @@ msgstr "&Taille :" #: src/frontends/qt/GuiCharacter.cpp:136 src/frontends/qt/GuiCharacter.cpp:147 #: src/frontends/qt/GuiCharacter.cpp:190 src/frontends/qt/GuiCharacter.cpp:241 #: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:858 -#: src/frontends/qt/GuiDocument.cpp:878 src/frontends/qt/GuiDocument.cpp:1048 -#: src/frontends/qt/GuiDocument.cpp:1133 src/frontends/qt/GuiDocument.cpp:1179 -#: src/frontends/qt/GuiDocument.cpp:1190 src/frontends/qt/GuiDocument.cpp:1418 -#: src/frontends/qt/GuiDocument.cpp:1536 src/frontends/qt/GuiDocument.cpp:1543 -#: src/frontends/qt/GuiDocument.cpp:2576 src/frontends/qt/GuiDocument.cpp:2663 -#: src/frontends/qt/GuiDocument.cpp:2664 src/frontends/qt/GuiDocument.cpp:2665 -#: src/frontends/qt/GuiDocument.cpp:2685 src/frontends/qt/GuiDocument.cpp:2692 -#: src/frontends/qt/GuiDocument.cpp:2699 src/frontends/qt/GuiDocument.cpp:2789 -#: src/frontends/qt/GuiDocument.cpp:3398 src/frontends/qt/GuiDocument.cpp:4894 +#: src/frontends/qt/GuiDocument.cpp:878 src/frontends/qt/GuiDocument.cpp:1050 +#: src/frontends/qt/GuiDocument.cpp:1135 src/frontends/qt/GuiDocument.cpp:1181 +#: src/frontends/qt/GuiDocument.cpp:1192 src/frontends/qt/GuiDocument.cpp:1420 +#: src/frontends/qt/GuiDocument.cpp:1538 src/frontends/qt/GuiDocument.cpp:1545 +#: src/frontends/qt/GuiDocument.cpp:2578 src/frontends/qt/GuiDocument.cpp:2665 +#: src/frontends/qt/GuiDocument.cpp:2666 src/frontends/qt/GuiDocument.cpp:2667 +#: src/frontends/qt/GuiDocument.cpp:2687 src/frontends/qt/GuiDocument.cpp:2694 +#: src/frontends/qt/GuiDocument.cpp:2701 src/frontends/qt/GuiDocument.cpp:2791 +#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4893 #: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71 #: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160 #: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479 @@ -1365,7 +1365,7 @@ msgstr "Lan&gue :" #: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440 #: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482 #: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327 -#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1767 +#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1769 #: src/frontends/qt/GuiPrefs.cpp:2426 src/frontends/qt/Menus.cpp:938 msgid "Language" msgstr "Langue" @@ -1559,7 +1559,7 @@ msgid "Greyed-out notes:" msgstr "Notes gris??es :" #: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256 -#: src/frontends/qt/GuiDocument.cpp:2205 src/frontends/qt/GuiDocument.cpp:2235 +#: src/frontends/qt/GuiDocument.cpp:2207 src/frontends/qt/GuiDocument.cpp:2237 msgid "&Change..." msgstr "&Modifier..." @@ -3678,7 +3678,7 @@ msgstr "Images" #: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63 #: lib/layouts/egs.layout:712 lib/languages:146 -#: src/frontends/qt/GuiDocument.cpp:1597 src/frontends/qt/GuiErrorList.cpp:50 +#: src/frontends/qt/GuiDocument.cpp:1599 src/frontends/qt/GuiErrorList.cpp:50 #: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642 msgid "LaTeX" msgstr "LaTeX" @@ -3889,7 +3889,7 @@ msgstr "Pa&ysage" #: src/frontends/qt/ui/PageLayoutUi.ui:162 #: lib/layouts/customHeadersFooters.module:3 lib/layouts/landscape.module:3 -#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1765 +#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1767 msgid "Page Layout" msgstr "Format de la page" @@ -3934,9 +3934,9 @@ msgstr "Double" #: src/frontends/qt/ui/TabularUi.ui:1277 src/frontends/qt/ui/VSpaceUi.ui:118 #: lib/layouts/stdcustom.inc:8 src/frontends/qt/FloatPlacement.cpp:185 #: src/frontends/qt/GuiDocument.cpp:859 src/frontends/qt/GuiDocument.cpp:865 -#: src/frontends/qt/GuiDocument.cpp:873 src/frontends/qt/GuiDocument.cpp:987 -#: src/frontends/qt/GuiDocument.cpp:1054 src/frontends/qt/GuiDocument.cpp:1140 -#: src/frontends/qt/GuiDocument.cpp:1191 src/frontends/qt/GuiDocument.cpp:1537 +#: src/frontends/qt/GuiDocument.cpp:873 src/frontends/qt/GuiDocument.cpp:989 +#: src/frontends/qt/GuiDocument.cpp:1056 src/frontends/qt/GuiDocument.cpp:1142 +#: src/frontends/qt/GuiDocument.cpp:1193 src/frontends/qt/GuiDocument.cpp:1539 #: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816 #: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871 #: src/frontends/qt/GuiPrefs.cpp:2325 src/frontends/qt/GuiPrefs.cpp:2348 @@ -4753,18 +4753,18 @@ msgstr "" "documents" #: src/frontends/qt/ui/PrefLanguageUi.ui:77 -#: src/frontends/qt/GuiDocument.cpp:1050 src/frontends/qt/GuiDocument.cpp:2706 +#: src/frontends/qt/GuiDocument.cpp:1052 src/frontends/qt/GuiDocument.cpp:2708 #: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843 msgid "Automatic" msgstr "Automatique" #: src/frontends/qt/ui/PrefLanguageUi.ui:82 -#: src/frontends/qt/GuiDocument.cpp:1052 +#: src/frontends/qt/GuiDocument.cpp:1054 msgid "Always Babel" msgstr "Toujours utiliser babel" #: src/frontends/qt/ui/PrefLanguageUi.ui:92 -#: src/frontends/qt/GuiDocument.cpp:1056 +#: src/frontends/qt/GuiDocument.cpp:1058 msgid "None[[language package]]" msgstr "Aucun" @@ -4939,7 +4939,7 @@ msgid "Default length &unit:" msgstr "Unit?? de &longueur implicite :" #: src/frontends/qt/ui/PrefLanguageUi.ui:348 -#: src/frontends/qt/GuiDocument.cpp:1013 +#: src/frontends/qt/GuiDocument.cpp:1015 msgid "Language Default" msgstr "Langue implicite" @@ -5803,7 +5803,7 @@ msgstr "I&gnorer" #: src/frontends/qt/ui/SpellcheckerUi.ui:175 msgid "" -"Ignore all occurrences of this word within this document. This is perdurant " +"Ignore all occurrences of this word within this document. This persists " "beyond the current session." msgstr "" "Ignorer toutes les occurrences de ce mot dans ce document. Ceci persistera " @@ -5945,12 +5945,12 @@ msgid "Horizontal alignment in column" msgstr "Alignement horizontal dans la colonne" #: src/frontends/qt/ui/TabularUi.ui:339 src/frontends/qt/GuiParagraph.cpp:114 -#: src/frontends/qt/GuiTabular.cpp:1044 +#: src/frontends/qt/GuiTabular.cpp:1046 msgid "Justified" msgstr "Justifi??" -#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:247 -#: src/frontends/qt/GuiTabular.cpp:1046 +#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:249 +#: src/frontends/qt/GuiTabular.cpp:1048 msgid "At Decimal Separator" msgstr "Au s??parateur d??cimal" @@ -6500,8 +6500,8 @@ msgstr "Seulement le corps" msgid "Select the output format" msgstr "S??lectionner le format de sortie" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3654 -#: src/frontends/qt/GuiView.cpp:4358 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3656 +#: src/frontends/qt/GuiView.cpp:4360 msgid "&Reload" msgstr "&Recharger" @@ -7375,7 +7375,7 @@ msgstr "D??finition" #: lib/layouts/theorems-without-preamble.inc:240 #: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204 #: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216 -#: src/frontends/qt/GuiDocument.cpp:1344 +#: src/frontends/qt/GuiDocument.cpp:1346 msgid "Example" msgstr "Exemple" @@ -7593,8 +7593,8 @@ msgstr "Solution \\thesolution." msgid "Summary" msgstr "R??sum??" -#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1805 -#: src/frontends/qt/Menus.cpp:1820 +#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1803 +#: src/frontends/qt/Menus.cpp:1818 msgid "Caption" msgstr "L??gende" @@ -7882,7 +7882,7 @@ msgstr "TitreRevueExpert" #: lib/layouts/ijmpc.layout:496 lib/layouts/ijmpc.layout:498 #: lib/layouts/ijmpd.layout:520 lib/layouts/ijmpd.layout:522 #: lib/layouts/kluwer.layout:364 lib/layouts/kluwer.layout:377 -#: lib/examples/Articles:0 src/RowPainter.cpp:369 +#: lib/examples/Articles:0 src/RowPainter.cpp:373 msgid "Appendix" msgstr "Annexe" @@ -7919,7 +7919,7 @@ msgstr "Titre court pour l'annexe" #: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657 #: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294 #: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0 -#: src/frontends/qt/GuiDocument.cpp:1771 src/insets/InsetBibtex.cpp:957 +#: src/frontends/qt/GuiDocument.cpp:1773 src/insets/InsetBibtex.cpp:957 msgid "Bibliography" msgstr "Bibliographie" @@ -8479,7 +8479,7 @@ msgid "Altaffilation" msgstr "AutreAffiliation" #: lib/layouts/aastex.layout:201 lib/layouts/agutex.layout:132 -#: src/mathed/InsetMathHull.cpp:1856 src/mathed/InsetMathHull.cpp:1865 +#: src/mathed/InsetMathHull.cpp:1866 src/mathed/InsetMathHull.cpp:1875 msgid "Number" msgstr "Num??ro" @@ -8495,9 +8495,9 @@ msgstr "Autre affiliation :" msgid "And" msgstr "Et" -#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3137 -#: src/frontends/qt/GuiDocument.cpp:3149 src/frontends/qt/GuiDocument.cpp:3275 -#: src/frontends/qt/GuiDocument.cpp:3294 +#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3136 +#: src/frontends/qt/GuiDocument.cpp:3148 src/frontends/qt/GuiDocument.cpp:3274 +#: src/frontends/qt/GuiDocument.cpp:3293 msgid "and" msgstr "et" @@ -12968,8 +12968,8 @@ msgid "Fixme Error" msgstr "Erreur Fixme" #: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199 -#: src/frontends/qt/GuiDocument.cpp:2847 src/frontends/qt/GuiDocument.cpp:2921 -#: src/frontends/qt/GuiDocument.cpp:4837 +#: src/frontends/qt/GuiDocument.cpp:2849 src/frontends/qt/GuiDocument.cpp:2923 +#: src/frontends/qt/GuiDocument.cpp:4836 msgid "Error" msgstr "Erreur" @@ -14729,197 +14729,197 @@ msgstr "Structure arborescente" msgid "Tree" msgstr "Arborescence" -#: lib/layouts/linguistics.module:286 lib/layouts/linguistics.module:288 +#: lib/layouts/linguistics.module:287 lib/layouts/linguistics.module:289 msgid "DRS" msgstr "DRS" -#: lib/layouts/linguistics.module:289 +#: lib/layouts/linguistics.module:290 msgid "Discourse Representation Structure|D" msgstr "Repr??sentation Structur??e du Discours (DRS)|D" -#: lib/layouts/linguistics.module:301 lib/layouts/linguistics.module:448 +#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449 msgid "Referents" msgstr "R??f??rents" -#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449 +#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450 msgid "DRS Referents" msgstr "R??f??rents de DRS" -#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450 +#: lib/layouts/linguistics.module:304 lib/layouts/linguistics.module:451 msgid "Add the DRS referents (universe) here" msgstr "Ajouter les r??f??rents de DRS (universels) ici" -#: lib/layouts/linguistics.module:310 lib/layouts/linguistics.module:312 +#: lib/layouts/linguistics.module:311 lib/layouts/linguistics.module:313 msgid "DRS*" msgstr "DRS*" -#: lib/layouts/linguistics.module:313 +#: lib/layouts/linguistics.module:314 msgid "Discourse Representation Structure (unspaced)|u" msgstr "Repr??sentation Structur??e du Discours (sans espaces)|u" -#: lib/layouts/linguistics.module:318 +#: lib/layouts/linguistics.module:319 msgid "IfThen-DRS" msgstr "SiAlors-DRS" -#: lib/layouts/linguistics.module:320 lib/layouts/linguistics.module:321 +#: lib/layouts/linguistics.module:321 lib/layouts/linguistics.module:322 msgid "If-Then DRS" msgstr "Si-Alors de DRS" -#: lib/layouts/linguistics.module:325 lib/layouts/linguistics.module:360 -#: lib/layouts/linguistics.module:404 +#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:361 +#: lib/layouts/linguistics.module:405 msgid "Then-Referents" msgstr "R??f??rents-Alors" -#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:335 -#: lib/layouts/linguistics.module:361 lib/layouts/linguistics.module:370 -#: lib/layouts/linguistics.module:405 lib/layouts/linguistics.module:414 +#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:336 +#: lib/layouts/linguistics.module:362 lib/layouts/linguistics.module:371 +#: lib/layouts/linguistics.module:406 lib/layouts/linguistics.module:415 msgid "DRS Then-Referents" msgstr "R??f??rents-Alors de DRS" -#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:362 -#: lib/layouts/linguistics.module:406 +#: lib/layouts/linguistics.module:328 lib/layouts/linguistics.module:363 +#: lib/layouts/linguistics.module:407 msgid "Add the DRS then-referents (universe) here" msgstr "Ajouter les r??f??rents-alors DRS (universels) ici" -#: lib/layouts/linguistics.module:334 lib/layouts/linguistics.module:369 -#: lib/layouts/linguistics.module:413 +#: lib/layouts/linguistics.module:335 lib/layouts/linguistics.module:370 +#: lib/layouts/linguistics.module:414 msgid "Then-Conditions" msgstr "Conditions-Alors" -#: lib/layouts/linguistics.module:336 lib/layouts/linguistics.module:371 -#: lib/layouts/linguistics.module:415 +#: lib/layouts/linguistics.module:337 lib/layouts/linguistics.module:372 +#: lib/layouts/linguistics.module:416 msgid "Add the DRS then-conditions here" msgstr "Ajouter les conditions-alors de DRS ici" -#: lib/layouts/linguistics.module:344 +#: lib/layouts/linguistics.module:345 msgid "Cond-DRS" msgstr "DRS-Cond" -#: lib/layouts/linguistics.module:346 +#: lib/layouts/linguistics.module:347 msgid "Cond. DRS" msgstr "DRS Cond." -#: lib/layouts/linguistics.module:347 +#: lib/layouts/linguistics.module:348 msgid "Conditional DRS" msgstr "DRS conditionnelle" -#: lib/layouts/linguistics.module:351 +#: lib/layouts/linguistics.module:352 msgid "Cond." msgstr "Cond." -#: lib/layouts/linguistics.module:352 +#: lib/layouts/linguistics.module:353 msgid "DRS Condition" msgstr "Condition de DRS" -#: lib/layouts/linguistics.module:353 +#: lib/layouts/linguistics.module:354 msgid "Add the DRS condition here" msgstr "Ajouter la condition de la DRS ici" -#: lib/layouts/linguistics.module:379 +#: lib/layouts/linguistics.module:380 msgid "QDRS" msgstr "QDRS" -#: lib/layouts/linguistics.module:381 +#: lib/layouts/linguistics.module:382 msgid "Dupl. Cond. DRS" msgstr "DRS cond. duplex" -#: lib/layouts/linguistics.module:382 +#: lib/layouts/linguistics.module:383 msgid "Duplex Condition DRS" msgstr "DRS conditionnelle duplex" -#: lib/layouts/linguistics.module:386 +#: lib/layouts/linguistics.module:387 msgid "Quant." msgstr "Quant." -#: lib/layouts/linguistics.module:387 +#: lib/layouts/linguistics.module:388 msgid "DRS Quantifier" msgstr "Quantifieur de DRS" -#: lib/layouts/linguistics.module:388 +#: lib/layouts/linguistics.module:389 msgid "Add the DRS duplex quantifier here" msgstr "Ajouter le quantifieur duplex de DRS ici" -#: lib/layouts/linguistics.module:395 +#: lib/layouts/linguistics.module:396 msgid "Quant. Var." msgstr "Var. quant." -#: lib/layouts/linguistics.module:396 +#: lib/layouts/linguistics.module:397 msgid "DRS Quantifier Variable" msgstr "Variable de quantifieur de DRS" -#: lib/layouts/linguistics.module:397 +#: lib/layouts/linguistics.module:398 msgid "Add the DRS duplex quantifier variables here" msgstr "Ajouter les variables du quantifieur duplex DRS ici" -#: lib/layouts/linguistics.module:424 +#: lib/layouts/linguistics.module:425 msgid "NegDRS" msgstr "DRSNeg" -#: lib/layouts/linguistics.module:426 +#: lib/layouts/linguistics.module:427 msgid "Neg. DRS" msgstr "DRS neg." -#: lib/layouts/linguistics.module:427 +#: lib/layouts/linguistics.module:428 msgid "Negated DRS" msgstr "DRS n??gative" -#: lib/layouts/linguistics.module:432 +#: lib/layouts/linguistics.module:433 msgid "SDRS" msgstr "SDRS" -#: lib/layouts/linguistics.module:434 +#: lib/layouts/linguistics.module:435 msgid "Sent. DRS" msgstr "Phr. de DRS" -#: lib/layouts/linguistics.module:435 +#: lib/layouts/linguistics.module:436 msgid "DRS with Sentence above" msgstr "DRS avec phrase au-dessus" -#: lib/layouts/linguistics.module:439 +#: lib/layouts/linguistics.module:440 msgid "Sentence" msgstr "Phrase" -#: lib/layouts/linguistics.module:440 +#: lib/layouts/linguistics.module:441 msgid "DRS Sentence" msgstr "Phrase DRS" -#: lib/layouts/linguistics.module:441 +#: lib/layouts/linguistics.module:442 msgid "Add the sentence here" msgstr "Ajouter la phrase ici" -#: lib/layouts/linguistics.module:462 +#: lib/layouts/linguistics.module:463 msgid "Expression" msgstr "Expression" -#: lib/layouts/linguistics.module:464 +#: lib/layouts/linguistics.module:465 msgid "expr." msgstr "expr." -#: lib/layouts/linguistics.module:476 +#: lib/layouts/linguistics.module:477 msgid "Concepts" msgstr "Concepts" -#: lib/layouts/linguistics.module:478 +#: lib/layouts/linguistics.module:479 msgid "concept" msgstr "concept" -#: lib/layouts/linguistics.module:490 +#: lib/layouts/linguistics.module:491 msgid "Meaning" msgstr "Signification" -#: lib/layouts/linguistics.module:492 +#: lib/layouts/linguistics.module:493 msgid "meaning" msgstr "signification" -#: lib/layouts/linguistics.module:505 +#: lib/layouts/linguistics.module:506 msgid "Tableaux" msgstr "Tableaux" -#: lib/layouts/linguistics.module:509 +#: lib/layouts/linguistics.module:510 msgid "Tableau" msgstr "Tableau" -#: lib/layouts/linguistics.module:514 +#: lib/layouts/linguistics.module:515 msgid "List of Tableaux" msgstr "Liste des tableaux" @@ -17338,7 +17338,7 @@ msgstr "Notes de bas de page" msgid "Notes" msgstr "Notes" -#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1778 +#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1780 msgid "Branches" msgstr "Branches" @@ -17376,7 +17376,7 @@ msgstr "Liste des listings" msgid "List of Listings" msgstr "Liste des listings" -#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1776 +#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1778 msgid "Listings[[inset]]" msgstr "Listings" @@ -17435,11 +17435,11 @@ msgstr "Sous-??quations" #: lib/layouts/subequations.module:6 msgid "" -"Provide a straightforward way to segregate subequations in LyX. See the " -"subequations.lyx example file." +"Provide a straightforward way to segregate subequations in LyX. See the Math " +"manual." msgstr "" "Fournit une m??thode simple pour d??ployer les sous-??quations en LyX. Voir le " -"fichier d'exemple subequations.lyx." +"manuel de Maths." #: lib/layouts/svcommon.inc:72 msgid "Front Matter" @@ -19927,18 +19927,18 @@ msgid "Copy as Reference|R" msgstr "Copier comme r??f??rence|C" #: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108 -#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1556 +#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1561 #: src/mathed/InsetMathNest.cpp:555 msgid "Cut" msgstr "Couper" #: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109 -#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2279 +#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2268 msgid "Copy" msgstr "Copier" #: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110 -#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1501 +#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1506 #: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1560 #: src/mathed/InsetMathNest.cpp:533 msgid "Paste" @@ -21874,11 +21874,11 @@ msgstr "Correction orthographique" msgid "Spellcheck continuously" msgstr "Correction orthographique ?? la vol??e" -#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1479 +#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1472 msgid "Undo" msgstr "Annuler" -#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1499 +#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1493 msgid "Redo" msgstr "Refaire" @@ -22259,7 +22259,7 @@ msgid "Fractions" msgstr "Fractions" #: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442 -#: src/frontends/qt/GuiDocument.cpp:1763 +#: src/frontends/qt/GuiDocument.cpp:1765 msgid "Fonts" msgstr "Polices" @@ -22276,7 +22276,7 @@ msgid "Big operators" msgstr "Grands op??rateurs" #: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690 -#: src/frontends/qt/GuiDocument.cpp:5169 +#: src/frontends/qt/GuiDocument.cpp:5168 msgid "Miscellaneous" msgstr "Divers" @@ -27131,7 +27131,7 @@ msgstr "MS Word Office Open XML|O" msgid "Table (CSV)" msgstr "Tableau (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1604 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1602 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -27224,11 +27224,11 @@ msgstr "gnuplot" msgid "gnuplot|Gnuplot" msgstr "gnuplot|Gnuplot" -#: lib/configure.py:1327 +#: lib/configure.py:1346 msgid "LyX Archive (zip)" msgstr "Archive LyX (zip)" -#: lib/configure.py:1330 +#: lib/configure.py:1349 msgid "LyX Archive (tar.gz)" msgstr "Archive LyX (tar.gz)" @@ -27306,6 +27306,10 @@ msgid "Localization Test" msgstr "Test de localisation" #: lib/examples/Articles:0 +msgid "PDF-form" +msgstr "Formulaire PDF" + +#: lib/examples/Articles:0 msgid "Noweb Listerrors" msgstr "Liste d'erreurs Noweb" @@ -27314,6 +27318,10 @@ msgid "LilyPond Book" msgstr "Livre LilyPond" #: lib/examples/Articles:0 +msgid "Linguisticsnew" +msgstr "Linguisticsnew" + +#: lib/examples/Articles:0 msgid "Noweb2LyX" msgstr "Noweb2LyX" @@ -27325,7 +27333,7 @@ msgstr "Mentions de danger et conseils de prudence" msgid "Multilingual Captions" msgstr "L??gendes multilingues" -#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1761 +#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1763 msgid "Modules" msgstr "Modules" @@ -27557,11 +27565,11 @@ msgstr "il manque \\begin_header" msgid "\\begin_document is missing" msgstr "il manque \\begin_document" -#: src/Buffer.cpp:1043 src/Buffer.cpp:3016 +#: src/Buffer.cpp:1043 src/Buffer.cpp:3026 msgid "Changes not shown in LaTeX output" msgstr "Modifications non affich??es dans la sortie" -#: src/Buffer.cpp:1044 src/Buffer.cpp:3017 +#: src/Buffer.cpp:1044 src/Buffer.cpp:3027 msgid "" "Changes will not be highlighted in LaTeX output, because xcolor and ulem are " "not installed.\n" @@ -27651,7 +27659,7 @@ msgstr "" "%1$s vient d'une version plus r??cente de LyX, et le script lyx2lyx n'a pas " "r??ussi ?? le convertir." -#: src/Buffer.cpp:1445 src/Buffer.cpp:4707 src/Buffer.cpp:4816 +#: src/Buffer.cpp:1445 src/Buffer.cpp:4720 src/Buffer.cpp:4829 msgid "File is read-only" msgstr "Fichier en lecture seule" @@ -27675,8 +27683,8 @@ msgid "Overwrite modified file?" msgstr "??craser le fichier modifi?? ?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2807 -#: src/frontends/qt/GuiView.cpp:3076 src/frontends/qt/GuiView.cpp:3179 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2809 +#: src/frontends/qt/GuiView.cpp:3078 src/frontends/qt/GuiView.cpp:3181 msgid "&Overwrite" msgstr "??&craser" @@ -27878,53 +27886,53 @@ msgstr "" "LaTeX car elles requi??rent des paquetages de langues en conflit.\n" "%1$s%2$s" -#: src/Buffer.cpp:2324 +#: src/Buffer.cpp:2334 msgid "Running chktex..." msgstr "Ex??cution de chktex..." -#: src/Buffer.cpp:2343 +#: src/Buffer.cpp:2353 msgid "chktex failure" msgstr "??chec de chktex" -#: src/Buffer.cpp:2344 +#: src/Buffer.cpp:2354 msgid "Could not run chktex successfully." msgstr "Chktex ne s'est pas ex??cut?? correctement." -#: src/Buffer.cpp:2719 +#: src/Buffer.cpp:2729 #, c-format msgid "Don't know how to export to format: %1$s" msgstr "Pas d'information pour exporter au format : %1$s" -#: src/Buffer.cpp:2823 +#: src/Buffer.cpp:2833 #, c-format msgid "Error exporting to format: %1$s." msgstr "Erreur ?? l'exportation au format %1$s." -#: src/Buffer.cpp:2832 +#: src/Buffer.cpp:2842 msgid "Error generating literate programming code." msgstr "Erreur lors de la g??n??ration du code de programmation litt??raire." -#: src/Buffer.cpp:2908 +#: src/Buffer.cpp:2918 #, c-format msgid "Branch \"%1$s\" does not exist." msgstr "Branche ?? %1$s ?? inexistante." -#: src/Buffer.cpp:2941 +#: src/Buffer.cpp:2951 #, c-format msgid "Branch \"%1$s\" already exists." msgstr "La branche ?? %1$s ?? existe d??j??." -#: src/Buffer.cpp:2998 +#: src/Buffer.cpp:3008 msgid "Error viewing the output file." msgstr "Erreur lors de l'affichage du fichier imprimable." -#: src/Buffer.cpp:3360 src/frontends/qt/GuiView.cpp:2638 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2640 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" msgstr "Nom de fichier invalide" -#: src/Buffer.cpp:3361 src/insets/ExternalSupport.cpp:395 +#: src/Buffer.cpp:3371 src/insets/ExternalSupport.cpp:395 #: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:607 msgid "" "The following filename will cause troubles when running the exported file " @@ -27933,12 +27941,12 @@ msgstr "" "Le nom de fichier suivant risque de causer des probl??mes quand le fichier " "export?? sera trait?? avec LaTeX : " -#: src/Buffer.cpp:3366 src/insets/ExternalSupport.cpp:400 +#: src/Buffer.cpp:3376 src/insets/ExternalSupport.cpp:400 #: src/insets/InsetGraphics.cpp:700 src/insets/InsetInclude.cpp:611 msgid "Problematic filename for DVI" msgstr "Nom de fichier probl??matique pour DVI" -#: src/Buffer.cpp:3367 src/insets/ExternalSupport.cpp:401 +#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:401 #: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:612 msgid "" "The following filename can cause troubles when running the exported file " @@ -27947,11 +27955,11 @@ msgstr "" "Le nom de fichier suivant risque de causer des probl??mes quand le fichier " "export?? sera trait?? avec LaTeX, ?? l'ouverture du fichier DVI : " -#: src/Buffer.cpp:3406 src/insets/InsetBibtex.cpp:349 +#: src/Buffer.cpp:3416 src/insets/InsetBibtex.cpp:349 msgid "Export Warning!" msgstr "Alerte d'exportation !" -#: src/Buffer.cpp:3407 +#: src/Buffer.cpp:3417 msgid "" "There are spaces in the paths to your BibTeX databases.\n" "BibTeX will be unable to find them." @@ -27959,57 +27967,57 @@ msgstr "" "Il y a des espaces dans les chemins de vos bases de donn??es BibTeX.\n" "BibTeX n'arrivera pas ?? les trouver." -#: src/Buffer.cpp:4081 +#: src/Buffer.cpp:4091 #, c-format msgid "Preview source code for paragraph %1$d" msgstr "Visionner le code LaTeX du paragraphe %1$d" -#: src/Buffer.cpp:4086 +#: src/Buffer.cpp:4096 #, c-format msgid "Preview source code from paragraph %1$s to %2$s" msgstr "Visionner le code LaTeX des paragraphes %1$s ?? %2$s" -#: src/Buffer.cpp:4141 +#: src/Buffer.cpp:4151 msgid "Preview source code" msgstr "Visionner le code LaTeX" -#: src/Buffer.cpp:4143 +#: src/Buffer.cpp:4153 msgid "Preview preamble" msgstr "Aper??u pr??ambule" -#: src/Buffer.cpp:4145 +#: src/Buffer.cpp:4155 msgid "Preview body" msgstr "Aper??u corps" -#: src/Buffer.cpp:4161 +#: src/Buffer.cpp:4171 msgid "Plain text does not have a preamble." msgstr "Le texte brut ne poss??de pas de pr??ambule." -#: src/Buffer.cpp:4298 +#: src/Buffer.cpp:4308 msgid "Autosaving current document..." msgstr "Sauvegarde automatique du document..." -#: src/Buffer.cpp:4420 +#: src/Buffer.cpp:4433 #, c-format msgid "No information for exporting the format %1$s." msgstr "Pas d'information pour exporter au format %1$s." -#: src/Buffer.cpp:4424 +#: src/Buffer.cpp:4437 #, c-format msgid "Hint: use non-TeX fonts or set input encoding to '%1$s'" msgstr "" "Astuce : utiliser les polices non-TeX ou positionner l'encodage d'entr??e ?? ?? " "%1$s ??" -#: src/Buffer.cpp:4426 +#: src/Buffer.cpp:4439 msgid "Couldn't export file" msgstr "Exportation du fichier impossible" -#: src/Buffer.cpp:4494 src/frontends/qt/GuiView.cpp:2780 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2782 msgid "File name error" msgstr "Erreur de nom de fichier" -#: src/Buffer.cpp:4495 +#: src/Buffer.cpp:4508 #, c-format msgid "" "The directory path to the document\n" @@ -28023,21 +28031,21 @@ msgstr "" "devriez enregistrer le fichier dans un r??pertoire dont le chemin d'acc??s ne " "contient pas d'espaces." -#: src/Buffer.cpp:4584 src/Buffer.cpp:4614 src/frontends/qt/GuiView.cpp:850 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:848 msgid "Document export cancelled." msgstr "Export du document annul??." -#: src/Buffer.cpp:4617 +#: src/Buffer.cpp:4630 #, c-format msgid "Document exported as %1$s to file `%2$s'" msgstr "Document export?? en tant que %1$s vers le fichier `%2$s'" -#: src/Buffer.cpp:4624 +#: src/Buffer.cpp:4637 #, c-format msgid "Document exported as %1$s" msgstr "Document export?? en tant que %1$s" -#: src/Buffer.cpp:4693 +#: src/Buffer.cpp:4706 #, c-format msgid "" "An emergency save of the document %1$s exists.\n" @@ -28048,23 +28056,23 @@ msgstr "" "\n" "Voulez-vous r??cup??rer la sauvegarde d'urgence ?" -#: src/Buffer.cpp:4696 +#: src/Buffer.cpp:4709 msgid "Load emergency save?" msgstr "Charger la sauvegarde d'urgence ?" -#: src/Buffer.cpp:4697 +#: src/Buffer.cpp:4710 msgid "&Recover" msgstr "&R??cup??rer" -#: src/Buffer.cpp:4697 +#: src/Buffer.cpp:4710 msgid "&Load Original" msgstr "&Charger l'original" -#: src/Buffer.cpp:4697 +#: src/Buffer.cpp:4710 msgid "&Only show difference" msgstr "N'afficher &que les diff??rences" -#: src/Buffer.cpp:4708 +#: src/Buffer.cpp:4721 #, c-format msgid "" "An emergency file is successfully loaded, but the original file %1$s is " @@ -28074,15 +28082,15 @@ msgstr "" "original %1$s est en lecture seule. Il faudra sauvegarder le document sous " "un autre nom." -#: src/Buffer.cpp:4715 +#: src/Buffer.cpp:4728 msgid "Document was successfully recovered." msgstr "Le document a ??t?? r??cup??r?? correctement." -#: src/Buffer.cpp:4717 +#: src/Buffer.cpp:4730 msgid "Document was NOT successfully recovered." msgstr "Le document n'a PAS ??t?? r??cup??r?? avec succ??s." -#: src/Buffer.cpp:4718 +#: src/Buffer.cpp:4731 #, c-format msgid "" "Remove emergency file now?\n" @@ -28091,31 +28099,31 @@ msgstr "" "Supprimer la sauvegarde d'urgence maintenant ?\n" "(%1$s)" -#: src/Buffer.cpp:4722 src/Buffer.cpp:4734 +#: src/Buffer.cpp:4735 src/Buffer.cpp:4747 msgid "Delete emergency file?" msgstr "Supprimer la sauvegarde d'urgence ?" -#: src/Buffer.cpp:4723 src/Buffer.cpp:4736 +#: src/Buffer.cpp:4736 src/Buffer.cpp:4749 msgid "&Keep" msgstr "&Conserver" -#: src/Buffer.cpp:4727 +#: src/Buffer.cpp:4740 msgid "Emergency file deleted" msgstr "Sauvegarde d'urgence supprim??e" -#: src/Buffer.cpp:4728 +#: src/Buffer.cpp:4741 msgid "Do not forget to save your file now!" msgstr "N'oubliez pas d'enregistrer votre fichier maintenant !" -#: src/Buffer.cpp:4735 +#: src/Buffer.cpp:4748 msgid "Remove emergency file now?" msgstr "Supprimer la sauvegarde d'urgence maintenant ?" -#: src/Buffer.cpp:4758 +#: src/Buffer.cpp:4771 msgid "Can't rename emergency file!" msgstr "Impossible de renommer la sauvegarde d'urgence !" -#: src/Buffer.cpp:4759 +#: src/Buffer.cpp:4772 msgid "" "LyX was unable to rename the emergency file. You should do so manually. " "Otherwise, you will be asked about it again the next time you try to load " @@ -28125,11 +28133,11 @@ msgstr "" "faire manuellement. Sinon, il vous sera redemand?? lors du prochain " "chargement de votre fichier, et pourrait ??craser votre travail." -#: src/Buffer.cpp:4764 +#: src/Buffer.cpp:4777 msgid "Emergency File Renames" msgstr "Renommage de la sauvegarde d'urgence" -#: src/Buffer.cpp:4765 +#: src/Buffer.cpp:4778 #, c-format msgid "" "Emergency file renamed as:\n" @@ -28138,7 +28146,7 @@ msgstr "" "Sauvegarde d'urgence renomm??e comme :\n" " %1$s" -#: src/Buffer.cpp:4804 +#: src/Buffer.cpp:4817 #, c-format msgid "" "The backup of the document %1$s is newer.\n" @@ -28149,19 +28157,19 @@ msgstr "" "\n" "Voulez-vous charger la sauvegarde automatique ?" -#: src/Buffer.cpp:4806 +#: src/Buffer.cpp:4819 msgid "Load backup?" msgstr "Charger la sauvegarde automatique ?" -#: src/Buffer.cpp:4807 +#: src/Buffer.cpp:4820 msgid "&Load backup" msgstr "&Charger la sauvegarde" -#: src/Buffer.cpp:4807 +#: src/Buffer.cpp:4820 msgid "Load &original" msgstr "Charger l'&original" -#: src/Buffer.cpp:4817 +#: src/Buffer.cpp:4830 #, c-format msgid "" "A backup file is successfully loaded, but the original file %1$s is marked " @@ -28171,16 +28179,16 @@ msgstr "" "original %1$s est en lecture seule. Il faudra sauvegarder le document sous " "un autre nom." -#: src/Buffer.cpp:5219 src/insets/InsetCaption.cpp:404 +#: src/Buffer.cpp:5232 src/insets/InsetCaption.cpp:404 msgid "Senseless!!! " msgstr "Inappropri?? !!! " -#: src/Buffer.cpp:5474 +#: src/Buffer.cpp:5487 #, c-format msgid "Document %1$s reloaded." msgstr "Document %1$s recharg??." -#: src/Buffer.cpp:5477 +#: src/Buffer.cpp:5490 #, c-format msgid "Could not reload document %1$s." msgstr "Impossible de recharger le document %1$s." @@ -28267,7 +28275,7 @@ msgstr "" "Le paquetage LaTeX undertilde n'est utilis?? que si vous utilisez la " "d??coration math??matique ?? utilde ??" -#: src/BufferParams.cpp:787 +#: src/BufferParams.cpp:784 #, c-format msgid "" "The selected document class\n" @@ -28290,17 +28298,17 @@ msgstr "" "Voir le paragraphe 3.1.2.2 (Disponibilit?? des classes) du\n" "Guide de l'Utilisateur pour en savoir plus." -#: src/BufferParams.cpp:796 +#: src/BufferParams.cpp:793 msgid "Document class not available" msgstr "Classe de document non disponible" -#: src/BufferParams.cpp:1101 src/Color.cpp:281 -#: src/frontends/qt/GuiDocument.cpp:3527 +#: src/BufferParams.cpp:1098 src/Color.cpp:281 +#: src/frontends/qt/GuiDocument.cpp:3526 msgid "greyedout inset text" msgstr "texte d'insert gris??" -#: src/BufferParams.cpp:1814 src/BufferParams.cpp:2256 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2972 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 +#: src/Paragraph.cpp:2977 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28310,8 +28318,8 @@ msgstr "texte d'insert gris??" msgid "LyX Warning: " msgstr "Avertissement LyX : " -#: src/BufferParams.cpp:1815 src/BufferParams.cpp:2257 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2973 src/insets/InsetCommandParams.cpp:509 +#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 +#: src/Paragraph.cpp:2978 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -28319,11 +28327,11 @@ msgstr "Avertissement LyX : " msgid "uncodable character" msgstr "caract??re incodable" -#: src/BufferParams.cpp:1828 +#: src/BufferParams.cpp:1825 msgid "Uncodable character in class options" msgstr "Caract??re incodable dans les options de classe" -#: src/BufferParams.cpp:1830 +#: src/BufferParams.cpp:1827 #, c-format msgid "" "The class options of your document contain glyphs that are unknown in the " @@ -28342,11 +28350,11 @@ msgstr "" "Choisir un encodage appropri?? (par exemple utf8)\n" "ou modifier les options de classe." -#: src/BufferParams.cpp:2270 +#: src/BufferParams.cpp:2267 msgid "Uncodable character in user preamble" msgstr "Caract??re incodable dans le pr??ambule utilisateur" -#: src/BufferParams.cpp:2272 +#: src/BufferParams.cpp:2269 #, c-format msgid "" "The user preamble of your document contains glyphs that are unknown in the " @@ -28365,7 +28373,7 @@ msgstr "" "Choisir un encodage appropri?? (par exemple utf8)\n" "ou modifier l'orthographe du nom d'auteur." -#: src/BufferParams.cpp:2587 +#: src/BufferParams.cpp:2584 #, c-format msgid "" "The layout file:\n" @@ -28380,11 +28388,11 @@ msgstr "" "sera utilis??e. LyX ne pourra pas produire\n" "un r??sultat imprimable correct." -#: src/BufferParams.cpp:2593 +#: src/BufferParams.cpp:2590 msgid "Document class not found" msgstr "Classe de document introuvable" -#: src/BufferParams.cpp:2600 +#: src/BufferParams.cpp:2597 #, c-format msgid "" "Due to some error in it, the layout file:\n" @@ -28399,18 +28407,54 @@ msgstr "" "sera utilis??e. LyX ne pourra pas produire\n" "un r??sultat imprimable correct." -#: src/BufferParams.cpp:2606 src/BufferView.cpp:1431 src/BufferView.cpp:1463 +#: src/BufferParams.cpp:2603 src/BufferView.cpp:1424 src/BufferView.cpp:1456 msgid "Could not load class" msgstr "Chargement de la classe impossible" -#: src/BufferParams.cpp:2651 +#: src/BufferParams.cpp:2648 msgid "Error reading internal layout information" msgstr "Erreur de lecture du format interne" -#: src/BufferParams.cpp:2652 src/TextClass.cpp:1934 src/TextClass.cpp:1967 +#: src/BufferParams.cpp:2649 src/TextClass.cpp:1952 src/TextClass.cpp:1985 msgid "Read Error" msgstr "Erreur de lecture" +#: src/BufferParams.cpp:3651 +msgid "No bibliography processor found!" +msgstr "Aucun processeur bibliographique n'a ??t?? trouv?? !" + +#: src/BufferParams.cpp:3653 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available and no appropriate alternative has been found. No bibliography and " +"references will be generated.\n" +"Please fix your installation!" +msgstr "" +"Le processeur bibliographique requis par ce document (%1$s) n'est pas " +"disponible et aucun processeur alternatif n'a ??t?? trouv??. Aucune " +"bibliographie ni r??f??rences ne seront cr????es.\n" +"Merci de r??parer votre installation !" + +#: src/BufferParams.cpp:3661 +msgid "Requested bibliography processor not found!" +msgstr "Processeur bibliographique requis introuvable !" + +#: src/BufferParams.cpp:3663 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available. As a fallback, '%2$s' will be used, options are omitted. This " +"might result in errors or unwanted changes in the bibliography. Please check " +"carefully!\n" +"It is suggested to install the missing processor." +msgstr "" +"Le processeur bibliographique requis par ce document (%1$s) n'est pas " +"disponible. En tant qu'alternative, '%2$s' sera utilis??, sans options. Il " +"peut en r??sulter des erreurs ou des modifications non voulues dans la " +"bibliographie. V??rifiez soigneusement !\n" +"Vous pourriez installer le processeur manquant." + #: src/BufferView.cpp:179 msgid "No more insets" msgstr "Pas d'autre insert" @@ -28419,100 +28463,100 @@ msgstr "Pas d'autre insert" msgid "Save bookmark" msgstr "Enregistrer le signet" -#: src/BufferView.cpp:1099 +#: src/BufferView.cpp:1092 msgid "Converting document to new document class..." msgstr "Conversion du document vers sa nouvelle classe..." -#: src/BufferView.cpp:1144 +#: src/BufferView.cpp:1137 msgid "Document is read-only" msgstr "Document en lecture seule" -#: src/BufferView.cpp:1146 +#: src/BufferView.cpp:1139 msgid "Document has been modified externally" msgstr "Le document a ??t?? modifi?? par une application externe" -#: src/BufferView.cpp:1155 +#: src/BufferView.cpp:1148 msgid "This portion of the document is deleted." msgstr "Cette portion du document est supprim??e." -#: src/BufferView.cpp:1198 src/BufferView.cpp:2264 -#: src/frontends/qt/GuiView.cpp:4228 src/frontends/qt/GuiView.cpp:4316 +#: src/BufferView.cpp:1191 src/BufferView.cpp:2253 +#: src/frontends/qt/GuiView.cpp:4230 src/frontends/qt/GuiView.cpp:4318 msgid "Absolute filename expected." msgstr "Chemin absolu requis." -#: src/BufferView.cpp:1429 src/BufferView.cpp:1461 +#: src/BufferView.cpp:1422 src/BufferView.cpp:1454 #, c-format msgid "The document class `%1$s' could not be loaded." msgstr "La classe de document ?? %1$s ?? n'a pas pu ??tre charg??e." -#: src/BufferView.cpp:1487 +#: src/BufferView.cpp:1480 msgid "No further undo information" msgstr "Pas d'information pour Annuler" -#: src/BufferView.cpp:1507 +#: src/BufferView.cpp:1501 msgid "No further redo information" msgstr "Pas d'information pour Refaire" -#: src/BufferView.cpp:1704 src/BufferView.cpp:1719 src/BufferView.cpp:1750 +#: src/BufferView.cpp:1693 src/BufferView.cpp:1708 src/BufferView.cpp:1739 msgid "Search string not found!" msgstr "Cha??ne de caract??res introuvable !" -#: src/BufferView.cpp:1771 +#: src/BufferView.cpp:1760 msgid "Mark off" msgstr "Marque d??sactiv??e" -#: src/BufferView.cpp:1777 +#: src/BufferView.cpp:1766 msgid "Mark on" msgstr "Marque activ??e" -#: src/BufferView.cpp:1784 +#: src/BufferView.cpp:1773 msgid "Mark removed" msgstr "Marque enlev??e" -#: src/BufferView.cpp:1787 +#: src/BufferView.cpp:1776 msgid "Mark set" msgstr "Marque pos??e" -#: src/BufferView.cpp:1878 +#: src/BufferView.cpp:1867 msgid "Statistics for the selection:" msgstr "Statistiques pour la s??lection :" -#: src/BufferView.cpp:1880 +#: src/BufferView.cpp:1869 msgid "Statistics for the document:" msgstr "Statistiques pour le document :" -#: src/BufferView.cpp:1883 +#: src/BufferView.cpp:1872 #, c-format msgid "%1$d words" msgstr "%1$d mots" -#: src/BufferView.cpp:1885 +#: src/BufferView.cpp:1874 msgid "One word" msgstr "Un mot" -#: src/BufferView.cpp:1888 +#: src/BufferView.cpp:1877 #, c-format msgid "%1$d characters (including blanks)" msgstr "%1$d caract??res (espaces inclus)" -#: src/BufferView.cpp:1891 +#: src/BufferView.cpp:1880 msgid "One character (including blanks)" msgstr "Un caract??re (espaces inclus)" -#: src/BufferView.cpp:1894 +#: src/BufferView.cpp:1883 #, c-format msgid "%1$d characters (excluding blanks)" msgstr "%1$d caract??res (espaces exclus)" -#: src/BufferView.cpp:1897 +#: src/BufferView.cpp:1886 msgid "One character (excluding blanks)" msgstr "Un caract??re (espaces exclus)" -#: src/BufferView.cpp:1899 +#: src/BufferView.cpp:1888 msgid "Statistics" msgstr "Statistiques" -#: src/BufferView.cpp:2122 +#: src/BufferView.cpp:2111 #, c-format msgid "" "`inset-forall' interrupted because number of actions is larger than %1$d" @@ -28520,35 +28564,35 @@ msgstr "" "Interruption de ?? inset-forall ?? du fait d'un nombre d'actions sup??rieur ?? " "%1$d" -#: src/BufferView.cpp:2124 +#: src/BufferView.cpp:2113 #, c-format msgid "Applied \"%1$s\" to %2$d insets" msgstr "\"%1$s\" appliqu?? ?? %2$d inserts" -#: src/BufferView.cpp:2132 +#: src/BufferView.cpp:2121 msgid "Branch name" msgstr "Nom de la branche" -#: src/BufferView.cpp:2139 src/frontends/qt/GuiBranches.cpp:225 +#: src/BufferView.cpp:2128 src/frontends/qt/GuiBranches.cpp:225 msgid "Branch already exists" msgstr "La branche existe d??j??" -#: src/BufferView.cpp:3066 +#: src/BufferView.cpp:3055 #, c-format msgid "Inserting document %1$s..." msgstr "Insertion du document %1$s..." -#: src/BufferView.cpp:3082 +#: src/BufferView.cpp:3071 #, c-format msgid "Document %1$s inserted." msgstr "Document %1$s ins??r??." -#: src/BufferView.cpp:3084 +#: src/BufferView.cpp:3073 #, c-format msgid "Could not insert document %1$s" msgstr "Impossible d'ins??rer le document %1$s" -#: src/BufferView.cpp:3582 +#: src/BufferView.cpp:3571 #, c-format msgid "" "Could not read the specified document\n" @@ -28559,11 +28603,11 @@ msgstr "" "%1$s\n" "?? cause de l'erreur : %2$s" -#: src/BufferView.cpp:3584 +#: src/BufferView.cpp:3573 msgid "Could not read file" msgstr "Lecture du fichier impossible" -#: src/BufferView.cpp:3591 +#: src/BufferView.cpp:3580 #, c-format msgid "" "%1$s\n" @@ -28572,17 +28616,17 @@ msgstr "" "%1$s\n" "est illisible." -#: src/BufferView.cpp:3592 src/frontends/qt/qt_helpers.cpp:311 +#: src/BufferView.cpp:3581 src/frontends/qt/qt_helpers.cpp:311 #: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320 #: src/output.cpp:39 msgid "Could not open file" msgstr "Ouverture du fichier impossible" -#: src/BufferView.cpp:3599 +#: src/BufferView.cpp:3588 msgid "Reading not UTF-8 encoded file" msgstr "Lecture d'un fichier non encod?? en UTF-8" -#: src/BufferView.cpp:3600 +#: src/BufferView.cpp:3589 msgid "" "The file is not UTF-8 encoded.\n" "It will be read as local 8Bit-encoded.\n" @@ -29200,11 +29244,11 @@ msgstr "" "du format %1$s vers le format %2$s.\n" "D??finissez un convertisseur dans les pr??f??rences." -#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1990 +#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1992 msgid "Pygments driver command not found!" msgstr "Commande d'activation de pygments introuvable !" -#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1991 +#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1993 msgid "" "The driver command necessary to use the minted package\n" "(pygmentize) has not been found. Make sure you have\n" @@ -29455,7 +29499,7 @@ msgstr "&Conserver le fichier" msgid "Overwrite &all" msgstr "??craser &tout" -#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:781 +#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:779 msgid "&Cancel export" msgstr "&Annuler l'exportation" @@ -29479,17 +29523,17 @@ msgid "Number %1$s" msgstr "Num??ro %1$s" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148 -#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Roman" msgstr "Romain" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Sans Serif" msgstr "Sans empattement" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150 -#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Typewriter" msgstr "Chasse fixe" @@ -29573,7 +29617,7 @@ msgstr "Nom propre %1$s, " msgid "Cannot view file" msgstr "Visionnement du fichier impossible" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3918 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3920 #, c-format msgid "File does not exist: %1$s" msgstr "Fichier inexistant : %1$s" @@ -30609,7 +30653,7 @@ msgstr "LyX VC : message de journal" msgid "(no log message)" msgstr "(aucun message de journal)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3781 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3783 msgid "LyX VC: Log Message" msgstr "LyX VC : Message de journal" @@ -30630,7 +30674,7 @@ msgstr "" msgid "Revert to stored version of document?" msgstr "Revenir ?? la version enregistr??e du document ?" -#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4365 +#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4367 msgid "&Revert" msgstr "&Revenir ?? la Sauvegarde" @@ -30655,11 +30699,11 @@ msgstr "" msgid "Unknown Inset" msgstr "Insert inconnu" -#: src/Text.cpp:554 src/insets/InsetTabular.cpp:472 +#: src/Text.cpp:554 src/insets/InsetTabular.cpp:473 msgid "Change tracking author index missing" msgstr "Index d'auteur de suivi des modifications manquant" -#: src/Text.cpp:555 src/insets/InsetTabular.cpp:473 +#: src/Text.cpp:555 src/insets/InsetTabular.cpp:474 #, c-format msgid "" "A change tracking author information for index %1$d is missing. This can " @@ -30739,11 +30783,11 @@ msgstr ", Paragraphe : " msgid ", Id: " msgstr ", Identifiant : " -#: src/Text.cpp:2152 +#: src/Text.cpp:2155 msgid ", Char: 0x" msgstr ", Char: 0x" -#: src/Text.cpp:2154 +#: src/Text.cpp:2157 msgid ", Boundary: " msgstr ", Fronti??re : " @@ -30767,40 +30811,40 @@ msgstr "D??j?? en mode ?? expression r??guli??re ??" msgid "Regexp editor mode" msgstr "Mode ?? expression r??guli??re ??" -#: src/Text3.cpp:1590 +#: src/Text3.cpp:1595 msgid "Layout " msgstr "Environnement " -#: src/Text3.cpp:1591 src/Text3.cpp:2161 +#: src/Text3.cpp:1596 src/Text3.cpp:2166 msgid " not known" msgstr " inconnu" -#: src/Text3.cpp:2160 +#: src/Text3.cpp:2165 msgid "Table Style " msgstr "Style de tableau " -#: src/Text3.cpp:2353 src/frontends/qt/GuiApplication.cpp:1843 +#: src/Text3.cpp:2358 src/frontends/qt/GuiApplication.cpp:1873 msgid "Missing argument" msgstr "Param??tre manquant" -#: src/Text3.cpp:2522 +#: src/Text3.cpp:2527 msgid "Invalid argument (number exceeds stack size)!" msgstr "Argument invalide (le nombre est sup??rieur ?? la taille de la pile) !" -#: src/Text3.cpp:2526 +#: src/Text3.cpp:2531 msgid "Invalid argument (must be a non-negative number)!" msgstr "Argument invalide (nombre non n??gatif obligatoire)" -#: src/Text3.cpp:2531 src/Text3.cpp:2549 +#: src/Text3.cpp:2536 src/Text3.cpp:2554 #, c-format msgid "Text properties applied: %1$s" msgstr "Propri??t??s du texte appliqu??es : %1$s" -#: src/Text3.cpp:2708 +#: src/Text3.cpp:2713 msgid "Path to thesaurus directory not set!" msgstr "Chemin d'acc??s au r??pertoire du th??saurus non pr??cis?? !" -#: src/Text3.cpp:2709 +#: src/Text3.cpp:2714 msgid "" "The path to the thesaurus directory has not been specified.\n" "The thesaurus is not functional.\n" @@ -30812,7 +30856,7 @@ msgstr "" "Se r??f??rer au Guide de l'utilisateur, section 6.15.1, pour\n" "les instructions de r??glage." -#: src/Text3.cpp:2845 src/Text3.cpp:2856 +#: src/Text3.cpp:2848 src/Text3.cpp:2859 msgid "Paragraph layout set" msgstr "Style du paragraphe red??fini" @@ -30838,17 +30882,17 @@ msgid "Could not read stdinsets.inc! This may lead to data loss!" msgstr "" "Fichier stdinsets.inc illisible ! Ceci peut provoquer une perte de donn??es !" -#: src/TextClass.cpp:1609 +#: src/TextClass.cpp:1627 #, c-format msgid "%1$s (Float)" msgstr "%1$s (flottant)" -#: src/TextClass.cpp:1614 +#: src/TextClass.cpp:1632 #, c-format msgid "Sub-%1$s (Float)" msgstr "Sous-%1$s (flottant)" -#: src/TextClass.cpp:1910 +#: src/TextClass.cpp:1928 #, c-format msgid "" "The module %1$s has been requested by\n" @@ -30861,11 +30905,11 @@ msgstr "" "Si vous l'avez install?? r??cemment, vous devez probablement reconfigurer " "LyX.\n" -#: src/TextClass.cpp:1914 +#: src/TextClass.cpp:1932 msgid "Module not available" msgstr "Module non disponible" -#: src/TextClass.cpp:1921 +#: src/TextClass.cpp:1939 #, c-format msgid "" "The module %1$s requires a package that is not\n" @@ -30883,16 +30927,16 @@ msgstr "" "Voir le paragraphe 3.1.2.3 (Modules) du\n" "Guide de l'Utilisateur pour en savoir plus." -#: src/TextClass.cpp:1928 src/TextClass.cpp:1961 +#: src/TextClass.cpp:1946 src/TextClass.cpp:1979 msgid "Package not available" msgstr "Paquetage indisponible" -#: src/TextClass.cpp:1933 +#: src/TextClass.cpp:1951 #, c-format msgid "Error reading module %1$s\n" msgstr "Erreur de lecture du module %1$s\n" -#: src/TextClass.cpp:1945 +#: src/TextClass.cpp:1963 #, c-format msgid "" "The cite engine %1$s has been requested by\n" @@ -30905,11 +30949,11 @@ msgstr "" "Si vous l'avez install?? r??cemment, vous devez probablement reconfigurer " "LyX.\n" -#: src/TextClass.cpp:1949 +#: src/TextClass.cpp:1967 msgid "Cite Engine not available" msgstr "Moteur bibliographique non disponible" -#: src/TextClass.cpp:1954 +#: src/TextClass.cpp:1972 #, c-format msgid "" "The cite engine %1$s requires a package that is not\n" @@ -30927,7 +30971,7 @@ msgstr "" "Voir le paragraphe 3.1.2.3 (Modules) du Guide de l'Utilisateur pour en " "savoir plus." -#: src/TextClass.cpp:1966 +#: src/TextClass.cpp:1984 #, c-format msgid "Error reading cite engine %1$s\n" msgstr "Erreur de lecture du moteur bibliographique %1$s\n" @@ -30966,7 +31010,7 @@ msgstr "??tiquettes et r??f??rences" msgid "Broken References and Citations" msgstr "R??f??rences et citations cass??es" -#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1760 +#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1762 msgid "Child Documents" msgstr "Sous-documents" @@ -30990,7 +31034,7 @@ msgstr "Le paquetage RCS n'est peut-??tre pas install?? sur votre syst??me." #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3697 src/frontends/qt/GuiView.cpp:3740 +#: src/frontends/qt/GuiView.cpp:3699 src/frontends/qt/GuiView.cpp:3742 msgid "Revision control error." msgstr "Erreur de contr??le de version." @@ -31184,15 +31228,15 @@ msgstr "" #: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526 #: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891 -#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:350 -#: src/lyxfind.cpp:687 src/lyxfind.cpp:715 +#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351 +#: src/lyxfind.cpp:694 src/lyxfind.cpp:722 msgid "&Yes" msgstr "&Oui" #: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526 #: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891 -#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:350 -#: src/lyxfind.cpp:687 src/lyxfind.cpp:715 +#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351 +#: src/lyxfind.cpp:694 src/lyxfind.cpp:722 msgid "&No" msgstr "&Non" @@ -31245,7 +31289,7 @@ msgstr "" "Le document %1$s est d??j?? charg?? et a ??t?? modifi??.\n" "Voulez-vous revenir ?? la version enregistr??e et ignorer vos modifications ?" -#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4356 +#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4358 msgid "Reload saved document?" msgstr "Revenir ?? la sauvegarde ?" @@ -31325,7 +31369,7 @@ msgid "Dings 4" msgstr "Dings 4" #: src/frontends/qt/ButtonController.cpp:222 -#: src/frontends/qt/GuiApplication.cpp:1967 src/frontends/qt/GuiCompare.cpp:193 +#: src/frontends/qt/GuiApplication.cpp:1997 src/frontends/qt/GuiCompare.cpp:193 #: src/frontends/qt/GuiSymbols.cpp:346 msgid "Cancel" msgstr "Annuler" @@ -31397,8 +31441,8 @@ msgstr "Recherche avanc??e en cours (appuyer sur ESC pour annuler) . . ." msgid "Advanced search cancelled by user" msgstr "Recherche avanc??e annul??e par l'utilisateur" -#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:349 -#: src/lyxfind.cpp:686 src/lyxfind.cpp:714 +#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:350 +#: src/lyxfind.cpp:693 src/lyxfind.cpp:721 msgid "Wrap search?" msgstr "Recherche r??cursive ?" @@ -31429,8 +31473,8 @@ msgstr "" "Entr??e)" #: src/frontends/qt/FloatPlacement.cpp:182 -#: src/frontends/qt/GuiDocument.cpp:1139 src/frontends/qt/GuiDocument.cpp:2707 -#: src/frontends/qt/GuiDocument.cpp:2734 +#: src/frontends/qt/GuiDocument.cpp:1141 src/frontends/qt/GuiDocument.cpp:2709 +#: src/frontends/qt/GuiDocument.cpp:2736 msgid "Class Default" msgstr "Valeurs implicites de la classe" @@ -31438,7 +31482,7 @@ msgstr "Valeurs implicites de la classe" msgid "Document Default" msgstr "Document implicite" -#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1775 +#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1777 msgid "Float Settings" msgstr "Param??tres de flottant" @@ -31549,89 +31593,89 @@ msgstr "Python d??tect?? : %1$s" msgid "About LyX" msgstr "?? propos de LyX" -#: src/frontends/qt/GuiApplication.cpp:728 +#: src/frontends/qt/GuiApplication.cpp:736 msgid "About %1" msgstr "?? propos de %1" -#: src/frontends/qt/GuiApplication.cpp:729 src/frontends/qt/GuiPrefs.cpp:3523 +#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3524 msgid "Preferences" msgstr "Pr??f??rences" -#: src/frontends/qt/GuiApplication.cpp:730 +#: src/frontends/qt/GuiApplication.cpp:738 msgid "Reconfigure" msgstr "Reconfigurer" -#: src/frontends/qt/GuiApplication.cpp:731 +#: src/frontends/qt/GuiApplication.cpp:739 msgid "Restore Defaults" msgstr "Restaurer le r??glage implicite" -#: src/frontends/qt/GuiApplication.cpp:732 +#: src/frontends/qt/GuiApplication.cpp:740 msgid "Quit %1" msgstr "Quitter %1" -#: src/frontends/qt/GuiApplication.cpp:733 src/frontends/qt/GuiInclude.cpp:318 +#: src/frontends/qt/GuiApplication.cpp:741 src/frontends/qt/GuiInclude.cpp:318 #: src/frontends/qt/GuiInclude.cpp:328 src/frontends/qt/GuiInclude.cpp:333 msgid "&OK" msgstr "&OK" -#: src/frontends/qt/GuiApplication.cpp:735 +#: src/frontends/qt/GuiApplication.cpp:743 msgid "Apply" msgstr "Appliquer" -#: src/frontends/qt/GuiApplication.cpp:736 +#: src/frontends/qt/GuiApplication.cpp:744 msgid "Reset" msgstr "R??Z" -#: src/frontends/qt/GuiApplication.cpp:737 +#: src/frontends/qt/GuiApplication.cpp:745 msgid "Open" msgstr "Ouvir" -#: src/frontends/qt/GuiApplication.cpp:1245 +#: src/frontends/qt/GuiApplication.cpp:1270 msgid "Nothing to do" msgstr "Rien ?? faire" -#: src/frontends/qt/GuiApplication.cpp:1251 +#: src/frontends/qt/GuiApplication.cpp:1276 msgid "Unknown action" msgstr "Action inconnue" -#: src/frontends/qt/GuiApplication.cpp:1295 +#: src/frontends/qt/GuiApplication.cpp:1320 msgid "Command not handled" msgstr "Commande non g??r??e" -#: src/frontends/qt/GuiApplication.cpp:1301 +#: src/frontends/qt/GuiApplication.cpp:1326 msgid "Command disabled" msgstr "Commande d??sactiv??e" -#: src/frontends/qt/GuiApplication.cpp:1409 +#: src/frontends/qt/GuiApplication.cpp:1434 #, c-format msgid "Bad debug value `%1$s'." msgstr "Valeur de d??bogage incorrecte ?? %1$s ??." -#: src/frontends/qt/GuiApplication.cpp:1438 src/frontends/qt/GuiView.cpp:2139 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2137 msgid "Command not allowed without a buffer open" msgstr "Commande non autoris??e si aucun tampon n'est ouvert" -#: src/frontends/qt/GuiApplication.cpp:1445 +#: src/frontends/qt/GuiApplication.cpp:1470 msgid "the argument of buffer-forall is not valid" msgstr "l'argument de buffer-forall est invalide" -#: src/frontends/qt/GuiApplication.cpp:1522 +#: src/frontends/qt/GuiApplication.cpp:1547 msgid "Wrong focus!" msgstr "Mauvaise cible !" -#: src/frontends/qt/GuiApplication.cpp:1656 +#: src/frontends/qt/GuiApplication.cpp:1681 msgid "Running configure..." msgstr "Lancement de configure..." -#: src/frontends/qt/GuiApplication.cpp:1664 +#: src/frontends/qt/GuiApplication.cpp:1691 msgid "Reloading configuration..." msgstr "Rechargement de la configuration..." -#: src/frontends/qt/GuiApplication.cpp:1671 +#: src/frontends/qt/GuiApplication.cpp:1701 msgid "System reconfiguration failed" msgstr "??chec de la reconfiguration" -#: src/frontends/qt/GuiApplication.cpp:1672 +#: src/frontends/qt/GuiApplication.cpp:1702 msgid "" "The system reconfiguration has failed.\n" "Default textclass is used but LyX may\n" @@ -31643,11 +31687,11 @@ msgstr "" "ne pourra peut-??tre pas fonctionner correctement.\n" "Merci de reconfigurer de nouveau si c'est le cas." -#: src/frontends/qt/GuiApplication.cpp:1677 +#: src/frontends/qt/GuiApplication.cpp:1707 msgid "System reconfigured" msgstr "Syst??me reconfigur??" -#: src/frontends/qt/GuiApplication.cpp:1678 +#: src/frontends/qt/GuiApplication.cpp:1708 msgid "" "The system has been reconfigured.\n" "You need to restart LyX to make use of any\n" @@ -31657,59 +31701,59 @@ msgstr "" "Il faut red??marrer LyX pour utiliser\n" "les classes de document mises ?? jour." -#: src/frontends/qt/GuiApplication.cpp:1759 +#: src/frontends/qt/GuiApplication.cpp:1789 msgid "Exiting." msgstr "Quitte." -#: src/frontends/qt/GuiApplication.cpp:1855 +#: src/frontends/qt/GuiApplication.cpp:1885 #, c-format msgid "Opening help file %1$s..." msgstr "Ouverture du fichier d'aide %1$s..." -#: src/frontends/qt/GuiApplication.cpp:1875 +#: src/frontends/qt/GuiApplication.cpp:1905 msgid "Wrong argument. Must be 'examples' or 'templates'." msgstr "Argument incorrect . Doit ??tre 'examples' ou 'templates'." -#: src/frontends/qt/GuiApplication.cpp:1889 +#: src/frontends/qt/GuiApplication.cpp:1919 msgid "Syntax: set-color " msgstr "Syntaxe : set-color Category: %1$s.

" msgstr "

Categorie : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3279 +#: src/frontends/qt/GuiDocument.cpp:3278 #, c-format msgid "

Package(s) required: %1$s.

" msgstr "

Paquetage(s) requis : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3285 +#: src/frontends/qt/GuiDocument.cpp:3284 msgid "or" msgstr "ou" -#: src/frontends/qt/GuiDocument.cpp:3288 +#: src/frontends/qt/GuiDocument.cpp:3287 #, c-format msgid "

Modules required: %1$s.

" msgstr "

Modules requis : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3297 +#: src/frontends/qt/GuiDocument.cpp:3296 #, c-format msgid "

Modules excluded: %1$s.

" msgstr "

Modules exclus : %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3302 +#: src/frontends/qt/GuiDocument.cpp:3301 #, c-format msgid "

Filename: %1$s.module.

" msgstr "

Nom de fichier : %1$s.module.

" -#: src/frontends/qt/GuiDocument.cpp:3307 +#: src/frontends/qt/GuiDocument.cpp:3306 msgid "" "

WARNING: Some required packages are unavailable!

" @@ -32919,56 +32963,61 @@ msgstr "" "

AVERTISSEMENT : certains paquetages requis ne sont pas " "disponibles !

" -#: src/frontends/qt/GuiDocument.cpp:3968 +#: src/frontends/qt/GuiDocument.cpp:3967 msgid "per part" msgstr "par partie" -#: src/frontends/qt/GuiDocument.cpp:3970 +#: src/frontends/qt/GuiDocument.cpp:3969 msgid "per chapter" msgstr "par chapitre" -#: src/frontends/qt/GuiDocument.cpp:3972 +#: src/frontends/qt/GuiDocument.cpp:3971 msgid "per section" msgstr "par section" -#: src/frontends/qt/GuiDocument.cpp:3974 +#: src/frontends/qt/GuiDocument.cpp:3973 msgid "per subsection" msgstr "par sous-section" -#: src/frontends/qt/GuiDocument.cpp:3975 +#: src/frontends/qt/GuiDocument.cpp:3974 msgid "per child document" msgstr "par sous-document" -#: src/frontends/qt/GuiDocument.cpp:4230 +#: src/frontends/qt/GuiDocument.cpp:4001 +#, c-format +msgid "%1$s (not available)" +msgstr "%1$s (indisponible)" + +#: src/frontends/qt/GuiDocument.cpp:4229 msgid "[No options predefined]" msgstr "[Aucune option pr??d??finie]" -#: src/frontends/qt/GuiDocument.cpp:4497 +#: src/frontends/qt/GuiDocument.cpp:4496 msgid "C&ustomize Hyperref Options" msgstr "Personnaliser les options h&yperref" -#: src/frontends/qt/GuiDocument.cpp:4499 +#: src/frontends/qt/GuiDocument.cpp:4498 msgid "&Use Hyperref Support" msgstr "&Utiliser le support pour hyperref" -#: src/frontends/qt/GuiDocument.cpp:4849 +#: src/frontends/qt/GuiDocument.cpp:4848 msgid "Can't set layout!" msgstr "Impossible d'appliquer le format !" -#: src/frontends/qt/GuiDocument.cpp:4850 +#: src/frontends/qt/GuiDocument.cpp:4849 #, c-format msgid "Unable to set layout for ID: %1$s" msgstr "Impossible d'appliquer le format pour ID : %1$s" -#: src/frontends/qt/GuiDocument.cpp:4948 +#: src/frontends/qt/GuiDocument.cpp:4947 msgid "Not Found" msgstr "Introuvable" -#: src/frontends/qt/GuiDocument.cpp:5010 +#: src/frontends/qt/GuiDocument.cpp:5009 msgid "Assigned master does not include this file" msgstr "Le document ma??tre d??sign?? n'inclut pas ce fichier" -#: src/frontends/qt/GuiDocument.cpp:5011 +#: src/frontends/qt/GuiDocument.cpp:5010 #, c-format msgid "" "You must include this file in the document\n" @@ -32979,11 +33028,11 @@ msgstr "" "%1$s' pour pouvoir utiliser les fonctionnalit??s\n" "?? document ma??tre ??." -#: src/frontends/qt/GuiDocument.cpp:5015 +#: src/frontends/qt/GuiDocument.cpp:5014 msgid "Could not load master" msgstr "Chargement du document ma??tre impossible" -#: src/frontends/qt/GuiDocument.cpp:5016 +#: src/frontends/qt/GuiDocument.cpp:5015 #, c-format msgid "" "The master document '%1$s'\n" @@ -32992,23 +33041,23 @@ msgstr "" "Le document ma??tre %1$s\n" " n'a pas pu ??tre charg??." -#: src/frontends/qt/GuiDocument.cpp:5166 +#: src/frontends/qt/GuiDocument.cpp:5165 msgid "%1 (missing req.)" msgstr "%1 (req. manquante)" -#: src/frontends/qt/GuiDocument.cpp:5178 +#: src/frontends/qt/GuiDocument.cpp:5177 msgid "personal module" msgstr "module personnel" -#: src/frontends/qt/GuiDocument.cpp:5178 +#: src/frontends/qt/GuiDocument.cpp:5177 msgid "distributed module" msgstr "module distribu??" -#: src/frontends/qt/GuiDocument.cpp:5179 +#: src/frontends/qt/GuiDocument.cpp:5178 msgid "Module name: %1 (%2)" msgstr "Nom du module : %1 (%2)" -#: src/frontends/qt/GuiDocument.cpp:5185 +#: src/frontends/qt/GuiDocument.cpp:5184 msgid "Note: Some requirements for this module are missing!" msgstr "Nota : certains ??l??ments pour ce module sont manquants !" @@ -33687,17 +33736,17 @@ msgstr "" msgid "Select example file" msgstr "Choisir le fichier d'exemple" -#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2611 -#: src/frontends/qt/GuiView.cpp:2747 src/frontends/qt/GuiView.cpp:2881 +#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2609 +#: src/frontends/qt/GuiView.cpp:2749 src/frontends/qt/GuiView.cpp:2883 msgid "&Examples" msgstr "&Exemples" -#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2550 +#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2548 msgid "Select template file" msgstr "Choisir le mod??le" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2552 -#: src/frontends/qt/GuiView.cpp:3001 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2550 +#: src/frontends/qt/GuiView.cpp:3003 msgid "&Templates" msgstr "&Mod??les" @@ -33823,7 +33872,7 @@ msgstr "" "En principe, vous n'avez pas ?? le modifier puisqu'on utilise la plus grande " "largeur d'??tiquette de tous les ??l??ments." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3279 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3281 msgid "&Close" msgstr "&Fermer" @@ -34031,7 +34080,7 @@ msgid "Res&tore" msgstr "&Restaurer" #: src/frontends/qt/GuiPrefs.cpp:3372 src/frontends/qt/GuiPrefs.cpp:3381 -#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3450 +#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3451 msgid "Failed to create shortcut" msgstr "??chec de la cr??ation du raccourci" @@ -34065,11 +34114,11 @@ msgstr "Red??finir le raccourci ?" msgid "&Redefine" msgstr "&Red??finir" -#: src/frontends/qt/GuiPrefs.cpp:3451 +#: src/frontends/qt/GuiPrefs.cpp:3452 msgid "Can not insert shortcut to the list" msgstr "??chec de l'insertion du raccourci ?? la liste" -#: src/frontends/qt/GuiPrefs.cpp:3482 +#: src/frontends/qt/GuiPrefs.cpp:3483 msgid "Identity" msgstr "Identit??" @@ -34596,7 +34645,7 @@ msgstr "non d??pla??able" msgid "Vertical Space Settings" msgstr "Param??tres d'espacement vertical" -#: src/frontends/qt/GuiView.cpp:155 +#: src/frontends/qt/GuiView.cpp:154 msgid "" "The Document\n" "Processor[[welcome banner]]" @@ -34604,33 +34653,33 @@ msgstr "" "Le g??n??rateur\n" "de documents" -#: src/frontends/qt/GuiView.cpp:156 +#: src/frontends/qt/GuiView.cpp:155 msgid "1.0[[possibly scale the welcome banner text size]]" msgstr "1.1" -#: src/frontends/qt/GuiView.cpp:159 +#: src/frontends/qt/GuiView.cpp:158 msgid "version " msgstr "version " -#: src/frontends/qt/GuiView.cpp:159 +#: src/frontends/qt/GuiView.cpp:158 msgid "unknown version" msgstr "version inconnue" -#: src/frontends/qt/GuiView.cpp:650 +#: src/frontends/qt/GuiView.cpp:648 msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust." msgstr "" "Niveau de zoom de la fen??tre de travail. Faire glisser, utiliser Ctrl-+/- ou " "Maj-Molette pour ajuster." -#: src/frontends/qt/GuiView.cpp:682 src/frontends/qt/GuiView.cpp:792 -#: src/frontends/qt/GuiView.cpp:950 src/frontends/qt/Menus.cpp:1845 -#: src/frontends/qt/Menus.cpp:1849 src/frontends/qt/Menus.cpp:1853 -#: src/frontends/qt/Menus.cpp:1857 src/frontends/qt/Menus.cpp:1861 -#: src/frontends/qt/Menus.cpp:1865 +#: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 +#: src/frontends/qt/GuiView.cpp:948 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 +#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 +#: src/frontends/qt/Menus.cpp:1863 msgid "[[ZOOM]]%1$d%" msgstr "%1$d%" -#: src/frontends/qt/GuiView.cpp:698 +#: src/frontends/qt/GuiView.cpp:696 msgid "" "WARNING: LaTeX is allowed to execute external commands for this document. " "Right click to change." @@ -34638,104 +34687,112 @@ msgstr "" "AVERTISSEMENT : LaTeX peut ex??cuter des commandes externes dans ce " "document. Faites un clic droit pour changer." -#: src/frontends/qt/GuiView.cpp:777 +#: src/frontends/qt/GuiView.cpp:775 msgid "Cancel Export?" msgstr "&Annuler l'exportation ?" -#: src/frontends/qt/GuiView.cpp:778 +#: src/frontends/qt/GuiView.cpp:776 msgid "Do you want to cancel the background export process?" msgstr "Voulez-vous arr??ter le processus d'exportation en arri??re-plan ?" -#: src/frontends/qt/GuiView.cpp:781 +#: src/frontends/qt/GuiView.cpp:779 msgid "Co&ntinue" msgstr "&Continuer" -#: src/frontends/qt/GuiView.cpp:847 +#: src/frontends/qt/GuiView.cpp:845 #, c-format msgid "Successful export to format: %1$s" msgstr "Succ??s de l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:856 +#: src/frontends/qt/GuiView.cpp:854 #, c-format msgid "Error while exporting format: %1$s" msgstr "Erreur ?? l'exportation au format : %1$s" -#: src/frontends/qt/GuiView.cpp:859 +#: src/frontends/qt/GuiView.cpp:857 #, c-format msgid "Successful preview of format: %1$s" msgstr "Succ??s de l'aper??u du format : %1$s" -#: src/frontends/qt/GuiView.cpp:862 +#: src/frontends/qt/GuiView.cpp:860 #, c-format msgid "Error while previewing format: %1$s" msgstr "Erreur au visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:865 +#: src/frontends/qt/GuiView.cpp:863 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Conversion annul??e pendant le visionnement du format : %1$s" -#: src/frontends/qt/GuiView.cpp:1210 +#: src/frontends/qt/GuiView.cpp:1208 msgid "Exit LyX" msgstr "Quitter LyX" -#: src/frontends/qt/GuiView.cpp:1211 +#: src/frontends/qt/GuiView.cpp:1209 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "Impossible de fermer LyX, des documents sont en cours de traitement." -#: src/frontends/qt/GuiView.cpp:1359 +#: src/frontends/qt/GuiView.cpp:1357 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (modifi?? par une application externe)" -#: src/frontends/qt/GuiView.cpp:1482 +#: src/frontends/qt/GuiView.cpp:1480 msgid "Welcome to LyX!" msgstr "Bienvenue dans LyX !" -#: src/frontends/qt/GuiView.cpp:2019 +#: src/frontends/qt/GuiView.cpp:2017 msgid "Automatic save done." msgstr "Sauvegarde automatique effective." -#: src/frontends/qt/GuiView.cpp:2020 +#: src/frontends/qt/GuiView.cpp:2018 msgid "Automatic save failed!" msgstr "La sauvegarde automatique a ??chou?? !" -#: src/frontends/qt/GuiView.cpp:2076 +#: src/frontends/qt/GuiView.cpp:2074 msgid "Command not allowed without any document open" msgstr "Commande non autoris??e si aucun document n'est ouvert" -#: src/frontends/qt/GuiView.cpp:2145 +#: src/frontends/qt/GuiView.cpp:2143 msgid "Invalid argument of master-buffer-forall" msgstr "Argument invalide pour la commande master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2263 +#: src/frontends/qt/GuiView.cpp:2261 msgid "Function toolbar-set requires two arguments!" msgstr "La fonction toolbar-set n??cessite deux arguments !" -#: src/frontends/qt/GuiView.cpp:2270 +#: src/frontends/qt/GuiView.cpp:2268 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !" -#: src/frontends/qt/GuiView.cpp:2286 src/frontends/qt/GuiView.cpp:2299 -#: src/frontends/qt/GuiView.cpp:2316 +#: src/frontends/qt/GuiView.cpp:2284 src/frontends/qt/GuiView.cpp:2297 +#: src/frontends/qt/GuiView.cpp:2314 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Barre d'outils inconnue \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2436 src/frontends/qt/GuiView.cpp:2449 +#: src/frontends/qt/GuiView.cpp:2434 src/frontends/qt/GuiView.cpp:2447 msgid "Zoom level cannot be less than %1$d%." msgstr "Le niveau de zoom ne peut ??tre inf??rieur ?? %1$d%." -#: src/frontends/qt/GuiView.cpp:2579 +#: src/frontends/qt/GuiView.cpp:2577 msgid "Document not loaded." msgstr "Le document n'a pas ??t?? charg??." -#: src/frontends/qt/GuiView.cpp:2609 +#: src/frontends/qt/GuiView.cpp:2607 msgid "Select document to open" msgstr "Choisir le document ?? ouvrir" -#: src/frontends/qt/GuiView.cpp:2639 +#: src/frontends/qt/GuiView.cpp:2613 +msgid "LyX Document Backups (*.lyx~)" +msgstr "Sauvegardes des documents LyX (*.lyx~)" + +#: src/frontends/qt/GuiView.cpp:2614 +msgid "All Files (*.*)" +msgstr "Tous les fichiers (*.*)" + +#: src/frontends/qt/GuiView.cpp:2641 #, c-format msgid "" "The directory in the given path\n" @@ -34746,40 +34803,40 @@ msgstr "" "%1$s\n" "n'existe pas." -#: src/frontends/qt/GuiView.cpp:2656 +#: src/frontends/qt/GuiView.cpp:2658 #, c-format msgid "Opening document %1$s..." msgstr "Ouverture du document %1$s..." -#: src/frontends/qt/GuiView.cpp:2661 +#: src/frontends/qt/GuiView.cpp:2663 #, c-format msgid "Document %1$s opened." msgstr "Document %1$s ouvert." -#: src/frontends/qt/GuiView.cpp:2664 +#: src/frontends/qt/GuiView.cpp:2666 msgid "Version control detected." msgstr "Contr??le de version d??tect??." -#: src/frontends/qt/GuiView.cpp:2666 +#: src/frontends/qt/GuiView.cpp:2668 #, c-format msgid "Could not open document %1$s" msgstr "Impossible d'ouvrir le document %1$s" -#: src/frontends/qt/GuiView.cpp:2694 +#: src/frontends/qt/GuiView.cpp:2696 msgid "Couldn't import file" msgstr "Impossible d'importer le fichier" -#: src/frontends/qt/GuiView.cpp:2695 +#: src/frontends/qt/GuiView.cpp:2697 #, c-format msgid "No information for importing the format %1$s." msgstr "Pas d'information pour importer le format %1$s." -#: src/frontends/qt/GuiView.cpp:2742 +#: src/frontends/qt/GuiView.cpp:2744 #, c-format msgid "Select %1$s file to import" msgstr "Choisir le fichier %1$s ?? importer" -#: src/frontends/qt/GuiView.cpp:2777 +#: src/frontends/qt/GuiView.cpp:2779 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34788,8 +34845,8 @@ msgstr "" "Le nom de fichier ????%1$s ?? n'est pas valide !\n" "Importation interrompue." -#: src/frontends/qt/GuiView.cpp:2804 src/frontends/qt/GuiView.cpp:3071 -#: src/frontends/qt/GuiView.cpp:3174 +#: src/frontends/qt/GuiView.cpp:2806 src/frontends/qt/GuiView.cpp:3073 +#: src/frontends/qt/GuiView.cpp:3176 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34800,33 +34857,33 @@ msgstr "" "\n" "Voulez-vous ??crire par dessus ce document ?" -#: src/frontends/qt/GuiView.cpp:2806 src/frontends/qt/GuiView.cpp:3075 -#: src/frontends/qt/GuiView.cpp:3178 +#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3180 msgid "Overwrite document?" msgstr "??craser le document ?" -#: src/frontends/qt/GuiView.cpp:2815 +#: src/frontends/qt/GuiView.cpp:2817 #, c-format msgid "Importing %1$s..." msgstr "Importe %1$s..." -#: src/frontends/qt/GuiView.cpp:2818 +#: src/frontends/qt/GuiView.cpp:2820 msgid "imported." msgstr "import??." -#: src/frontends/qt/GuiView.cpp:2820 +#: src/frontends/qt/GuiView.cpp:2822 msgid "file not imported!" msgstr "fichier non import?? !" -#: src/frontends/qt/GuiView.cpp:2846 +#: src/frontends/qt/GuiView.cpp:2848 msgid "newfile" msgstr "nouveau" -#: src/frontends/qt/GuiView.cpp:2879 +#: src/frontends/qt/GuiView.cpp:2881 msgid "Select LyX document to insert" msgstr "Choisir le document ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:2926 +#: src/frontends/qt/GuiView.cpp:2928 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34839,23 +34896,23 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2931 +#: src/frontends/qt/GuiView.cpp:2933 msgid "Create Language Directory?" msgstr "Cr??er un r??pertoire de langue ?" -#: src/frontends/qt/GuiView.cpp:2932 src/frontends/qt/GuiView.cpp:2963 +#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 msgid "&Yes, Create" msgstr "&Oui, cr??er" -#: src/frontends/qt/GuiView.cpp:2932 src/frontends/qt/GuiView.cpp:2963 +#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 msgid "&No, Save Template in Parent Directory" msgstr "&Non, enregistrer le mod??le dans le r??pertoire parent" -#: src/frontends/qt/GuiView.cpp:2935 src/frontends/qt/GuiView.cpp:2966 +#: src/frontends/qt/GuiView.cpp:2937 src/frontends/qt/GuiView.cpp:2968 msgid "Subdirectory creation failed!" msgstr "??chec de la cr??ation du sous-r??pertoire !" -#: src/frontends/qt/GuiView.cpp:2936 src/frontends/qt/GuiView.cpp:2967 +#: src/frontends/qt/GuiView.cpp:2938 src/frontends/qt/GuiView.cpp:2969 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34863,7 +34920,7 @@ msgstr "" "Impossible de cr??er le sous-r??pertoire.\n" "Le mod??le sera enregistr?? dans le r??pertoire parent." -#: src/frontends/qt/GuiView.cpp:2957 +#: src/frontends/qt/GuiView.cpp:2959 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34876,19 +34933,19 @@ msgstr "" "Ce sous-r??pertoire n'existe pas encore.\n" "Voulez-vous le cr??er ?" -#: src/frontends/qt/GuiView.cpp:2962 +#: src/frontends/qt/GuiView.cpp:2964 msgid "Create Category Directory?" msgstr "Cr??er un r??pertoire de cat??gorie ?" -#: src/frontends/qt/GuiView.cpp:2997 +#: src/frontends/qt/GuiView.cpp:2999 msgid "Choose a filename to save template as" msgstr "Choisir le nom du fichier sous lequel enregistrer le mod??le" -#: src/frontends/qt/GuiView.cpp:2998 +#: src/frontends/qt/GuiView.cpp:3000 msgid "Choose a filename to save document as" msgstr "Choisir le nom sous lequel enregistrer le fichier" -#: src/frontends/qt/GuiView.cpp:3034 +#: src/frontends/qt/GuiView.cpp:3036 #, c-format msgid "" "The file\n" @@ -34903,17 +34960,17 @@ msgstr "" "Merci de le fermer avant d'essayer de l'??craser.\n" "Vouez-vous d??finir un nouveau nom de fichier ?" -#: src/frontends/qt/GuiView.cpp:3038 +#: src/frontends/qt/GuiView.cpp:3040 msgid "Chosen File Already Open" msgstr "Fichier s??lectionn?? d??j?? ouvert" -#: src/frontends/qt/GuiView.cpp:3039 src/frontends/qt/GuiView.cpp:3061 -#: src/frontends/qt/GuiView.cpp:3077 src/frontends/qt/GuiView.cpp:3179 -#: src/frontends/qt/GuiView.cpp:3224 +#: src/frontends/qt/GuiView.cpp:3041 src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3079 src/frontends/qt/GuiView.cpp:3181 +#: src/frontends/qt/GuiView.cpp:3226 msgid "&Rename" msgstr "&Renommer" -#: src/frontends/qt/GuiView.cpp:3054 +#: src/frontends/qt/GuiView.cpp:3056 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34924,27 +34981,27 @@ msgstr "" "\n" "Voulez-vous choisir un nouveau nom ?" -#: src/frontends/qt/GuiView.cpp:3059 +#: src/frontends/qt/GuiView.cpp:3061 msgid "Rename document?" msgstr "Renommer le document ?" -#: src/frontends/qt/GuiView.cpp:3059 +#: src/frontends/qt/GuiView.cpp:3061 msgid "Copy document?" msgstr "Copier le document ?" -#: src/frontends/qt/GuiView.cpp:3061 +#: src/frontends/qt/GuiView.cpp:3063 msgid "&Copy" msgstr "&Copier" -#: src/frontends/qt/GuiView.cpp:3121 +#: src/frontends/qt/GuiView.cpp:3123 msgid "Choose a filename to export the document as" msgstr "Choisir le nom sous lequel exporter le fichier" -#: src/frontends/qt/GuiView.cpp:3125 +#: src/frontends/qt/GuiView.cpp:3127 msgid "Guess from extension (*.*)" msgstr "Deviner ?? partir du suffixe (*.*)" -#: src/frontends/qt/GuiView.cpp:3220 +#: src/frontends/qt/GuiView.cpp:3222 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -34955,15 +35012,15 @@ msgstr "" "\n" "Voulez-vous renommer le document et essayer ?? nouveau ?" -#: src/frontends/qt/GuiView.cpp:3223 +#: src/frontends/qt/GuiView.cpp:3225 msgid "Rename and save?" msgstr "Renommer et enregistrer ?" -#: src/frontends/qt/GuiView.cpp:3224 +#: src/frontends/qt/GuiView.cpp:3226 msgid "&Retry" msgstr "&R??essayer" -#: src/frontends/qt/GuiView.cpp:3269 +#: src/frontends/qt/GuiView.cpp:3271 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -34981,24 +35038,24 @@ msgstr "" "Les documents cach??s peuvent ??tre r??-affich??s via\n" "Affichage->Cach??->...\n" -#: src/frontends/qt/GuiView.cpp:3278 +#: src/frontends/qt/GuiView.cpp:3280 msgid "Close or hide document?" msgstr "Fermer ou cacher le document ?" -#: src/frontends/qt/GuiView.cpp:3279 +#: src/frontends/qt/GuiView.cpp:3281 msgid "&Hide" msgstr "&Cacher" -#: src/frontends/qt/GuiView.cpp:3376 +#: src/frontends/qt/GuiView.cpp:3378 msgid "Close document" msgstr "Fermer le document" -#: src/frontends/qt/GuiView.cpp:3377 +#: src/frontends/qt/GuiView.cpp:3379 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Impossible de fermer le document, il est en cours de traitement par LyX." -#: src/frontends/qt/GuiView.cpp:3509 src/frontends/qt/GuiView.cpp:3624 +#: src/frontends/qt/GuiView.cpp:3511 src/frontends/qt/GuiView.cpp:3626 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35009,16 +35066,16 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3512 src/frontends/qt/GuiView.cpp:3627 +#: src/frontends/qt/GuiView.cpp:3514 src/frontends/qt/GuiView.cpp:3629 msgid "Save new document?" msgstr "Enregistrer le nouveau document ?" -#: src/frontends/qt/GuiView.cpp:3513 src/frontends/qt/GuiView.cpp:3527 -#: src/frontends/qt/GuiView.cpp:3629 +#: src/frontends/qt/GuiView.cpp:3515 src/frontends/qt/GuiView.cpp:3529 +#: src/frontends/qt/GuiView.cpp:3631 msgid "&Save" msgstr "&Enregistrer" -#: src/frontends/qt/GuiView.cpp:3518 +#: src/frontends/qt/GuiView.cpp:3520 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35029,7 +35086,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou ignorer ces modifications ?" -#: src/frontends/qt/GuiView.cpp:3521 +#: src/frontends/qt/GuiView.cpp:3523 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -35040,19 +35097,19 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ou bien l'abandonner enti??rement ?" -#: src/frontends/qt/GuiView.cpp:3525 src/frontends/qt/GuiView.cpp:3621 +#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3623 msgid "Save changed document?" msgstr "Enregistrer le document modifi?? ?" -#: src/frontends/qt/GuiView.cpp:3525 +#: src/frontends/qt/GuiView.cpp:3527 msgid "Save document?" msgstr "Enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3527 +#: src/frontends/qt/GuiView.cpp:3529 msgid "&Discard" msgstr "I&gnorer" -#: src/frontends/qt/GuiView.cpp:3618 +#: src/frontends/qt/GuiView.cpp:3620 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -35063,7 +35120,7 @@ msgstr "" "\n" "Voulez-vous enregistrer le document ?" -#: src/frontends/qt/GuiView.cpp:3650 +#: src/frontends/qt/GuiView.cpp:3652 #, c-format msgid "" "Document \n" @@ -35075,37 +35132,37 @@ msgstr "" "a ??t?? modifi?? par une application externe. Le recharger maintenant ? Toutes " "les modifications locales seront perdues." -#: src/frontends/qt/GuiView.cpp:3653 +#: src/frontends/qt/GuiView.cpp:3655 msgid "Reload externally changed document?" msgstr "Recharger le document modifi?? par une application externe ?" -#: src/frontends/qt/GuiView.cpp:3698 +#: src/frontends/qt/GuiView.cpp:3700 msgid "Document could not be checked in." msgstr "Impossible d'enregistrer les changements." -#: src/frontends/qt/GuiView.cpp:3741 +#: src/frontends/qt/GuiView.cpp:3743 msgid "Error when setting the locking property." msgstr "Erreur lors du positionnement de la propri??t?? de verrouillage." -#: src/frontends/qt/GuiView.cpp:3790 +#: src/frontends/qt/GuiView.cpp:3792 msgid "Directory is not accessible." msgstr "R??pertoire inaccessible." -#: src/frontends/qt/GuiView.cpp:3867 +#: src/frontends/qt/GuiView.cpp:3869 #, c-format msgid "Opening child document %1$s..." msgstr "Ouverture du sous-document %1$s..." -#: src/frontends/qt/GuiView.cpp:3925 +#: src/frontends/qt/GuiView.cpp:3927 #, c-format msgid "No buffer for file: %1$s." msgstr "Pas de tampon pour le fichier : %1$s." -#: src/frontends/qt/GuiView.cpp:3935 +#: src/frontends/qt/GuiView.cpp:3937 msgid "Inverse Search Failed" msgstr "??chec de la recherche invers??e" -#: src/frontends/qt/GuiView.cpp:3936 +#: src/frontends/qt/GuiView.cpp:3938 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -35113,35 +35170,35 @@ msgstr "" "Position requise par la recherche invers??e invalide.\n" "Vous devriez peut-??tre mettre ?? jour le document dans la visionneuse." -#: src/frontends/qt/GuiView.cpp:4016 +#: src/frontends/qt/GuiView.cpp:4018 msgid "Export Error" msgstr "Exporter l'erreur" -#: src/frontends/qt/GuiView.cpp:4017 +#: src/frontends/qt/GuiView.cpp:4019 msgid "Error cloning the Buffer." msgstr "Erreur lors du clonage du tampon." -#: src/frontends/qt/GuiView.cpp:4168 src/frontends/qt/GuiView.cpp:4188 +#: src/frontends/qt/GuiView.cpp:4170 src/frontends/qt/GuiView.cpp:4190 msgid "Exporting ..." msgstr "Exportation en cours..." -#: src/frontends/qt/GuiView.cpp:4197 +#: src/frontends/qt/GuiView.cpp:4199 msgid "Previewing ..." msgstr "Visionnement en cours..." -#: src/frontends/qt/GuiView.cpp:4235 +#: src/frontends/qt/GuiView.cpp:4237 msgid "Document not loaded" msgstr "Le document n'a pas ??t?? charg??" -#: src/frontends/qt/GuiView.cpp:4322 +#: src/frontends/qt/GuiView.cpp:4324 msgid "Select file to insert" msgstr "Choisir le fichier ?? ins??rer" -#: src/frontends/qt/GuiView.cpp:4325 +#: src/frontends/qt/GuiView.cpp:4327 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: src/frontends/qt/GuiView.cpp:4353 +#: src/frontends/qt/GuiView.cpp:4355 #, c-format msgid "" "The current version will be lost. Are you sure you want to load the version " @@ -35150,7 +35207,7 @@ msgstr "" "La version actuelle sera perdue. ??tes-vous s??r de vouloir revenir ?? la " "derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4360 +#: src/frontends/qt/GuiView.cpp:4362 #, c-format msgid "" "Any changes will be lost. Are you sure you want to revert to the saved " @@ -35159,61 +35216,61 @@ msgstr "" "Toutes les modifications seront perdues. ??tes-vous s??r de vouloir revenir ?? " "la derni??re version enregistr??e du document %1$s ?" -#: src/frontends/qt/GuiView.cpp:4363 +#: src/frontends/qt/GuiView.cpp:4365 msgid "Revert to saved document?" msgstr "Revenir ?? la sauvegarde du document ?" -#: src/frontends/qt/GuiView.cpp:4380 +#: src/frontends/qt/GuiView.cpp:4382 msgid "Buffer export reset." msgstr "RaZ exportation du tampon." -#: src/frontends/qt/GuiView.cpp:4403 +#: src/frontends/qt/GuiView.cpp:4405 msgid "Saving all documents..." msgstr "Enregistrement de tous les documents..." -#: src/frontends/qt/GuiView.cpp:4413 +#: src/frontends/qt/GuiView.cpp:4415 msgid "All documents saved." msgstr "Tous les documents sont enregistr??s." -#: src/frontends/qt/GuiView.cpp:4452 +#: src/frontends/qt/GuiView.cpp:4454 msgid "Developer mode is now enabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant actif." -#: src/frontends/qt/GuiView.cpp:4454 +#: src/frontends/qt/GuiView.cpp:4456 msgid "Developer mode is now disabled." msgstr "Le mode ?? d??veloppeur ?? est maintenant inactif." -#: src/frontends/qt/GuiView.cpp:4486 +#: src/frontends/qt/GuiView.cpp:4488 msgid "Toolbars unlocked." msgstr "Barres d'outils d??verrouill??es." -#: src/frontends/qt/GuiView.cpp:4488 +#: src/frontends/qt/GuiView.cpp:4490 msgid "Toolbars locked." msgstr "Barres d'outils verrouill??es." -#: src/frontends/qt/GuiView.cpp:4501 +#: src/frontends/qt/GuiView.cpp:4503 #, c-format msgid "Icon size set to %1$dx%2$d." msgstr "Taille d'ic??ne r??gl??e ?? %1$dx%2$d." -#: src/frontends/qt/GuiView.cpp:4590 +#: src/frontends/qt/GuiView.cpp:4592 #, c-format msgid "%1$s unknown command!" msgstr "%1$s : commande inconnue !" -#: src/frontends/qt/GuiView.cpp:4694 +#: src/frontends/qt/GuiView.cpp:4696 msgid "Zoom level is now %1$d% (default value: %2$d%)" msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)" -#: src/frontends/qt/GuiView.cpp:4753 +#: src/frontends/qt/GuiView.cpp:4755 msgid "Please, preview the document first." msgstr "Merci d'afficher d'abord un aper??u du document." -#: src/frontends/qt/GuiView.cpp:4769 +#: src/frontends/qt/GuiView.cpp:4771 msgid "Couldn't proceed." msgstr "Impossible de poursuivre." -#: src/frontends/qt/GuiView.cpp:5124 +#: src/frontends/qt/GuiView.cpp:5126 msgid "Disable Shell Escape" msgstr "D??sactiver shell escape" @@ -35360,186 +35417,186 @@ msgstr "Mettre ?? jour [%1$s]|u" msgid "(No Custom Insets Defined)" msgstr "(Aucun insert param??trable d??fini)" -#: src/frontends/qt/Menus.cpp:1357 +#: src/frontends/qt/Menus.cpp:1355 msgid "(No Document Open)" msgstr "(Aucun document ouvert)" -#: src/frontends/qt/Menus.cpp:1366 +#: src/frontends/qt/Menus.cpp:1364 msgid "Master Document" msgstr "Document ma??tre" -#: src/frontends/qt/Menus.cpp:1389 +#: src/frontends/qt/Menus.cpp:1387 msgid "Other Lists" msgstr "Autres listes" -#: src/frontends/qt/Menus.cpp:1403 +#: src/frontends/qt/Menus.cpp:1401 msgid "(Empty Table of Contents)" msgstr "(Table des mati??res vide)" -#: src/frontends/qt/Menus.cpp:1412 +#: src/frontends/qt/Menus.cpp:1410 msgid "Open Outliner..." msgstr "Ouvrir le plan..." -#: src/frontends/qt/Menus.cpp:1444 +#: src/frontends/qt/Menus.cpp:1442 msgid "[[Toolbar]]On|O" msgstr "Active|A" -#: src/frontends/qt/Menus.cpp:1446 +#: src/frontends/qt/Menus.cpp:1444 msgid "[[Toolbar]]Off|f" msgstr "Inactive|I" -#: src/frontends/qt/Menus.cpp:1448 +#: src/frontends/qt/Menus.cpp:1446 msgid "[[Toolbar]]Automatic|A" msgstr "Automatique|A" -#: src/frontends/qt/Menus.cpp:1460 +#: src/frontends/qt/Menus.cpp:1458 msgid "Other Toolbars" msgstr "Autres barres d'outils" -#: src/frontends/qt/Menus.cpp:1523 +#: src/frontends/qt/Menus.cpp:1521 msgid "Master Documents" msgstr "Documents ma??tres" -#: src/frontends/qt/Menus.cpp:1539 +#: src/frontends/qt/Menus.cpp:1537 msgid "Index List|I" msgstr "Index|I" -#: src/frontends/qt/Menus.cpp:1544 +#: src/frontends/qt/Menus.cpp:1542 msgid "Index Entry|d" msgstr "Entr??e d'index|i" -#: src/frontends/qt/Menus.cpp:1559 +#: src/frontends/qt/Menus.cpp:1557 #, c-format msgid "Index: %1$s" msgstr "Index : %1$s" -#: src/frontends/qt/Menus.cpp:1564 src/frontends/qt/Menus.cpp:1593 +#: src/frontends/qt/Menus.cpp:1562 src/frontends/qt/Menus.cpp:1591 #, c-format msgid "Index Entry (%1$s)" msgstr "Entr??e d'index (%1$s)" -#: src/frontends/qt/Menus.cpp:1610 +#: src/frontends/qt/Menus.cpp:1608 msgid "No Citation in Scope!" msgstr "Aucune citation accessible !" -#: src/frontends/qt/Menus.cpp:1624 src/insets/InsetCitation.cpp:324 +#: src/frontends/qt/Menus.cpp:1622 src/insets/InsetCitation.cpp:324 #: src/insets/InsetCitation.cpp:454 msgid "No citations selected!" msgstr "Aucune citation s??lectionn??e !" -#: src/frontends/qt/Menus.cpp:1673 +#: src/frontends/qt/Menus.cpp:1671 msgid "All authors|h" msgstr "Tous les auteurs|u" -#: src/frontends/qt/Menus.cpp:1704 +#: src/frontends/qt/Menus.cpp:1702 msgid "Force upper case|u" msgstr "Forcer les capitales|c" -#: src/frontends/qt/Menus.cpp:1718 +#: src/frontends/qt/Menus.cpp:1716 msgid "No Text Field in Scope!" msgstr "Aucun champ textuel en vue !" -#: src/frontends/qt/Menus.cpp:1737 +#: src/frontends/qt/Menus.cpp:1735 msgid "Custom..." msgstr "R??glable..." -#: src/frontends/qt/Menus.cpp:1813 +#: src/frontends/qt/Menus.cpp:1811 #, c-format msgid "Caption (%1$s)" msgstr "L??gende (%1$s)" -#: src/frontends/qt/Menus.cpp:1833 +#: src/frontends/qt/Menus.cpp:1831 msgid "Reset to Default (%1$d%)|R" msgstr "Revenir au r??glage implicite (%1$d%)|??" -#: src/frontends/qt/Menus.cpp:1837 +#: src/frontends/qt/Menus.cpp:1835 msgid "Zoom In|I" msgstr "Augmenter le zoom|A" -#: src/frontends/qt/Menus.cpp:1839 +#: src/frontends/qt/Menus.cpp:1837 msgid "Zoom Out|O" msgstr "R??duire le zoom[R" -#: src/frontends/qt/Menus.cpp:1881 +#: src/frontends/qt/Menus.cpp:1879 msgid "No Quote in Scope!" msgstr "Aucun guillemet accessible !" -#: src/frontends/qt/Menus.cpp:1913 src/frontends/qt/Menus.cpp:1917 -#: src/frontends/qt/Menus.cpp:1921 src/frontends/qt/Menus.cpp:1925 +#: src/frontends/qt/Menus.cpp:1911 src/frontends/qt/Menus.cpp:1915 +#: src/frontends/qt/Menus.cpp:1919 src/frontends/qt/Menus.cpp:1923 #, c-format msgid "%1$s (dynamic)" msgstr "%1$s (dynamique)" -#: src/frontends/qt/Menus.cpp:1959 +#: src/frontends/qt/Menus.cpp:1957 #, c-format msgid "Use dynamic quotes (%1$s)|d" msgstr "Utiliser les guillemets dynamiques (%1$s)|d" -#: src/frontends/qt/Menus.cpp:1965 +#: src/frontends/qt/Menus.cpp:1963 msgid "dynamic[[Quotes]]" msgstr "dynamiques" -#: src/frontends/qt/Menus.cpp:1965 src/frontends/qt/Menus.cpp:1975 +#: src/frontends/qt/Menus.cpp:1963 src/frontends/qt/Menus.cpp:1973 msgid "static[[Quotes]]" msgstr "statiques" -#: src/frontends/qt/Menus.cpp:1967 +#: src/frontends/qt/Menus.cpp:1965 #, c-format msgid "Reset to document default (%1$s, %2$s)|o" msgstr "Revenir aux valeurs implicites du document (%1$s, %2$s)|o" -#: src/frontends/qt/Menus.cpp:1974 +#: src/frontends/qt/Menus.cpp:1972 #, c-format msgid "Reset to language default (%1$s, %2$s)|l" msgstr "Revenir ?? la langue implicite (%1$s, %2$s)|l" -#: src/frontends/qt/Menus.cpp:1976 +#: src/frontends/qt/Menus.cpp:1974 #, c-format msgid "Reset to language default (%1$s)|l" msgstr "Revenir ?? la langue implicite (%1$s)|l" -#: src/frontends/qt/Menus.cpp:1984 +#: src/frontends/qt/Menus.cpp:1982 msgid "Change Style|y" msgstr "Changer le style|y" -#: src/frontends/qt/Menus.cpp:2025 +#: src/frontends/qt/Menus.cpp:2023 #, c-format msgid "Insert Separated %1$s Above" msgstr "Environnement ?? %1$s ?? s??par?? au-dessus" -#: src/frontends/qt/Menus.cpp:2027 +#: src/frontends/qt/Menus.cpp:2025 #, c-format msgid "Separated %1$s Above" msgstr "Environnement ?? %1$s ?? s??par?? au-dessus" -#: src/frontends/qt/Menus.cpp:2033 src/frontends/qt/Menus.cpp:2046 -#: src/frontends/qt/Menus.cpp:2063 +#: src/frontends/qt/Menus.cpp:2031 src/frontends/qt/Menus.cpp:2044 +#: src/frontends/qt/Menus.cpp:2061 #, c-format msgid "Insert Separated %1$s Below" msgstr "Environnement ?? %1$s ?? s??par?? au-dessous" -#: src/frontends/qt/Menus.cpp:2035 src/frontends/qt/Menus.cpp:2048 -#: src/frontends/qt/Menus.cpp:2069 +#: src/frontends/qt/Menus.cpp:2033 src/frontends/qt/Menus.cpp:2046 +#: src/frontends/qt/Menus.cpp:2067 #, c-format msgid "Separated %1$s Below" msgstr "Environnement ?? %1$s ?? s??par?? au-dessous" -#: src/frontends/qt/Menus.cpp:2061 +#: src/frontends/qt/Menus.cpp:2059 #, c-format msgid "Insert Separated Outer %1$s Below" msgstr "Environnement ?? %1$s ?? s??par?? au-dessous, ext??rieurement" -#: src/frontends/qt/Menus.cpp:2067 +#: src/frontends/qt/Menus.cpp:2065 #, c-format msgid "Separated Outer %1$s Below" msgstr "Environnement ?? %1$s ?? s??par?? au-dessous, ext??rieurement" -#: src/frontends/qt/Menus.cpp:2383 +#: src/frontends/qt/Menus.cpp:2381 #, c-format msgid "Export [%1$s]|E" msgstr "Exporter [%1$s]|E" -#: src/frontends/qt/Menus.cpp:2737 +#: src/frontends/qt/Menus.cpp:2735 msgid "No Action Defined!" msgstr "Aucune action d??finie !" @@ -37098,11 +37155,11 @@ msgstr "Espace horizontal ins??cable (%1$s)" msgid "Unknown TOC type" msgstr "Type de TDM inconnu" -#: src/insets/InsetTabular.cpp:463 +#: src/insets/InsetTabular.cpp:464 msgid "Change tracking data incomplete" msgstr "Date de suivi des modifications incompl??te" -#: src/insets/InsetTabular.cpp:464 +#: src/insets/InsetTabular.cpp:465 msgid "" "Change tracking information for tabular row/column is incomplete. I will " "ignore this." @@ -37110,20 +37167,20 @@ msgstr "" "L'information de suivi de modifications pour les lignes/colonnes de tableau " "est incompl??te. Elle sera ignor??e." -#: src/insets/InsetTabular.cpp:5600 +#: src/insets/InsetTabular.cpp:5607 msgid "Column movement not supported with multi-columns." msgstr "D??placement de colonne non implant?? pour les colonnes multiples." -#: src/insets/InsetTabular.cpp:5618 +#: src/insets/InsetTabular.cpp:5625 msgid "Row movement not supported with multi-rows." msgstr "D??placement de ligne non implant?? pour les lignes multiples." -#: src/insets/InsetTabular.cpp:6120 +#: src/insets/InsetTabular.cpp:6127 msgid "Selection size should match clipboard content." msgstr "" "La taille de la s??lection doit correspondre au contenu du presse-papier." -#: src/insets/InsetText.cpp:1292 +#: src/insets/InsetText.cpp:1378 msgid "[contains tracked changes]" msgstr "[contient les modifications suivies]" @@ -37221,7 +37278,7 @@ msgstr "" "La cha??ne recherch??e n'a pas ??t?? trouv??e dans la s??lection.\n" "Continuer ?? chercher en-dehors ?" -#: src/lyxfind.cpp:344 src/lyxfind.cpp:684 +#: src/lyxfind.cpp:345 src/lyxfind.cpp:691 msgid "" "End of file reached while searching forward.\n" "Continue searching from the beginning?" @@ -37229,7 +37286,7 @@ msgstr "" "Fin du fichier atteinte lors de la recherche en avant.\n" "Continuer la recherche depuis le d??but ?" -#: src/lyxfind.cpp:347 src/lyxfind.cpp:712 +#: src/lyxfind.cpp:348 src/lyxfind.cpp:719 msgid "" "Beginning of file reached while searching backward.\n" "Continue searching from the end?" @@ -37237,58 +37294,67 @@ msgstr "" "D??but du fichier atteint lors de la recherche en arri??re.\n" "Continuer la recherche depuis la fin ?" -#: src/lyxfind.cpp:657 +#: src/lyxfind.cpp:364 +msgid "Search reached end of document, continuing from beginning." +msgstr "Fin du document atteinte, la recherche continue ?? partir du d??but." + +#: src/lyxfind.cpp:365 +msgid "Search reached beginning of document, continuing from end." +msgstr "" +"La recherche a atteint le d??but du document, elle continue depuis la fin." + +#: src/lyxfind.cpp:664 msgid "String not found in selection." msgstr "Cha??ne de caract??res introuvable dans le s??lection." -#: src/lyxfind.cpp:659 +#: src/lyxfind.cpp:666 msgid "String not found." msgstr "Cha??ne de caract??res introuvable." -#: src/lyxfind.cpp:662 +#: src/lyxfind.cpp:669 msgid "String found." msgstr "Cha??ne de caract??res trouv??e." -#: src/lyxfind.cpp:664 +#: src/lyxfind.cpp:671 msgid "String has been replaced." msgstr "Cha??ne remplac??e." -#: src/lyxfind.cpp:667 +#: src/lyxfind.cpp:674 #, c-format msgid "%1$d strings have been replaced in the selection." msgstr "%1$d cha??nes remplac??es dans le s??lection." -#: src/lyxfind.cpp:668 +#: src/lyxfind.cpp:675 #, c-format msgid "%1$d strings have been replaced." msgstr "%1$d cha??nes remplac??es." -#: src/lyxfind.cpp:4388 +#: src/lyxfind.cpp:4483 msgid "One match has been replaced." msgstr "Une correspondance a ??t?? remplac??e." -#: src/lyxfind.cpp:4391 +#: src/lyxfind.cpp:4486 msgid "Two matches have been replaced." msgstr "Deux correspondances ont ??t?? remplac??es." -#: src/lyxfind.cpp:4394 +#: src/lyxfind.cpp:4489 #, c-format msgid "%1$d matches have been replaced." msgstr "%1$d correspondances ont ??t?? remplac??es." -#: src/lyxfind.cpp:4400 +#: src/lyxfind.cpp:4495 msgid "Match not found." msgstr "Cha??ne de caract??res introuvable." -#: src/lyxfind.cpp:4406 +#: src/lyxfind.cpp:4501 msgid "Match has been replaced." msgstr "Cha??ne de caract??res remplac??e." -#: src/lyxfind.cpp:4408 +#: src/lyxfind.cpp:4503 msgid "Match found." msgstr "Cha??ne de caract??res reconnue." -#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2153 +#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2163 #: src/mathed/InsetMathSplit.cpp:127 src/mathed/InsetMathSubstack.cpp:70 #, c-format msgid "Can't add vertical grid lines in '%1$s'" @@ -37353,16 +37419,16 @@ msgstr "Pas de ligne verticale ?? supprimer" msgid "Unknown tabular feature '%1$s'" msgstr "Option de tableau inconnue '%1$s'" -#: src/mathed/InsetMathHull.cpp:1716 +#: src/mathed/InsetMathHull.cpp:1726 #, c-format msgid "Type: %1$s" msgstr "Type : %1$s" -#: src/mathed/InsetMathHull.cpp:1752 +#: src/mathed/InsetMathHull.cpp:1762 msgid "Bad math environment" msgstr "Environnement math??matique incorrect" -#: src/mathed/InsetMathHull.cpp:1753 +#: src/mathed/InsetMathHull.cpp:1763 msgid "" "Computation cannot be performed for AMS math environments.\n" "Change the math formula type and try again." @@ -37370,16 +37436,16 @@ msgstr "" "Le calcul ne peut pas ??tre effectu?? pour l'environnement math??matique AMS.\n" "Modifier le type de formule math??matique et r??essayer." -#: src/mathed/InsetMathHull.cpp:1856 src/mathed/InsetMathHull.cpp:1865 +#: src/mathed/InsetMathHull.cpp:1866 src/mathed/InsetMathHull.cpp:1875 msgid "No number" msgstr "Pas de num??ro" -#: src/mathed/InsetMathHull.cpp:2136 +#: src/mathed/InsetMathHull.cpp:2146 #, c-format msgid "Can't change number of rows in '%1$s'" msgstr "Impossible de changer le nombre de lignes dans '%1$s'" -#: src/mathed/InsetMathHull.cpp:2146 +#: src/mathed/InsetMathHull.cpp:2156 #, c-format msgid "Can't change number of columns in '%1$s'" msgstr "Impossible de changer le nombre de colonnes dans '%1$s'" @@ -37574,7 +37640,7 @@ msgstr "" msgid "Directory not found" msgstr "R??pertoire introuvable" -#: src/support/Systemcall.cpp:433 +#: src/support/Systemcall.cpp:441 #, c-format msgid "" "The command\n" @@ -37589,15 +37655,15 @@ msgstr "" "\n" "Voulez-vous l'interrompre ?" -#: src/support/Systemcall.cpp:435 +#: src/support/Systemcall.cpp:443 msgid "Stop command?" msgstr "Interrompre la commande ?" -#: src/support/Systemcall.cpp:436 +#: src/support/Systemcall.cpp:444 msgid "&Stop it" msgstr "&Interrompre" -#: src/support/Systemcall.cpp:436 +#: src/support/Systemcall.cpp:444 msgid "Let it &run" msgstr "Laisser &tourner" commit 279e0a68393cca17c6d23a7f90eb6954d8ca7286 Author: Thibaut Cuvelier Date: Tue Oct 19 02:31:36 2021 +0200 DocBook: use the new refactorings in InsetText. InsetText::docbookRenderAsImage directly used Qt to compute hashes, use the same code as support/FileName (now living in support/filetools). diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 7bb0c0c..626818c 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -63,6 +63,7 @@ #include "support/convert.h" #include "support/debug.h" +#include "support/filetools.h" #include "support/gettext.h" #include "support/lassert.h" #include "support/lstrings.h" @@ -72,8 +73,6 @@ #include #include -#include - using namespace std; using namespace lyx::support; @@ -679,17 +678,7 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH // same hash (by design of cryptographic hash functions). Computing a hash // is typically slow, but extremely fast compared to compilation of the // preview and image rendering. - QString snippetQ = QString(snippet.c_str()); -#if QT_VERSION >= 0x050000 - QByteArray hash = QCryptographicHash::hash(snippetQ.toLocal8Bit(), QCryptographicHash::Sha256); -#else - QByteArray hash = QCryptographicHash::hash(snippetQ.toLocal8Bit(), QCryptographicHash::Sha1); -#endif - auto newFileBase = QString(hash.toBase64()) - .replace("/", "") - .replace("+", "") - .replace("=", ""); - std::string newFileName = "lyx_" + newFileBase.toStdString() + "." + filename.extension(); + std::string newFileName = "lyx_" + sanitizeFileName(toHexHash(snippet)) + "." + filename.extension(); // Copy the image into the right folder. rp.exportdata->addExternalFile("docbook5", filename, newFileName); commit 0b5e94072313045b1adf53dd88d45a78e460bfbe Author: Thibaut Cuvelier Date: Tue Oct 19 02:30:47 2021 +0200 Refactor file-name sanitisation. For now, this is only used in FileName, because it does not change the semantics of DocFileName::mangledFileName. diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp index 5d70dd2..8ad7e00 100644 --- a/src/support/FileName.cpp +++ b/src/support/FileName.cpp @@ -977,18 +977,7 @@ string DocFileName::mangledFileName(string const & dir, bool use_counter, bool e mname = "export_" + onlyFileName() + "_" + toHexHash(mname); // The mangled name must be a valid LaTeX name. - // The list of characters to keep is probably over-restrictive, - // but it is not really a problem. - // Apart from non-ASCII characters, at least the following characters - // are forbidden: '/', '.', ' ', and ':'. - // On windows it is not possible to create files with '<', '>' or '?' - // in the name. - static string const keep = "abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "+-0123456789;="; - string::size_type pos = 0; - while ((pos = mname.find_first_not_of(keep, pos)) != string::npos) - mname[pos++] = '_'; + mname = sanitizeFileName(mname); // Add the extension back on mname = support::changeExtension(mname, getExtension(name)); diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp index d022115..cfb245c 100644 --- a/src/support/filetools.cpp +++ b/src/support/filetools.cpp @@ -1325,5 +1325,26 @@ std::string toHexHash(const std::string & str) return fromqstr(QString(hash.toHex())); } + +std::string sanitizeFileName(const std::string & str) +{ + // The list of characters to keep is probably over-restrictive, + // but it is not really a problem. + // Apart from non-ASCII characters, at least the following characters + // are forbidden: '/', '.', ' ', and ':'. + // On windows it is not possible to create files with '<', '>' or '?' + // in the name. + static std::string const keep = "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "+-0123456789;="; + + std::string name = str; + string::size_type pos = 0; + while ((pos = name.find_first_not_of(keep, pos)) != string::npos) + name[pos++] = '_'; + + return name; +} + } // namespace support } // namespace lyx diff --git a/src/support/filetools.h b/src/support/filetools.h index 84b2378..404dec2 100644 --- a/src/support/filetools.h +++ b/src/support/filetools.h @@ -354,6 +354,10 @@ void fileUnlock(int fd, const char * lock_file); */ std::string toHexHash(const std::string & str); +/// Replace non-ASCII characters to ensure that the string can be used as a +/// file name on all platforms and as a LaTeX name. +std::string sanitizeFileName(const std::string & str); + } // namespace support } // namespace lyx commit 789a537182b2d06c97cf6215cdcd09d1e4eb324d Author: Thibaut Cuvelier Date: Tue Oct 19 02:24:22 2021 +0200 Refactor computing hashes. For now, this is only used in FileName, because it does not change the semantics of DocFileName::mangledFileName. diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp index 729e3d0..5d70dd2 100644 --- a/src/support/FileName.cpp +++ b/src/support/FileName.cpp @@ -22,7 +22,6 @@ #include "support/Package.h" #include "support/qstring_helpers.h" -#include #include #include #include @@ -974,17 +973,8 @@ string DocFileName::mangledFileName(string const & dir, bool use_counter, bool e // Now the real work. Remove the extension. string mname = support::changeExtension(name, string()); - if (encrypt_path) { - QString qname = toqstr(mname); -#if QT_VERSION >= 0x050000 - QByteArray hash = QCryptographicHash::hash(qname.toLocal8Bit(),QCryptographicHash::Sha256); -#else - QByteArray hash = QCryptographicHash::hash(qname.toLocal8Bit(),QCryptographicHash::Sha1); -#endif - hash = hash.toHex(); - mname = fromqstr(QString(hash)); - mname = "export_" + onlyFileName() + "_" + mname; - } + if (encrypt_path) + mname = "export_" + onlyFileName() + "_" + toHexHash(mname); // The mangled name must be a valid LaTeX name. // The list of characters to keep is probably over-restrictive, diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp index 41e508b..d022115 100644 --- a/src/support/filetools.cpp +++ b/src/support/filetools.cpp @@ -62,6 +62,8 @@ #include #include +#include + #if defined (_WIN32) #include #include @@ -1309,5 +1311,19 @@ void fileUnlock(int fd, const char * /* lock_file*/) #endif } -} //namespace support + +std::string toHexHash(const std::string & str) +{ + // Use the best available hashing algorithm. Qt 5 proposes SHA-2, but Qt 4 is limited to SHA-1. +#if QT_VERSION >= 0x050000 + auto hashAlgo = QCryptographicHash::Sha256; +#else + auto hashAlgo = QCryptographicHash::Sha1; +#endif + + QByteArray hash = QCryptographicHash::hash(toqstr(str).toLocal8Bit(), hashAlgo); + return fromqstr(QString(hash.toHex())); +} + +} // namespace support } // namespace lyx diff --git a/src/support/filetools.h b/src/support/filetools.h index dd47ba1..84b2378 100644 --- a/src/support/filetools.h +++ b/src/support/filetools.h @@ -344,6 +344,16 @@ cmd_ret const runCommand(std::string const & cmd); int fileLock(const char * lock_file); void fileUnlock(int fd, const char * lock_file); +/** Return the hex-encoded cryptographic hash of a string. + * The hash algorithm is not fixed, but it is determined at compile time. + * This function is typically used to create relatively stable file names, + * because cryptographic hash functions ensure that very small changes in the + * input result in large changes in the output. + * There is no limit in the length of the input string: it can be a file name + * or the contents of a file, for instance. + */ +std::string toHexHash(const std::string & str); + } // namespace support } // namespace lyx commit 40ee8d2a1a8bbc138387950bc9b71d97446e87f2 Author: Jean-Marc Lasgouttes Date: Tue Oct 12 15:45:04 2021 +0200 Reset inline completion after undo/redo Fixes bug #12383. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 0f36dca..f7f2d35 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1481,6 +1481,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); + resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); @@ -1501,6 +1502,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); + resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); commit ada713a8815063cfa9fbd4666b3ae5a220a07eba Author: Jean-Marc Lasgouttes Date: Mon Oct 18 17:35:48 2021 +0200 Revert "Update correctly completion after undo" This reverts commit 06acb7f806f99cd418781f9d0645b213f8241062. diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 9126d48..767791f 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -4067,10 +4067,8 @@ void GuiView::dispatchToBufferView(FuncRequest const & cmd, DispatchResult & dr) // Let the current BufferView dispatch its own actions. bv->dispatch(cmd, dr); if (dr.dispatched()) { - if (cmd.action() == LFUN_REDO || cmd.action() == LFUN_UNDO) { - updateCompletion(bv->cursor(), true, false); + if (cmd.action() == LFUN_REDO || cmd.action() == LFUN_UNDO) updateDialog("document", ""); - } return; } commit e2a99b0a0cab7b389fbcdf785ff04e036a2f0890 Author: Kornel Benko Date: Sun Oct 17 21:26:50 2021 +0200 Update sk.po diff --git a/po/sk.po b/po/sk.po index 9ce73ab..16c9bf7 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX-2.4\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-08-21 21:24+0200\n" -"PO-Revision-Date: 2021-08-21 19:27+0000\n" +"POT-Creation-Date: 2021-10-17 21:07+0200\n" +"PO-Revision-Date: 2021-10-17 19:25+0000\n" "Last-Translator: Kornel Benko \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -27838,6 +27838,40 @@ msgstr "Chyba pri ????tan?? vn??torn??ch inform??ci?? pre sch??mu" msgid "Read Error" msgstr "Chyba pri ????tan??" +#: src/BufferParams.cpp:3651 +msgid "No bibliography processor found!" +msgstr "Nena??iel sa ??iadny procesor pre bibliografiu!" + +#: src/BufferParams.cpp:3653 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available and no appropriate alternative has been found. No bibliography and " +"references will be generated.\n" +"Please fix your installation!" +msgstr "" +"??iadan?? procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupn?? a " +"alternat??va sa nena??la. Bibliografia a referencie nebud?? generovan??.\n" +"Opravte pros??m va??u in??tal??ciu!" + +#: src/BufferParams.cpp:3661 +msgid "Requested bibliography processor not found!" +msgstr "??iadan?? procesor pre bibliografiu nen??jden??!" + +#: src/BufferParams.cpp:3663 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available. As a fallback, '%2$s' will be used, options are omitted. This " +"might result in errors or unwanted changes in the bibliography. Please check " +"carefully!\n" +"It is suggested to install the missing processor." +msgstr "" +"??iadan?? procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupn??. Ako " +"n??hrada sa bude pou????va?? '%2$s' bez volieb. To m????e vies?? k chyb??m alebo " +"ne??iad??cim zmen??m v bibliografie. Pozorne skontrolujte!\n" +"Navrhuje sa in??talova?? nepr??tomn?? procesor." + #: src/BufferView.cpp:178 msgid "No more insets" msgstr "U?? nie je viac vlo??iek" @@ -32280,6 +32314,11 @@ msgstr "ka??d?? podsekciu" msgid "per child document" msgstr "ka??d?? podriaden?? dokument" +#: src/frontends/qt/GuiDocument.cpp:4001 +#, c-format +msgid "%1$s (not available)" +msgstr "%1$s (nedostupn??)" + #: src/frontends/qt/GuiDocument.cpp:4225 msgid "[No options predefined]" msgstr "[Niet preddefinovan??ch volieb]" commit e8b366d4d6a5264200aa2a2654a5f3a2cd3652f3 Author: Enrico Forestieri Date: Sun Oct 17 19:17:01 2021 +0200 Amend 771f30e9 for cmake diff --git a/src/frontends/qt/CMakeLists.txt b/src/frontends/qt/CMakeLists.txt index 9709d71..38f3301 100644 --- a/src/frontends/qt/CMakeLists.txt +++ b/src/frontends/qt/CMakeLists.txt @@ -31,6 +31,10 @@ include_directories( ${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) +if (LYX_USE_QT MATCHES "QT6") + include_directories(${Qt6Gui_PRIVATE_INCLUDE_DIRS}) +endif() + if(LYX_MERGE_FILES) lyx_const_touched_files(_allinone frontends_qt_sources) set(depends_moc_uic ${frontends_qt_headers} ${ui_files}) commit 3048878eabf7b3fd2dce37cf250876ddf55b394d Author: Enrico Forestieri Date: Sun Oct 17 18:31:52 2021 +0200 Amend 47f1fec9 Also account for cmake diff --git a/src/frontends/qt/CMakeLists.txt b/src/frontends/qt/CMakeLists.txt index 282db37..9709d71 100644 --- a/src/frontends/qt/CMakeLists.txt +++ b/src/frontends/qt/CMakeLists.txt @@ -43,7 +43,9 @@ else() endif() set_target_properties(frontend_qt PROPERTIES FOLDER "applications/LyX" QT_NO_UNICODE_DEFINES TRUE) -if(Qt5Core_FOUND AND APPLE) +if(Qt6Core_FOUND) + qt_use_modules(frontend_qt Core Gui Widgets Concurrent Svg SvgWidgets) +elseif(Qt5Core_FOUND AND APPLE) qt_use_modules(frontend_qt Core Gui Widgets Concurrent Svg MacExtras) else() if (Qt5WinExtras_FOUND) commit cdf64391f7182ec30a394d096b607ca22b171581 Author: Juergen Spitzmueller Date: Sun Oct 17 17:34:03 2021 +0200 de.po diff --git a/po/de.gmo b/po/de.gmo index cecfdd7..0b56cd3 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 8d42e8a..cc7a3d0 100644 --- a/po/de.po +++ b/po/de.po @@ -94,8 +94,8 @@ msgid "" msgstr "" "Project-Id-Version: LyX 2.4git\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" -"POT-Creation-Date: 2021-08-21 15:21+0200\n" -"PO-Revision-Date: 2021-08-21 15:27+0200\n" +"POT-Creation-Date: 2021-10-17 17:27+0200\n" +"PO-Revision-Date: 2021-10-17 17:33+0200\n" "Last-Translator: J??rgen Spitzm??ller \n" "Language-Team: Deutsch \n" "Language: de\n" @@ -635,7 +635,7 @@ msgstr "Oben" #: src/frontends/qt/ui/BoxUi.ui:209 src/frontends/qt/ui/BoxUi.ui:239 #: src/frontends/qt/ui/TabularUi.ui:218 src/frontends/qt/ui/TabularUi.ui:409 #: lib/ui/stdcontext.inc:483 src/frontends/qt/GuiMathMatrix.cpp:55 -#: src/frontends/qt/GuiTabular.cpp:254 +#: src/frontends/qt/GuiTabular.cpp:256 msgid "Middle" msgstr "Mitte" @@ -669,20 +669,20 @@ msgstr "Dehnen" #: src/frontends/qt/ui/BoxUi.ui:265 src/frontends/qt/ui/ListingsUi.ui:110 #: src/frontends/qt/ui/TabularUi.ui:344 src/frontends/qt/ui/TabularUi.ui:1553 #: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1544 -#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1040 +#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042 msgid "Left" msgstr "Links" #: src/frontends/qt/ui/BoxUi.ui:270 src/frontends/qt/ui/TabularUi.ui:349 #: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:73 -#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1041 +#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1043 msgid "Center" msgstr "Zentriert" #: src/frontends/qt/ui/BoxUi.ui:275 src/frontends/qt/ui/ListingsUi.ui:115 #: src/frontends/qt/ui/TabularUi.ui:354 src/frontends/qt/ui/WrapUi.ui:52 #: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiParagraph.cpp:116 -#: src/frontends/qt/GuiTabular.cpp:1042 +#: src/frontends/qt/GuiTabular.cpp:1044 msgid "Right" msgstr "Rechts" @@ -767,7 +767,7 @@ msgid "Remove the selected branch" msgstr "Den ausgew??hlten Zweig entfernen" #: src/frontends/qt/ui/BranchesUi.ui:74 src/frontends/qt/ui/IndicesUi.ui:165 -#: src/Buffer.cpp:4734 src/Buffer.cpp:4747 +#: src/Buffer.cpp:4736 src/Buffer.cpp:4749 msgid "&Remove" msgstr "&Entfernen" @@ -842,16 +842,16 @@ msgid "Add A&ll" msgstr "A&lle hinzuf??gen" #: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458 -#: src/Buffer.cpp:4708 src/Buffer.cpp:4818 src/LyXVC.cpp:114 src/LyXVC.cpp:310 +#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310 #: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226 #: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2836 #: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410 -#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:3043 -#: src/frontends/qt/GuiView.cpp:3067 src/frontends/qt/GuiView.cpp:3081 -#: src/frontends/qt/GuiView.cpp:3183 src/frontends/qt/GuiView.cpp:3228 -#: src/frontends/qt/GuiView.cpp:3283 src/frontends/qt/GuiView.cpp:3517 -#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3633 -#: src/frontends/qt/GuiView.cpp:3658 src/frontends/qt/GuiView.cpp:4362 +#: src/frontends/qt/GuiView.cpp:2809 src/frontends/qt/GuiView.cpp:3041 +#: src/frontends/qt/GuiView.cpp:3065 src/frontends/qt/GuiView.cpp:3079 +#: src/frontends/qt/GuiView.cpp:3181 src/frontends/qt/GuiView.cpp:3226 +#: src/frontends/qt/GuiView.cpp:3281 src/frontends/qt/GuiView.cpp:3515 +#: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3631 +#: src/frontends/qt/GuiView.cpp:3656 src/frontends/qt/GuiView.cpp:4362 #: src/frontends/qt/GuiView.cpp:4369 src/insets/InsetBibtex.cpp:153 msgid "&Cancel" msgstr "&Abbrechen" @@ -899,7 +899,7 @@ msgstr "&Gr????e:" #: src/frontends/qt/GuiDocument.cpp:2666 src/frontends/qt/GuiDocument.cpp:2667 #: src/frontends/qt/GuiDocument.cpp:2687 src/frontends/qt/GuiDocument.cpp:2694 #: src/frontends/qt/GuiDocument.cpp:2701 src/frontends/qt/GuiDocument.cpp:2791 -#: src/frontends/qt/GuiDocument.cpp:3400 src/frontends/qt/GuiDocument.cpp:4896 +#: src/frontends/qt/GuiDocument.cpp:3397 src/frontends/qt/GuiDocument.cpp:4893 #: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71 #: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160 #: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479 @@ -5668,12 +5668,12 @@ msgid "Horizontal alignment in column" msgstr "Horizontale Ausrichtung in der Spalte" #: src/frontends/qt/ui/TabularUi.ui:339 src/frontends/qt/GuiParagraph.cpp:114 -#: src/frontends/qt/GuiTabular.cpp:1044 +#: src/frontends/qt/GuiTabular.cpp:1046 msgid "Justified" msgstr "Blocksatz" -#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:247 -#: src/frontends/qt/GuiTabular.cpp:1046 +#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:249 +#: src/frontends/qt/GuiTabular.cpp:1048 msgid "At Decimal Separator" msgstr "Am Dezimaltrenner" @@ -6226,7 +6226,7 @@ msgstr "Nur Haupttext" msgid "Select the output format" msgstr "Ausgabeformat w??hlen" -#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3658 +#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3656 #: src/frontends/qt/GuiView.cpp:4362 msgid "&Reload" msgstr "Ne&u laden" @@ -7324,8 +7324,8 @@ msgstr "L??sung \\thesolution." msgid "Summary" msgstr "Zusammenfassung" -#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1805 -#: src/frontends/qt/Menus.cpp:1820 +#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1803 +#: src/frontends/qt/Menus.cpp:1818 msgid "Caption" msgstr "Legende" @@ -8224,9 +8224,9 @@ msgstr "Alternative Zugeh??rigkeit:" msgid "And" msgstr "Und" -#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3139 -#: src/frontends/qt/GuiDocument.cpp:3151 src/frontends/qt/GuiDocument.cpp:3277 -#: src/frontends/qt/GuiDocument.cpp:3296 +#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3136 +#: src/frontends/qt/GuiDocument.cpp:3148 src/frontends/qt/GuiDocument.cpp:3274 +#: src/frontends/qt/GuiDocument.cpp:3293 msgid "and" msgstr "und" @@ -12690,7 +12690,7 @@ msgstr "Fixme-Fehler" #: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199 #: src/frontends/qt/GuiDocument.cpp:2849 src/frontends/qt/GuiDocument.cpp:2923 -#: src/frontends/qt/GuiDocument.cpp:4839 +#: src/frontends/qt/GuiDocument.cpp:4836 msgid "Error" msgstr "Fehler" @@ -14447,197 +14447,197 @@ msgstr "Strukturbaum" msgid "Tree" msgstr "Baum" -#: lib/layouts/linguistics.module:286 lib/layouts/linguistics.module:288 +#: lib/layouts/linguistics.module:287 lib/layouts/linguistics.module:289 msgid "DRS" msgstr "DRS" -#: lib/layouts/linguistics.module:289 +#: lib/layouts/linguistics.module:290 msgid "Discourse Representation Structure|D" msgstr "Diskursrepr??sentationsstruktur|D" -#: lib/layouts/linguistics.module:301 lib/layouts/linguistics.module:448 +#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449 msgid "Referents" msgstr "Referenten" -#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449 +#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450 msgid "DRS Referents" msgstr "DRS-Referenten" -#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450 +#: lib/layouts/linguistics.module:304 lib/layouts/linguistics.module:451 msgid "Add the DRS referents (universe) here" msgstr "F??gen Sie hier die Diskursreferenten (Universum) ein." -#: lib/layouts/linguistics.module:310 lib/layouts/linguistics.module:312 +#: lib/layouts/linguistics.module:311 lib/layouts/linguistics.module:313 msgid "DRS*" msgstr "DRS*" -#: lib/layouts/linguistics.module:313 +#: lib/layouts/linguistics.module:314 msgid "Discourse Representation Structure (unspaced)|u" msgstr "Diskursrepr??sentationsstruktur (einfach)" -#: lib/layouts/linguistics.module:318 +#: lib/layouts/linguistics.module:319 msgid "IfThen-DRS" msgstr "Implikative DRS" -#: lib/layouts/linguistics.module:320 lib/layouts/linguistics.module:321 +#: lib/layouts/linguistics.module:321 lib/layouts/linguistics.module:322 msgid "If-Then DRS" msgstr "Implikative DRS" -#: lib/layouts/linguistics.module:325 lib/layouts/linguistics.module:360 -#: lib/layouts/linguistics.module:404 +#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:361 +#: lib/layouts/linguistics.module:405 msgid "Then-Referents" msgstr "Dann-Referenten" -#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:335 -#: lib/layouts/linguistics.module:361 lib/layouts/linguistics.module:370 -#: lib/layouts/linguistics.module:405 lib/layouts/linguistics.module:414 +#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:336 +#: lib/layouts/linguistics.module:362 lib/layouts/linguistics.module:371 +#: lib/layouts/linguistics.module:406 lib/layouts/linguistics.module:415 msgid "DRS Then-Referents" msgstr "DRS-Dann-Referenten" -#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:362 -#: lib/layouts/linguistics.module:406 +#: lib/layouts/linguistics.module:328 lib/layouts/linguistics.module:363 +#: lib/layouts/linguistics.module:407 msgid "Add the DRS then-referents (universe) here" msgstr "Geben Sie hier die implizierten (\"dann\") Referenten ein." -#: lib/layouts/linguistics.module:334 lib/layouts/linguistics.module:369 -#: lib/layouts/linguistics.module:413 +#: lib/layouts/linguistics.module:335 lib/layouts/linguistics.module:370 +#: lib/layouts/linguistics.module:414 msgid "Then-Conditions" msgstr "Dann-Bedingungen" -#: lib/layouts/linguistics.module:336 lib/layouts/linguistics.module:371 -#: lib/layouts/linguistics.module:415 +#: lib/layouts/linguistics.module:337 lib/layouts/linguistics.module:372 +#: lib/layouts/linguistics.module:416 msgid "Add the DRS then-conditions here" msgstr "Geben Sie hier die DRS-Dann-Bedingungen ein" -#: lib/layouts/linguistics.module:344 +#: lib/layouts/linguistics.module:345 msgid "Cond-DRS" msgstr "Kond.-DRS" -#: lib/layouts/linguistics.module:346 +#: lib/layouts/linguistics.module:347 msgid "Cond. DRS" msgstr "Kond. DRS" -#: lib/layouts/linguistics.module:347 +#: lib/layouts/linguistics.module:348 msgid "Conditional DRS" msgstr "Konditionale DRS" -#: lib/layouts/linguistics.module:351 +#: lib/layouts/linguistics.module:352 msgid "Cond." msgstr "Bed." -#: lib/layouts/linguistics.module:352 +#: lib/layouts/linguistics.module:353 msgid "DRS Condition" msgstr "DRS-Bedingung" -#: lib/layouts/linguistics.module:353 +#: lib/layouts/linguistics.module:354 msgid "Add the DRS condition here" msgstr "Geben Sie hier DRS-Bedingung ein" -#: lib/layouts/linguistics.module:379 +#: lib/layouts/linguistics.module:380 msgid "QDRS" msgstr "QDRS" -#: lib/layouts/linguistics.module:381 +#: lib/layouts/linguistics.module:382 msgid "Dupl. Cond. DRS" msgstr "Dupl.-Bed.-DRS" -#: lib/layouts/linguistics.module:382 +#: lib/layouts/linguistics.module:383 msgid "Duplex Condition DRS" msgstr "Duplex-Bedingungs-DRS" -#: lib/layouts/linguistics.module:386 +#: lib/layouts/linguistics.module:387 msgid "Quant." msgstr "Quant." -#: lib/layouts/linguistics.module:387 +#: lib/layouts/linguistics.module:388 msgid "DRS Quantifier" msgstr "DRS-Quantifizierer" -#: lib/layouts/linguistics.module:388 +#: lib/layouts/linguistics.module:389 msgid "Add the DRS duplex quantifier here" msgstr "Geben Sie hier den DRS-Duplex-Quantifizierer ein" -#: lib/layouts/linguistics.module:395 +#: lib/layouts/linguistics.module:396 msgid "Quant. Var." msgstr "Quant.-Var." -#: lib/layouts/linguistics.module:396 +#: lib/layouts/linguistics.module:397 msgid "DRS Quantifier Variable" msgstr "Quantifizierer-Variablen" -#: lib/layouts/linguistics.module:397 +#: lib/layouts/linguistics.module:398 msgid "Add the DRS duplex quantifier variables here" msgstr "Geben Sie hier die DRS-Quantifizierer-Variablen ein" -#: lib/layouts/linguistics.module:424 +#: lib/layouts/linguistics.module:425 msgid "NegDRS" msgstr "NegDRS" -#: lib/layouts/linguistics.module:426 +#: lib/layouts/linguistics.module:427 msgid "Neg. DRS" msgstr "Neg. DRS" -#: lib/layouts/linguistics.module:427 +#: lib/layouts/linguistics.module:428 msgid "Negated DRS" msgstr "Negierte DRS" -#: lib/layouts/linguistics.module:432 +#: lib/layouts/linguistics.module:433 msgid "SDRS" msgstr "SDRS" -#: lib/layouts/linguistics.module:434 +#: lib/layouts/linguistics.module:435 msgid "Sent. DRS" msgstr "Satz-DRS" -#: lib/layouts/linguistics.module:435 +#: lib/layouts/linguistics.module:436 msgid "DRS with Sentence above" msgstr "DRS mit Satz oberhalb" -#: lib/layouts/linguistics.module:439 +#: lib/layouts/linguistics.module:440 msgid "Sentence" msgstr "Satz" -#: lib/layouts/linguistics.module:440 +#: lib/layouts/linguistics.module:441 msgid "DRS Sentence" msgstr "DRS-Satz" -#: lib/layouts/linguistics.module:441 +#: lib/layouts/linguistics.module:442 msgid "Add the sentence here" msgstr "Geben Sie hier den Satz ein." -#: lib/layouts/linguistics.module:462 +#: lib/layouts/linguistics.module:463 msgid "Expression" msgstr "Ausdruck" -#: lib/layouts/linguistics.module:464 +#: lib/layouts/linguistics.module:465 msgid "expr." msgstr "Ausdr." -#: lib/layouts/linguistics.module:476 +#: lib/layouts/linguistics.module:477 msgid "Concepts" msgstr "Konzept" -#: lib/layouts/linguistics.module:478 +#: lib/layouts/linguistics.module:479 msgid "concept" msgstr "Konzept" -#: lib/layouts/linguistics.module:490 +#: lib/layouts/linguistics.module:491 msgid "Meaning" msgstr "Bedeutung" -#: lib/layouts/linguistics.module:492 +#: lib/layouts/linguistics.module:493 msgid "meaning" msgstr "Bedeutung" -#: lib/layouts/linguistics.module:505 +#: lib/layouts/linguistics.module:506 msgid "Tableaux" msgstr "Tableaus" -#: lib/layouts/linguistics.module:509 +#: lib/layouts/linguistics.module:510 msgid "Tableau" msgstr "Tableau" -#: lib/layouts/linguistics.module:514 +#: lib/layouts/linguistics.module:515 msgid "List of Tableaux" msgstr "Tableaux-Verzeichnis" @@ -19634,7 +19634,7 @@ msgid "Cut" msgstr "Ausschneiden" #: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109 -#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2279 +#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2266 msgid "Copy" msgstr "Kopieren" @@ -21566,11 +21566,11 @@ msgstr "Rechtschreibung pr??fen" msgid "Spellcheck continuously" msgstr "Rechtschreibung w??hrend der Eingabe ??berpr??fen" -#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1479 +#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1472 msgid "Undo" msgstr "R??ckg??ngig" -#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1499 +#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1492 msgid "Redo" msgstr "Wiederholen" @@ -21968,7 +21968,7 @@ msgid "Big operators" msgstr "Gro??e Operatoren" #: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690 -#: src/frontends/qt/GuiDocument.cpp:5171 +#: src/frontends/qt/GuiDocument.cpp:5168 msgid "Miscellaneous" msgstr "Verschiedenes" @@ -26828,7 +26828,7 @@ msgstr "MS-Word Office-Open XML" msgid "Table (CSV)" msgstr "Tabelle (CSV)" -#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1604 +#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1602 #: src/mathed/InsetMathMacroTemplate.cpp:538 msgid "LyX" msgstr "LyX" @@ -26921,11 +26921,11 @@ msgstr "gnuplot" msgid "gnuplot|Gnuplot" msgstr "gnuplot|Gnuplot" -#: lib/configure.py:1327 +#: lib/configure.py:1346 msgid "LyX Archive (zip)" msgstr "LyX-Archiv (zip)" -#: lib/configure.py:1330 +#: lib/configure.py:1349 msgid "LyX Archive (tar.gz)" msgstr "LyX-Archiv (tar.gz)" @@ -27007,10 +27007,6 @@ msgid "Hazard and Precautionary Statements" msgstr "H- und P-S??tze" #: lib/examples/Articles:0 -msgid "LilyPond Book" -msgstr "LilyPond-Buch" - -#: lib/examples/Articles:0 msgid "Multilingual Captions" msgstr "Mehrsprachige Legenden" @@ -27022,6 +27018,10 @@ msgstr "Noweb2LyX" msgid "Noweb Listerrors" msgstr "Noweb-Fehlerbericht" +#: lib/examples/Articles:0 +msgid "LilyPond Book" +msgstr "LilyPond-Buch" + #: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1763 msgid "Modules" msgstr "Module" @@ -27255,11 +27255,11 @@ msgstr "\\begin_header fehlt" msgid "\\begin_document is missing" msgstr "\\begin_document fehlt" -#: src/Buffer.cpp:1043 src/Buffer.cpp:3027 +#: src/Buffer.cpp:1043 src/Buffer.cpp:3026 msgid "Changes not shown in LaTeX output" msgstr "??nderungen nicht in der LaTeX-Ausgabe angezeigt" -#: src/Buffer.cpp:1044 src/Buffer.cpp:3028 +#: src/Buffer.cpp:1044 src/Buffer.cpp:3027 msgid "" "Changes will not be highlighted in LaTeX output, because xcolor and ulem are " "not installed.\n" @@ -27348,7 +27348,7 @@ msgstr "" "%1$s stammt von einer neueren LyX-Version, aber das lyx2lyx-Skript konnte " "das Dokument nicht konvertieren." -#: src/Buffer.cpp:1445 src/Buffer.cpp:4718 src/Buffer.cpp:4827 +#: src/Buffer.cpp:1445 src/Buffer.cpp:4720 src/Buffer.cpp:4829 msgid "File is read-only" msgstr "Datei ist schreibgesch??tzt" @@ -27372,8 +27372,8 @@ msgid "Overwrite modified file?" msgstr "Modifizierte Datei ??berschreiben?" #: src/Buffer.cpp:1458 src/Exporter.cpp:50 -#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2811 -#: src/frontends/qt/GuiView.cpp:3080 src/frontends/qt/GuiView.cpp:3183 +#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2809 +#: src/frontends/qt/GuiView.cpp:3078 src/frontends/qt/GuiView.cpp:3181 msgid "&Overwrite" msgstr "&??berschreiben" @@ -27573,53 +27573,53 @@ msgstr "" "kombinieren, weil sie inkompatible Sprachpakete erfordern:\n" "%1$s%2$s" -#: src/Buffer.cpp:2335 +#: src/Buffer.cpp:2334 msgid "Running chktex..." msgstr "ChkTeX wird ausgef??hrt..." -#: src/Buffer.cpp:2354 +#: src/Buffer.cpp:2353 msgid "chktex failure" msgstr "ChkTeX ist fehlgeschlagen" -#: src/Buffer.cpp:2355 +#: src/Buffer.cpp:2354 msgid "Could not run chktex successfully." msgstr "Chktex konnte nicht erfolgreich ausgef??hrt werden." -#: src/Buffer.cpp:2730 +#: src/Buffer.cpp:2729 #, c-format msgid "Don't know how to export to format: %1$s" msgstr "Keine Informationen vorhanden, um in das Format %1$s zu exportieren" -#: src/Buffer.cpp:2834 +#: src/Buffer.cpp:2833 #, c-format msgid "Error exporting to format: %1$s." msgstr "Keine Informationen vorhanden, um in das Format %1$s zu exportieren." -#: src/Buffer.cpp:2843 +#: src/Buffer.cpp:2842 msgid "Error generating literate programming code." msgstr "Fehler bei der Erzeugung des Codes f??r literarische Programmierung." -#: src/Buffer.cpp:2919 +#: src/Buffer.cpp:2918 #, c-format msgid "Branch \"%1$s\" does not exist." msgstr "Zweig \"%1$s\" existiert nicht." -#: src/Buffer.cpp:2952 +#: src/Buffer.cpp:2951 #, c-format msgid "Branch \"%1$s\" already exists." msgstr "Zweig \"%1$s\" existiert bereits." -#: src/Buffer.cpp:3009 +#: src/Buffer.cpp:3008 msgid "Error viewing the output file." msgstr "Fehler bei der Ansicht der Ausgabedatei." -#: src/Buffer.cpp:3371 src/frontends/qt/GuiView.cpp:2642 +#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2640 #: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394 #: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606 msgid "Invalid filename" msgstr "Ung??ltiger Dateiname" -#: src/Buffer.cpp:3372 src/insets/ExternalSupport.cpp:395 +#: src/Buffer.cpp:3371 src/insets/ExternalSupport.cpp:395 #: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:607 msgid "" "The following filename will cause troubles when running the exported file " @@ -27628,12 +27628,12 @@ msgstr "" "Der folgende Dateiname wird Probleme bereiten, wenn LaTeX mit der " "exportierten Datei ausgef??hrt wird: " -#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:400 +#: src/Buffer.cpp:3376 src/insets/ExternalSupport.cpp:400 #: src/insets/InsetGraphics.cpp:700 src/insets/InsetInclude.cpp:611 msgid "Problematic filename for DVI" msgstr "Problematischer Dateiname f??r DVI" -#: src/Buffer.cpp:3378 src/insets/ExternalSupport.cpp:401 +#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:401 #: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:612 msgid "" "The following filename can cause troubles when running the exported file " @@ -27642,11 +27642,11 @@ msgstr "" "Der folgende Dateiname k??nnte Probleme bereiten, wenn LaTeX mit der " "exportierten Datei ausgef??hrt und die erzeugte DVI-Datei ge??ffnet wird: " -#: src/Buffer.cpp:3417 src/insets/InsetBibtex.cpp:349 +#: src/Buffer.cpp:3416 src/insets/InsetBibtex.cpp:349 msgid "Export Warning!" msgstr "Export-Warnung!" -#: src/Buffer.cpp:3418 +#: src/Buffer.cpp:3417 msgid "" "There are spaces in the paths to your BibTeX databases.\n" "BibTeX will be unable to find them." @@ -27654,57 +27654,57 @@ msgstr "" "Die Pfade zu Ihren BibTeX-Datenbanken enthalten Leerzeichen.\n" "BiBTeX wird die Datenbanken nicht finden." -#: src/Buffer.cpp:4092 +#: src/Buffer.cpp:4091 #, c-format msgid "Preview source code for paragraph %1$d" msgstr "Quellcode f??r Absatz %1$d vorschauen" -#: src/Buffer.cpp:4097 +#: src/Buffer.cpp:4096 #, c-format msgid "Preview source code from paragraph %1$s to %2$s" msgstr "Quellcode von Absatz %1$s bis %2$s vorschauen" -#: src/Buffer.cpp:4152 +#: src/Buffer.cpp:4151 msgid "Preview source code" msgstr "Quellcode vorschauen" -#: src/Buffer.cpp:4154 +#: src/Buffer.cpp:4153 msgid "Preview preamble" msgstr "Vorschau des Vorspanns" -#: src/Buffer.cpp:4156 +#: src/Buffer.cpp:4155 msgid "Preview body" msgstr "Vorschau des Haupttextes" -#: src/Buffer.cpp:4172 +#: src/Buffer.cpp:4171 msgid "Plain text does not have a preamble." msgstr "Einfacher Text hat keinen Vorspann." -#: src/Buffer.cpp:4309 +#: src/Buffer.cpp:4308 msgid "Autosaving current document..." msgstr "Automatisches Speichern des aktuellen Dokuments..." -#: src/Buffer.cpp:4431 +#: src/Buffer.cpp:4433 #, c-format msgid "No information for exporting the format %1$s." msgstr "Keine Informationen vorhanden, um das Format %1$s zu exportieren." -#: src/Buffer.cpp:4435 +#: src/Buffer.cpp:4437 #, c-format msgid "Hint: use non-TeX fonts or set input encoding to '%1$s'" msgstr "" "Tipp: Verwenden Sie keine TeX-Schriften oder stellen Sie als Kodierung " "'%1$s' ein." -#: src/Buffer.cpp:4437 +#: src/Buffer.cpp:4439 msgid "Couldn't export file" msgstr "Die Datei konnte nicht exportiert werden" -#: src/Buffer.cpp:4505 src/frontends/qt/GuiView.cpp:2784 +#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2782 msgid "File name error" msgstr "Fehler im Dateinamen" -#: src/Buffer.cpp:4506 +#: src/Buffer.cpp:4508 #, c-format msgid "" "The directory path to the document\n" @@ -27717,21 +27717,21 @@ msgstr "" "enth??lt Leerzeichen, aber Ihre TeX-Installation erlaubt dies nicht. Bitte " "speichern Sie Ihr Dokument in einem Verzeichnis ohne Leerzeichen." -#: src/Buffer.cpp:4595 src/Buffer.cpp:4625 src/frontends/qt/GuiView.cpp:850 +#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:848 msgid "Document export cancelled." msgstr "Der Export des Dokuments wurde abgebrochen." -#: src/Buffer.cpp:4628 +#: src/Buffer.cpp:4630 #, c-format msgid "Document exported as %1$s to file `%2$s'" msgstr "Dokument wurde als %1$s in die Datei ,%2$s` exportiert." -#: src/Buffer.cpp:4635 +#: src/Buffer.cpp:4637 #, c-format msgid "Document exported as %1$s" msgstr "Dokument als %1$s exportiert" -#: src/Buffer.cpp:4704 +#: src/Buffer.cpp:4706 #, c-format msgid "" "An emergency save of the document %1$s exists.\n" @@ -27742,23 +27742,23 @@ msgstr "" "\n" "Soll die Notspeicherung wiederhergestellt werden?" -#: src/Buffer.cpp:4707 +#: src/Buffer.cpp:4709 msgid "Load emergency save?" msgstr "Notspeicherung laden?" -#: src/Buffer.cpp:4708 +#: src/Buffer.cpp:4710 msgid "&Recover" msgstr "&Wiederherstellen" -#: src/Buffer.cpp:4708 +#: src/Buffer.cpp:4710 msgid "&Load Original" msgstr "&Original laden" -#: src/Buffer.cpp:4708 +#: src/Buffer.cpp:4710 msgid "&Only show difference" msgstr "Nur &Unterschiede zeigen" -#: src/Buffer.cpp:4719 +#: src/Buffer.cpp:4721 #, c-format msgid "" "An emergency file is successfully loaded, but the original file %1$s is " @@ -27768,15 +27768,15 @@ msgstr "" "%1$s ist schreibgesch??tzt.\n" "Bitte speichern Sie die Datei unter einem neuen Namen." -#: src/Buffer.cpp:4726 +#: src/Buffer.cpp:4728 msgid "Document was successfully recovered." msgstr "Dokument wurde erfolgreich wiederhergestellt." -#: src/Buffer.cpp:4728 +#: src/Buffer.cpp:4730 msgid "Document was NOT successfully recovered." msgstr "Dokument wurde NICHT erfolgreich wiederhergestellt." -#: src/Buffer.cpp:4729 +#: src/Buffer.cpp:4731 #, c-format msgid "" "Remove emergency file now?\n" @@ -27786,31 +27786,31 @@ msgstr "" "%1$s\n" "jetzt l??schen?" -#: src/Buffer.cpp:4733 src/Buffer.cpp:4745 +#: src/Buffer.cpp:4735 src/Buffer.cpp:4747 msgid "Delete emergency file?" msgstr "Notspeicherung l??schen?" -#: src/Buffer.cpp:4734 src/Buffer.cpp:4747 +#: src/Buffer.cpp:4736 src/Buffer.cpp:4749 msgid "&Keep" msgstr "&Behalten" -#: src/Buffer.cpp:4738 +#: src/Buffer.cpp:4740 msgid "Emergency file deleted" msgstr "Notspeicherung gel??scht" -#: src/Buffer.cpp:4739 +#: src/Buffer.cpp:4741 msgid "Do not forget to save your file now!" msgstr "Vergessen Sie nicht, ihre Datei jetzt zu speichern!" -#: src/Buffer.cpp:4746 +#: src/Buffer.cpp:4748 msgid "Remove emergency file now?" msgstr "Notspeicherungsdatei jetzt l??schen?" -#: src/Buffer.cpp:4769 +#: src/Buffer.cpp:4771 msgid "Can't rename emergency file!" msgstr "Notspeicherungsdatei kann nicht umbenannt werden!" -#: src/Buffer.cpp:4770 +#: src/Buffer.cpp:4772 msgid "" "LyX was unable to rename the emergency file. You should do so manually. " "Otherwise, you will be asked about it again the next time you try to load " @@ -27821,11 +27821,11 @@ msgstr "" "wieder danach gefragt, und Ihre Datei k??nnte mit einer dann nicht mehr " "aktuellen Notspeicherung ??berschrieben werden." -#: src/Buffer.cpp:4775 +#: src/Buffer.cpp:4777 msgid "Emergency File Renames" msgstr "Umbenennung der Notspeicherung" -#: src/Buffer.cpp:4776 +#: src/Buffer.cpp:4778 #, c-format msgid "" "Emergency file renamed as:\n" @@ -27834,7 +27834,7 @@ msgstr "" "Notspeicherung umbenannt als:\n" " %1$s" -#: src/Buffer.cpp:4815 +#: src/Buffer.cpp:4817 #, c-format msgid "" "The backup of the document %1$s is newer.\n" @@ -27845,19 +27845,19 @@ msgstr "" "\n" "Stattdessen die Sicherung laden?" -#: src/Buffer.cpp:4817 +#: src/Buffer.cpp:4819 msgid "Load backup?" msgstr "Sicherung laden?" -#: src/Buffer.cpp:4818 +#: src/Buffer.cpp:4820 msgid "&Load backup" msgstr "&Sicherung laden" -#: src/Buffer.cpp:4818 +#: src/Buffer.cpp:4820 msgid "Load &original" msgstr "&Original laden" -#: src/Buffer.cpp:4828 +#: src/Buffer.cpp:4830 #, c-format msgid "" "A backup file is successfully loaded, but the original file %1$s is marked " @@ -27867,16 +27867,16 @@ msgstr "" "%1$s ist schreibgesch??tzt.\n" "Bitte speichern Sie die Datei unter einem neuen Namen." -#: src/Buffer.cpp:5230 src/insets/InsetCaption.cpp:404 +#: src/Buffer.cpp:5232 src/insets/InsetCaption.cpp:404 msgid "Senseless!!! " msgstr "Sinnlos!!! " -#: src/Buffer.cpp:5485 +#: src/Buffer.cpp:5487 #, c-format msgid "Document %1$s reloaded." msgstr "Dokument %1$s neu geladen." -#: src/Buffer.cpp:5488 +#: src/Buffer.cpp:5490 #, c-format msgid "Could not reload document %1$s." msgstr "Kann Dokument %1$s nicht neu laden." @@ -27989,12 +27989,12 @@ msgid "Document class not available" msgstr "Die Dokumentklasse ist nicht verf??gbar" #: src/BufferParams.cpp:1098 src/Color.cpp:281 -#: src/frontends/qt/GuiDocument.cpp:3529 +#: src/frontends/qt/GuiDocument.cpp:3526 msgid "greyedout inset text" msgstr "Grauschrift-Einf??gungstext" #: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253 -#: src/Paragraph.cpp:2972 src/frontends/qt/LaTeXHighlighter.cpp:123 +#: src/Paragraph.cpp:2977 src/frontends/qt/LaTeXHighlighter.cpp:123 #: src/frontends/qt/LaTeXHighlighter.cpp:216 #: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516 #: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894 @@ -28005,7 +28005,7 @@ msgid "LyX Warning: " msgstr "LyX-Warnung: " #: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254 -#: src/Paragraph.cpp:2973 src/insets/InsetCommandParams.cpp:509 +#: src/Paragraph.cpp:2978 src/insets/InsetCommandParams.cpp:509 #: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887 #: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299 #: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441 @@ -28091,7 +28091,7 @@ msgstr "" "korrekte\n" "Ausgabe erzeugen k??nnen." -#: src/BufferParams.cpp:2603 src/BufferView.cpp:1431 src/BufferView.cpp:1463 +#: src/BufferParams.cpp:2603 src/BufferView.cpp:1424 src/BufferView.cpp:1456 msgid "Could not load class" msgstr "Konnte Klasse nicht laden" @@ -28099,10 +28099,48 @@ msgstr "Konnte Klasse nicht laden" msgid "Error reading internal layout information" msgstr "Fehler beim Einlesen interner Format-Informationen" -#: src/BufferParams.cpp:2649 src/TextClass.cpp:1934 src/TextClass.cpp:1967 +#: src/BufferParams.cpp:2649 src/TextClass.cpp:1952 src/TextClass.cpp:1985 msgid "Read Error" msgstr "Lesefehler" +#: src/BufferParams.cpp:3651 +msgid "No bibliography processor found!" +msgstr "Kein Literaturverzeichnis-Prozessor gefunden!" + +#: src/BufferParams.cpp:3653 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available and no appropriate alternative has been found. No bibliography and " +"references will be generated.\n" +"Please fix your installation!" +msgstr "" +"Das Programm zum Erzeugen des Literaturverzeichnisses, das von diesem " +"Dokument verlangt wird (%1$s) ist nicht verf??gbar, und es wurde auch keine " +"passende Alternative gefunden. Es werden keine Bibliografie und keine " +"Literaturverweise erzeugt werden.\n" +"Bitte reparieren Sie Ihr System!" + +#: src/BufferParams.cpp:3661 +msgid "Requested bibliography processor not found!" +msgstr "Verlangter Literaturverzeichnis-Prozessor nicht gefunden!" + +#: src/BufferParams.cpp:3663 +#, c-format +msgid "" +"The bibliography processor requested by this document (%1$s) is not " +"available. As a fallback, '%2$s' will be used, options are omitted. This " +"might result in errors or unwanted changes in the bibliography. Please check " +"carefully!\n" +"It is suggested to install the missing processor." +msgstr "" +"Das Programm zum Erzeugen des Literaturverzeichnisses, das von diesem " +"Dokument verlangt wird (%1$s) ist nicht verf??gbar. Als Ersatz wird das " +"Programm '%2$s' (ohne Optionen) verwendet. Das k??nnte zu Fehlermeldungen " +"oder einer fehlerhaften Bibliografie f??hren. Bitte pr??fen Sie das " +"sorgf??ltig!\n" +"Wie empfehlen Ihnen, das fehlende Programm zu installieren." + #: src/BufferView.cpp:179 msgid "No more insets" msgstr "Keine weiteren Einf??gungen" @@ -28111,135 +28149,135 @@ msgstr "Keine weiteren Einf??gungen" msgid "Save bookmark" msgstr "Lesezeichen speichern" -#: src/BufferView.cpp:1099 +#: src/BufferView.cpp:1092 msgid "Converting document to new document class..." msgstr "Das Dokument wird an die neue Dokumentklasse angepasst..." -#: src/BufferView.cpp:1144 +#: src/BufferView.cpp:1137 msgid "Document is read-only" msgstr "Dokument ist schreibgesch??tzt" -#: src/BufferView.cpp:1146 +#: src/BufferView.cpp:1139 msgid "Document has been modified externally" msgstr "Das Dokument wurde extern bearbeitet" -#: src/BufferView.cpp:1155 +#: src/BufferView.cpp:1148 msgid "This portion of the document is deleted." msgstr "Dieser Teil des Dokuments wird gel??scht." -#: src/BufferView.cpp:1198 src/BufferView.cpp:2264 +#: src/BufferView.cpp:1191 src/BufferView.cpp:2251 #: src/frontends/qt/GuiView.cpp:4232 src/frontends/qt/GuiView.cpp:4320 msgid "Absolute filename expected." msgstr "Ein absoluter Dateipfad wird erwartet." -#: src/BufferView.cpp:1429 src/BufferView.cpp:1461 +#: src/BufferView.cpp:1422 src/BufferView.cpp:1454 #, c-format msgid "The document class `%1$s' could not be loaded." msgstr "Die Dokumentklasse ,%1$s` konnte nicht geladen werden." -#: src/BufferView.cpp:1487 +#: src/BufferView.cpp:1480 msgid "No further undo information" msgstr "Nichts mehr r??ckg??ngig zu machen" -#: src/BufferView.cpp:1507 +#: src/BufferView.cpp:1500 msgid "No further redo information" msgstr "Nichts mehr zu wiederholen" -#: src/BufferView.cpp:1704 src/BufferView.cpp:1719 src/BufferView.cpp:1750 +#: src/BufferView.cpp:1691 src/BufferView.cpp:1706 src/BufferView.cpp:1737 msgid "Search string not found!" msgstr "Die Zeichenkette wurde nicht gefunden!" -#: src/BufferView.cpp:1771 +#: src/BufferView.cpp:1758 msgid "Mark off" msgstr "Marke aus" -#: src/BufferView.cpp:1777 +#: src/BufferView.cpp:1764 msgid "Mark on" msgstr "Marke ein" -#: src/BufferView.cpp:1784 +#: src/BufferView.cpp:1771 msgid "Mark removed" msgstr "Marke entfernt" -#: src/BufferView.cpp:1787 +#: src/BufferView.cpp:1774 msgid "Mark set" msgstr "Marke gesetzt" -#: src/BufferView.cpp:1878 +#: src/BufferView.cpp:1865 msgid "Statistics for the selection:" msgstr "Statistik f??r die Auswahl:" -#: src/BufferView.cpp:1880 +#: src/BufferView.cpp:1867 msgid "Statistics for the document:" msgstr "Statistik f??r das Dokument:" -#: src/BufferView.cpp:1883 +#: src/BufferView.cpp:1870 #, c-format msgid "%1$d words" msgstr "%1$d W??rter" -#: src/BufferView.cpp:1885 +#: src/BufferView.cpp:1872 msgid "One word" msgstr "Ein Wort" -#: src/BufferView.cpp:1888 +#: src/BufferView.cpp:1875 #, c-format msgid "%1$d characters (including blanks)" msgstr "%1$d Zeichen (inklusive Leerzeichen)" -#: src/BufferView.cpp:1891 +#: src/BufferView.cpp:1878 msgid "One character (including blanks)" msgstr "Ein Zeichen (inklusive Leerzeichen)" -#: src/BufferView.cpp:1894 +#: src/BufferView.cpp:1881 #, c-format msgid "%1$d characters (excluding blanks)" msgstr "%1$d Zeichen (ohne Leerzeichen)" -#: src/BufferView.cpp:1897 +#: src/BufferView.cpp:1884 msgid "One character (excluding blanks)" msgstr "Ein Zeichen (ohne Leerzeichen)" -#: src/BufferView.cpp:1899 +#: src/BufferView.cpp:1886 msgid "Statistics" msgstr "Statistik" -#: src/BufferView.cpp:2122 +#: src/BufferView.cpp:2109 #, c-format msgid "" "`inset-forall' interrupted because number of actions is larger than %1$d" msgstr "" ",inset-forall` wurde abgebrochen, da die Zahl der Aktionen %1$d ??bersteigt" -#: src/BufferView.cpp:2124 +#: src/BufferView.cpp:2111 #, c-format msgid "Applied \"%1$s\" to %2$d insets" msgstr "Der Befehl \"%1$s\" wurde auf %2$d Einf??gungen angewandt" -#: src/BufferView.cpp:2132 +#: src/BufferView.cpp:2119 msgid "Branch name" msgstr "Name des Zweigs" -#: src/BufferView.cpp:2139 src/frontends/qt/GuiBranches.cpp:225 +#: src/BufferView.cpp:2126 src/frontends/qt/GuiBranches.cpp:225 msgid "Branch already exists" msgstr "Zweig existiert bereits" -#: src/BufferView.cpp:3066 +#: src/BufferView.cpp:3053 #, c-format msgid "Inserting document %1$s..." msgstr "F??ge Dokument %1$s ein..." -#: src/BufferView.cpp:3082 +#: src/BufferView.cpp:3069 #, c-format msgid "Document %1$s inserted." msgstr "Dokument %1$s ist eingef??gt." -#: src/BufferView.cpp:3084 +#: src/BufferView.cpp:3071 #, c-format msgid "Could not insert document %1$s" msgstr "Das Dokument %1$s konnte nicht eingef??gt werden" -#: src/BufferView.cpp:3582 +#: src/BufferView.cpp:3569 #, c-format msgid "" "Could not read the specified document\n" @@ -28250,11 +28288,11 @@ msgstr "" "konnte aufgrund des folgenden Fehlers\n" "nicht gelesen werden: %2$s" -#: src/BufferView.cpp:3584 +#: src/BufferView.cpp:3571 msgid "Could not read file" msgstr "Die Datei konnte nicht gelesen werden" -#: src/BufferView.cpp:3591 +#: src/BufferView.cpp:3578 #, c-format msgid "" "%1$s\n" @@ -28263,17 +28301,17 @@ msgstr "" "%1$s\n" "ist nicht lesbar." -#: src/BufferView.cpp:3592 src/frontends/qt/qt_helpers.cpp:311 +#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311 #: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320 #: src/output.cpp:39 msgid "Could not open file" msgstr "Die Datei konnte nicht ge??ffnet werden" -#: src/BufferView.cpp:3599 +#: src/BufferView.cpp:3586 msgid "Reading not UTF-8 encoded file" msgstr "Lese nicht-UTF-8-kodierte Datei" -#: src/BufferView.cpp:3600 +#: src/BufferView.cpp:3587 msgid "" "The file is not UTF-8 encoded.\n" "It will be read as local 8Bit-encoded.\n" @@ -29145,7 +29183,7 @@ msgstr "&Nicht ??berschreiben" msgid "Overwrite &all" msgstr "&Alle ??berschreiben" -#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:781 +#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:779 msgid "&Cancel export" msgstr "Export &abbrechen" @@ -29169,17 +29207,17 @@ msgid "Number %1$s" msgstr "Nummer %1$s" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148 -#: src/frontends/qt/GuiDocument.cpp:4896 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Roman" msgstr "Serifenschrift" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:4896 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Sans Serif" msgstr "Serifenlos" #: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150 -#: src/frontends/qt/GuiDocument.cpp:4896 src/frontends/qt/GuiListings.cpp:167 +#: src/frontends/qt/GuiDocument.cpp:4893 src/frontends/qt/GuiListings.cpp:167 msgid "Typewriter" msgstr "Schreibmaschine" @@ -29263,7 +29301,7 @@ msgstr "Eigenname %1$s, " msgid "Cannot view file" msgstr "Datei kann nicht betrachtet werden" -#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3922 +#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3920 #, c-format msgid "File does not exist: %1$s" msgstr "Die Datei existiert nicht: %1$s" @@ -30324,7 +30362,7 @@ msgstr "LyX-VK: Protokollmeldung" msgid "(no log message)" msgstr "(keine Protokollmeldung)" -#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3785 +#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3783 msgid "LyX VC: Log Message" msgstr "LyX VK: Protokollmeldung" @@ -30454,11 +30492,11 @@ msgstr ", Absatz: " msgid ", Id: " msgstr ", Id: " -#: src/Text.cpp:2152 +#: src/Text.cpp:2155 msgid ", Char: 0x" msgstr ", Zeichen: 0x" -#: src/Text.cpp:2154 +#: src/Text.cpp:2157 msgid ", Boundary: " msgstr ", Grenze: " @@ -30494,7 +30532,7 @@ msgstr " unbekannt" msgid "Table Style " msgstr "Tabellenstil" -#: src/Text3.cpp:2358 src/frontends/qt/GuiApplication.cpp:1848 +#: src/Text3.cpp:2358 src/frontends/qt/GuiApplication.cpp:1873 msgid "Missing argument" msgstr "Fehlendes Argument" @@ -30553,17 +30591,17 @@ msgid "Could not read stdinsets.inc! This may lead to data loss!" msgstr "" "Kann Datei stdinsets.inc nicht lesen! Dies kann zu Datenverlust f??hren!" -#: src/TextClass.cpp:1609 +#: src/TextClass.cpp:1627 #, c-format msgid "%1$s (Float)" msgstr "%1$s (Gleitobjekt)" -#: src/TextClass.cpp:1614 +#: src/TextClass.cpp:1632 #, c-format msgid "Sub-%1$s (Float)" msgstr "Unter-%1$s (Gleitobjekt)" -#: src/TextClass.cpp:1910 +#: src/TextClass.cpp:1928 #, c-format msgid "" "The module %1$s has been requested by\n" @@ -30577,11 +30615,11 @@ msgstr "" "Wenn Sie es erst k??rzlich installiert haben,\n" "sollten Sie LyX neu konfigurieren.\n" -#: src/TextClass.cpp:1914 +#: src/TextClass.cpp:1932 msgid "Module not available" msgstr "Modul ist nicht verf??gbar" -#: src/TextClass.cpp:1921 +#: src/TextClass.cpp:1939 #, c-format msgid "" "The module %1$s requires a package that is not\n" @@ -30600,16 +30638,16 @@ msgstr "" "Konsultieren Sie Abschnitt 3.1.2.3 des Benutzerhandbuchs (Module) f??r " "weitere Informationen." -#: src/TextClass.cpp:1928 src/TextClass.cpp:1961 +#: src/TextClass.cpp:1946 src/TextClass.cpp:1979 msgid "Package not available" msgstr "Paket ist nicht verf??gbar" -#: src/TextClass.cpp:1933 +#: src/TextClass.cpp:1951 #, c-format msgid "Error reading module %1$s\n" msgstr "Fehler beim Lesen von Modul %1$s\n" -#: src/TextClass.cpp:1945 +#: src/TextClass.cpp:1963 #, c-format msgid "" "The cite engine %1$s has been requested by\n" @@ -30623,11 +30661,11 @@ msgstr "" "Wenn Sie sie erst k??rzlich installiert haben,\n" "sollten Sie LyX neu konfigurieren.\n" -#: src/TextClass.cpp:1949 +#: src/TextClass.cpp:1967 msgid "Cite Engine not available" msgstr "Zitierformatdatei nicht verf??gbar" -#: src/TextClass.cpp:1954 +#: src/TextClass.cpp:1972 #, c-format msgid "" "The cite engine %1$s requires a package that is not\n" @@ -30646,7 +30684,7 @@ msgstr "" "Konsultieren Sie Abschnitt 3.1.2.3 des Benutzerhandbuchs (Module) f??r " "weitere Informationen." -#: src/TextClass.cpp:1966 +#: src/TextClass.cpp:1984 #, c-format msgid "Error reading cite engine %1$s\n" msgstr "Fehler beim Lesen der Zitierformatdatei %1$s\n" @@ -30709,7 +30747,7 @@ msgstr "Ist das RCS-Paket auf Ihrem System installiert?" #: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052 #: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450 #: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964 -#: src/frontends/qt/GuiView.cpp:3701 src/frontends/qt/GuiView.cpp:3744 +#: src/frontends/qt/GuiView.cpp:3699 src/frontends/qt/GuiView.cpp:3742 msgid "Revision control error." msgstr "Fehler der Versionskontrolle." @@ -31055,7 +31093,7 @@ msgid "Dings 4" msgstr "Dings 4" #: src/frontends/qt/ButtonController.cpp:222 -#: src/frontends/qt/GuiApplication.cpp:1972 src/frontends/qt/GuiCompare.cpp:193 +#: src/frontends/qt/GuiApplication.cpp:1997 src/frontends/qt/GuiCompare.cpp:193 #: src/frontends/qt/GuiSymbols.cpp:346 msgid "Cancel" msgstr "Abbrechen" @@ -31281,89 +31319,89 @@ msgstr "Python-Aufruf: %1$s" msgid "About LyX" msgstr "??ber LyX" -#: src/frontends/qt/GuiApplication.cpp:728 +#: src/frontends/qt/GuiApplication.cpp:736 msgid "About %1" msgstr "??ber %1" -#: src/frontends/qt/GuiApplication.cpp:729 src/frontends/qt/GuiPrefs.cpp:3523 +#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3524 msgid "Preferences" msgstr "Einstellungen" -#: src/frontends/qt/GuiApplication.cpp:730 +#: src/frontends/qt/GuiApplication.cpp:738 msgid "Reconfigure" msgstr "Neu konfigurieren" -#: src/frontends/qt/GuiApplication.cpp:731 +#: src/frontends/qt/GuiApplication.cpp:739 msgid "Restore Defaults" msgstr "Voreinstellungen" -#: src/frontends/qt/GuiApplication.cpp:732 +#: src/frontends/qt/GuiApplication.cpp:740 msgid "Quit %1" msgstr "%1 beenden" -#: src/frontends/qt/GuiApplication.cpp:733 src/frontends/qt/GuiInclude.cpp:318 +#: src/frontends/qt/GuiApplication.cpp:741 src/frontends/qt/GuiInclude.cpp:318 #: src/frontends/qt/GuiInclude.cpp:328 src/frontends/qt/GuiInclude.cpp:333 msgid "&OK" msgstr "&OK" -#: src/frontends/qt/GuiApplication.cpp:735 +#: src/frontends/qt/GuiApplication.cpp:743 msgid "Apply" msgstr "Anwenden" -#: src/frontends/qt/GuiApplication.cpp:736 +#: src/frontends/qt/GuiApplication.cpp:744 msgid "Reset" msgstr "Zur??cksetzen" -#: src/frontends/qt/GuiApplication.cpp:737 +#: src/frontends/qt/GuiApplication.cpp:745 msgid "Open" msgstr "??ffnen" -#: src/frontends/qt/GuiApplication.cpp:1245 +#: src/frontends/qt/GuiApplication.cpp:1270 msgid "Nothing to do" msgstr "Nichts zu tun" -#: src/frontends/qt/GuiApplication.cpp:1251 +#: src/frontends/qt/GuiApplication.cpp:1276 msgid "Unknown action" msgstr "Unbekannte Aktion" -#: src/frontends/qt/GuiApplication.cpp:1295 +#: src/frontends/qt/GuiApplication.cpp:1320 msgid "Command not handled" msgstr "Befehl wurde nicht ausgef??hrt" -#: src/frontends/qt/GuiApplication.cpp:1301 +#: src/frontends/qt/GuiApplication.cpp:1326 msgid "Command disabled" msgstr "Befehl ist deaktiviert" -#: src/frontends/qt/GuiApplication.cpp:1409 +#: src/frontends/qt/GuiApplication.cpp:1434 #, c-format msgid "Bad debug value `%1$s'." msgstr "Falscher Debug-Wert ,%1$s'." -#: src/frontends/qt/GuiApplication.cpp:1438 src/frontends/qt/GuiView.cpp:2139 +#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2137 msgid "Command not allowed without a buffer open" msgstr "Dieser Befehl ist nur bei ge??ffnetem Dokument m??glich" -#: src/frontends/qt/GuiApplication.cpp:1445 +#: src/frontends/qt/GuiApplication.cpp:1470 msgid "the argument of buffer-forall is not valid" msgstr "Das -Argument des Befehls 'buffer-forall' ist ung??ltig." -#: src/frontends/qt/GuiApplication.cpp:1522 +#: src/frontends/qt/GuiApplication.cpp:1547 msgid "Wrong focus!" msgstr "Fokusfehler!" -#: src/frontends/qt/GuiApplication.cpp:1656 +#: src/frontends/qt/GuiApplication.cpp:1681 msgid "Running configure..." msgstr "Neukonfiguration wird durchgef??hrt..." -#: src/frontends/qt/GuiApplication.cpp:1666 +#: src/frontends/qt/GuiApplication.cpp:1691 msgid "Reloading configuration..." msgstr "Konfiguration wird neu geladen..." -#: src/frontends/qt/GuiApplication.cpp:1676 +#: src/frontends/qt/GuiApplication.cpp:1701 msgid "System reconfiguration failed" msgstr "Neukonfiguration des Systems fehlgeschlagen" -#: src/frontends/qt/GuiApplication.cpp:1677 +#: src/frontends/qt/GuiApplication.cpp:1702 msgid "" "The system reconfiguration has failed.\n" "Default textclass is used but LyX may\n" @@ -31375,11 +31413,11 @@ msgstr "" "der Lage, korrekt zu arbeiten.\n" "Bitte rekonfigurieren Sie nochmals, wenn n??tig." -#: src/frontends/qt/GuiApplication.cpp:1682 +#: src/frontends/qt/GuiApplication.cpp:1707 msgid "System reconfigured" msgstr "Das System wurde neu konfiguriert" -#: src/frontends/qt/GuiApplication.cpp:1683 +#: src/frontends/qt/GuiApplication.cpp:1708 msgid "" "The system has been reconfigured.\n" "You need to restart LyX to make use of any\n" @@ -31389,59 +31427,59 @@ msgstr "" "Sie m??ssen LyX neu starten, um die aktualisierten\n" "Spezifikationen f??r die Dokumentklassen zu nutzen." -#: src/frontends/qt/GuiApplication.cpp:1764 +#: src/frontends/qt/GuiApplication.cpp:1789 msgid "Exiting." msgstr "LyX wird beendet." -#: src/frontends/qt/GuiApplication.cpp:1860 +#: src/frontends/qt/GuiApplication.cpp:1885 #, c-format msgid "Opening help file %1$s..." msgstr "Hilfe-Datei %1$s wird ge??ffnet..." -#: src/frontends/qt/GuiApplication.cpp:1880 +#: src/frontends/qt/GuiApplication.cpp:1905 msgid "Wrong argument. Must be 'examples' or 'templates'." msgstr "Falsches Argument: muss 'examples' oder 'templates' sein." -#: src/frontends/qt/GuiApplication.cpp:1894 +#: src/frontends/qt/GuiApplication.cpp:1919 msgid "Syntax: set-color " msgstr "Syntax: set-color " -#: src/frontends/qt/GuiApplication.cpp:1914 +#: src/frontends/qt/GuiApplication.cpp:1939 #, c-format msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined" msgstr "" "Set-color \"%1$s\" ist fehlgeschlagen -- die Farbe ist nicht definiert oder " "darf nicht umdefiniert werden." -#: src/frontends/qt/GuiApplication.cpp:2019 +#: src/frontends/qt/GuiApplication.cpp:2044 #, c-format msgid "Cannot iterate more than %1$d times" msgstr "Mehr als %1$d Wiederholungen sind nicht m??glich." -#: src/frontends/qt/GuiApplication.cpp:2119 +#: src/frontends/qt/GuiApplication.cpp:2144 #, c-format msgid "Applied \"%1$s\" to %2$d buffer(s)" msgstr "Der Befehl \"%1$s\" wurde auf %2$d Dateien (Pufferspeicher) angewandt" -#: src/frontends/qt/GuiApplication.cpp:2205 +#: src/frontends/qt/GuiApplication.cpp:2230 #, c-format msgid "Document defaults saved in %1$s" msgstr "Dokument-Standardeinstellungen gespeichert in %1$s" -#: src/frontends/qt/GuiApplication.cpp:2209 +#: src/frontends/qt/GuiApplication.cpp:2234 msgid "Unable to save document defaults" msgstr "Die Dokument-Standardeinstellungen k??nnen nicht gespeichert werden" -#: src/frontends/qt/GuiApplication.cpp:2443 -#: src/frontends/qt/GuiApplication.cpp:2458 +#: src/frontends/qt/GuiApplication.cpp:2468 +#: src/frontends/qt/GuiApplication.cpp:2483 msgid "Unknown function." msgstr "Unbekannte Funktion." -#: src/frontends/qt/GuiApplication.cpp:2976 +#: src/frontends/qt/GuiApplication.cpp:3001 msgid "The current document was closed." msgstr "Das aktuelle Dokument wurde geschlossen." -#: src/frontends/qt/GuiApplication.cpp:2986 +#: src/frontends/qt/GuiApplication.cpp:3011 msgid "" "LyX has caught an exception, it will now attempt to save all unsaved " "documents and exit.\n" @@ -31453,12 +31491,12 @@ msgstr "" "\n" "Exception: " -#: src/frontends/qt/GuiApplication.cpp:2990 -#: src/frontends/qt/GuiApplication.cpp:2996 +#: src/frontends/qt/GuiApplication.cpp:3015 +#: src/frontends/qt/GuiApplication.cpp:3021 msgid "Software exception Detected" msgstr "Softwareausnahme erkannt" -#: src/frontends/qt/GuiApplication.cpp:2994 +#: src/frontends/qt/GuiApplication.cpp:3019 msgid "" "LyX has caught some really weird exception, it will now attempt to save all " "unsaved documents and exit." @@ -31466,12 +31504,12 @@ msgstr "" "LyX hat einen ziemlich seltsamen Fehler entdeckt. Das Programm wird jetzt " "versuchen, alle ungespeicherten Dateien zu speichern, und dann beendet." -#: src/frontends/qt/GuiApplication.cpp:3300 -#: src/frontends/qt/GuiApplication.cpp:3312 +#: src/frontends/qt/GuiApplication.cpp:3325 +#: src/frontends/qt/GuiApplication.cpp:3337 msgid "Could not find UI definition file" msgstr "Die Benutzeroberfl??chen-Definitionsdatei konnte nicht gefunden werden" -#: src/frontends/qt/GuiApplication.cpp:3301 +#: src/frontends/qt/GuiApplication.cpp:3326 #, c-format msgid "" "Error while reading the included file\n" @@ -31482,13 +31520,13 @@ msgstr "" "%1$s.\n" "Bitte ??berpr??fen Sie Ihre Installation." -#: src/frontends/qt/GuiApplication.cpp:3307 +#: src/frontends/qt/GuiApplication.cpp:3332 msgid "Could not find default UI file" msgstr "" "Die Standard-Benutzeroberfl??chen-Definitionsdatei konnte nicht gefunden " "werden" -#: src/frontends/qt/GuiApplication.cpp:3308 +#: src/frontends/qt/GuiApplication.cpp:3333 msgid "" "LyX could not find the default UI file!\n" "Please check your installation." @@ -31497,7 +31535,7 @@ msgstr "" "f??r die Benutzeroberfl??che!\n" "Bitte ??berpr??fen Sie Ihre Installation." -#: src/frontends/qt/GuiApplication.cpp:3313 +#: src/frontends/qt/GuiApplication.cpp:3338 #, c-format msgid "" "Error while reading the configuration file\n" @@ -31611,9 +31649,9 @@ msgstr "alle Literaturverzeichnisse" #: src/frontends/qt/GuiDocument.cpp:2887 src/frontends/qt/GuiExternal.cpp:677 #: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380 #: src/frontends/qt/GuiLyXFiles.cpp:362 src/frontends/qt/GuiLyXFiles.cpp:368 -#: src/frontends/qt/GuiView.cpp:2551 src/frontends/qt/GuiView.cpp:2610 -#: src/frontends/qt/GuiView.cpp:2750 src/frontends/qt/GuiView.cpp:2884 -#: src/frontends/qt/GuiView.cpp:3004 src/frontends/qt/GuiView.cpp:3126 +#: src/frontends/qt/GuiView.cpp:2549 src/frontends/qt/GuiView.cpp:2608 +#: src/frontends/qt/GuiView.cpp:2748 src/frontends/qt/GuiView.cpp:2882 +#: src/frontends/qt/GuiView.cpp:3002 src/frontends/qt/GuiView.cpp:3124 msgid "D&ocuments" msgstr "Do&kumente" @@ -31695,7 +31733,7 @@ msgid "Filename Suffix" msgstr "Erweitere Dateinamen" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3326 src/frontends/qt/GuiDocument.cpp:4637 +#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:4634 #: src/frontends/qt/GuiProgressView.cpp:144 #: src/frontends/qt/GuiProgressView.cpp:158 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -31703,8 +31741,8 @@ msgid "Yes" msgstr "Ja" #: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149 -#: src/frontends/qt/GuiDocument.cpp:3325 src/frontends/qt/GuiDocument.cpp:3968 -#: src/frontends/qt/GuiDocument.cpp:4636 +#: src/frontends/qt/GuiDocument.cpp:3322 src/frontends/qt/GuiDocument.cpp:3965 +#: src/frontends/qt/GuiDocument.cpp:4633 #: src/frontends/qt/GuiProgressView.cpp:110 #: src/frontends/qt/GuiProgressView.cpp:143 #: src/frontends/qt/GuiProgressView.cpp:179 @@ -31974,10 +32012,10 @@ msgstr "%1$s Dateien" msgid "Choose a filename to save the pasted graphic as" msgstr "W??hlen Sie einen Dateinamen, um die eingef??gte Grafik zu speichern als" -#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2628 -#: src/frontends/qt/GuiView.cpp:2769 src/frontends/qt/GuiView.cpp:2785 -#: src/frontends/qt/GuiView.cpp:2797 src/frontends/qt/GuiView.cpp:2814 -#: src/frontends/qt/GuiView.cpp:2899 src/frontends/qt/GuiView.cpp:4332 +#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2626 +#: src/frontends/qt/GuiView.cpp:2767 src/frontends/qt/GuiView.cpp:2783 +#: src/frontends/qt/GuiView.cpp:2795 src/frontends/qt/GuiView.cpp:2812 +#: src/frontends/qt/GuiView.cpp:2897 src/frontends/qt/GuiView.cpp:4332 msgid "Canceled." msgstr "Abgebrochen." @@ -32007,8 +32045,8 @@ msgid "Select document" msgstr "Dokument w??hlen" #: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:361 -#: src/frontends/qt/GuiView.cpp:2555 src/frontends/qt/GuiView.cpp:2614 -#: src/frontends/qt/GuiView.cpp:2888 src/frontends/qt/GuiView.cpp:3015 +#: src/frontends/qt/GuiView.cpp:2553 src/frontends/qt/GuiView.cpp:2612 +#: src/frontends/qt/GuiView.cpp:2886 src/frontends/qt/GuiView.cpp:3013 msgid "LyX Documents (*.lyx)" msgstr "LyX-Dokumente (*.lyx)" @@ -32495,9 +32533,9 @@ msgstr "Direkt (ohne inputenc)" msgid "Direct (XeTeX/LuaTeX)" msgstr "Direkt (XeTeX/LuaTeX)" -#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4312 -#: src/frontends/qt/GuiDocument.cpp:4321 src/frontends/qt/GuiDocument.cpp:4330 -#: src/frontends/qt/GuiDocument.cpp:4339 +#: src/frontends/qt/GuiDocument.cpp:2639 src/frontends/qt/GuiDocument.cpp:4309 +#: src/frontends/qt/GuiDocument.cpp:4318 src/frontends/qt/GuiDocument.cpp:4327 +#: src/frontends/qt/GuiDocument.cpp:4336 msgid " (not installed)" msgstr " (nicht installiert)" @@ -32560,13 +32598,13 @@ msgstr "LyX-Dokumente (*.lyx)" # , c-format # , c-format -#: src/frontends/qt/GuiDocument.cpp:2909 src/frontends/qt/GuiDocument.cpp:3213 -#: src/frontends/qt/GuiDocument.cpp:4828 +#: src/frontends/qt/GuiDocument.cpp:2909 src/frontends/qt/GuiDocument.cpp:3210 +#: src/frontends/qt/GuiDocument.cpp:4825 msgid "Unapplied changes" msgstr "Nicht ??bernommene ??nderungen" -#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3214 -#: src/frontends/qt/GuiDocument.cpp:4829 +#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3211 +#: src/frontends/qt/GuiDocument.cpp:4826 msgid "" "Some changes in the dialog were not yet applied.\n" "If you do not apply now, they will be lost after this action." @@ -32575,17 +32613,17 @@ msgstr "" "Wenn Sie sie jetzt nicht anwenden, werden sie nach dieser\n" "Aktion verlorengehen." -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3216 -#: src/frontends/qt/GuiDocument.cpp:4831 +#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 +#: src/frontends/qt/GuiDocument.cpp:4828 msgid "&Apply" msgstr "&Anwenden" -#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3216 -#: src/frontends/qt/GuiDocument.cpp:4831 +#: src/frontends/qt/GuiDocument.cpp:2912 src/frontends/qt/GuiDocument.cpp:3213 +#: src/frontends/qt/GuiDocument.cpp:4828 msgid "&Dismiss" msgstr "&Ablehnen" -#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4839 +#: src/frontends/qt/GuiDocument.cpp:2923 src/frontends/qt/GuiDocument.cpp:4836 msgid "Unable to set document class." msgstr "Kann Dokumentklasse nicht einstellen." @@ -32601,60 +32639,60 @@ msgstr "Autor-Jahr" msgid "Author-number" msgstr "Autor-Nummer" -#: src/frontends/qt/GuiDocument.cpp:3138 +#: src/frontends/qt/GuiDocument.cpp:3135 #, c-format msgid "%1$s and %2$s" msgstr "%1$s und %2$s" -#: src/frontends/qt/GuiDocument.cpp:3145 +#: src/frontends/qt/GuiDocument.cpp:3142 #, c-format msgid "%1$s, %2$s" msgstr "%1$s, %2$s" -#: src/frontends/qt/GuiDocument.cpp:3150 +#: src/frontends/qt/GuiDocument.cpp:3147 #, c-format msgid "%1$s, %2$s, and %3$s" msgstr "%1$s, %2$s und %3$s" -#: src/frontends/qt/GuiDocument.cpp:3164 +#: src/frontends/qt/GuiDocument.cpp:3161 #, c-format msgid "%1$s (unavailable)" msgstr "%1$s (nicht verf??gbar)" -#: src/frontends/qt/GuiDocument.cpp:3263 +#: src/frontends/qt/GuiDocument.cpp:3260 msgid "Module provided by document class." msgstr "Von der Dokumentklasse bereitgestelltes Modul." -#: src/frontends/qt/GuiDocument.cpp:3271 +#: src/frontends/qt/GuiDocument.cpp:3268 #, c-format msgid "

Category: %1$s.

" msgstr "

Kategorie: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3281 +#: src/frontends/qt/GuiDocument.cpp:3278 #, c-format msgid "

Package(s) required: %1$s.

" msgstr "

Ben??tigte Pakete: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3287 +#: src/frontends/qt/GuiDocument.cpp:3284 msgid "or" msgstr "oder" -#: src/frontends/qt/GuiDocument.cpp:3290 +#: src/frontends/qt/GuiDocument.cpp:3287 #, c-format msgid "

Modules required: %1$s.

" msgstr "

Ben??tigte Module: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3299 +#: src/frontends/qt/GuiDocument.cpp:3296 #, c-format msgid "

Modules excluded: %1$s.

" msgstr "

Ausgeschlossene Module: %1$s.

" -#: src/frontends/qt/GuiDocument.cpp:3304 +#: src/frontends/qt/GuiDocument.cpp:3301 #, c-format msgid "

Filename: %1$s.module.

" msgstr "

Dateiname: %1$s.module.

" -#: src/frontends/qt/GuiDocument.cpp:3309 +#: src/frontends/qt/GuiDocument.cpp:3306 msgid "" "

WARNING: Some required packages are unavailable!

" @@ -32662,56 +32700,61 @@ msgstr "" "

WARNUNG: Einige ben??tigte Pakete sind nicht verf??gbar!" "

" -#: src/frontends/qt/GuiDocument.cpp:3970 +#: src/frontends/qt/GuiDocument.cpp:3967 msgid "per part" msgstr "pro Teil" -#: src/frontends/qt/GuiDocument.cpp:3972 +#: src/frontends/qt/GuiDocument.cpp:3969 msgid "per chapter" msgstr "pro Kapitel" -#: src/frontends/qt/GuiDocument.cpp:3974 +#: src/frontends/qt/GuiDocument.cpp:3971 msgid "per section" msgstr "pro Abschnitt" -#: src/frontends/qt/GuiDocument.cpp:3976 +#: src/frontends/qt/GuiDocument.cpp:3973 msgid "per subsection" msgstr "pro Unterabschnitt" -#: src/frontends/qt/GuiDocument.cpp:3977 +#: src/frontends/qt/GuiDocument.cpp:3974 msgid "per child document" msgstr "pro Unterdokument" -#: src/frontends/qt/GuiDocument.cpp:4232 +#: src/frontends/qt/GuiDocument.cpp:4001 +#, c-format +msgid "%1$s (not available)" +msgstr "%1$s (nicht verf??gbar)" + +#: src/frontends/qt/GuiDocument.cpp:4229 msgid "[No options predefined]" msgstr "[Keine Optionen vordefiniert]" -#: src/frontends/qt/GuiDocument.cpp:4499 +#: src/frontends/qt/GuiDocument.cpp:4496 msgid "C&ustomize Hyperref Options" msgstr "H&yperref-Optionen anpassen" -#: src/frontends/qt/GuiDocument.cpp:4501 +#: src/frontends/qt/GuiDocument.cpp:4498 msgid "&Use Hyperref Support" msgstr "Hyperref-Unterst??tzung &verwenden" -#: src/frontends/qt/GuiDocument.cpp:4851 +#: src/frontends/qt/GuiDocument.cpp:4848 msgid "Can't set layout!" msgstr "Kann Format nicht verwenden!" -#: src/frontends/qt/GuiDocument.cpp:4852 +#: src/frontends/qt/GuiDocument.cpp:4849 #, c-format msgid "Unable to set layout for ID: %1$s" msgstr "Kann Format f??r ID '%1$s' nicht verwenden" -#: src/frontends/qt/GuiDocument.cpp:4950 +#: src/frontends/qt/GuiDocument.cpp:4947 msgid "Not Found" msgstr "Nicht gefunden" -#: src/frontends/qt/GuiDocument.cpp:5012 +#: src/frontends/qt/GuiDocument.cpp:5009 msgid "Assigned master does not include this file" msgstr "Zugewiesenes Hauptdokument bettet diese Datei nicht ein" -#: src/frontends/qt/GuiDocument.cpp:5013 +#: src/frontends/qt/GuiDocument.cpp:5010 #, c-format msgid "" "You must include this file in the document\n" @@ -32722,11 +32765,11 @@ msgstr "" "'%1$s' einbetten, sonst bleibt die\n" "vorgenommene Zuordnung des Hauptdokuments wirkungslos." -#: src/frontends/qt/GuiDocument.cpp:5017 +#: src/frontends/qt/GuiDocument.cpp:5014 msgid "Could not load master" msgstr "Konnte das Hauptdokument nicht laden" -#: src/frontends/qt/GuiDocument.cpp:5018 +#: src/frontends/qt/GuiDocument.cpp:5015 #, c-format msgid "" "The master document '%1$s'\n" @@ -32735,23 +32778,23 @@ msgstr "" "Das Hauptdokument '%1$s'\n" "konnte nicht geladen werden." -#: src/frontends/qt/GuiDocument.cpp:5168 +#: src/frontends/qt/GuiDocument.cpp:5165 msgid "%1 (missing req.)" msgstr "%1 (fehlende Vor.)" -#: src/frontends/qt/GuiDocument.cpp:5180 +#: src/frontends/qt/GuiDocument.cpp:5177 msgid "personal module" msgstr "pers??nliches Modul" -#: src/frontends/qt/GuiDocument.cpp:5180 +#: src/frontends/qt/GuiDocument.cpp:5177 msgid "distributed module" msgstr "mitgeliefertes Modul" -#: src/frontends/qt/GuiDocument.cpp:5181 +#: src/frontends/qt/GuiDocument.cpp:5178 msgid "Module name: %1 (%2)" msgstr "Modulname: %1 (%2)" -#: src/frontends/qt/GuiDocument.cpp:5187 +#: src/frontends/qt/GuiDocument.cpp:5184 msgid "Note: Some requirements for this module are missing!" msgstr "" "Achtung: Einige Voraussetzungen f??r dieses Modul sind nicht gegeben!" @@ -33429,17 +33472,17 @@ msgstr "" msgid "Select example file" msgstr "W??hlen Sie eine Beispieldatei" -#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2611 -#: src/frontends/qt/GuiView.cpp:2751 src/frontends/qt/GuiView.cpp:2885 +#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2609 +#: src/frontends/qt/GuiView.cpp:2749 src/frontends/qt/GuiView.cpp:2883 msgid "&Examples" msgstr "&Beispiele" -#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2550 +#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2548 msgid "Select template file" msgstr "W??hlen Sie eine Vorlagendatei" -#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2552 -#: src/frontends/qt/GuiView.cpp:3005 +#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2550 +#: src/frontends/qt/GuiView.cpp:3003 msgid "&Templates" msgstr "&Vorlagen" @@ -33566,7 +33609,7 @@ msgstr "" "Normalerweise m??ssen Sie diese Breite nicht festlegen, da die maximale " "Breite aller Punkte verwendet wird." -#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3283 +#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3281 msgid "&Close" msgstr "&Schlie??en" @@ -33771,7 +33814,7 @@ msgid "Res&tore" msgstr "Zur??c&ksetzen" #: src/frontends/qt/GuiPrefs.cpp:3372 src/frontends/qt/GuiPrefs.cpp:3381 -#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3450 +#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3451 msgid "Failed to create shortcut" msgstr "Erstellen des Tastenk??rzels fehlgeschlagen" @@ -33807,11 +33850,11 @@ msgstr "Tastenk??rzel neu definieren?" msgid "&Redefine" msgstr "&Neu Definieren" -#: src/frontends/qt/GuiPrefs.cpp:3451 +#: src/frontends/qt/GuiPrefs.cpp:3452 msgid "Can not insert shortcut to the list" msgstr "Kann Tastenk??rzel nicht in Liste einf??gen" -#: src/frontends/qt/GuiPrefs.cpp:3482 +#: src/frontends/qt/GuiPrefs.cpp:3483 msgid "Identity" msgstr "Identit??t" @@ -34337,7 +34380,7 @@ msgstr "verankert" msgid "Vertical Space Settings" msgstr "Einstellungen f??r vertikalen Abstand" -#: src/frontends/qt/GuiView.cpp:155 +#: src/frontends/qt/GuiView.cpp:154 msgid "" "The Document\n" "Processor[[welcome banner]]" @@ -34345,33 +34388,33 @@ msgstr "" "Die bessere\n" "Textverarbeitung" -#: src/frontends/qt/GuiView.cpp:156 +#: src/frontends/qt/GuiView.cpp:155 msgid "1.0[[possibly scale the welcome banner text size]]" msgstr "1.1" -#: src/frontends/qt/GuiView.cpp:159 +#: src/frontends/qt/GuiView.cpp:158 msgid "version " msgstr "Version " -#: src/frontends/qt/GuiView.cpp:159 +#: src/frontends/qt/GuiView.cpp:158 msgid "unknown version" msgstr "unbekannte Version" -#: src/frontends/qt/GuiView.cpp:650 +#: src/frontends/qt/GuiView.cpp:648 msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust." msgstr "" "Skalierung des Arbeitsbereichs. Um dies anzupassen, verwenden Sie den " "Schieber, Strg-+/- oder Umschalt-Mausrad." -#: src/frontends/qt/GuiView.cpp:682 src/frontends/qt/GuiView.cpp:792 -#: src/frontends/qt/GuiView.cpp:950 src/frontends/qt/Menus.cpp:1845 -#: src/frontends/qt/Menus.cpp:1849 src/frontends/qt/Menus.cpp:1853 -#: src/frontends/qt/Menus.cpp:1857 src/frontends/qt/Menus.cpp:1861 -#: src/frontends/qt/Menus.cpp:1865 +#: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790 +#: src/frontends/qt/GuiView.cpp:948 src/frontends/qt/Menus.cpp:1843 +#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851 +#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859 +#: src/frontends/qt/Menus.cpp:1863 msgid "[[ZOOM]]%1$d%" msgstr "%1$d%" -#: src/frontends/qt/GuiView.cpp:698 +#: src/frontends/qt/GuiView.cpp:696 msgid "" "WARNING: LaTeX is allowed to execute external commands for this document. " "Right click to change." @@ -34379,114 +34422,114 @@ msgstr "" "ACHTUNG: LaTeX darf f??r dieses Dokument beliebige externe Befehle ausf??hren. " "Um dies zu ??ndern, klicken Sie die rechte Maustaste." -#: src/frontends/qt/GuiView.cpp:777 +#: src/frontends/qt/GuiView.cpp:775 msgid "Cancel Export?" msgstr "Export abbrechen?" -#: src/frontends/qt/GuiView.cpp:778 +#: src/frontends/qt/GuiView.cpp:776 msgid "Do you want to cancel the background export process?" msgstr "Wollen Sie den Exportvorgang im Hintergrund abbrechen?" -#: src/frontends/qt/GuiView.cpp:781 +#: src/frontends/qt/GuiView.cpp:779 msgid "Co&ntinue" msgstr "&Fortfahren" -#: src/frontends/qt/GuiView.cpp:847 +#: src/frontends/qt/GuiView.cpp:845 #, c-format msgid "Successful export to format: %1$s" msgstr "Export in das Format %1$s erfolgreich" -#: src/frontends/qt/GuiView.cpp:856 +#: src/frontends/qt/GuiView.cpp:854 #, c-format msgid "Error while exporting format: %1$s" msgstr "Fehler beim Export in das Formats %1$s" -#: src/frontends/qt/GuiView.cpp:859 +#: src/frontends/qt/GuiView.cpp:857 #, c-format msgid "Successful preview of format: %1$s" msgstr "Erfolgreiche Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:862 +#: src/frontends/qt/GuiView.cpp:860 #, c-format msgid "Error while previewing format: %1$s" msgstr "Fehler bei der Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:865 +#: src/frontends/qt/GuiView.cpp:863 #, c-format msgid "Conversion cancelled while previewing format: %1$s" msgstr "Abbruch der Ausgabe bei der Vorschau des Formats %1$s" -#: src/frontends/qt/GuiView.cpp:1210 +#: src/frontends/qt/GuiView.cpp:1208 msgid "Exit LyX" msgstr "LyX beenden" -#: src/frontends/qt/GuiView.cpp:1211 +#: src/frontends/qt/GuiView.cpp:1209 msgid "LyX could not be closed because documents are being processed by LyX." msgstr "" "LyX konnte nicht geschlossen werden, da gerade Dokumente von LyX verarbeitet " "werden." -#: src/frontends/qt/GuiView.cpp:1359 +#: src/frontends/qt/GuiView.cpp:1357 #, c-format msgid "%1$s (modified externally)" msgstr "%1$s (extern bearbeitet)" -#: src/frontends/qt/GuiView.cpp:1482 +#: src/frontends/qt/GuiView.cpp:1480 msgid "Welcome to LyX!" msgstr "Willkommen bei LyX!" -#: src/frontends/qt/GuiView.cpp:2019 +#: src/frontends/qt/GuiView.cpp:2017 msgid "Automatic save done." msgstr "Automatische Speicherung abgeschlossen." -#: src/frontends/qt/GuiView.cpp:2020 +#: src/frontends/qt/GuiView.cpp:2018 msgid "Automatic save failed!" msgstr "Die automatische Speicherung ist fehlgeschlagen!" -#: src/frontends/qt/GuiView.cpp:2076 +#: src/frontends/qt/GuiView.cpp:2074 msgid "Command not allowed without any document open" msgstr "Dieser Befehl ist nur bei ge??ffnetem Dokument m??glich" -#: src/frontends/qt/GuiView.cpp:2145 +#: src/frontends/qt/GuiView.cpp:2143 msgid "Invalid argument of master-buffer-forall" msgstr "Ung??ltiges Argument f??r master-buffer-forall" -#: src/frontends/qt/GuiView.cpp:2263 +#: src/frontends/qt/GuiView.cpp:2261 msgid "Function toolbar-set requires two arguments!" msgstr "Die Funktion toolbar-set erfordert zwei Argumente!" -#: src/frontends/qt/GuiView.cpp:2270 +#: src/frontends/qt/GuiView.cpp:2268 #, c-format msgid "Invalid argument \"%1$s\" to function toolbar-set!" msgstr "Ung??ltiges Argument \"%1$s\" der Funktion toolbar-set!" -#: src/frontends/qt/GuiView.cpp:2286 src/frontends/qt/GuiView.cpp:2299 -#: src/frontends/qt/GuiView.cpp:2316 +#: src/frontends/qt/GuiView.cpp:2284 src/frontends/qt/GuiView.cpp:2297 +#: src/frontends/qt/GuiView.cpp:2314 #, c-format msgid "Unknown toolbar \"%1$s\"" msgstr "Unbekannte Werkzeugleiste \"%1$s\"" -#: src/frontends/qt/GuiView.cpp:2436 src/frontends/qt/GuiView.cpp:2449 +#: src/frontends/qt/GuiView.cpp:2434 src/frontends/qt/GuiView.cpp:2447 msgid "Zoom level cannot be less than %1$d%." msgstr "Der Skalierungsfaktor darf nicht kleiner als %1$d% sein." -#: src/frontends/qt/GuiView.cpp:2579 +#: src/frontends/qt/GuiView.cpp:2577 msgid "Document not loaded." msgstr "Dokument nicht geladen." -#: src/frontends/qt/GuiView.cpp:2609 +#: src/frontends/qt/GuiView.cpp:2607 msgid "Select document to open" msgstr "W??hlen Sie das zu ??ffnende Dokument" -#: src/frontends/qt/GuiView.cpp:2615 +#: src/frontends/qt/GuiView.cpp:2613 msgid "LyX Document Backups (*.lyx~)" msgstr "LyX-Dokument-Backups (*.lyx~)" -#: src/frontends/qt/GuiView.cpp:2616 +#: src/frontends/qt/GuiView.cpp:2614 msgid "All Files (*.*)" msgstr "Alle Dateien (*.*)" -#: src/frontends/qt/GuiView.cpp:2643 +#: src/frontends/qt/GuiView.cpp:2641 #, c-format msgid "" "The directory in the given path\n" @@ -34497,40 +34540,40 @@ msgstr "" "%1$s\n" "existiert nicht." -#: src/frontends/qt/GuiView.cpp:2660 +#: src/frontends/qt/GuiView.cpp:2658 #, c-format msgid "Opening document %1$s..." msgstr "??ffne Dokument %1$s..." -#: src/frontends/qt/GuiView.cpp:2665 +#: src/frontends/qt/GuiView.cpp:2663 #, c-format msgid "Document %1$s opened." msgstr "Dokument %1$s ist ge??ffnet." -#: src/frontends/qt/GuiView.cpp:2668 +#: src/frontends/qt/GuiView.cpp:2666 msgid "Version control detected." msgstr "Versionskontrolle erkannt." -#: src/frontends/qt/GuiView.cpp:2670 +#: src/frontends/qt/GuiView.cpp:2668 #, c-format msgid "Could not open document %1$s" msgstr "Das Dokument %1$s konnte nicht ge??ffnet werden" -#: src/frontends/qt/GuiView.cpp:2698 +#: src/frontends/qt/GuiView.cpp:2696 msgid "Couldn't import file" msgstr "Die Datei konnte nicht importiert werden" -#: src/frontends/qt/GuiView.cpp:2699 +#: src/frontends/qt/GuiView.cpp:2697 #, c-format msgid "No information for importing the format %1$s." msgstr "Keine Informationen vorhanden, um das Format %1$s zu importieren." -#: src/frontends/qt/GuiView.cpp:2746 +#: src/frontends/qt/GuiView.cpp:2744 #, c-format msgid "Select %1$s file to import" msgstr "W??hlen Sie die einzuf??gende %1$s-Datei" -#: src/frontends/qt/GuiView.cpp:2781 +#: src/frontends/qt/GuiView.cpp:2779 #, c-format msgid "" "The file name '%1$s' is invalid!\n" @@ -34539,8 +34582,8 @@ msgstr "" "Der Dateiname '%1$s' ist ung??ltig!\n" "Import wird abgebrochen." -#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:3075 -#: src/frontends/qt/GuiView.cpp:3178 +#: src/frontends/qt/GuiView.cpp:2806 src/frontends/qt/GuiView.cpp:3073 +#: src/frontends/qt/GuiView.cpp:3176 #, c-format msgid "" "The document %1$s already exists.\n" @@ -34551,33 +34594,33 @@ msgstr "" "\n" "M??chten Sie dieses Dokument ??berschreiben?" -#: src/frontends/qt/GuiView.cpp:2810 src/frontends/qt/GuiView.cpp:3079 -#: src/frontends/qt/GuiView.cpp:3182 +#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:3077 +#: src/frontends/qt/GuiView.cpp:3180 msgid "Overwrite document?" msgstr "Dokument ??berschreiben?" -#: src/frontends/qt/GuiView.cpp:2819 +#: src/frontends/qt/GuiView.cpp:2817 #, c-format msgid "Importing %1$s..." msgstr "Importiere %1$s..." -#: src/frontends/qt/GuiView.cpp:2822 +#: src/frontends/qt/GuiView.cpp:2820 msgid "imported." msgstr "wurde eingef??gt." -#: src/frontends/qt/GuiView.cpp:2824 +#: src/frontends/qt/GuiView.cpp:2822 msgid "file not imported!" msgstr "Datei wurde nicht importiert!" -#: src/frontends/qt/GuiView.cpp:2850 +#: src/frontends/qt/GuiView.cpp:2848 msgid "newfile" msgstr "Neues_Dokument" -#: src/frontends/qt/GuiView.cpp:2883 +#: src/frontends/qt/GuiView.cpp:2881 msgid "Select LyX document to insert" msgstr "W??hlen Sie das einzuf??gende LyX-Dokument" -#: src/frontends/qt/GuiView.cpp:2930 +#: src/frontends/qt/GuiView.cpp:2928 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34590,23 +34633,23 @@ msgstr "" "Dieser Unterordner existiert aber noch nicht.\n" "Soll er angelegt werden?" -#: src/frontends/qt/GuiView.cpp:2935 +#: src/frontends/qt/GuiView.cpp:2933 msgid "Create Language Directory?" msgstr "Sprach-Unterorder erstellen?" -#: src/frontends/qt/GuiView.cpp:2936 src/frontends/qt/GuiView.cpp:2967 +#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 msgid "&Yes, Create" msgstr "&Ja, erstellen" -#: src/frontends/qt/GuiView.cpp:2936 src/frontends/qt/GuiView.cpp:2967 +#: src/frontends/qt/GuiView.cpp:2934 src/frontends/qt/GuiView.cpp:2965 msgid "&No, Save Template in Parent Directory" msgstr "&Nein, speichere Vorlage im Hauptordner" -#: src/frontends/qt/GuiView.cpp:2939 src/frontends/qt/GuiView.cpp:2970 +#: src/frontends/qt/GuiView.cpp:2937 src/frontends/qt/GuiView.cpp:2968 msgid "Subdirectory creation failed!" msgstr "Erstellung des Unterordners fehlgeschlagen!" -#: src/frontends/qt/GuiView.cpp:2940 src/frontends/qt/GuiView.cpp:2971 +#: src/frontends/qt/GuiView.cpp:2938 src/frontends/qt/GuiView.cpp:2969 msgid "" "Could not create subdirectory.\n" "The template will be saved in the parent directory." @@ -34614,7 +34657,7 @@ msgstr "" "Der Unterordner konnte leider nicht erstellt werden\n" "Die Vorlage wird im Hauptordner gespeichert." -#: src/frontends/qt/GuiView.cpp:2961 +#: src/frontends/qt/GuiView.cpp:2959 #, c-format msgid "" "It is suggested to save the template in a subdirectory\n" @@ -34627,19 +34670,19 @@ msgstr "" "Dieser Unterordner existiert aber noch nicht.\n" "Soll er angelegt werden?" -#: src/frontends/qt/GuiView.cpp:2966 +#: src/frontends/qt/GuiView.cpp:2964 msgid "Create Category Directory?" msgstr "Kategorien-Ordner erstellen?" -#: src/frontends/qt/GuiView.cpp:3001 +#: src/frontends/qt/GuiView.cpp:2999 msgid "Choose a filename to save template as" msgstr "W??hlen Sie einen Dateinamen f??r die Vorlage" -#: src/frontends/qt/GuiView.cpp:3002 +#: src/frontends/qt/GuiView.cpp:3000 msgid "Choose a filename to save document as" msgstr "W??hlen Sie einen Dateinamen f??r das Dokument" -#: src/frontends/qt/GuiView.cpp:3038 +#: src/frontends/qt/GuiView.cpp:3036 #, c-format msgid "" "The file\n" @@ -34654,17 +34697,17 @@ msgstr "" "Bitte schlie??en Sie sie, wenn Sie sie ??berschreiben m??chten.\n" "M??chten Sie statt dessen einen neuen Dateinamen w??hlen?" -#: src/frontends/qt/GuiView.cpp:3042 +#: src/frontends/qt/GuiView.cpp:3040 msgid "Chosen File Already Open" msgstr "Ausgew??hlte Datei bereits ge??ffnet" -#: src/frontends/qt/GuiView.cpp:3043 src/frontends/qt/GuiView.cpp:3065 -#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3183 -#: src/frontends/qt/GuiView.cpp:3228 +#: src/frontends/qt/GuiView.cpp:3041 src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3079 src/frontends/qt/GuiView.cpp:3181 +#: src/frontends/qt/GuiView.cpp:3226 msgid "&Rename" msgstr "&Umbenennen" -#: src/frontends/qt/GuiView.cpp:3058 +#: src/frontends/qt/GuiView.cpp:3056 #, c-format msgid "" "The document %1$s is already registered.\n" @@ -34675,27 +34718,27 @@ msgstr "" "\n" "M??chten Sie einen anderen Namen w??hlen?" -#: src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3061 msgid "Rename document?" msgstr "Dokument umbenennen?" -#: src/frontends/qt/GuiView.cpp:3063 +#: src/frontends/qt/GuiView.cpp:3061 msgid "Copy document?" msgstr "Dokument kopieren?" -#: src/frontends/qt/GuiView.cpp:3065 +#: src/frontends/qt/GuiView.cpp:3063 msgid "&Copy" msgstr "&Kopieren" -#: src/frontends/qt/GuiView.cpp:3125 +#: src/frontends/qt/GuiView.cpp:3123 msgid "Choose a filename to export the document as" msgstr "W??hlen Sie einen Dateinamen f??r das exportierte Dokument" -#: src/frontends/qt/GuiView.cpp:3129 +#: src/frontends/qt/GuiView.cpp:3127 msgid "Guess from extension (*.*)" msgstr "Von der Dateierweiterung ableiten (*.*)" -#: src/frontends/qt/GuiView.cpp:3224 +#: src/frontends/qt/GuiView.cpp:3222 #, c-format msgid "" "The document %1$s could not be saved.\n" @@ -34706,15 +34749,15 @@ msgstr "" "\n" "M??chten Sie das Dokument umbenennen und erneut versuchen?" -#: src/frontends/qt/GuiView.cpp:3227 +#: src/frontends/qt/GuiView.cpp:3225 msgid "Rename and save?" msgstr "Umbenennen und speichern?" -#: src/frontends/qt/GuiView.cpp:3228 +#: src/frontends/qt/GuiView.cpp:3226 msgid "&Retry" msgstr "&Wiederholen" -#: src/frontends/qt/GuiView.cpp:3273 +#: src/frontends/qt/GuiView.cpp:3271 #, c-format msgid "" "Last view on document %1$s is being closed.\n" @@ -34736,25 +34779,25 @@ msgstr "" "die Voreinstellung in Werkzeuge > Einstellungen ... >\n" "Aussehen & Handhabung > Benutzeroberfl??che.\n" -#: src/frontends/qt/GuiView.cpp:3282 +#: src/frontends/qt/GuiView.cpp:3280 msgid "Close or hide document?" msgstr "Dokument schlie??en oder verbergen?" -#: src/frontends/qt/GuiView.cpp:3283 +#: src/frontends/qt/GuiView.cpp:3281 msgid "&Hide" msgstr "&Verbergen" -#: src/frontends/qt/GuiView.cpp:3380 +#: src/frontends/qt/GuiView.cpp:3378 msgid "Close document" msgstr "Dokument schlie??en" -#: src/frontends/qt/GuiView.cpp:3381 +#: src/frontends/qt/GuiView.cpp:3379 msgid "Document could not be closed because it is being processed by LyX." msgstr "" "Dokument konnte nicht geschlossen werden, da es gerade von LyX verarbeitet " "wird." -#: src/frontends/qt/GuiView.cpp:3513 src/frontends/qt/GuiView.cpp:3628 +#: src/frontends/qt/GuiView.cpp:3511 src/frontends/qt/GuiView.cpp:3626 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -34765,16 +34808,16 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3516 src/frontends/qt/GuiView.cpp:3631 +#: src/frontends/qt/GuiView.cpp:3514 src/frontends/qt/GuiView.cpp:3629 msgid "Save new document?" msgstr "Neues Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3517 src/frontends/qt/GuiView.cpp:3531 -#: src/frontends/qt/GuiView.cpp:3633 +#: src/frontends/qt/GuiView.cpp:3515 src/frontends/qt/GuiView.cpp:3529 +#: src/frontends/qt/GuiView.cpp:3631 msgid "&Save" msgstr "&Speichern" -#: src/frontends/qt/GuiView.cpp:3522 +#: src/frontends/qt/GuiView.cpp:3520 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -34785,7 +34828,7 @@ msgstr "" "sind nicht gespeichert.\n" "M??chten Sie das Dokument speichern oder die ??nderungen verwerfen?" -#: src/frontends/qt/GuiView.cpp:3525 +#: src/frontends/qt/GuiView.cpp:3523 #, c-format msgid "" "The document %1$s has not been saved yet.\n" @@ -34796,19 +34839,19 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern oder es endg??ltig verwerfen?" -#: src/frontends/qt/GuiView.cpp:3529 src/frontends/qt/GuiView.cpp:3625 +#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3623 msgid "Save changed document?" msgstr "Ge??ndertes Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3529 +#: src/frontends/qt/GuiView.cpp:3527 msgid "Save document?" msgstr "Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3531 +#: src/frontends/qt/GuiView.cpp:3529 msgid "&Discard" msgstr "&Verwerfen" -#: src/frontends/qt/GuiView.cpp:3622 +#: src/frontends/qt/GuiView.cpp:3620 #, c-format msgid "" "The document %1$s has unsaved changes.\n" @@ -34819,7 +34862,7 @@ msgstr "" "\n" "M??chten Sie das Dokument speichern?" -#: src/frontends/qt/GuiView.cpp:3654 +#: src/frontends/qt/GuiView.cpp:3652 #, c-format msgid "" "Document \n" @@ -34831,37 +34874,37 @@ msgstr "" "wurde extern ver??ndert. Wollen Sie es erneut laden?\n" "Alle lokalen Ver??nderungen werden dann verworfen." -#: src/frontends/qt/GuiView.cpp:3657 +#: src/frontends/qt/GuiView.cpp:3655 msgid "Reload externally changed document?" msgstr "Extern ge??ndertes Dokument neu laden?" -#: src/frontends/qt/GuiView.cpp:3702 +#: src/frontends/qt/GuiView.cpp:3700 msgid "Document could not be checked in." msgstr "Das Dokument konnte nicht eingecheckt werden." -#: src/frontends/qt/GuiView.cpp:3745 +#: src/frontends/qt/GuiView.cpp:3743 msgid "Error when setting the locking property." msgstr "Fehler beim Setzen der Dateisperrung." -#: src/frontends/qt/GuiView.cpp:3794 +#: src/frontends/qt/GuiView.cpp:3792 msgid "Directory is not accessible." msgstr "Das Verzeichnis ist nicht lesbar." -#: src/frontends/qt/GuiView.cpp:3871 +#: src/frontends/qt/GuiView.cpp:3869 #, c-format msgid "Opening child document %1$s..." msgstr "??ffne Unterdokument %1$s..." -#: src/frontends/qt/GuiView.cpp:3929 +#: src/frontends/qt/GuiView.cpp:3927 #, c-format msgid "No buffer for file: %1$s." msgstr "Kein Pufferspeicher f??r Datei: %1$s." -#: src/frontends/qt/GuiView.cpp:3939 +#: src/frontends/qt/GuiView.cpp:3937 msgid "Inverse Search Failed" msgstr "R??ckw??rtssuche gescheitert" -#: src/frontends/qt/GuiView.cpp:3940 +#: src/frontends/qt/GuiView.cpp:3938 msgid "" "Invalid position requested by inverse search.\n" "You may need to update the viewed document." @@ -34869,11 +34912,11 @@ msgstr "" "Die R??ckw??rtssuche wollte eine ung??ltige Position anspringen.\n" "Bitte aktualisieren Sie das ausgegebene Dokument." -#: src/frontends/qt/GuiView.cpp:4020 +#: src/frontends/qt/GuiView.cpp:4018 msgid "Export Error" msgstr "Exportfehler" -#: src/frontends/qt/GuiView.cpp:4021 +#: src/frontends/qt/GuiView.cpp:4019 msgid "Error cloning the Buffer." msgstr "Fehler beim Klonen des Pufferspeichers." @@ -35116,187 +35159,187 @@ msgstr "Aktualisieren [%1$s]|u" msgid "(No Custom Insets Defined)" msgstr "(Keine spezifischen Einf??gungen definiert!)" -#: src/frontends/qt/Menus.cpp:1357 +#: src/frontends/qt/Menus.cpp:1355 msgid "(No Document Open)" msgstr "(Kein Dokument ge??ffnet)" -#: src/frontends/qt/Menus.cpp:1366 +#: src/frontends/qt/Menus.cpp:1364 msgid "Master Document" msgstr "Hauptdokument" -#: src/frontends/qt/Menus.cpp:1389 +#: src/frontends/qt/Menus.cpp:1387 msgid "Other Lists" msgstr "Andere Verzeichnisse" -#: src/frontends/qt/Menus.cpp:1403 +#: src/frontends/qt/Menus.cpp:1401 msgid "(Empty Table of Contents)" msgstr "(Leeres Inhaltsverzeichnis)" -#: src/frontends/qt/Menus.cpp:1412 +#: src/frontends/qt/Menus.cpp:1410 msgid "Open Outliner..." msgstr "Dokumentgliederung ??ffnen..." -#: src/frontends/qt/Menus.cpp:1444 +#: src/frontends/qt/Menus.cpp:1442 msgid "[[Toolbar]]On|O" msgstr "An|A" -#: src/frontends/qt/Menus.cpp:1446 +#: src/frontends/qt/Menus.cpp:1444 msgid "[[Toolbar]]Off|f" msgstr "Aus|u" -#: src/frontends/qt/Menus.cpp:1448 +#: src/frontends/qt/Menus.cpp:1446 msgid "[[Toolbar]]Automatic|A" msgstr "Automatisch|o" -#: src/frontends/qt/Menus.cpp:1460 +#: src/frontends/qt/Menus.cpp:1458 msgid "Other Toolbars" msgstr "Andere Werkzeugleisten" -#: src/frontends/qt/Menus.cpp:1523 +#: src/frontends/qt/Menus.cpp:1521 msgid "Master Documents" msgstr "Hauptdokumente" -#: src/frontends/qt/Menus.cpp:1539 +#: src/frontends/qt/Menus.cpp:1537 msgid "Index List|I" msgstr "Stichwortverzeichnis|S" -#: src/frontends/qt/Menus.cpp:1544 +#: src/frontends/qt/Menus.cpp:1542 msgid "Index Entry|d" msgstr "Stichwort|h" -#: src/frontends/qt/Menus.cpp:1559 +#: src/frontends/qt/Menus.cpp:1557 #, c-format msgid "Index: %1$s" msgstr "Index: %1$s" -#: src/frontends/qt/Menus.cpp:1564 src/frontends/qt/Menus.cpp:1593 +#: src/frontends/qt/Menus.cpp:1562 src/frontends/qt/Menus.cpp:1591 #, c-format msgid "Index Entry (%1$s)" msgstr "Indexeintrag (%1$s)" -#: src/frontends/qt/Menus.cpp:1610 +#: src/frontends/qt/Menus.cpp:1608 msgid "No Citation in Scope!" msgstr "Keine Literaturverweis in Reichweite!" -#: src/frontends/qt/Menus.cpp:1624 src/insets/InsetCitation.cpp:324 +#: src/frontends/qt/Menus.cpp:1622 src/insets/InsetCitation.cpp:324 #: src/insets/InsetCitation.cpp:454 msgid "No citations selected!" msgstr "Keine Literaturverweise ausgew??hlt!" -#: src/frontends/qt/Menus.cpp:1673 +#: src/frontends/qt/Menus.cpp:1671 msgid "All authors|h" msgstr "Alle Autoren|u" -#: src/frontends/qt/Menus.cpp:1704 +#: src/frontends/qt/Menus.cpp:1702 msgid "Force upper case|u" msgstr "Gro??schreibung erzwingen|G" -#: src/frontends/qt/Menus.cpp:1718 +#: src/frontends/qt/Menus.cpp:1716 msgid "No Text Field in Scope!" msgstr "Kein Textfeld in Reichweite!" -#: src/frontends/qt/Menus.cpp:1737 +#: src/frontends/qt/Menus.cpp:1735 msgid "Custom..." msgstr "Benutzerdefiniert..." -#: src/frontends/qt/Menus.cpp:1813 +#: src/frontends/qt/Menus.cpp:1811 #, c-format msgid "Caption (%1$s)" msgstr "Legende (%1$s)" -#: src/frontends/qt/Menus.cpp:1833 +#: src/frontends/qt/Menus.cpp:1831 msgid "Reset to Default (%1$d%)|R" msgstr "Auf Voreinstellungen (%1$d%) zur??cksetzen|V" # , c-format -#: src/frontends/qt/Menus.cpp:1837 +#: src/frontends/qt/Menus.cpp:1835 msgid "Zoom In|I" msgstr "Gr????er|G" -#: src/frontends/qt/Menus.cpp:1839 +#: src/frontends/qt/Menus.cpp:1837 msgid "Zoom Out|O" msgstr "Kleiner|K" -#: src/frontends/qt/Menus.cpp:1881 +#: src/frontends/qt/Menus.cpp:1879 msgid "No Quote in Scope!" msgstr "Kein Anf??hrungszeichen in Reichweite!" -#: src/frontends/qt/Menus.cpp:1913 src/frontends/qt/Menus.cpp:1917 -#: src/frontends/qt/Menus.cpp:1921 src/frontends/qt/Menus.cpp:1925 +#: src/frontends/qt/Menus.cpp:1911 src/frontends/qt/Menus.cpp:1915 +#: src/frontends/qt/Menus.cpp:1919 src/frontends/qt/Menus.cpp:1923 #, c-format msgid "%1$s (dynamic)" msgstr "%1$s (dynamisch)" -#: src/frontends/qt/Menus.cpp:1959 +#: src/frontends/qt/Menus.cpp:1957 #, c-format msgid "Use dynamic quotes (%1$s)|d" msgstr "Dynamische Anf??hrungszeichen (%1$s) verwenden|y" -#: src/frontends/qt/Menus.cpp:1965 +#: src/frontends/qt/Menus.cpp:1963 msgid "dynamic[[Quotes]]" msgstr "dynamisch" -#: src/frontends/qt/Menus.cpp:1965 src/frontends/qt/Menus.cpp:1975 +#: src/frontends/qt/Menus.cpp:1963 src/frontends/qt/Menus.cpp:1973 msgid "static[[Quotes]]" msgstr "statisch" -#: src/frontends/qt/Menus.cpp:1967 +#: src/frontends/qt/Menus.cpp:1965 #, c-format msgid "Reset to document default (%1$s, %2$s)|o" msgstr "Auf Dokumentvoreinstellungen zur??cksetzen (%1$s, %2$s)|o" -#: src/frontends/qt/Menus.cpp:1974 +#: src/frontends/qt/Menus.cpp:1972 #, c-format msgid "Reset to language default (%1$s, %2$s)|l" msgstr "Auf Sprachvoreinstellung zur??cksetzen (%1$s, %2$s)|S" -#: src/frontends/qt/Menus.cpp:1976 +#: src/frontends/qt/Menus.cpp:1974 #, c-format msgid "Reset to language default (%1$s)|l" msgstr "Auf Sprachvoreinstellung zur??cksetzen (%1$s)|S" -#: src/frontends/qt/Menus.cpp:1984 +#: src/frontends/qt/Menus.cpp:1982 msgid "Change Style|y" msgstr "Stil ??ndern|t" -#: src/frontends/qt/Menus.cpp:2025 +#: src/frontends/qt/Menus.cpp:2023 #, c-format msgid "Insert Separated %1$s Above" msgstr "Separierte Umgebung (%1$s) oberhalb einf??gen" -#: src/frontends/qt/Menus.cpp:2027 +#: src/frontends/qt/Menus.cpp:2025 #, c-format msgid "Separated %1$s Above" msgstr "Separierte Umgebung (%1$s) oberhalb" -#: src/frontends/qt/Menus.cpp:2033 src/frontends/qt/Menus.cpp:2046 -#: src/frontends/qt/Menus.cpp:2063 +#: src/frontends/qt/Menus.cpp:2031 src/frontends/qt/Menus.cpp:2044 +#: src/frontends/qt/Menus.cpp:2061 #, c-format msgid "Insert Separated %1$s Below" msgstr "Separierte Umgebung (%1$s) unterhalb einf??gen" -#: src/frontends/qt/Menus.cpp:2035 src/frontends/qt/Menus.cpp:2048 -#: src/frontends/qt/Menus.cpp:2069 +#: src/frontends/qt/Menus.cpp:2033 src/frontends/qt/Menus.cpp:2046 +#: src/frontends/qt/Menus.cpp:2067 #, c-format msgid "Separated %1$s Below" msgstr "Separierte Umgebung (%1$s) unterhalb" -#: src/frontends/qt/Menus.cpp:2061 +#: src/frontends/qt/Menus.cpp:2059 #, c-format msgid "Insert Separated Outer %1$s Below" msgstr "Separierte ??u??ere Umgebung (%1$s) unterhalb einf??gen" -#: src/frontends/qt/Menus.cpp:2067 +#: src/frontends/qt/Menus.cpp:2065 #, c-format msgid "Separated Outer %1$s Below" msgstr "Separierte ??u??ere Umgebung (%1$s) unterhalb" -#: src/frontends/qt/Menus.cpp:2383 +#: src/frontends/qt/Menus.cpp:2381 #, c-format msgid "Export [%1$s]|E" msgstr "Exportiere in das Standardformat [%1$s]|E" -#: src/frontends/qt/Menus.cpp:2737 +#: src/frontends/qt/Menus.cpp:2735 msgid "No Action Defined!" msgstr "Keine Aktion definiert!" @@ -36873,15 +36916,15 @@ msgstr "" "Die Informationen f??r die ??nderungen von Tabellenzeilen- oder -spalten sind " "unvollst??ndig. Sie werden ignoriert." -#: src/insets/InsetTabular.cpp:5602 +#: src/insets/InsetTabular.cpp:5607 msgid "Column movement not supported with multi-columns." msgstr "Verschieben von Spalten mit Mehrfachspalten leider nicht m??glich." -#: src/insets/InsetTabular.cpp:5620 +#: src/insets/InsetTabular.cpp:5625 msgid "Row movement not supported with multi-rows." msgstr "Verschieben von Zeilen mit Mehrfachzeilen leider nicht m??glich." -#: src/insets/InsetTabular.cpp:6122 +#: src/insets/InsetTabular.cpp:6127 msgid "Selection size should match clipboard content." msgstr "" "Die Anzahl der ausgew??hlten Zellen stimmt nicht mit dem Inhalt der " @@ -36889,7 +36932,7 @@ msgstr "" # , c-format # , c-format -#: src/insets/InsetText.cpp:1292 +#: src/insets/InsetText.cpp:1389 msgid "[contains tracked changes]" msgstr "[enth??lt verfolgte ??nderungen]" commit 354362618280c8f80603672e06b650ac557b3837 Author: Juergen Spitzmueller Date: Sun Oct 17 11:30:24 2021 +0200 Do not change bibliography processor to default if it is not found Rather than that, keep it with a warning that it is not available. Fallback procedure (which maintains security measures) is done in the conversion step. This prevents document properties being silently changed on sharing. diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index 42795bb..5a4584e 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -3993,17 +3993,17 @@ void GuiDocument::paramsToDialog() string options = split(bp_.bibtex_command, command, ' '); - int const bpos = biblioModule->bibtexCO->findData(toqstr(command)); - if (bpos != -1) { - biblioModule->bibtexCO->setCurrentIndex(bpos); - biblioModule->bibtexOptionsLE->setText(toqstr(options).trimmed()); - } else { - // We reset to default if we do not know the specified compiler - // This is for security reasons - biblioModule->bibtexCO->setCurrentIndex( - biblioModule->bibtexCO->findData(toqstr("default"))); - biblioModule->bibtexOptionsLE->clear(); + int bpos = biblioModule->bibtexCO->findData(toqstr(command)); + if (bpos == -1) { + // We add and set the unknown compiler, indicating that it is unavailable + // to assure document compilation and for security reasons, a fallback + // will be used on document processing stage + biblioModule->bibtexCO->addItem(toqstr(bformat(_("%1$s (not available)"), + from_utf8(command))), toqstr(command)); + bpos = biblioModule->bibtexCO->findData(toqstr(command)); } + biblioModule->bibtexCO->setCurrentIndex(bpos); + biblioModule->bibtexOptionsLE->setText(toqstr(options).trimmed()); biblioModule->bibtexOptionsLE->setEnabled( biblioModule->bibtexCO->currentIndex() != 0); commit f3500725655c2a219d86f5f341195b4ae365ab4c Author: Juergen Spitzmueller Date: Sun Oct 17 11:29:18 2021 +0200 Provide proper fallback if a bibliography processor is not found Check for appropriate fallbacks and warn user if the requested bibliography processor is unavailable. diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index d9fb39e..a41a570 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -3612,11 +3612,71 @@ vector BufferParams::citeStyles() const } -string const BufferParams::bibtexCommand() const +string const BufferParams::getBibtexCommand(string const cmd, bool const warn) const +{ + // split from options + string command_in; + split(cmd, command_in, ' '); + + // Look if the requested command is available. If so, use that. + for (auto const & alts : lyxrc.bibtex_alternatives) { + string command_prov; + split(alts, command_prov, ' '); + if (command_in == command_prov) + return cmd; + } + + // If not, find the most suitable fallback for the current cite framework, + // and warn. Note that we omit options in any such case. + string fallback; + if (useBiblatex()) { + // For Biblatex, we prefer biber (also for Japanese) + // and try to fall back to bibtex8 + if (lyxrc.bibtex_alternatives.find("biber") != lyxrc.bibtex_alternatives.end()) + fallback = "biber"; + else if (lyxrc.bibtex_alternatives.find("bibtex8") != lyxrc.bibtex_alternatives.end()) + fallback = "bibtex8"; + } + // For classic BibTeX and as last resort for biblatex, try bibtex + if (fallback.empty()) { + if (lyxrc.bibtex_alternatives.find("bibtex") != lyxrc.bibtex_alternatives.end()) + fallback = "bibtex"; + } + + if (!warn) + return fallback; + + if (fallback.empty()) { + frontend::Alert::warning( + _("No bibliography processor found!"), + support::bformat( + _("The bibliography processor requested by this document " + "(%1$s) is not available and no appropriate " + "alternative has been found. " + "No bibliography and references will be generated.\n" + "Please fix your installation!"), + from_utf8(cmd))); + } else { + frontend::Alert::warning( + _("Requested bibliography processor not found!"), + support::bformat( + _("The bibliography processor requested by this document " + "(%1$s) is not available. " + "As a fallback, '%2$s' will be used, options are omitted. " + "This might result in errors or unwanted changes in " + "the bibliography. Please check carefully!\n" + "It is suggested to install the missing processor."), + from_utf8(cmd), from_utf8(fallback))); + } + return fallback; +} + + +string const BufferParams::bibtexCommand(bool const warn) const { // Return document-specific setting if available if (bibtex_command != "default") - return bibtex_command; + return getBibtexCommand(bibtex_command, warn); // If we have "default" in document settings, consult the prefs // 1. Japanese (uses a specific processor) @@ -3636,7 +3696,7 @@ string const BufferParams::bibtexCommand() const // 2. All other languages else if (lyxrc.bibtex_command != "automatic") // Return the specified program, if "automatic" is not set - return lyxrc.bibtex_command; + return getBibtexCommand(lyxrc.bibtex_command, warn); // 3. Automatic: find the most suitable for the current cite framework if (useBiblatex()) { diff --git a/src/BufferParams.h b/src/BufferParams.h index a1dfaa9..38649e7 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -518,7 +518,7 @@ public: std::vector citeStyles() const; /// Return the actual bibtex command (lyxrc or buffer param) - std::string const bibtexCommand() const; + std::string const bibtexCommand(bool const warn = false) const; /// Are we using biblatex? bool useBiblatex() const; @@ -651,6 +651,9 @@ private: std::map bib_encodings; /// Split bibliography? bool use_bibtopic; + /// Return the actual or an appropriate fallback bibtex command + std::string const getBibtexCommand(std::string const cmd, + bool const warn) const; /// DocumentClassPtr doc_class_; /// diff --git a/src/Converter.cpp b/src/Converter.cpp index 4e9a2ad..0578026 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -478,7 +478,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, || suffixIs(bp.bufferFormat(), "-ja")) && bp.encoding().package() == Encoding::japanese; runparams.use_indices = bp.use_indices; - runparams.bibtex_command = bp.bibtexCommand(); + runparams.bibtex_command = bp.bibtexCommand(true); runparams.index_command = (bp.index_command == "default") ? string() : bp.index_command; runparams.document_language = bp.language->lang(); diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index a8d14b1..ce3d73e 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -768,7 +768,7 @@ bool LaTeX::runBibTeX(vector const & bibtex_info, it->aux_file.absFileName()))); Systemcall one; Systemcall::Starttype const starttype = - allow_cancel ? Systemcall::WaitLoop : Systemcall::Wait; + allow_cancel ? Systemcall::WaitLoop : Systemcall::Wait; exit_code = one.startscript(starttype, tmp, path, lpath, true); if (exit_code) { return result; commit abad843bd06c0ef712cc296159b3e23c6cdda81d Author: Enrico Forestieri Date: Sun Oct 17 15:54:28 2021 +0200 Amend 771f30e9 diff --git a/config/qt.m4 b/config/qt.m4 index 70a722f..129e2ab 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -438,11 +438,10 @@ EOF1 qtHaveModule(core): QT += core qtHaveModule(core5compat): QT += core5compat qtHaveModule(concurrent): QT += concurrent -qtHaveModule(gui): QT += gui +qtHaveModule(gui): QT += gui gui-private qtHaveModule(svg): QT += svg qtHaveModule(svgwidgets): QT += svgwidgets qtHaveModule(widgets): QT += widgets -QT += gui-private percent.target = % percent.commands = @echo -n "\$(\$(@))\ " QMAKE_EXTRA_TARGETS += percent commit 771f30e9463d8d7bf7acd4dfc564f462b28eae16 Author: Enrico Forestieri Date: Sun Oct 17 15:06:05 2021 +0200 Enable QWindowsMimeMetafile with Qt6 The QWinMime class has been removed in Qt6 but the functionality is still present. However, one has to allow inclusion of private headers and register the mime handling to the QWindowsApplication native interface. diff --git a/config/qt.m4 b/config/qt.m4 index 99f43a2..70a722f 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -442,6 +442,7 @@ qtHaveModule(gui): QT += gui qtHaveModule(svg): QT += svg qtHaveModule(svgwidgets): QT += svgwidgets qtHaveModule(widgets): QT += widgets +QT += gui-private percent.target = % percent.commands = @echo -n "\$(\$(@))\ " QMAKE_EXTRA_TARGETS += percent diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp index f411088..54c8910 100644 --- a/src/frontends/qt/GuiApplication.cpp +++ b/src/frontends/qt/GuiApplication.cpp @@ -137,14 +137,22 @@ #if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400) #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN) -#if (QT_VERSION < 0x060000) #if (QT_VERSION < 0x050000) #include #define QWINDOWSMIME QWindowsMime +#define QVARIANTTYPE QVariant::Type +#elif (QT_VERSION >= 0x060000) +#include +#include +#include +#define QWINDOWSMIME QWindowsMime +#define QVARIANTTYPE QMetaType +using QWindowsMime = QNativeInterface::Private::QWindowsMime; +using QWindowsApplication = QNativeInterface::Private::QWindowsApplication; #else #include #define QWINDOWSMIME QWinMime -#endif +#define QVARIANTTYPE QVariant::Type #endif #ifdef Q_CC_GNU #include @@ -812,7 +820,7 @@ public: //////////////////////////////////////////////////////////////////////// // Windows specific stuff goes here... -#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400 && QT_VERSION < 0x060000) +#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400) #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN) // QWindowsMimeMetafile can only be compiled on Windows. @@ -859,7 +867,7 @@ public: } QVariant convertToMime(QString const & mimetype, IDataObject * pDataObj, - QVariant::Type /*preferredType*/) const override + QVARIANTTYPE /*preferredType*/) const override { QByteArray data; if (!canConvertToMime(mimetype, pDataObj)) @@ -978,15 +986,29 @@ struct GuiApplication::Private , last_state_(Qt::ApplicationInactive) #endif { - #if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400 && QT_VERSION < 0x060000) + #if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400) #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN) /// WMF Mime handler for Windows clipboard. wmf_mime_ = new QWindowsMimeMetafile; + #if (QT_VERSION >= 0x060000) + win_app_ = dynamic_cast + (QGuiApplicationPrivate::platformIntegration()); + win_app_->registerMime(wmf_mime_); + #endif #endif #endif initKeySequences(&theTopLevelKeymap()); } + #if (QT_VERSION >= 0x060000) + #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN) + ~Private() + { + win_app_->unregisterMime(wmf_mime_); + } + #endif + #endif + void initKeySequences(KeyMap * kb) { keyseq = KeySequence(kb, kb); @@ -1053,10 +1075,13 @@ struct GuiApplication::Private QMacPasteboardMimeGraphics mac_pasteboard_mime_; #endif -#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400 && QT_VERSION < 0x060000) +#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400) #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN) /// WMF Mime handler for Windows clipboard. QWindowsMimeMetafile * wmf_mime_; +#if (QT_VERSION >= 0x060000) + QWindowsApplication * win_app_; +#endif #endif #endif commit 21366155e4a7dc18f685f6ea357287392acd62c9 Author: Thibaut Cuvelier Date: Sat Oct 16 22:41:20 2021 +0200 DocBook: use a hash to determine the file names for generated images. This way, the file names no more change without a reason. diff --git a/autotests/export/docbook/Linguistics_forest.xml b/autotests/export/docbook/Linguistics_forest.xml index 65c0f0b..65144e7 100644 --- a/autotests/export/docbook/Linguistics_forest.xml +++ b/autotests/export/docbook/Linguistics_forest.xml @@ -13,7 +13,7 @@ Here is a simple example: - + [VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]] ] ] @@ -26,7 +26,7 @@ expands to a real structure tree. To view the result within the work area, you can simply embed the Structure Tree inset into a Preview inset. If instant preview is correctly installed and activated, you should see the tree immediately (just click on the image in order to edit): - + [VP [DP[Mary]] [V' [V[sent]] [DP[John]] [DP[D[a]][NP[response]]] ] ] @@ -35,7 +35,7 @@ Roofs can be easily generated by means of the roof option (note that the comma has special meaning, as it marks options): - + [VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[another letter, roof]] ] ] @@ -44,7 +44,7 @@ In order to align nodes of the tree more elegantly, use the “tier” option. All nodes which have the same tier allocated get aligned. Here is an example: - + [VP [DP[John,tier=word]] [V' [V[sent,tier=word]] [DP[Mary,tier=word]] [DP[D[a,tier=word]][NP[letter,tier=word]]] ] ] diff --git a/autotests/export/docbook/lyx_EafAhhREpvwrFIFUHprlnoS9qCdR7kk23QfWTsObCjg.png b/autotests/export/docbook/lyx_EafAhhREpvwrFIFUHprlnoS9qCdR7kk23QfWTsObCjg.png new file mode 100644 index 0000000..d2c57a4 Binary files /dev/null and b/autotests/export/docbook/lyx_EafAhhREpvwrFIFUHprlnoS9qCdR7kk23QfWTsObCjg.png differ diff --git a/autotests/export/docbook/lyx_Evmv0h17wY4EoBIBFZjUQJMv0cyWz6KodzrzPiY1tQ.png b/autotests/export/docbook/lyx_Evmv0h17wY4EoBIBFZjUQJMv0cyWz6KodzrzPiY1tQ.png new file mode 100644 index 0000000..0fa6b40 Binary files /dev/null and b/autotests/export/docbook/lyx_Evmv0h17wY4EoBIBFZjUQJMv0cyWz6KodzrzPiY1tQ.png differ diff --git a/autotests/export/docbook/lyx_Neo86S96tfZZQHjpBg7ADIb30ZP0DTrDTR1DEIL6dM.png b/autotests/export/docbook/lyx_Neo86S96tfZZQHjpBg7ADIb30ZP0DTrDTR1DEIL6dM.png new file mode 100644 index 0000000..4245f72 Binary files /dev/null and b/autotests/export/docbook/lyx_Neo86S96tfZZQHjpBg7ADIb30ZP0DTrDTR1DEIL6dM.png differ diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 2fc63ce..7bb0c0c 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -72,6 +72,8 @@ #include #include +#include + using namespace std; using namespace lyx::support; @@ -669,8 +671,28 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH LASSERT(img != nullptr, return); support::FileName const & filename = img->filename(); + // Use a file name that is only determined by the LaTeX code: the name of + // the snippet is more or less random (i.e., if the user generates the file + // several times, they will have a clutter of preview files). + // Hence: use a cryptographic hash of the snippet. If the snippet changes, + // the file name will change a lot; two snippets are unlikely to have the + // same hash (by design of cryptographic hash functions). Computing a hash + // is typically slow, but extremely fast compared to compilation of the + // preview and image rendering. + QString snippetQ = QString(snippet.c_str()); +#if QT_VERSION >= 0x050000 + QByteArray hash = QCryptographicHash::hash(snippetQ.toLocal8Bit(), QCryptographicHash::Sha256); +#else + QByteArray hash = QCryptographicHash::hash(snippetQ.toLocal8Bit(), QCryptographicHash::Sha1); +#endif + auto newFileBase = QString(hash.toBase64()) + .replace("/", "") + .replace("+", "") + .replace("=", ""); + std::string newFileName = "lyx_" + newFileBase.toStdString() + "." + filename.extension(); + // Copy the image into the right folder. - rp.exportdata->addExternalFile("docbook5", filename, filename.onlyFileName()); + rp.exportdata->addExternalFile("docbook5", filename, newFileName); // TODO: deal with opts. What exactly is the WriterOuterTag here, for instance? // Start writing the DocBook code for the image. @@ -680,7 +702,7 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH // Output the rendered inset. xs << xml::StartTag("imageobject") << xml::CR() - << xml::CompTag("imagedata", std::string("fileref='") + filename.onlyFileName() + "'") + << xml::CompTag("imagedata", std::string("fileref='") + newFileName + "'") << xml::CR() << xml::EndTag("imageobject") << xml::CR(); commit 33668e3a30201503fc71fe77507fac6c2833d238 Author: Thibaut Cuvelier Date: Sat Oct 16 21:12:18 2021 +0200 DocBook: export the preview images to the right format. "docbook" is not the same as "docbook5", maybe it would be better to have an enumeration instead of strings. diff --git a/autotests/export/docbook/Linguistics_forest.xml b/autotests/export/docbook/Linguistics_forest.xml new file mode 100644 index 0000000..65c0f0b --- /dev/null +++ b/autotests/export/docbook/Linguistics_forest.xml @@ -0,0 +1,55 @@ + + +
+ +Writing linguistic papers + +J??rgen Spitzm??lle + + +
+Linguistic structure trees +Here is a simple example: + + + + + +[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]] ] ] + + +If you view the PDF output, you will see that the input +
+[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]]]] +
+expands to a real structure tree. To view the result within the work area, you can simply embed the Structure Tree inset into a Preview inset. If instant preview is correctly installed and activated, you should see the tree immediately (just click on the image in order to edit): + + + + + +[VP [DP[Mary]] [V' [V[sent]] [DP[John]] [DP[D[a]][NP[response]]] ] ] + + +Roofs can be easily generated by means of the roof option (note that the comma has special meaning, as it marks options): + + + + + +[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[another letter, roof]] ] ] + + +In order to align nodes of the tree more elegantly, use the “tier” option. All nodes which have the same tier allocated get aligned. Here is an example: + + + + + +[VP [DP[John,tier=word]] [V' [V[sent,tier=word]] [DP[Mary,tier=word]] [DP[D[a,tier=word]][NP[letter,tier=word]]] ] ] + + +The package supports many additional features, such as movement arrows and decorations, that cannot documented here. +
+
\ No newline at end of file diff --git a/autotests/export/docbook/lyxpreviewAJskuj1.png b/autotests/export/docbook/lyxpreviewAJskuj1.png new file mode 100644 index 0000000..3de9d3a Binary files /dev/null and b/autotests/export/docbook/lyxpreviewAJskuj1.png differ diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 20bf3ea..2fc63ce 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -670,7 +670,7 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH support::FileName const & filename = img->filename(); // Copy the image into the right folder. - rp.exportdata->addExternalFile("docbook", filename, filename.onlyFileName()); + rp.exportdata->addExternalFile("docbook5", filename, filename.onlyFileName()); // TODO: deal with opts. What exactly is the WriterOuterTag here, for instance? // Start writing the DocBook code for the image. commit e0830592f0a79609df73695528d0ccf256b76765 Author: Thibaut Cuvelier Date: Sat Oct 16 13:55:52 2021 +0200 DocBook: wrong type of XML tag. imagedata should have been a compound tag, because it should have no content, only its attributes are relevant (instead of a start-end pair of tags). diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 8c2b2c4..20bf3ea 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -680,7 +680,7 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH // Output the rendered inset. xs << xml::StartTag("imageobject") << xml::CR() - << xml::StartTag("imagedata", std::string("fileref='") + filename.onlyFileName() + "'") + << xml::CompTag("imagedata", std::string("fileref='") + filename.onlyFileName() + "'") << xml::CR() << xml::EndTag("imageobject") << xml::CR(); @@ -695,8 +695,7 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH << xml::EndTag("textobject") << xml::CR(); - xs << xml::EndTag("mediaobject") - << xml::CR(); + xs << xml::EndTag("mediaobject"); } commit 4d71d3d8a745269363b6b8db9e59beaac599ad89 Author: Enrico Forestieri Date: Sat Oct 16 19:09:30 2021 +0200 Improve detection of Qt6 libs We would miss the libraries specified by a full path when also '-L' flags are present, as we would only take into account those specified by '-l' flags. diff --git a/config/qt.m4 b/config/qt.m4 index cfd6a59..99f43a2 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -454,7 +454,7 @@ EOF2 QT_LDFLAGS="-L`$QT_QMAKE -query QT_INSTALL_LIBS`" QT_LIB="$qt_guilibs" else - QT_LIB=`echo $qt_guilibs | tr ' ' '\n' | grep -e "^-l" | tr '\n' ' '` + QT_LIB=`echo $qt_guilibs | tr ' ' '\n' | grep -v "^-L" | tr '\n' ' '` fi QTLIB_VERSION=`$QT_QMAKE -v | grep "Qt version" | sed -e 's/.*\([[0-9]]\.[[0-9]]*\.[[0-9]]\).*/\1/'` if test -z "$QT_LIB"; then commit a29ced557744d6606a7b04f4ed9f45af4c3a6c29 Author: Jean-Marc Lasgouttes Date: Fri Oct 15 17:38:13 2021 +0200 Get rid of std::iterator clang's libc++ 13 tells us that it is deprecated in C++17. Fortunately, we do not need it after all. diff --git a/src/ParIterator.h b/src/ParIterator.h index f1e2752..2253a1d 100644 --- a/src/ParIterator.h +++ b/src/ParIterator.h @@ -25,18 +25,9 @@ class Paragraph; class ParagraphList; -class ParIterator : public std::iterator, - public DocIterator +class ParIterator : public DocIterator { public: - typedef std::iterator StdIt; - - typedef StdIt::value_type value_type; - typedef StdIt::difference_type difference_type; - typedef StdIt::pointer pointer; - typedef StdIt::reference reference; - - /// /// ParIterator(Buffer * buf) : DocIterator(buf) {} /// @@ -87,13 +78,11 @@ ParIterator par_iterator_end(Inset & inset); //bool operator!=(ParIterator const & it1, ParIterator const & it2); -class ParConstIterator : public std::iterator, - public DocIterator +class ParConstIterator : public DocIterator { public: /// - ParConstIterator(Buffer const * buf) + ParConstIterator(Buffer const * buf) : DocIterator(const_cast(buf)) {} /// ParConstIterator(ParConstIterator const & pi) commit d99502d9154e7e51a665f03963e010411e9545be Author: Jean-Marc Lasgouttes Date: Fri Oct 15 15:49:40 2021 +0200 Remove variable that is not used Spotted by clang++ 13. diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index 9389272..42795bb 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -3109,10 +3109,7 @@ void GuiDocument::updateEngineType(string const & items, CiteEngineType const & { engine_types_.clear(); - int nn = 0; - for (int n = 0; !token(items, '|', n).empty(); ++n) { - nn += 1; string style = token(items, '|', n); engine_types_.push_back(style); } commit 5f4890721b86f9051c02697c53b62cdcc3c0e558 Author: Jean-Marc Lasgouttes Date: Fri Oct 15 11:10:44 2021 +0200 Improve display of META_INSET in status bar. diff --git a/src/Text.cpp b/src/Text.cpp index aa70b18..e379337 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -2149,7 +2149,10 @@ docstring Text::currentState(CursorData const & cur, bool devel_mode) const if (!par.empty() && cur.pos() < par.size()) { // Force output of code point, not character size_t const c = par.getChar(cur.pos()); - os << _(", Char: 0x") << hex << c; + if (c == META_INSET) + os << ", Char: INSET"; + else + os << _(", Char: 0x") << hex << c; } os << _(", Boundary: ") << cur.boundary(); // Row & row = cur.textRow(); commit 1c70d98fc1b8cb8b89dba7089f2373a181b41e08 Author: Scott Kostyshak Date: Thu Oct 14 23:31:14 2021 -0400 Fix sign-compare warning Fix warning comparing long int to long unsigned int. diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index f35b82e..71d3b83 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -754,7 +754,7 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const ¶graphs, bool documentHasSections = false; while (bpit < epit) { - LASSERT(bpit < paragraphs.size(), return make_tuple(documentHasSections, bpit)); + LASSERT(static_cast(bpit) < paragraphs.size(), return make_tuple(documentHasSections, bpit)); Layout const &style = paragraphs[bpit].layout(); documentHasSections |= isLayoutSectioningOrSimilar(style); commit f7de009b176b3134608781ed2380beaf7a2a7476 Author: Pavel Sanda Date: Thu Oct 14 22:23:14 2021 +0200 Guard against possible referencing null. Those checks might not be needed, but it's not self obvious from the surrounding code. Because we already experienced crash from similar change (cf 1c1c83eced96), let's be prudent here. If you know that these pointers can't be null from broader context feel free to remove the guards. Introduced by 24926b2e2399, fix 104fdcc9be40df1 not backported but now fixed by 1c1c83eced96 in 2.3. https://www.mail-archive.com/lyx-devel at lists.lyx.org/msg216414.html diff --git a/src/frontends/qt/BulletsModule.cpp b/src/frontends/qt/BulletsModule.cpp index fcd14e3..3d6ad9c 100644 --- a/src/frontends/qt/BulletsModule.cpp +++ b/src/frontends/qt/BulletsModule.cpp @@ -288,7 +288,8 @@ void BulletsModule::selectItem(int font, int character, bool select) return; QListWidget * lw = static_cast(bulletpaneSW->widget(font)); - lw->item(character)->setSelected(select); + if (lw->item(character)) + lw->item(character)->setSelected(select); } diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp index 7c7a969..c1be9b8 100644 --- a/src/frontends/qt/GuiPrefs.cpp +++ b/src/frontends/qt/GuiPrefs.cpp @@ -3443,7 +3443,8 @@ void PrefShortcuts::shortcutOkPressed() if (item) { user_bind_.bind(&k, func); shortcutsTW->sortItems(0, Qt::AscendingOrder); - item->parent()->setExpanded(true); + if (item->parent()) + item->parent()->setExpanded(true); shortcutsTW->setCurrentItem(item); shortcutsTW->scrollToItem(item); } else { commit 06acb7f806f99cd418781f9d0645b213f8241062 Author: Jean-Marc Lasgouttes Date: Thu Oct 14 16:39:33 2021 +0200 Update correctly completion after undo This is take #2 after reverting e59aee458. Request the completer to rebuild a completion after undo/redo. Fixes #12383. diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 767791f..9126d48 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -4067,8 +4067,10 @@ void GuiView::dispatchToBufferView(FuncRequest const & cmd, DispatchResult & dr) // Let the current BufferView dispatch its own actions. bv->dispatch(cmd, dr); if (dr.dispatched()) { - if (cmd.action() == LFUN_REDO || cmd.action() == LFUN_UNDO) + if (cmd.action() == LFUN_REDO || cmd.action() == LFUN_UNDO) { + updateCompletion(bv->cursor(), true, false); updateDialog("document", ""); + } return; } commit 91c5061d263efafc7ca873e5d9422fd3dffb66d3 Author: Jean-Marc Lasgouttes Date: Thu Oct 14 16:26:21 2021 +0200 Revert "Reset inline completion after undo/redo" Try a solution closer to other code instead. This reverts commit e59aee45801f6f61489a4be3162b4c43f6b8a658. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index f7f2d35..0f36dca 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1481,7 +1481,6 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); - resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); @@ -1502,7 +1501,6 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); - resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); commit 7652747e26dc871097860ad4985eefd4e82462bc Author: Thibaut Cuvelier Date: Wed Oct 13 03:02:19 2021 +0200 DocBook: generate images for layouts that request it. diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 5dad3ab..8c2b2c4 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -10,11 +10,16 @@ #include -#include "InsetLayout.h" #include "InsetText.h" +#include "mathed/MacroTable.h" + #include "insets/InsetArgument.h" #include "insets/InsetLayout.h" +#include "insets/InsetPreview.h" + +#include "graphics/PreviewImage.h" +#include "graphics/PreviewLoader.h" #include "buffer_funcs.h" #include "Buffer.h" @@ -26,6 +31,7 @@ #include "CutAndPaste.h" #include "DispatchResult.h" #include "ErrorList.h" +#include "Exporter.h" #include "FuncRequest.h" #include "FuncStatus.h" #include "InsetList.h" @@ -61,6 +67,7 @@ #include "support/lassert.h" #include "support/lstrings.h" #include "support/Changer.h" +#include "support/FileName.h" #include #include @@ -72,9 +79,6 @@ using namespace lyx::support; namespace lyx { -using graphics::PreviewLoader; - - ///////////////////////////////////////////////////////////////////// InsetText::InsetText(Buffer * buf, UsePlain type) @@ -628,8 +632,9 @@ void InsetText::docbook(XMLStream & xs, OutputParams const & rp, XHTMLOptions op InsetLayout const &il = getLayout(); - // Maybe this is an paragraph that should not be generated at all (i.e. right now, its place is somewhere - // else, typically outside the current paragraph). + // Maybe this is an paragraph that should not be generated + // at all (i.e. right now, its place is somewhere else, typically outside + // the current paragraph). if (!rp.docbook_generate_info && il.docbookininfo() != "never") return; @@ -648,14 +653,36 @@ void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XH { LASSERT(getLayout().docbookrenderasimage(), return); + // Generate the LaTeX code to compile in order to get the image. + // This code actually does the same as an InsetPreview, but without + // an InsetPreview. + // Also, the image must be generated before the DocBook output is finished, + // unlike a preview that is not immediately required for display. + docstring const latex_snippet = insetToLaTeXSnippet(&buffer(), this); + std::string const snippet = support::trim(to_utf8(latex_snippet)); + // TODO: no real support for Unicode. This code is very similar to RenderPreview::addPreview, the same gotcha applies. + + graphics::PreviewLoader* loader = buffer().loader(); + loader->add(snippet); + loader->startLoading(true); // Generate the image and wait until done. + graphics::PreviewImage const * img = loader->preview(snippet); + LASSERT(img != nullptr, return); + support::FileName const & filename = img->filename(); + + // Copy the image into the right folder. + rp.exportdata->addExternalFile("docbook", filename, filename.onlyFileName()); + // TODO: deal with opts. What exactly is the WriterOuterTag here, for instance? + // Start writing the DocBook code for the image. xs << xml::StartTag("mediaobject") << xml::CR(); // Output the rendered inset. xs << xml::StartTag("imageobject") - << xml::CR(); - xs << xml::EndTag("imageobject") + << xml::CR() + << xml::StartTag("imagedata", std::string("fileref='") + filename.onlyFileName() + "'") + << xml::CR() + << xml::EndTag("imageobject") << xml::CR(); // Output the raw content. @@ -944,7 +971,7 @@ void InsetText::appendParagraphs(ParagraphList & plist) void InsetText::addPreview(DocIterator const & text_inset_pos, - PreviewLoader & loader) const + graphics::PreviewLoader & loader) const { ParagraphList::const_iterator pit = paragraphs().begin(); ParagraphList::const_iterator pend = paragraphs().end(); commit 3502f5c999f7c91da83d247e1a460ef30a497aa0 Author: Thibaut Cuvelier Date: Wed Oct 13 03:01:54 2021 +0200 Factor out the generation of the code to create a preview. This will be soon reused in InsetText to generate images for DocBook. diff --git a/src/insets/InsetPreview.cpp b/src/insets/InsetPreview.cpp index e08fdcd..c4f1b8d 100644 --- a/src/insets/InsetPreview.cpp +++ b/src/insets/InsetPreview.cpp @@ -107,19 +107,25 @@ MacroNameSet gatherMacroDefinitions(const Buffer* buffer, const Inset * inset) } -void InsetPreview::preparePreview(DocIterator const & pos) const +docstring insetToLaTeXSnippet(const Buffer* buffer, const Inset * inset) { odocstringstream str; otexstream os(str); - OutputParams runparams(&pos.buffer()->params().encoding()); - latex(os, runparams); + OutputParams runparams(&buffer->params().encoding()); + inset->latex(os, runparams); - MacroNameSet defs = gatherMacroDefinitions(pos.buffer(), this); + MacroNameSet defs = gatherMacroDefinitions(buffer, inset); docstring macro_preamble; for (const auto& def : defs) macro_preamble.append(def); - docstring const snippet = macro_preamble + str.str(); + return macro_preamble + str.str(); +} + + +void InsetPreview::preparePreview(DocIterator const & pos) const +{ + docstring const snippet = insetToLaTeXSnippet(pos.buffer(), this); preview_->addPreview(snippet, *pos.buffer()); } diff --git a/src/insets/InsetPreview.h b/src/insets/InsetPreview.h index 55353e7..db2a2af 100644 --- a/src/insets/InsetPreview.h +++ b/src/insets/InsetPreview.h @@ -90,6 +90,8 @@ protected: /// gathers the list of macro definitions used in the given inset MacroNameSet gatherMacroDefinitions(const Buffer* buffer, const Inset * inset); +/// returns the LaTeX snippet to compute the preview of the given inset +docstring insetToLaTeXSnippet(const Buffer* buffer, const Inset * inset); } // namespace lyx commit b5533a24f4399bc667a3d96558bbf7106af86e5a Author: Thibaut Cuvelier Date: Wed Oct 13 03:01:11 2021 +0200 Typos and comment improvements. diff --git a/src/Buffer.cpp b/src/Buffer.cpp index a713f8d..e78a443 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -2106,8 +2106,7 @@ Buffer::ExportStatus Buffer::makeDocBookFile(FileName const & fname, updateBuffer(); updateMacroInstances(OutputUpdate); - ExportStatus const retval = - writeDocBookSource(ofs, runparams, output); + ExportStatus const retval = writeDocBookSource(ofs, runparams, output); if (retval == ExportKilled) return ExportKilled; @@ -4371,6 +4370,9 @@ Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir void Buffer::setMathFlavor(OutputParams & op) const { + // Passes the way to generate formulae to the XHTML output code. + // In particular, this function has no impact on the DocBook code, as it + // uses another mechanism to handle math flavours. switch (params().html_math_output) { case BufferParams::MathML: op.math_flavor = OutputParams::MathAsMathML; @@ -4414,7 +4416,7 @@ Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir Converters converters = theConverters(); bool need_nice_file = false; if (find(backs.begin(), backs.end(), format) == backs.end()) { - // Get shortest path to format + // Get the shortest path to format converters.buildGraph(); Graph::EdgePath path; for (string const & sit : backs) { @@ -4580,7 +4582,7 @@ Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir result_file = changeExtension(d->exportFileName().absFileName(), ext); else result_file = dest_filename; - // We need to copy referenced files (e. g. included graphics + // We need to copy referenced files (e.g. included graphics // if format == "dvi") to the result dir. vector const extfiles = runparams.exportdata->externalFiles(format); diff --git a/src/insets/RenderPreview.cpp b/src/insets/RenderPreview.cpp index 5dff410..b0eb1f7 100644 --- a/src/insets/RenderPreview.cpp +++ b/src/insets/RenderPreview.cpp @@ -123,7 +123,7 @@ graphics::PreviewImage const * RenderPreview::getPreviewImage(Buffer const & buffer) const { graphics::PreviewLoader const * loader = buffer.loader(); - LASSERT(loader, return 0); + LASSERT(loader, return nullptr); return loader->preview(snippet_); } diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index e234d9d..f35b82e 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -802,7 +802,7 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const ¶graphs, set abstractWithLayout; set abstractNoLayout; - // Find the first non empty paragraph by mutating bpit. + // Find the first nonempty paragraph by mutating bpit. while (bpit < epit) { Paragraph const &par = paragraphs[bpit]; if (par.empty() || hasOnlyNotes(par)) commit 46b81018007c23a2959c16360cb0ab257cf21be8 Author: Thibaut Cuvelier Date: Fri Oct 8 03:14:18 2021 +0200 Factor out the list of macro definitions for InsetPreview. This will be soon reused in InsetText to generate images for DocBook. diff --git a/src/DocIterator.h b/src/DocIterator.h index 5e6ae6c..cfb31f4 100644 --- a/src/DocIterator.h +++ b/src/DocIterator.h @@ -28,8 +28,8 @@ class MathAtom; class Paragraph; class Text; -DocIterator doc_iterator_begin(Buffer const * buf, Inset const * inset = 0); -DocIterator doc_iterator_end(Buffer const * buf, Inset const * inset = 0); +DocIterator doc_iterator_begin(Buffer const * buf, Inset const * inset = nullptr); +DocIterator doc_iterator_end(Buffer const * buf, Inset const * inset = nullptr); class DocIterator diff --git a/src/insets/InsetPreview.cpp b/src/insets/InsetPreview.cpp index d1a0343..e08fdcd 100644 --- a/src/insets/InsetPreview.cpp +++ b/src/insets/InsetPreview.cpp @@ -79,36 +79,45 @@ void InsetPreview::addPreview(DocIterator const & inset_pos, } -void InsetPreview::preparePreview(DocIterator const & pos) const +MacroNameSet gatherMacroDefinitions(const Buffer* buffer, const Inset * inset) { - odocstringstream str; - otexstream os(str); - OutputParams runparams(&pos.buffer()->params().encoding()); - latex(os, runparams); - - // collect macros at this position + // Collect macros for this inset. + // Not done yet: this function returns a list of macro *definitions*. MacroNameSet macros; - pos.buffer()->listMacroNames(macros); + buffer->listMacroNames(macros); - // look for math insets and collect definitions for the used macros + // Look for math insets and collect definitions for the used macros. MacroNameSet defs; - DocIterator dit = doc_iterator_begin(pos.buffer(), this); - DocIterator const dend = doc_iterator_end(pos.buffer(), this); + DocIterator const dbeg = doc_iterator_begin(buffer, inset); + DocIterator dit = dbeg; + DocIterator const dend = doc_iterator_end(buffer, inset); if (!dit.nextInset()) dit.forwardInset(); + for (; dit != dend; dit.forwardInset()) { InsetMath * im = dit.nextInset()->asInsetMath(); InsetMathHull * hull = im ? im->asHullInset() : nullptr; if (!hull) continue; for (idx_type idx = 0; idx < hull->nargs(); ++idx) - hull->usedMacros(hull->cell(idx), pos, macros, defs); + hull->usedMacros(hull->cell(idx), dbeg, macros, defs); } - MacroNameSet::iterator it = defs.begin(); - MacroNameSet::iterator end = defs.end(); + + return defs; +} + + +void InsetPreview::preparePreview(DocIterator const & pos) const +{ + odocstringstream str; + otexstream os(str); + OutputParams runparams(&pos.buffer()->params().encoding()); + latex(os, runparams); + + MacroNameSet defs = gatherMacroDefinitions(pos.buffer(), this); docstring macro_preamble; - for (; it != end; ++it) - macro_preamble.append(*it); + for (const auto& def : defs) + macro_preamble.append(def); docstring const snippet = macro_preamble + str.str(); preview_->addPreview(snippet, *pos.buffer()); diff --git a/src/insets/InsetPreview.h b/src/insets/InsetPreview.h index f36ea56..55353e7 100644 --- a/src/insets/InsetPreview.h +++ b/src/insets/InsetPreview.h @@ -20,6 +20,7 @@ namespace lyx { class Dimension; +class MacroNameSet; class RenderPreview; namespace graphics { @@ -87,6 +88,10 @@ protected: }; +/// gathers the list of macro definitions used in the given inset +MacroNameSet gatherMacroDefinitions(const Buffer* buffer, const Inset * inset); + + } // namespace lyx commit 48a507694ea44d511da55917af64fa5dedabff37 Author: Thibaut Cuvelier Date: Thu Oct 7 02:34:07 2021 +0200 DocBook: add assertion to help debugging. diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index 50b66fb..e234d9d 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -754,6 +754,8 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const ¶graphs, bool documentHasSections = false; while (bpit < epit) { + LASSERT(bpit < paragraphs.size(), return make_tuple(documentHasSections, bpit)); + Layout const &style = paragraphs[bpit].layout(); documentHasSections |= isLayoutSectioningOrSimilar(style); commit 82bca97379d8fbfa18b5e889ea3394e2d7ceb336 Author: Thibaut Cuvelier Date: Thu Oct 7 02:27:54 2021 +0200 DocBook: overall structure for rendered insets. diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 635a83f..5dad3ab 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -606,7 +606,6 @@ int InsetText::plaintext(odocstringstream & os, } - void InsetText::docbook(XMLStream & xs, OutputParams const & rp) const { docbook(xs, rp, WriteEverything); @@ -615,8 +614,7 @@ void InsetText::docbook(XMLStream & xs, OutputParams const & rp) const void InsetText::docbook(XMLStream & xs, OutputParams const & rp, XHTMLOptions opts) const { - // we will always want to output all our paragraphs when we are - // called this way. + // Always output all the paragraphs. OutputParams runparams = rp; runparams.par_begin = 0; runparams.par_end = text().paragraphs().size(); @@ -628,13 +626,58 @@ void InsetText::docbook(XMLStream & xs, OutputParams const & rp, XHTMLOptions op return; } - InsetLayout const & il = getLayout(); + InsetLayout const &il = getLayout(); // Maybe this is an paragraph that should not be generated at all (i.e. right now, its place is somewhere // else, typically outside the current paragraph). if (!rp.docbook_generate_info && il.docbookininfo() != "never") return; + // Maybe this inset must be rendered before being output. + if (il.docbookrenderasimage()) { + docbookRenderAsImage(xs, runparams, opts); + return; + } + + // If none of the special cases before apply, output the inset. + docbookText(xs, runparams, opts); +} + + +void InsetText::docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XHTMLOptions opts) const +{ + LASSERT(getLayout().docbookrenderasimage(), return); + + // TODO: deal with opts. What exactly is the WriterOuterTag here, for instance? + xs << xml::StartTag("mediaobject") + << xml::CR(); + + // Output the rendered inset. + xs << xml::StartTag("imageobject") + << xml::CR(); + xs << xml::EndTag("imageobject") + << xml::CR(); + + // Output the raw content. + xs << xml::StartTag("textobject") + << xml::CR() + << xml::StartTag("programlisting", "language='latex' role='" + getLayout().latexname() + "'"); + docbookText(xs, rp, opts); + xs << xml::EndTag("programlisting") + << xml::CR() + << xml::EndTag("textobject") + << xml::CR(); + + xs << xml::EndTag("mediaobject") + << xml::CR(); +} + + +void InsetText::docbookText(XMLStream & xs, OutputParams const & rp, XHTMLOptions opts) const +{ + InsetLayout const &il = getLayout(); + OutputParams runparams = rp; + // In some cases, the input parameters must be overridden for outer tags. bool writeOuterTag = opts & WriteOuterTag; if (writeOuterTag) { @@ -667,7 +710,7 @@ void InsetText::docbook(XMLStream & xs, OutputParams const & rp, XHTMLOptions op if (par.getInset(i) && par.getInset(i)->lyxCode() == ARG_CODE) { InsetArgument const *arg = par.getInset(i)->asInsetArgument(); if (arg->docbookargumentaftermaintag()) - appendedArguments.insert(par.getInset(i)->asInsetArgument()); + appendedArguments.insert(par.getInset(i)->asInsetArgument()); } } } diff --git a/src/insets/InsetText.h b/src/insets/InsetText.h index 29457aa..564702c 100644 --- a/src/insets/InsetText.h +++ b/src/insets/InsetText.h @@ -93,9 +93,9 @@ public: /// docstring insetAsXHTML(XMLStream &, OutputParams const &, XHTMLOptions) const; - /// + /// Outputs the inset as DocBook, with the given options regarding outer tags. void docbook(XMLStream &, OutputParams const &, XHTMLOptions opts) const; - /// + /// Outputs the whole inset as DocBook. void docbook(XMLStream &, OutputParams const &) const override; /// void validate(LaTeXFeatures & features) const override; @@ -238,6 +238,10 @@ protected: /// void iterateForToc(DocIterator const & cdit, bool output_active, UpdateType utype, TocBackend & backend) const; + /// Outputs an inset that must be first rendered (with the given options regarding outer tags). + void docbookRenderAsImage(XMLStream & xs, OutputParams const & rp, XHTMLOptions opts) const; + /// Outputs the text of the inset with the correct DocBook tags (with the given options regarding outer tags). + void docbookText(XMLStream & xs, OutputParams const & rp, XHTMLOptions opts) const; private: /// Open the toc item for paragraph pit. Returns the paragraph index where /// it should end. commit 5c735ce880d1bf702df397ecfa8418e1d4590839 Author: Thibaut Cuvelier Date: Thu Oct 7 00:07:21 2021 +0200 DocBook: don't use a surrounding for rendered insets. diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index 114c258..50b66fb 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -360,11 +360,13 @@ void makeParagraph( // Plain layouts must be ignored. special_case |= buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars; + // Equations do not deserve their own paragraph (DocBook allows them outside paragraphs). // Exception: any case that generates an must still get a paragraph to be valid. - special_case |= nInsets == parSize && std::all_of(par->insetList().begin(), par->insetList().end(), [](InsetList::Element inset) { + auto isEquationSpecialCase = [](InsetList::Element inset) { return inset.inset && inset.inset->asInsetMath() && inset.inset->asInsetMath()->getType() != hullSimple; - }); + }; + special_case |= nInsets == parSize && std::all_of(par->insetList().begin(), par->insetList().end(), isEquationSpecialCase); // Things that should not get into their own paragraph. (Only valid for DocBook.) static std::set lyxCodeSpecialCases = { @@ -420,6 +422,12 @@ void makeParagraph( }; special_case |= nInsets == parSize && std::all_of(par->insetList().begin(), par->insetList().end(), isFlexSpecialCase); + // If the insets should be rendered as images, enter the special case. + auto isRenderedAsImageSpecialCase = [](InsetList::Element inset) { + return inset.inset && inset.inset->getLayout().docbookrenderasimage(); + }; + special_case |= nInsets == parSize && std::all_of(par->insetList().begin(), par->insetList().end(), isRenderedAsImageSpecialCase); + // Open a paragraph if it is allowed, we are not already within a paragraph, and the insets in the paragraph do // not forbid paragraphs (aka special cases). bool const open_par = runparams.docbook_make_pars commit e93e50bf563929cdb1e60c261a9b1356d02ca990 Author: Thibaut Cuvelier Date: Mon Sep 27 03:30:45 2021 +0200 DocBook: add the DocBookRenderAsImage tag. diff --git a/lib/layouts/linguistics.module b/lib/layouts/linguistics.module index afbc733..3405748 100644 --- a/lib/layouts/linguistics.module +++ b/lib/layouts/linguistics.module @@ -276,6 +276,7 @@ InsetLayout Flex:Structure_Tree \useforestlibrary*{linguistics} }{} EndPreamble + DocBookRenderAsImage true End diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py index e7eb307..7e40bfb 100644 --- a/lib/scripts/layout2layout.py +++ b/lib/scripts/layout2layout.py @@ -11,7 +11,7 @@ # This script will update a .layout file to current format # The latest layout format is also defined in src/TextClass.cpp -currentFormat = 94 +currentFormat = 95 # Incremented to format 4, 6 April 2007, lasgouttes @@ -319,6 +319,9 @@ currentFormat = 94 # Incremented to format 94, 19 September 2021 by tcuvelier # Add DocBookFloatType, DocBookCaption +# Incremented to format 95, 27 September 2021 by tcuvelier +# Add DocBookRenderAsImage + # Do not forget to document format change in Customization # Manual (section "Declaring a new text class"). @@ -569,7 +572,7 @@ def convert(lines, end_format): i += 1 continue - if 87 <= format <= 94: + if 87 <= format <= 95: # nothing to do. i += 1 continue diff --git a/src/TextClass.cpp b/src/TextClass.cpp index 9546cee..a04a6f6 100644 --- a/src/TextClass.cpp +++ b/src/TextClass.cpp @@ -59,7 +59,7 @@ namespace lyx { // You should also run the development/tools/updatelayouts.py script, // to update the format of all of our layout files. // -int const LAYOUT_FORMAT = 94; // tcuvelier: DocBookFloatType, DocBookCaption +int const LAYOUT_FORMAT = 95; // tcuvelier: DocBookRenderAsImage // Layout format for the current lyx file format. Controls which format is diff --git a/src/insets/InsetLayout.cpp b/src/insets/InsetLayout.cpp index 769a774..64258a8 100644 --- a/src/insets/InsetLayout.cpp +++ b/src/insets/InsetLayout.cpp @@ -111,6 +111,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass, IL_DOCBOOKINNERTAGTYPE, IL_DOCBOOKINNERATTR, IL_DOCBOOKNOFONTINSIDE, + IL_DOCBOOKRENDERASIMAGE, IL_INTOC, IL_ISTOCCAPTION, IL_LABELFONT, @@ -170,6 +171,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass, { "docbookitemwrappertagtype", IL_DOCBOOKITEMWRAPPERTAGTYPE }, { "docbooknofontinside", IL_DOCBOOKNOFONTINSIDE }, { "docbooknotinpara", IL_DOCBOOKNOTINPARA }, + { "docbookrenderasimage", IL_DOCBOOKRENDERASIMAGE }, { "docbooksection", IL_DOCBOOKSECTION }, { "docbooktag", IL_DOCBOOKTAG }, { "docbooktagtype", IL_DOCBOOKTAGTYPE }, @@ -581,6 +583,9 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass, case IL_DOCBOOKNOFONTINSIDE: lex >> docbooknofontinside_; break; + case IL_DOCBOOKRENDERASIMAGE: + lex >> docbookrenderasimage_; + break; case IL_REQUIRES: { lex.eatLine(); vector const req diff --git a/src/insets/InsetLayout.h b/src/insets/InsetLayout.h index da003a9..ed3c9a9 100644 --- a/src/insets/InsetLayout.h +++ b/src/insets/InsetLayout.h @@ -192,6 +192,8 @@ public: /// bool docbooknofontinside() const { return docbooknofontinside_; } /// + bool docbookrenderasimage() const { return docbookrenderasimage_; } + /// std::set required() const { return required_; } /// bool isMultiPar() const { return multipar_; } @@ -361,6 +363,8 @@ private: /// bool docbooknofontinside_ = false; /// + bool docbookrenderasimage_ = false; + /// std::set required_; /// bool multipar_ = true; commit b59eed3846613d1ade80df12932f497d03db1c4d Author: Stephan Witt Date: Wed Oct 13 18:11:37 2021 +0200 #12368 correct spelling of toolbars visibility check function name diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp index 351e826..bc2613d 100644 --- a/src/frontends/qt/GuiToolbar.cpp +++ b/src/frontends/qt/GuiToolbar.cpp @@ -626,7 +626,7 @@ void GuiToolbar::restoreSession() } -bool GuiToolbar::isVisibiltyOn() const +bool GuiToolbar::isVisibilityOn() const { return visibility_ & Toolbars::ON; } @@ -663,10 +663,10 @@ void GuiToolbar::setState(string const state) void GuiToolbar::toggle() { if (visibility_ & Toolbars::ALLOWAUTO) { - if (!(visibility_ & Toolbars::AUTO) && !isVisibiltyOn()) { + if (!(visibility_ & Toolbars::AUTO) && !isVisibilityOn()) { setState("auto"); } else { - if (isVisibiltyOn()) + if (isVisibilityOn()) setState("off"); else setState("on"); diff --git a/src/frontends/qt/GuiToolbar.h b/src/frontends/qt/GuiToolbar.h index cf269b6..f1cc13a 100644 --- a/src/frontends/qt/GuiToolbar.h +++ b/src/frontends/qt/GuiToolbar.h @@ -149,7 +149,7 @@ public: bool isRestored() const; /// - bool isVisibiltyOn() const; + bool isVisibilityOn() const; int visibility() const { return visibility_; } /// Refresh the contents of the bar. diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 6e433e1..767791f 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -1516,7 +1516,7 @@ bool GuiView::event(QEvent * e) menuBar()->hide(); if (lyxrc.full_screen_toolbars) { for (auto const & tb_p : d.toolbars_) - if (tb_p.second->isVisibiltyOn() && tb_p.second->isVisible()) + if (tb_p.second->isVisibilityOn() && tb_p.second->isVisible()) tb_p.second->hide(); } for (int i = 0; i != d.splitter_->count(); ++i) @@ -1537,7 +1537,7 @@ bool GuiView::event(QEvent * e) menuBar()->show(); if (lyxrc.full_screen_toolbars) { for (auto const & tb_p : d.toolbars_) - if (tb_p.second->isVisibiltyOn() && !tb_p.second->isVisible()) + if (tb_p.second->isVisibilityOn() && !tb_p.second->isVisible()) tb_p.second->show(); //updateToolbars(); } commit b60653c5a6327bc6e2e4a8fcb51f467f089c1eeb Author: Thibaut Cuvelier Date: Mon Sep 27 03:22:04 2021 +0200 DocBook: add test for the forest package. diff --git a/autotests/export/docbook/Linguistics_forest.lyx b/autotests/export/docbook/Linguistics_forest.lyx new file mode 100644 index 0000000..670380c --- /dev/null +++ b/autotests/export/docbook/Linguistics_forest.lyx @@ -0,0 +1,260 @@ +#LyX 2.4 created this file. For more info see https://www.lyx.org/ +\lyxformat 608 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass article +\begin_preamble +%% Uncomment the following for Tableaux captions on top: +%\floatstyle{plaintop} +%\restylefloat{tableau} + +% Backwards compatibility for forest 1.x +% If you use forest 2.0.1 or later, you can delete this +\@ifpackageloaded{forest}{% + \@ifpackagelater{forest}{2016/02/20}{}{% + \forestset{ + roof/.style={edge path={\noexpand\path[\forestoption{edge}]% + (.north west)--(!u.south)--(.north east)--cycle + \forestoption{edge label}; + } + }, + sn edges/.style={ + for tree={parent anchor=south, child anchor=north}, + }, + linguistics preamble/.style={sn edges, baseline, for tree={align=center}} + } + \preto\forest at do{% + \forestOpreto{\forest at root}{given options}{linguistics preamble,}% + } + } +}{} +\end_preamble +\use_default_options false +\begin_modules +linguistics +\end_modules +\maintain_unincluded_children no +\language english +\language_package default +\inputencoding utf8 +\fontencoding auto +\font_roman "lmodern" "FreeSerif" +\font_sans "default" "FreeSans" +\font_typewriter "default" "FreeMono" +\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 false +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\float_placement class +\float_alignment class +\paperfontsize default +\spacing single +\use_hyperref true +\pdf_bookmarks true +\pdf_bookmarksnumbered false +\pdf_bookmarksopen false +\pdf_bookmarksopenlevel 1 +\pdf_breaklinks false +\pdf_pdfborder true +\pdf_colorlinks false +\pdf_backref false +\pdf_pdfusetitle true +\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 +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 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 false +\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 +Writing linguistic papers +\end_layout + +\begin_layout Author +J??rgen Spitzm??lle +\end_layout + +\begin_layout Section +Linguistic structure trees +\end_layout + +\begin_layout Standard +Here is a simple example: +\end_layout + +\begin_layout Standard +\begin_inset Flex Structure Tree +status open + +\begin_layout Plain Layout +[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]] ] ] +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +If you view the PDF output, you will see that the input +\end_layout + +\begin_layout Quote + +\family typewriter +\size small +[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[D[a]][NP[letter]]]]] +\end_layout + +\begin_layout Standard +expands to a real structure tree. + To view the result within the work area, you can simply embed the Structure + Tree inset into a Preview inset. + If instant preview is correctly installed and activated, you should see + the tree immediately (just click on the image in order to edit): +\end_layout + +\begin_layout Standard +\begin_inset Preview + +\begin_layout Standard +\begin_inset Flex Structure Tree +status open + +\begin_layout Plain Layout +[VP [DP[Mary]] [V' [V[sent]] [DP[John]] [DP[D[a]][NP[response]]] ] ] +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Roofs can be easily generated by means of the +\family typewriter +roof +\family default + option (note that the comma has special meaning, as it marks options): +\end_layout + +\begin_layout Standard +\begin_inset Flex Structure Tree +status open + +\begin_layout Plain Layout +[VP [DP[John]] [V' [V[sent]] [DP[Mary]] [DP[another letter, roof]] ] ] +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +In order to align nodes of the tree more elegantly, use the +\begin_inset Quotes eld +\end_inset + +tier +\begin_inset Quotes erd +\end_inset + + option. + All nodes which have the same +\family typewriter +tier +\family default + allocated get aligned. + Here is an example: +\end_layout + +\begin_layout Standard +\begin_inset Flex Structure Tree +status open + +\begin_layout Plain Layout +[VP [DP[John,tier=word]] [V' [V[sent,tier=word]] [DP[Mary,tier=word]] [DP[D[a,ti +er=word]][NP[letter,tier=word]]] ] ] +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The package supports many additional features, such as movement arrows and + decorations, that cannot documented here. +\end_layout + +\end_body +\end_document commit 73a63822c2104a3479169d42a009e9ceb1945362 Author: Thibaut Cuvelier Date: Wed Sep 29 02:26:29 2021 +0200 DocBook: update links to LilyPond bugs. Also updates the test so that it matches the next version of LilyPond. diff --git a/autotests/export/docbook/LilyPond_Book.xml b/autotests/export/docbook/LilyPond_Book.xml index 43df8e1..17ea6e5 100644 --- a/autotests/export/docbook/LilyPond_Book.xml +++ b/autotests/export/docbook/LilyPond_Book.xml @@ -3,13 +3,17 @@ See https://www.lyx.org/ for more information -->
LilyPond-book and LyX - - -\relative c'' { g a b c} - + + - + + + +\relative c'' { g a b c} + + +
\ No newline at end of file diff --git a/lib/scripts/docbook_copy.py b/lib/scripts/docbook_copy.py index d2e4fe0..5b5a3f4 100644 --- a/lib/scripts/docbook_copy.py +++ b/lib/scripts/docbook_copy.py @@ -61,8 +61,9 @@ class DocBookCopier: def preprocess_input_for_lilypond(self): # LilyPond requires that its input file has the .lyxml extension. Due to a bug in LilyPond, # use " instead of ' to encode XML attributes. - # https://lists.gnu.org/archive/html/bug-lilypond/2021-09/msg00039.html + # Bug report: https://gitlab.com/lilypond/lilypond/-/issues/6185 # Typical transformation: + # Fixed by 2.23.4. # FROM: language='lilypond' role='fragment verbatim staffsize=16 ragged-right relative=2' # TO: language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2" with open(self.in_file, 'r', encoding='utf-8') as f, open(self.in_lily_file, 'w', encoding='utf-8') as f_lily: @@ -77,15 +78,12 @@ class DocBookCopier: os.unlink(self.in_file) def postprocess_output_for_lilypond(self): + # Major problem: LilyPond used to output the LilyPond code outside the image, which is then always displayed + # before the image (instead of only the generated image). + # Bug report: https://gitlab.com/lilypond/lilypond/-/issues/6186 + # No more necessary with the new version of LilyPond (2.23.4). No efficient way to decide how to post-process + # for previous versions of LilyPond. Basically, it does not make sense to post-process. pass - # # Erase the that LilyPond left behind in the XML. - # in_file_before = self.in_file + '.tmp' - # shutil.move(self.in_file, in_file_before) - # with open(in_file_before, 'r', encoding='utf-8') as f_before, open(self.in_file, 'w', encoding='utf-8') as f_after: - # looking_for_end_programlisting = False - # for line in f_before: - # # TODO: find an efficient way to distinguish those left-overs. - # https://lists.gnu.org/archive/html/bug-lilypond/2021-09/msg00040.html def call_lilypond(self): # LilyPond requires that its input file has the .lyxml extension (plus bugs in LilyPond). commit 32bd5877e7f1fdd41cd4698d999dddbab53b8e27 Author: Thibaut Cuvelier Date: Mon Sep 27 15:36:09 2021 +0200 DocBook: make copier compatible with Python 2. diff --git a/lib/scripts/docbook_copy.py b/lib/scripts/docbook_copy.py index 8148b85..d2e4fe0 100644 --- a/lib/scripts/docbook_copy.py +++ b/lib/scripts/docbook_copy.py @@ -154,7 +154,6 @@ class DocBookCopier: shutil.copyfile( os.path.join(in_generated_images_folder, img), os.path.join(out_generated_images_folder, img), - follow_symlinks=False, ) def copy(self): @@ -164,7 +163,7 @@ class DocBookCopier: self.call_lilypond() # Perform the actual copy: both the modified XML file and the generated images, if LilyPond is used. - shutil.copyfile(self.in_file, self.out_file, follow_symlinks=False) + shutil.copyfile(self.in_file, self.out_file) if self.do_lilypond_processing: self.copy_lilypond_generated_images() commit 47f1fec96cbde8a6da739a9bedb4b22df0027976 Author: Enrico Forestieri Date: Tue Oct 12 20:23:27 2021 +0200 Fix build with Qt6 In Qt6 the Svg includes are split into two different subdirs, namely QtSvg and QtSvgWidgets. So, after 0862042b, it is necessary to also account for the last one. Nothing needs to be done for Qt5. diff --git a/config/qt.m4 b/config/qt.m4 index d41332a..cfd6a59 100644 --- a/config/qt.m4 +++ b/config/qt.m4 @@ -440,6 +440,7 @@ qtHaveModule(core5compat): QT += core5compat qtHaveModule(concurrent): QT += concurrent qtHaveModule(gui): QT += gui qtHaveModule(svg): QT += svg +qtHaveModule(svgwidgets): QT += svgwidgets qtHaveModule(widgets): QT += widgets percent.target = % percent.commands = @echo -n "\$(\$(@))\ " commit e59aee45801f6f61489a4be3162b4c43f6b8a658 Author: Jean-Marc Lasgouttes Date: Tue Oct 12 15:45:04 2021 +0200 Reset inline completion after undo/redo Fixes bug #12383. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 0f36dca..f7f2d35 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1481,6 +1481,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); + resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); @@ -1501,6 +1502,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) else { dr.screenUpdate(Update::Force | Update::FitCursor); dr.forceBufferUpdate(); + resetInlineCompletionPos(); if (buffer().params().citeEngine() != engine || buffer().params().citeEngineType() != enginetype) buffer().invalidateCiteLabels(); commit c242b2536401dc06ab5740d6c9c01013282ed795 Author: Jean-Marc Lasgouttes Date: Fri Jul 16 18:27:15 2021 +0200 Work around compilation warning Clang 12 (at least) misses the fact that tag is always initialized, because the if/else sequence does cover all cases. Initialize the variable although it is not required. It does not hurt at least. diff --git a/src/mathed/InsetMathScript.cpp b/src/mathed/InsetMathScript.cpp index 9f391f6..a5f286b 100644 --- a/src/mathed/InsetMathScript.cpp +++ b/src/mathed/InsetMathScript.cpp @@ -611,7 +611,7 @@ void InsetMathScript::mathmlize(MathMLStream & ms) const if (!d && !u) return; - const char * tag; + const char * tag = nullptr; if (u && d) tag = has_limits ? "munderover" : "msubsup"; else if (u) commit 37c34c5ca98a31669144a7119068edf96d68261c Author: Jean-Marc Lasgouttes Date: Mon Oct 11 14:31:58 2021 +0200 Fixup c52049bb83d: -Werror is needed to test for warning flags At least on my old clang++, this is required. Fixes bug #12391. diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index 0b41e21..afad2bd 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -391,7 +391,7 @@ if test x$GXX = xyes; then dnl note that g++ always accepts -Wno-xxx, even when -Wxxx is an error. AC_LANG_PUSH(C++) AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy], - [AM_CXXFLAGS="$AM_CXXFLAGS -Wno-deprecated-copy"]) + [AM_CXXFLAGS="$AM_CXXFLAGS -Wno-deprecated-copy"], [], [-Werror]) AC_LANG_POP(C++) fi case $gxx_version in ----------------------------------------------------------------------- Summary of changes: autotests/export/docbook/LilyPond_Book.xml | 14 +- autotests/export/docbook/Linguistics_forest.lyx | 260 +++ autotests/export/docbook/Linguistics_forest.xml | 55 + ...EafAhhREpvwrFIFUHprlnoS9qCdR7kk23QfWTsObCjg.png | Bin 0 -> 5548 bytes ..._Evmv0h17wY4EoBIBFZjUQJMv0cyWz6KodzrzPiY1tQ.png | Bin 0 -> 5292 bytes ..._Neo86S96tfZZQHjpBg7ADIb30ZP0DTrDTR1DEIL6dM.png | Bin 0 -> 6332 bytes ...x_waUJAzFwGUKDEN7MJCcs6gYNMbJuYBkgsRTDTpIvs.png | Bin 0 -> 6013 bytes config/lyxinclude.m4 | 2 +- config/qt.m4 | 26 +- development/LyX-Mac-binary-release.sh | 18 +- lib/RELEASE-NOTES | 17 +- lib/citeengines/basic.citeengine | 2 +- lib/citeengines/biblatex-natbib.citeengine | 2 +- lib/citeengines/biblatex.citeengine | 2 +- lib/citeengines/jurabib.citeengine | 2 +- lib/citeengines/natbib.citeengine | 2 +- lib/doc/UserGuide.lyx | 14 +- lib/layouts/AEA.layout | 2 +- lib/layouts/IEEEtran-CompSoc.layout | 2 +- lib/layouts/IEEEtran-TransMag.layout | 2 +- lib/layouts/IEEEtran.layout | 2 +- lib/layouts/InStar.module | 2 +- lib/layouts/RJournal.layout | 2 +- lib/layouts/a0poster.layout | 2 +- lib/layouts/aa.layout | 2 +- lib/layouts/aapaper.inc | 2 +- lib/layouts/aapaper.layout | 2 +- lib/layouts/aastex.layout | 2 +- lib/layouts/aastex6.layout | 2 +- lib/layouts/aastex62.layout | 2 +- lib/layouts/achemso.layout | 2 +- lib/layouts/acm-sigs-alt.layout | 2 +- lib/layouts/acm-sigs.inc | 2 +- lib/layouts/acm-sigs.layout | 2 +- lib/layouts/acmart.layout | 2 +- lib/layouts/acmsiggraph-0-92.layout | 2 +- lib/layouts/acmsiggraph.layout | 2 +- lib/layouts/agums.layout | 2 +- lib/layouts/aguplus.inc | 2 +- lib/layouts/agutex.layout | 2 +- lib/layouts/algorithm2e.module | 2 +- lib/layouts/amsart.layout | 2 +- lib/layouts/amsbook.layout | 2 +- lib/layouts/amsdefs.inc | 2 +- lib/layouts/apa.layout | 2 +- lib/layouts/apa6.layout | 2 +- lib/layouts/apa7.layout | 2 +- lib/layouts/apax.inc | 2 +- lib/layouts/arab-article.layout | 2 +- lib/layouts/article-beamer.layout | 2 +- lib/layouts/article.layout | 2 +- lib/layouts/beamer.layout | 2 +- lib/layouts/beamerposter.layout | 2 +- lib/layouts/bicaption.module | 2 +- lib/layouts/book.layout | 2 +- lib/layouts/braille.module | 2 +- lib/layouts/broadway.layout | 2 +- lib/layouts/bxjsarticle.layout | 2 +- lib/layouts/bxjsbook.layout | 2 +- lib/layouts/bxjsreport.layout | 2 +- lib/layouts/bxjsslide.layout | 2 +- lib/layouts/chess.layout | 2 +- lib/layouts/chessboard.module | 2 +- lib/layouts/cl2emult.layout | 2 +- lib/layouts/copernicus.layout | 2 +- lib/layouts/ctex-article.layout | 2 +- lib/layouts/ctex-book.layout | 2 +- lib/layouts/ctex-report.layout | 2 +- lib/layouts/customHeadersFooters.module | 2 +- lib/layouts/db_stdcharstyles.inc | 2 +- lib/layouts/db_stdclass.inc | 2 +- lib/layouts/db_stdstarsections.inc | 2 +- lib/layouts/db_stdstruct.inc | 2 +- lib/layouts/db_stdtitle.inc | 2 +- lib/layouts/dinbrief.layout | 2 +- lib/layouts/docbook-book.layout | 2 +- lib/layouts/docbook-chapter.layout | 2 +- lib/layouts/docbook-section.layout | 2 +- lib/layouts/docbook.layout | 2 +- lib/layouts/doublecol-new.layout | 2 +- lib/layouts/dtk.layout | 2 +- lib/layouts/ectaart.layout | 2 +- lib/layouts/egs.layout | 2 +- lib/layouts/elsart.layout | 2 +- lib/layouts/elsarticle.layout | 2 +- lib/layouts/endnotes.module | 2 +- lib/layouts/enotez.module | 2 +- lib/layouts/entcs.layout | 2 +- lib/layouts/enumitem.module | 2 +- lib/layouts/eqs-within-sections.module | 2 +- lib/layouts/europasscv.layout | 2 +- lib/layouts/europecv.layout | 2 +- lib/layouts/extarticle.layout | 2 +- lib/layouts/extbook.layout | 2 +- lib/layouts/extletter.layout | 2 +- lib/layouts/extreport.layout | 2 +- lib/layouts/figs-within-sections.module | 2 +- lib/layouts/fix-cm.module | 2 +- lib/layouts/fixltx2e.module | 2 +- lib/layouts/fixme.module | 2 +- lib/layouts/foils.layout | 2 +- lib/layouts/foottoend.module | 2 +- lib/layouts/foottoenotez.module | 2 +- lib/layouts/frletter.layout | 2 +- lib/layouts/g-brief.layout | 2 +- lib/layouts/g-brief2.layout | 2 +- lib/layouts/graphicboxes.module | 2 +- lib/layouts/hanging.module | 2 +- lib/layouts/heb-article.layout | 2 +- lib/layouts/heb-letter.layout | 2 +- lib/layouts/hollywood.layout | 2 +- lib/layouts/hpstatement.module | 2 +- lib/layouts/ijmpc.layout | 2 +- lib/layouts/ijmpd.layout | 2 +- lib/layouts/initials.module | 2 +- lib/layouts/iopart.layout | 2 +- lib/layouts/isprs.layout | 2 +- lib/layouts/iucr.layout | 2 +- lib/layouts/jarticle.layout | 2 +- lib/layouts/jasatex.layout | 2 +- lib/layouts/jbook.layout | 2 +- lib/layouts/jgrga.layout | 2 +- lib/layouts/jreport.layout | 2 +- lib/layouts/jsarticle.layout | 2 +- lib/layouts/jsbook.layout | 2 +- lib/layouts/jss.layout | 2 +- lib/layouts/kluwer.layout | 2 +- lib/layouts/knitr.module | 2 +- lib/layouts/landscape.module | 2 +- lib/layouts/latex8.layout | 2 +- lib/layouts/letter.layout | 2 +- lib/layouts/lettre.layout | 2 +- lib/layouts/lilypond.module | 2 +- lib/layouts/linguistics.module | 3 +- lib/layouts/litinsets.inc | 2 +- lib/layouts/llncs.layout | 2 +- lib/layouts/logicalmkup.module | 2 +- lib/layouts/ltugboat.layout | 2 +- lib/layouts/lyxmacros.inc | 2 +- lib/layouts/maa-monthly.layout | 2 +- lib/layouts/memoir.layout | 2 +- lib/layouts/minimalistic.module | 2 +- lib/layouts/moderncv.layout | 2 +- lib/layouts/multicol.module | 2 +- lib/layouts/mwart.layout | 2 +- lib/layouts/mwbk.layout | 2 +- lib/layouts/mwrep.layout | 2 +- lib/layouts/natbibapa.module | 2 +- lib/layouts/noweb.module | 2 +- lib/layouts/numarticle.inc | 2 +- lib/layouts/numreport.inc | 2 +- lib/layouts/numrevtex.inc | 2 +- lib/layouts/paper.layout | 2 +- lib/layouts/paralist.module | 2 +- lib/layouts/pdfcomment.module | 2 +- lib/layouts/pdfform.module | 2 +- lib/layouts/powerdot.layout | 2 +- lib/layouts/recipebook.layout | 2 +- lib/layouts/report.layout | 2 +- lib/layouts/revtex.layout | 2 +- lib/layouts/revtex4-1.layout | 2 +- lib/layouts/revtex4-2.layout | 2 +- lib/layouts/revtex4-x.inc | 2 +- lib/layouts/revtex4.layout | 2 +- lib/layouts/rsphrase.module | 2 +- lib/layouts/ruby.module | 2 +- lib/layouts/sciposter.layout | 2 +- lib/layouts/scrartcl.layout | 2 +- lib/layouts/scrarticle-beamer.layout | 2 +- lib/layouts/scrbook.layout | 2 +- lib/layouts/scrclass.inc | 2 +- lib/layouts/scrlettr.layout | 2 +- lib/layouts/scrlttr2.layout | 2 +- lib/layouts/scrreprt.layout | 2 +- lib/layouts/sectionbox.module | 2 +- lib/layouts/seminar.layout | 2 +- lib/layouts/shapepar.module | 2 +- lib/layouts/siamltex.layout | 2 +- lib/layouts/sigplanconf.layout | 2 +- lib/layouts/simplecv.layout | 2 +- lib/layouts/singlecol-new.layout | 2 +- lib/layouts/singlecol.layout | 2 +- lib/layouts/slides.layout | 2 +- lib/layouts/soul.module | 2 +- lib/layouts/spie.layout | 2 +- lib/layouts/stdcharstyles.inc | 2 +- lib/layouts/stdciteformats.inc | 2 +- lib/layouts/stdclass.inc | 2 +- lib/layouts/stdcounters.inc | 2 +- lib/layouts/stdcustom.inc | 2 +- lib/layouts/stdfloatnames.inc | 2 +- lib/layouts/stdfloats.inc | 2 +- lib/layouts/stdinsets.inc | 2 +- lib/layouts/stdlayouts.inc | 2 +- lib/layouts/stdletter.inc | 2 +- lib/layouts/stdlists.inc | 2 +- lib/layouts/stdlyxlist.inc | 2 +- lib/layouts/stdrefprefix.inc | 2 +- lib/layouts/stdsections.inc | 2 +- lib/layouts/stdstarsections.inc | 2 +- lib/layouts/stdstruct.inc | 2 +- lib/layouts/stdtitle.inc | 2 +- lib/layouts/subequations.module | 2 +- lib/layouts/svcommon.inc | 2 +- lib/layouts/svglobal.layout | 2 +- lib/layouts/svglobal3.layout | 2 +- lib/layouts/svjog.layout | 2 +- lib/layouts/svmono.layout | 2 +- lib/layouts/svmult.layout | 2 +- lib/layouts/svprobth.layout | 2 +- lib/layouts/sweave.module | 2 +- lib/layouts/tabs-within-sections.module | 2 +- lib/layouts/tarticle.layout | 2 +- lib/layouts/tbook.layout | 2 +- lib/layouts/tcolorbox.module | 2 +- lib/layouts/theorems-ams-bytype.inc | 2 +- lib/layouts/theorems-ams-bytype.module | 2 +- lib/layouts/theorems-ams-chap-bytype.inc | 2 +- lib/layouts/theorems-ams-chap-bytype.module | 2 +- lib/layouts/theorems-ams-extended-bytype.module | 2 +- .../theorems-ams-extended-chap-bytype.module | 2 +- lib/layouts/theorems-ams-extended.module | 2 +- lib/layouts/theorems-ams.inc | 2 +- lib/layouts/theorems-ams.module | 2 +- lib/layouts/theorems-bytype.inc | 2 +- lib/layouts/theorems-bytype.module | 2 +- lib/layouts/theorems-case.inc | 2 +- lib/layouts/theorems-chap-bytype.module | 2 +- lib/layouts/theorems-chap.module | 2 +- lib/layouts/theorems-counters-bytype.inc | 2 +- lib/layouts/theorems-counters-extended-bytype.inc | 2 +- lib/layouts/theorems-named.module | 2 +- lib/layouts/theorems-order.inc | 2 +- lib/layouts/theorems-proof-std.inc | 2 +- lib/layouts/theorems-proof.inc | 2 +- lib/layouts/theorems-refprefix.inc | 2 +- lib/layouts/theorems-sec-bytype.module | 2 +- lib/layouts/theorems-sec.module | 2 +- lib/layouts/theorems-starred-equivalents.inc | 2 +- lib/layouts/theorems-starred.inc | 2 +- lib/layouts/theorems-starred.module | 2 +- lib/layouts/theorems-std.module | 2 +- lib/layouts/theorems-without-preamble.inc | 2 +- lib/layouts/theorems.inc | 2 +- lib/layouts/todonotes.module | 2 +- lib/layouts/treport.layout | 2 +- lib/layouts/tufte-book.layout | 2 +- lib/layouts/tufte-handout.layout | 2 +- lib/layouts/varwidth.module | 2 +- lib/scripts/docbook_copy.py | 30 +- lib/scripts/layout2layout.py | 7 +- lib/symbols | 6 +- lib/unicodesymbols | 2 +- po/de.gmo | Bin 620448 -> 622336 bytes po/de.po | 1576 ++++++++++--------- po/fr.gmo | Bin 623117 -> 625350 bytes po/fr.po | 1692 ++++++++++---------- po/ru.po | 22 +- po/sk.po | 86 +- src/Buffer.cpp | 10 +- src/BufferParams.cpp | 66 +- src/BufferParams.h | 5 +- src/BufferView.cpp | 9 +- src/BufferView.h | 4 +- src/Changes.cpp | 12 +- src/Color.cpp | 16 +- src/ColorCode.h | 32 +- src/Converter.cpp | 2 +- src/DocIterator.h | 4 +- src/LaTeX.cpp | 2 +- src/LaTeXFeatures.cpp | 8 +- src/LyXAction.cpp | 2 +- src/LyXRC.cpp | 8 +- src/OutputParams.h | 5 +- src/ParIterator.h | 17 +- src/Paragraph.cpp | 40 +- src/Paragraph.h | 2 + src/Text.cpp | 5 +- src/Text3.cpp | 9 +- src/TextClass.cpp | 2 +- src/Undo.h | 13 +- src/VCBackend.cpp | 2 +- src/frontends/Selection.h | 5 + src/frontends/qt/BulletsModule.cpp | 5 +- src/frontends/qt/CMakeLists.txt | 8 +- src/frontends/qt/GuiApplication.cpp | 37 +- src/frontends/qt/GuiClickableLabel.cpp | 6 +- src/frontends/qt/GuiDocument.cpp | 94 +- src/frontends/qt/GuiLyXFiles.cpp | 18 +- src/frontends/qt/GuiPrefs.cpp | 3 +- src/frontends/qt/GuiSearch.cpp | 57 +- src/frontends/qt/GuiSearch.h | 11 +- src/frontends/qt/GuiSelection.h | 1 + src/frontends/qt/GuiToolbar.cpp | 6 +- src/frontends/qt/GuiToolbar.h | 2 +- src/frontends/qt/GuiView.cpp | 61 +- src/frontends/qt/GuiView.h | 10 +- src/frontends/qt/TocWidget.cpp | 6 +- src/frontends/qt/TocWidget.h | 2 +- src/frontends/qt/ui/LyXFilesUi.ui | 2 +- src/frontends/qt/ui/SearchUi.ui | 26 +- src/insets/InsetArgument.cpp | 41 +- src/insets/InsetArgument.h | 3 + src/insets/InsetBranch.cpp | 6 +- src/insets/InsetLayout.cpp | 5 + src/insets/InsetLayout.h | 4 + src/insets/InsetPreview.cpp | 49 +- src/insets/InsetPreview.h | 7 + src/insets/InsetText.cpp | 106 ++- src/insets/InsetText.h | 8 +- src/insets/InsetVSpace.cpp | 10 +- src/insets/RenderPreview.cpp | 2 +- src/lyxfind.cpp | 1 + src/mathed/InsetMathNest.cpp | 16 +- src/mathed/InsetMathScript.cpp | 2 +- src/output_docbook.cpp | 16 +- src/support/FileName.cpp | 27 +- src/support/filetools.cpp | 39 +- src/support/filetools.h | 14 + 319 files changed, 3131 insertions(+), 2162 deletions(-) create mode 100644 autotests/export/docbook/Linguistics_forest.lyx create mode 100644 autotests/export/docbook/Linguistics_forest.xml create mode 100644 autotests/export/docbook/lyx_EafAhhREpvwrFIFUHprlnoS9qCdR7kk23QfWTsObCjg.png create mode 100644 autotests/export/docbook/lyx_Evmv0h17wY4EoBIBFZjUQJMv0cyWz6KodzrzPiY1tQ.png create mode 100644 autotests/export/docbook/lyx_Neo86S96tfZZQHjpBg7ADIb30ZP0DTrDTR1DEIL6dM.png create mode 100644 autotests/export/docbook/lyx_waUJAzFwGUKDEN7MJCcs6gYNMbJuYBkgsRTDTpIvs.png hooks/post-receive -- Repository for new features From lasgouttes at lyx.org Wed Nov 24 10:23:30 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Wed, 24 Nov 2021 11:23:30 +0100 (CET) Subject: [LyX/master] gzstream is able to read uncompressed files too Message-ID: <20211124102330.6DF122806D4@lyx.lyx.org> commit 4dec64dba4c3a4abbd29128e5407741b80a0c865 Author: Jean-Marc Lasgouttes Date: Wed Nov 24 11:44:53 2021 +0100 gzstream is able to read uncompressed files too This allows to simplify the code in Lexer and to remove the dependency on Formats class. As a consequence, a pair of dummy definitions of isZippedFile can be removed. --- src/Lexer.cpp | 38 ++++---------------------------------- src/tests/check_layout.cpp | 6 ------ src/tex2lyx/dummy_impl.cpp | 18 ------------------ 3 files changed, 4 insertions(+), 58 deletions(-) diff --git a/src/Lexer.cpp b/src/Lexer.cpp index 17cc161..c6402ae 100644 --- a/src/Lexer.cpp +++ b/src/Lexer.cpp @@ -14,7 +14,6 @@ #include #include "Lexer.h" -#include "Format.h" #include "support/convert.h" #include "support/debug.h" @@ -81,9 +80,6 @@ public: bool inputAvailable(); /// void pushToken(string const &); - /// fb_ is only used to open files, the stream is accessed through is. - filebuf fb_; - /// gz_ is only used to open files, the stream is accessed through is. gz::gzstreambuf gz_; @@ -149,7 +145,7 @@ bool compareTags(LexerKeyword const & a, LexerKeyword const & b) Lexer::Pimpl::Pimpl(LexerKeyword * tab, int num) - : is(&fb_), table(tab), no_items(num), + : is(&gz_), table(tab), no_items(num), status(0), lineno(0), commentChar('#') { verifyTable(); @@ -235,38 +231,14 @@ void Lexer::Pimpl::popTable() bool Lexer::Pimpl::setFile(FileName const & filename) { - // Check the format of the file. - if (theFormats().isZippedFile(filename)) { - LYXERR(Debug::LYXLEX, "lyxlex: compressed"); - // The check only outputs a debug message, because it triggers - // a bug in compaq cxx 6.2, where is_open() returns 'true' for - // a fresh new filebuf. (JMarc) if (gz_.is_open() || istream::off_type(is.tellg()) > -1) - LYXERR(Debug::LYXLEX, "Error in LyXLex::setFile: " - "file or stream already set."); + LYXERR0("Error in LyXLex::setFile: file or stream already set."); gz_.open(filename.toFilesystemEncoding().c_str(), ios::in); is.rdbuf(&gz_); name = filename.absFileName(); lineno = 0; if (!gz_.is_open() || !is.good()) return false; - } else { - LYXERR(Debug::LYXLEX, "lyxlex: UNcompressed"); - - // The check only outputs a debug message, because it triggers - // a bug in compaq cxx 6.2, where is_open() returns 'true' for - // a fresh new filebuf. (JMarc) - if (fb_.is_open() || istream::off_type(is.tellg()) > 0) { - LYXERR(Debug::LYXLEX, "Error in Lexer::setFile: " - "file or stream already set."); - } - fb_.open(filename.toSafeFilesystemEncoding().c_str(), ios::in); - is.rdbuf(&fb_); - name = filename.absFileName(); - lineno = 0; - if (!fb_.is_open() || !is.good()) - return false; - } // Skip byte order mark. if (is.peek() == 0xef) { @@ -284,10 +256,8 @@ bool Lexer::Pimpl::setFile(FileName const & filename) void Lexer::Pimpl::setStream(istream & i) { - if (fb_.is_open() || istream::off_type(is.tellg()) > 0) { - LYXERR(Debug::LYXLEX, "Error in Lexer::setStream: " - "file or stream already set."); - } + if (gz_.is_open() || istream::off_type(is.tellg()) > 0) + LYXERR0("Error in Lexer::setStream: file or stream already set."); is.rdbuf(i.rdbuf()); lineno = 0; } diff --git a/src/tests/check_layout.cpp b/src/tests/check_layout.cpp index afdb667..f92daa2 100644 --- a/src/tests/check_layout.cpp +++ b/src/tests/check_layout.cpp @@ -3,7 +3,6 @@ #include "../support/debug.h" #include "../support/FileName.h" #include "../support/filetools.h" -#include "../Format.h" #include "../LayoutFile.h" #include "../LaTeXFeatures.h" #include "../Lexer.h" @@ -34,11 +33,6 @@ bool LaTeXFeatures::isAvailable(std::string const &) return false; } -Formats formats; -bool Formats::isZippedFile(support::FileName const &) const -{ - return false; -} } // namespace lyx diff --git a/src/tex2lyx/dummy_impl.cpp b/src/tex2lyx/dummy_impl.cpp index eb44567..62436af 100644 --- a/src/tex2lyx/dummy_impl.cpp +++ b/src/tex2lyx/dummy_impl.cpp @@ -18,7 +18,6 @@ #include -#include "Format.h" #include "LaTeXFeatures.h" #include "LyXRC.h" #include "output_xhtml.h" @@ -74,23 +73,6 @@ Messages const & getGuiMessages() // -// Dummy formats support (needed by Lexer) -// - - -Formats & theFormats() -{ - static Formats dummy_formats; - return dummy_formats; -} - -bool Formats::isZippedFile(support::FileName const&) const -{ - return false; -} - - -// // Dummy features support (needed by ModuleList) // From spitz at lyx.org Thu Nov 25 15:39:28 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Thu, 25 Nov 2021 16:39:28 +0100 (CET) Subject: [LyX/master] Let paragraph::requestSpellcheck() consider contained insets Message-ID: <20211125153928.5DD342807A7@lyx.lyx.org> commit 5a6498c3d3bfe0cfa562b67eaf1f8dd303d8152e Author: Juergen Spitzmueller Date: Thu Nov 25 17:04:58 2021 +0100 Let paragraph::requestSpellcheck() consider contained insets if "check whole paragraph" has been requested. --- src/Paragraph.cpp | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 6b1e118..cf2f53a 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -4858,6 +4858,19 @@ Language * Paragraph::Private::getSpellLanguage(pos_type const from) const void Paragraph::requestSpellCheck(pos_type pos) { d->requestSpellCheck(pos); + if (pos == -1 ) { + // Also request spellcheck within (text) insets + for (auto const & insets : insetList()) { + if (!insets.inset->asInsetText()) + continue; + ParagraphList & inset_pars = + insets.inset->asInsetText()->paragraphs(); + ParagraphList::iterator pit = inset_pars.begin(); + ParagraphList::iterator pend = inset_pars.end(); + for (; pit != pend; ++pit) + pit->requestSpellCheck(); + } + } } From spitz at lyx.org Thu Nov 25 15:39:28 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Thu, 25 Nov 2021 16:39:28 +0100 (CET) Subject: [LyX/master] Factor out Buffer::requestSpellcheck() function Message-ID: <20211125153928.541202807A4@lyx.lyx.org> commit e366dba9bfb702a83f697e9eb75aa0a1ad5ef3ce Author: Juergen Spitzmueller Date: Thu Nov 25 17:04:17 2021 +0100 Factor out Buffer::requestSpellcheck() function --- src/Buffer.cpp | 9 +++++++++ src/Buffer.h | 2 ++ src/Text3.cpp | 12 ++---------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index e78a443..7cb5ac2 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -5381,6 +5381,15 @@ int Buffer::spellCheck(DocIterator & from, DocIterator & to, } +void Buffer::requestSpellcheck() +{ + ParagraphList::iterator pit = paragraphs().begin(); + ParagraphList::iterator pend = paragraphs().end(); + for (; pit != pend; ++pit) + pit->requestSpellCheck(); +} + + void Buffer::Impl::updateStatistics(DocIterator & from, DocIterator & to, bool skipNoOutput) { bool inword = false; diff --git a/src/Buffer.h b/src/Buffer.h index e342199..332ef86 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -748,6 +748,8 @@ public: /// \return progress if a new word was found. int spellCheck(DocIterator & from, DocIterator & to, WordLangTuple & word_lang, docstring_list & suggestions) const; + /// Marks the whole buffer to be checked (again) + void requestSpellcheck(); /// void checkChildBuffers(); /// diff --git a/src/Text3.cpp b/src/Text3.cpp index 8257452..1623996 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -2762,11 +2762,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) bv->buffer().params().spellignore().push_back(wl); cur.recordUndo(); // trigger re-check of whole buffer - ParagraphList & pars = bv->buffer().paragraphs(); - ParagraphList::iterator pit = pars.begin(); - ParagraphList::iterator pend = pars.end(); - for (; pit != pend; ++pit) - pit->requestSpellCheck(); + bv->buffer().requestSpellcheck(); } break; } @@ -2800,11 +2796,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) bv->buffer().params().spellignore().erase(it); cur.recordUndo(); // trigger re-check of whole buffer - ParagraphList & pars = bv->buffer().paragraphs(); - ParagraphList::iterator pit = pars.begin(); - ParagraphList::iterator pend = pars.end(); - for (; pit != pend; ++pit) - pit->requestSpellCheck(); + bv->buffer().requestSpellcheck(); } break; } From spitz at lyx.org Thu Nov 25 17:21:24 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Thu, 25 Nov 2021 18:21:24 +0100 (CET) Subject: [LyX/master] Whitespace Message-ID: <20211125172124.ACC65280221@lyx.lyx.org> commit a9eb3c9990b9a05c7d7e569db5d13ad294742cbb Author: Juergen Spitzmueller Date: Thu Nov 25 18:47:23 2021 +0100 Whitespace --- src/Paragraph.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index cf2f53a..7fb46ae 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -4858,7 +4858,7 @@ Language * Paragraph::Private::getSpellLanguage(pos_type const from) const void Paragraph::requestSpellCheck(pos_type pos) { d->requestSpellCheck(pos); - if (pos == -1 ) { + if (pos == -1) { // Also request spellcheck within (text) insets for (auto const & insets : insetList()) { if (!insets.inset->asInsetText()) From spitz at lyx.org Fri Nov 26 08:31:12 2021 From: spitz at lyx.org (Juergen Spitzmueller) Date: Fri, 26 Nov 2021 09:31:12 +0100 (CET) Subject: [LyX/master] InsertTableWidget support for dark mode and improved resizing Message-ID: <20211126083112.8A458280221@lyx.lyx.org> commit e522c5444e14e1cfb4c47659f2fcb1c91ae6b2c4 Author: Daniel Ramoeller Date: Mon Nov 22 10:15:38 2021 +0100 InsertTableWidget support for dark mode and improved resizing Fix for bug #12438. --- src/frontends/qt/InsertTableWidget.cpp | 29 +++++++++++++++++------------ src/frontends/qt/InsertTableWidget.h | 6 +++++- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/frontends/qt/InsertTableWidget.cpp b/src/frontends/qt/InsertTableWidget.cpp index 3746bb1..07ae061 100644 --- a/src/frontends/qt/InsertTableWidget.cpp +++ b/src/frontends/qt/InsertTableWidget.cpp @@ -33,7 +33,7 @@ namespace lyx { namespace frontend { InsertTableWidget::InsertTableWidget(QWidget * parent) - : QWidget(parent, Qt::Popup), colwidth_(20), rowheight_(12) + : QWidget(parent, Qt::Popup), colwidth_(15), rowheight_(15), minrows_(5), mincols_(5) { init(); setMouseTracking(true); @@ -42,8 +42,8 @@ InsertTableWidget::InsertTableWidget(QWidget * parent) void InsertTableWidget::init() { - rows_ = 5; - cols_ = 5; + rows_ = minrows_; + cols_ = mincols_; bottom_ = 0; right_ = 0; underMouse_ = false; @@ -98,13 +98,15 @@ void InsertTableWidget::mouseMoveEvent(QMouseEvent * event) bottom_ = event->y() / rowheight_ + 1; #endif - if (bottom_ == rows_) { - ++rows_; + int const newrows = std::max(minrows_, bottom_ + 1); + if (rows_ != newrows) { + rows_ = newrows; resetGeometry(); } - if (right_ == cols_) { - ++cols_; + int const newcols = std::max(mincols_, right_ + 1); + if (cols_ != newcols) { + cols_ = newcols; resetGeometry(); } @@ -140,17 +142,20 @@ void InsertTableWidget::mousePressEvent(QMouseEvent * /*event*/) void InsertTableWidget::paintEvent(QPaintEvent * /*event*/) { - drawGrid(rows_, cols_, Qt::white); + QPalette const palette = this->palette(); + drawGrid(rows_, cols_, palette.base(), palette.text().color()); if (underMouse_) - drawGrid(bottom_, right_, Qt::darkBlue); + drawGrid(bottom_, right_, palette.highlight(), + palette.highlightedText().color()); } -void InsertTableWidget::drawGrid(int const rows, int const cols, Qt::GlobalColor const color) +void InsertTableWidget::drawGrid(int const rows, int const cols, + QBrush const fillBrush, QColor lineColor) { QPainter painter(this); - painter.setPen(Qt::darkGray); - painter.setBrush(color); + painter.setPen(lineColor); + painter.setBrush(fillBrush); for (int r = 0 ; r < rows ; ++r ) { for (int c = 0 ; c < cols ; ++c ) { diff --git a/src/frontends/qt/InsertTableWidget.h b/src/frontends/qt/InsertTableWidget.h index 78e2497..5e2e244 100644 --- a/src/frontends/qt/InsertTableWidget.h +++ b/src/frontends/qt/InsertTableWidget.h @@ -48,7 +48,7 @@ private: //! initialize parameters to default values void init(); //! draw the grid - void drawGrid(int rows, int cols, Qt::GlobalColor color); + void drawGrid(int rows, int cols, QBrush fillBrush, QColor lineColor); //! colwidth in pixels int colwidth_; @@ -56,8 +56,12 @@ private: int rowheight_; //! total rows int rows_; + //! minimum number of rows + int minrows_; //! total cols int cols_; + //! minimum number of cols + int mincols_; //! row of pointer int bottom_; //! column of pointer From lasgouttes at lyx.org Sun Nov 28 13:11:53 2021 From: lasgouttes at lyx.org (Jean-Marc Lasgouttes) Date: Sun, 28 Nov 2021 14:11:53 +0100 (CET) Subject: [LyX/master] When inserting text character in mathed, group in same \text when possible. Message-ID: <20211128131153.175672802AE@lyx.lyx.org> commit 5eecfa3e049f6b23bce364b989155ce3e38590d8 Author: Jean-Marc Lasgouttes Date: Sun Nov 28 14:33:45 2021 +0100 When inserting text character in mathed, group in same \text when possible. When inserting ? in a math cell, it is put in a text inset and the cursor leaves the inset. However, inserting ? then leads to \text{?}\text{?}. Therefore, try to see if there is a previous \text inset that can be recycled and insert the new inset there in this case, leading to \text{??}. Fixes bug #11979. --- src/mathed/InsetMathNest.cpp | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index b62505a..7241e0b 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -1903,10 +1903,16 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c) return true; } if (currentMode() == InsetMath::MATH_MODE && Encodings::isUnicodeTextOnly(c)) { - MathAtom at = createInsetMath("text", buf); - at.nucleus()->cell(0).push_back(MathAtom(new InsetMathChar(c))); - cur.insert(at); - cur.posForward(); + MathAtom const atom(new InsetMathChar(c)); + if (cur.prevInset() && cur.prevInset()->asInsetMath()->name() == "text") { + // reuse existing \text inset + cur.prevInset()->asInsetMath()->cell(0).push_back(atom); + } else { + MathAtom at = createInsetMath("text", buf); + at.nucleus()->cell(0).push_back(atom); + cur.insert(at); + cur.posForward(); + } return true; } } else {