[LyX/master] Properly support the cite engines in the GUI

2017-01-13 Thread Juergen Spitzmueller
commit a3de2976fd42eb92bb5f0323bc4ef9d07ea12195
Author: Juergen Spitzmueller 
Date:   Sat Dec 31 09:28:51 2016 +0100

Properly support the cite engines in the GUI

Instead of hardcoding 3 engines, we now support all engines which are
defined in the *.citeengines files.
---
 lib/citeengines/basic.citeengine   |5 +-
 lib/citeengines/jurabib.citeengine |8 +-
 lib/citeengines/natbib.citeengine  |   10 +-
 src/BufferParams.cpp   |   26 +
 src/CiteEnginesList.cpp|   46 
 src/CiteEnginesList.h  |   18 +++-
 src/frontends/qt4/GuiDocument.cpp  |  136 +
 src/frontends/qt4/GuiDocument.h|3 +
 src/frontends/qt4/ui/BiblioUi.ui   |  203 ++--
 9 files changed, 251 insertions(+), 204 deletions(-)

diff --git a/lib/citeengines/basic.citeengine b/lib/citeengines/basic.citeengine
index dc4941b..7de5e35 100644
--- a/lib/citeengines/basic.citeengine
+++ b/lib/citeengines/basic.citeengine
@@ -1,6 +1,7 @@
-# \DeclareLyXCiteEngine{BibTeX (basic)}
+# \DeclareLyXCiteEngine{Basic (BibTeX)}
 # DescriptionBegin
-#   Use the basic citation capabilities provided by plain LaTeX.
+#   The basic citation capabilities provided by BibTeX.
+#   Mainly simple numeric styles primarily suitable for science and maths.
 # DescriptionEnd
 # Excludes: jurabib | natbib
 
diff --git a/lib/citeengines/jurabib.citeengine 
b/lib/citeengines/jurabib.citeengine
index 13bbc6f..de292bb 100644
--- a/lib/citeengines/jurabib.citeengine
+++ b/lib/citeengines/jurabib.citeengine
@@ -1,8 +1,8 @@
-# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib}
+# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package jurabib, a citation engine. Jurabib supports 
annotations,
-#   author-year style citations and hyphenation patterns for bibliography 
entries in
-#   English, German, French, Dutch, Spanish and Italian.
+#   Jurabib supports a range of author-year styles primarily suitable for law 
studies
+#   and the Humanities. It includes localizations for English, German, French, 
Dutch,
+#   Spanish and Italian.
 # DescriptionEnd
 # Excludes: basic | natbib
 
diff --git a/lib/citeengines/natbib.citeengine 
b/lib/citeengines/natbib.citeengine
index 63bf1cb..dcd160f 100644
--- a/lib/citeengines/natbib.citeengine
+++ b/lib/citeengines/natbib.citeengine
@@ -1,9 +1,9 @@
-# \DeclareLyXCiteEngine[natbib.sty]{Natbib}
+# \DeclareLyXCiteEngine[natbib.sty]{Natbib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package natbib, a citation engine. Natbib supports
-#   both author-year and numerical styles for citations, automatic sorting
-#   and merging of numerical citations, annotations, capitalization of the
-#   `van' part of author names, shortened and full author lists, and more.
+#   Natbib supports a range of both author-year and numerical styles mainly
+#   aimed at the Humanities. It features automatic sorting and merging of 
+#   numerical citations, annotations, capitalization of the `van' part of 
+#   author names, shortened and full author lists, and more.
 # DescriptionEnd
 # Excludes: basic | jurabib
 
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 326d487..1e7f772 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -23,6 +23,7 @@
 #include "Buffer.h"
 #include "buffer_funcs.h"
 #include "Bullet.h"
+#include "CiteEnginesList.h"
 #include "Color.h"
 #include "ColorSet.h"
 #include "Converter.h"
@@ -272,27 +273,6 @@ PackageTranslator const & packagetranslator()
 }
 
 
-// Cite engine
-typedef Translator CiteEngineTypeTranslator;
-
-
-CiteEngineTypeTranslator const init_citeenginetypetranslator()
-{
-   CiteEngineTypeTranslator translator("authoryear", 
ENGINE_TYPE_AUTHORYEAR);
-   translator.addPair("numerical", ENGINE_TYPE_NUMERICAL);
-   translator.addPair("default", ENGINE_TYPE_DEFAULT);
-   return translator;
-}
-
-
-CiteEngineTypeTranslator const & citeenginetypetranslator()
-{
-   static CiteEngineTypeTranslator const translator =
-   init_citeenginetypetranslator();
-   return translator;
-}
-
-
 // Spacing
 typedef Translator SpaceTranslator;
 
@@ -863,7 +843,7 @@ string BufferParams::readToken(Lexer & lex, string const & 
token,
} else if (token == "\\cite_engine_type") {
string engine_type;
lex >> engine_type;
-   cite_engine_type_ = 
citeenginetypetranslator().find(engine_type);
+   cite_engine_type_ = theCiteEnginesList.getType(engine_type);
} else if (token == "\\biblio_style") {
lex.eatLine();
biblio_style = lex.getString();
@@ -1234,7 +1214,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * 
buf) const
os << "basic";
}
 
-   os << "\n\\cite_engine_type " << 
citeenginetypetranslator().find(cite_engine_type_)
+   os << "\n\\cite_engine_type " << 
theCiteEnginesList.getTypeAsS

[LyX/master] Properly support the cite engines in the GUI

2017-01-13 Thread Juergen Spitzmueller
commit 8e4bd6a497561b1dda99f0b75102a9f8a1ca46ff
Author: Juergen Spitzmueller 
Date:   Sat Dec 31 09:28:51 2016 +0100

Properly support the cite engines in the GUI

Instead of hardcoding 3 engines, we now support all engines which are
defined in the *.citeengines files.
---
 lib/citeengines/basic.citeengine   |5 +-
 lib/citeengines/jurabib.citeengine |8 +-
 lib/citeengines/natbib.citeengine  |   10 +-
 src/BufferParams.cpp   |   26 +
 src/CiteEnginesList.cpp|   46 
 src/CiteEnginesList.h  |   18 +++-
 src/frontends/qt4/GuiDocument.cpp  |  136 +
 src/frontends/qt4/GuiDocument.h|3 +
 src/frontends/qt4/ui/BiblioUi.ui   |  203 ++--
 9 files changed, 251 insertions(+), 204 deletions(-)

diff --git a/lib/citeengines/basic.citeengine b/lib/citeengines/basic.citeengine
index dc4941b..7de5e35 100644
--- a/lib/citeengines/basic.citeengine
+++ b/lib/citeengines/basic.citeengine
@@ -1,6 +1,7 @@
-# \DeclareLyXCiteEngine{BibTeX (basic)}
+# \DeclareLyXCiteEngine{Basic (BibTeX)}
 # DescriptionBegin
-#   Use the basic citation capabilities provided by plain LaTeX.
+#   The basic citation capabilities provided by BibTeX.
+#   Mainly simple numeric styles primarily suitable for science and maths.
 # DescriptionEnd
 # Excludes: jurabib | natbib
 
diff --git a/lib/citeengines/jurabib.citeengine 
b/lib/citeengines/jurabib.citeengine
index 13bbc6f..de292bb 100644
--- a/lib/citeengines/jurabib.citeengine
+++ b/lib/citeengines/jurabib.citeengine
@@ -1,8 +1,8 @@
-# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib}
+# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package jurabib, a citation engine. Jurabib supports 
annotations,
-#   author-year style citations and hyphenation patterns for bibliography 
entries in
-#   English, German, French, Dutch, Spanish and Italian.
+#   Jurabib supports a range of author-year styles primarily suitable for law 
studies
+#   and the Humanities. It includes localizations for English, German, French, 
Dutch,
+#   Spanish and Italian.
 # DescriptionEnd
 # Excludes: basic | natbib
 
diff --git a/lib/citeengines/natbib.citeengine 
b/lib/citeengines/natbib.citeengine
index 63bf1cb..dcd160f 100644
--- a/lib/citeengines/natbib.citeengine
+++ b/lib/citeengines/natbib.citeengine
@@ -1,9 +1,9 @@
-# \DeclareLyXCiteEngine[natbib.sty]{Natbib}
+# \DeclareLyXCiteEngine[natbib.sty]{Natbib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package natbib, a citation engine. Natbib supports
-#   both author-year and numerical styles for citations, automatic sorting
-#   and merging of numerical citations, annotations, capitalization of the
-#   `van' part of author names, shortened and full author lists, and more.
+#   Natbib supports a range of both author-year and numerical styles mainly
+#   aimed at the Humanities. It features automatic sorting and merging of 
+#   numerical citations, annotations, capitalization of the `van' part of 
+#   author names, shortened and full author lists, and more.
 # DescriptionEnd
 # Excludes: basic | jurabib
 
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 326d487..1e7f772 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -23,6 +23,7 @@
 #include "Buffer.h"
 #include "buffer_funcs.h"
 #include "Bullet.h"
+#include "CiteEnginesList.h"
 #include "Color.h"
 #include "ColorSet.h"
 #include "Converter.h"
@@ -272,27 +273,6 @@ PackageTranslator const & packagetranslator()
 }
 
 
-// Cite engine
-typedef Translator CiteEngineTypeTranslator;
-
-
-CiteEngineTypeTranslator const init_citeenginetypetranslator()
-{
-   CiteEngineTypeTranslator translator("authoryear", 
ENGINE_TYPE_AUTHORYEAR);
-   translator.addPair("numerical", ENGINE_TYPE_NUMERICAL);
-   translator.addPair("default", ENGINE_TYPE_DEFAULT);
-   return translator;
-}
-
-
-CiteEngineTypeTranslator const & citeenginetypetranslator()
-{
-   static CiteEngineTypeTranslator const translator =
-   init_citeenginetypetranslator();
-   return translator;
-}
-
-
 // Spacing
 typedef Translator SpaceTranslator;
 
@@ -863,7 +843,7 @@ string BufferParams::readToken(Lexer & lex, string const & 
token,
} else if (token == "\\cite_engine_type") {
string engine_type;
lex >> engine_type;
-   cite_engine_type_ = 
citeenginetypetranslator().find(engine_type);
+   cite_engine_type_ = theCiteEnginesList.getType(engine_type);
} else if (token == "\\biblio_style") {
lex.eatLine();
biblio_style = lex.getString();
@@ -1234,7 +1214,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * 
buf) const
os << "basic";
}
 
-   os << "\n\\cite_engine_type " << 
citeenginetypetranslator().find(cite_engine_type_)
+   os << "\n\\cite_engine_type " << 
theCiteEnginesList.getTypeAsS

[LyX/master] Properly support the cite engines in the GUI

2017-01-13 Thread Juergen Spitzmueller
commit 59a4f263a44ca3a1f5a37a652c8df154788f72d1
Author: Juergen Spitzmueller 
Date:   Sat Dec 31 09:28:51 2016 +0100

Properly support the cite engines in the GUI

Instead of hardcoding 3 engines, we now support all engines which are
defined in the *.citeengines files.
---
 lib/citeengines/basic.citeengine   |5 +-
 lib/citeengines/jurabib.citeengine |8 +-
 lib/citeengines/natbib.citeengine  |   10 +-
 src/BufferParams.cpp   |   26 +
 src/CiteEnginesList.cpp|   46 
 src/CiteEnginesList.h  |   18 +++-
 src/frontends/qt4/GuiDocument.cpp  |  136 +
 src/frontends/qt4/GuiDocument.h|3 +
 src/frontends/qt4/ui/BiblioUi.ui   |  203 ++--
 9 files changed, 251 insertions(+), 204 deletions(-)

diff --git a/lib/citeengines/basic.citeengine b/lib/citeengines/basic.citeengine
index dc4941b..7de5e35 100644
--- a/lib/citeengines/basic.citeengine
+++ b/lib/citeengines/basic.citeengine
@@ -1,6 +1,7 @@
-# \DeclareLyXCiteEngine{BibTeX (basic)}
+# \DeclareLyXCiteEngine{Basic (BibTeX)}
 # DescriptionBegin
-#   Use the basic citation capabilities provided by plain LaTeX.
+#   The basic citation capabilities provided by BibTeX.
+#   Mainly simple numeric styles primarily suitable for science and maths.
 # DescriptionEnd
 # Excludes: jurabib | natbib
 
diff --git a/lib/citeengines/jurabib.citeengine 
b/lib/citeengines/jurabib.citeengine
index 13bbc6f..de292bb 100644
--- a/lib/citeengines/jurabib.citeengine
+++ b/lib/citeengines/jurabib.citeengine
@@ -1,8 +1,8 @@
-# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib}
+# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package jurabib, a citation engine. Jurabib supports 
annotations,
-#   author-year style citations and hyphenation patterns for bibliography 
entries in
-#   English, German, French, Dutch, Spanish and Italian.
+#   Jurabib supports a range of author-year styles primarily suitable for law 
studies
+#   and the Humanities. It includes localizations for English, German, French, 
Dutch,
+#   Spanish and Italian.
 # DescriptionEnd
 # Excludes: basic | natbib
 
diff --git a/lib/citeengines/natbib.citeengine 
b/lib/citeengines/natbib.citeengine
index 63bf1cb..dcd160f 100644
--- a/lib/citeengines/natbib.citeengine
+++ b/lib/citeengines/natbib.citeengine
@@ -1,9 +1,9 @@
-# \DeclareLyXCiteEngine[natbib.sty]{Natbib}
+# \DeclareLyXCiteEngine[natbib.sty]{Natbib (BibTeX)}
 # DescriptionBegin
-#   Loads the LaTeX package natbib, a citation engine. Natbib supports
-#   both author-year and numerical styles for citations, automatic sorting
-#   and merging of numerical citations, annotations, capitalization of the
-#   `van' part of author names, shortened and full author lists, and more.
+#   Natbib supports a range of both author-year and numerical styles mainly
+#   aimed at the Humanities. It features automatic sorting and merging of 
+#   numerical citations, annotations, capitalization of the `van' part of 
+#   author names, shortened and full author lists, and more.
 # DescriptionEnd
 # Excludes: basic | jurabib
 
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 326d487..1e7f772 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -23,6 +23,7 @@
 #include "Buffer.h"
 #include "buffer_funcs.h"
 #include "Bullet.h"
+#include "CiteEnginesList.h"
 #include "Color.h"
 #include "ColorSet.h"
 #include "Converter.h"
@@ -272,27 +273,6 @@ PackageTranslator const & packagetranslator()
 }
 
 
-// Cite engine
-typedef Translator CiteEngineTypeTranslator;
-
-
-CiteEngineTypeTranslator const init_citeenginetypetranslator()
-{
-   CiteEngineTypeTranslator translator("authoryear", 
ENGINE_TYPE_AUTHORYEAR);
-   translator.addPair("numerical", ENGINE_TYPE_NUMERICAL);
-   translator.addPair("default", ENGINE_TYPE_DEFAULT);
-   return translator;
-}
-
-
-CiteEngineTypeTranslator const & citeenginetypetranslator()
-{
-   static CiteEngineTypeTranslator const translator =
-   init_citeenginetypetranslator();
-   return translator;
-}
-
-
 // Spacing
 typedef Translator SpaceTranslator;
 
@@ -863,7 +843,7 @@ string BufferParams::readToken(Lexer & lex, string const & 
token,
} else if (token == "\\cite_engine_type") {
string engine_type;
lex >> engine_type;
-   cite_engine_type_ = 
citeenginetypetranslator().find(engine_type);
+   cite_engine_type_ = theCiteEnginesList.getType(engine_type);
} else if (token == "\\biblio_style") {
lex.eatLine();
biblio_style = lex.getString();
@@ -1234,7 +1214,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * 
buf) const
os << "basic";
}
 
-   os << "\n\\cite_engine_type " << 
citeenginetypetranslator().find(cite_engine_type_)
+   os << "\n\\cite_engine_type " << 
theCiteEnginesList.getTypeAsS