commit a3de2976fd42eb92bb5f0323bc4ef9d07ea12195 Author: Juergen Spitzmueller <sp...@lyx.org> 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<string, CiteEngineType> 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<string, Spacing::Space> 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.getTypeAsString(cite_engine_type_) << "\n\\biblio_style " << biblio_style << "\n\\use_bibtopic " << convert<string>(use_bibtopic) << "\n\\use_indices " << convert<string>(use_indices) diff --git a/src/CiteEnginesList.cpp b/src/CiteEnginesList.cpp index 48222cb..209c8bc 100644 --- a/src/CiteEnginesList.cpp +++ b/src/CiteEnginesList.cpp @@ -14,6 +14,7 @@ #include "CiteEnginesList.h" +#include "Citation.h" #include "LaTeXFeatures.h" #include "Lexer.h" @@ -22,6 +23,7 @@ #include "support/gettext.h" #include "support/filetools.h" #include "support/lstrings.h" +#include "support/Translator.h" #include <algorithm> @@ -76,6 +78,13 @@ bool LyXCiteEngine::isAvailable() const } +bool LyXCiteEngine::hasEngineType(CiteEngineType const & et) const +{ + return std::find(engine_types_.begin(), engine_types_.end(), + theCiteEnginesList.getTypeAsString(et)) != engine_types_.end(); +} + + bool LyXCiteEngine::isCompatible(string const & cename) const { // do we exclude it? @@ -119,6 +128,43 @@ public: }; +// Local translators +namespace { + +typedef Translator<string, CiteEngineType> 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; +} + +} // namespace anon + + +string CiteEnginesList::getTypeAsString(CiteEngineType const & et) const +{ + return citeenginetypetranslator().find(et); +} + + +CiteEngineType CiteEnginesList::getType(string const & et) const +{ + return citeenginetypetranslator().find(et); +} + + // Much of this is borrowed from LayoutFileList::read() bool CiteEnginesList::read() { diff --git a/src/CiteEnginesList.h b/src/CiteEnginesList.h index 0e6d119..17cfbb8 100644 --- a/src/CiteEnginesList.h +++ b/src/CiteEnginesList.h @@ -13,6 +13,8 @@ #ifndef CITEENGINESLIST_H #define CITEENGINESLIST_H +#include "Citation.h" + #include <string> #include <vector> @@ -29,13 +31,13 @@ namespace lyx { * which must begin roughly so: * # \DeclareLyXCiteEngine[natbib.sty]{Natbib} * # 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 - * The description might be used in the gui to give information to the user. The + * The description will be used in the gui to give information to the user. The * Requires and Excludes lines are read by the configuration script * and written to a file citeengines.lst in the user configuration directory. * That file is then read on startup to populate the CiteEnginesList, below. @@ -66,6 +68,8 @@ public: /// std::vector<std::string> const & getEngineType() const { return engine_types_; } /// + bool hasEngineType(CiteEngineType const &) const; + /// std::string const & getDescription() const { return description_; } /// std::vector<std::string> const & getPackageList() const @@ -121,6 +125,10 @@ class CiteEnginesList { public: /// CiteEnginesList() {} + /// + std::string getTypeAsString(CiteEngineType const &) const; + /// + CiteEngineType getType(std::string const &) const; /// reads the engines from a file generated by configure.py bool read(); /// diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 6ef39dc..d971eeb 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -29,6 +29,7 @@ #include "Buffer.h" #include "BufferParams.h" #include "BufferView.h" +#include "CiteEnginesList.h" #include "Color.h" #include "ColorCache.h" #include "Converter.h" @@ -1126,22 +1127,10 @@ GuiDocument::GuiDocument(GuiView & lv) // biblio biblioModule = new UiWidget<Ui::BiblioUi>; - connect(biblioModule->citeDefaultRB, SIGNAL(toggled(bool)), - this, SLOT(setNumerical(bool))); - connect(biblioModule->citeJurabibRB, SIGNAL(toggled(bool)), - this, SLOT(setAuthorYear(bool))); - connect(biblioModule->citeNatbibRB, SIGNAL(toggled(bool)), - biblioModule->citationStyleL, SLOT(setEnabled(bool))); - connect(biblioModule->citeNatbibRB, SIGNAL(toggled(bool)), - biblioModule->citeStyleCO, SLOT(setEnabled(bool))); - connect(biblioModule->citeDefaultRB, SIGNAL(clicked()), - this, SLOT(biblioChanged())); - connect(biblioModule->citeNatbibRB, SIGNAL(clicked()), - this, SLOT(biblioChanged())); + connect(biblioModule->citeEngineCO, SIGNAL(activated(int)), + this, SLOT(citeEngineChanged(int))); connect(biblioModule->citeStyleCO, SIGNAL(activated(int)), this, SLOT(biblioChanged())); - connect(biblioModule->citeJurabibRB, SIGNAL(clicked()), - this, SLOT(biblioChanged())); connect(biblioModule->bibtopicCB, SIGNAL(clicked()), this, SLOT(biblioChanged())); connect(biblioModule->bibtexCO, SIGNAL(activated(int)), @@ -1151,15 +1140,19 @@ GuiDocument::GuiDocument(GuiView & lv) connect(biblioModule->bibtexStyleLE, SIGNAL(textChanged(QString)), this, SLOT(biblioChanged())); + biblioModule->citeEngineCO->clear(); + for (LyXCiteEngine const & cet : theCiteEnginesList) { + biblioModule->citeEngineCO->addItem(qt_(cet.getName()), toqstr(cet.getID())); + int const i = biblioModule->citeEngineCO->findData(toqstr(cet.getID())); + biblioModule->citeEngineCO->setItemData(i, qt_(cet.getDescription()), + Qt::ToolTipRole); + } + biblioModule->bibtexOptionsLE->setValidator(new NoNewLineValidator( biblioModule->bibtexOptionsLE)); biblioModule->bibtexStyleLE->setValidator(new NoNewLineValidator( biblioModule->bibtexStyleLE)); - biblioModule->citeStyleCO->addItem(qt_("Author-year")); - biblioModule->citeStyleCO->addItem(qt_("Numerical")); - biblioModule->citeStyleCO->setCurrentIndex(0); - // NOTE: we do not provide "custom" here for security reasons! biblioModule->bibtexCO->clear(); biblioModule->bibtexCO->addItem(qt_("Default"), QString("default")); @@ -2278,6 +2271,19 @@ void GuiDocument::biblioChanged() } +void GuiDocument::citeEngineChanged(int n) +{ + QString const engine = biblioModule->citeEngineCO->itemData(n).toString(); + + vector<string> const engs = + theCiteEnginesList[fromqstr(engine)]->getEngineType(); + + updateCiteStyles(engs); + + biblioChanged(); +} + + void GuiDocument::bibtexChanged(int n) { biblioModule->bibtexOptionsLE->setEnabled( @@ -2289,7 +2295,8 @@ void GuiDocument::bibtexChanged(int n) void GuiDocument::setAuthorYear(bool authoryear) { if (authoryear) - biblioModule->citeStyleCO->setCurrentIndex(0); + biblioModule->citeStyleCO->setCurrentIndex( + biblioModule->citeStyleCO->findData(ENGINE_TYPE_AUTHORYEAR)); biblioChanged(); } @@ -2297,11 +2304,39 @@ void GuiDocument::setAuthorYear(bool authoryear) void GuiDocument::setNumerical(bool numerical) { if (numerical) - biblioModule->citeStyleCO->setCurrentIndex(1); + biblioModule->citeStyleCO->setCurrentIndex( + biblioModule->citeStyleCO->findData(ENGINE_TYPE_NUMERICAL)); biblioChanged(); } +void GuiDocument::updateCiteStyles(vector<string> const & engs, CiteEngineType const & sel) +{ + biblioModule->citeStyleCO->clear(); + + vector<string>::const_iterator it = engs.begin(); + vector<string>::const_iterator end = engs.end(); + for (; it != end; ++it) { + if (*it == "default") + biblioModule->citeStyleCO->addItem(qt_("Basic numerical"), + ENGINE_TYPE_DEFAULT); + else if (*it == "authoryear") + biblioModule->citeStyleCO->addItem(qt_("Author-year"), + ENGINE_TYPE_AUTHORYEAR); + else if (*it == "numerical") + biblioModule->citeStyleCO->addItem(qt_("Author-number"), + ENGINE_TYPE_NUMERICAL); + } + int i = biblioModule->citeStyleCO->findData(sel); + if (biblioModule->citeStyleCO->findData(sel) == -1) + i = 0; + biblioModule->citeStyleCO->setCurrentIndex(i); + + biblioModule->citationStyleL->setEnabled(engs.size() > 1); + biblioModule->citeStyleCO->setEnabled(engs.size() > 1); +} + + void GuiDocument::updateEngineType(string const & items, CiteEngineType const & sel) { engine_types_.clear(); @@ -2314,28 +2349,7 @@ void GuiDocument::updateEngineType(string const & items, CiteEngineType const & engine_types_.push_back(style); } - switch (sel) { - case ENGINE_TYPE_AUTHORYEAR: - biblioModule->citeStyleCO->setCurrentIndex(0); - break; - case ENGINE_TYPE_NUMERICAL: - case ENGINE_TYPE_DEFAULT: - biblioModule->citeStyleCO->setCurrentIndex(1); - break; - } - - biblioModule->citationStyleL->setEnabled(nn > 1); - biblioModule->citeStyleCO->setEnabled(nn > 1); - - if (nn != 1) - return; - - // If the textclass allows only one of authoryear or numerical, - // we have no choice but to force that engine type. - if (engine_types_[0] == "authoryear") - biblioModule->citeStyleCO->setCurrentIndex(0); - else - biblioModule->citeStyleCO->setCurrentIndex(1); + updateCiteStyles(engine_types_, sel); } @@ -2588,19 +2602,17 @@ void GuiDocument::applyView() bp_.use_refstyle = latexModule->refstyleCB->isChecked(); // biblio - if (biblioModule->citeNatbibRB->isChecked()) - bp_.setCiteEngine("natbib"); - else if (biblioModule->citeJurabibRB->isChecked()) - bp_.setCiteEngine("jurabib"); - if (biblioModule->citeDefaultRB->isChecked()) { - bp_.setCiteEngine("basic"); - bp_.setCiteEngineType(ENGINE_TYPE_DEFAULT); - } - else - if (biblioModule->citeStyleCO->currentIndex()) - bp_.setCiteEngineType(ENGINE_TYPE_NUMERICAL); + string const engine = + fromqstr(biblioModule->citeEngineCO->itemData( + biblioModule->citeEngineCO->currentIndex()).toString()); + bp_.setCiteEngine(engine); + + CiteEngineType const style = CiteEngineType(biblioModule->citeStyleCO->itemData( + biblioModule->citeStyleCO->currentIndex()).toInt()); + if (theCiteEnginesList[engine]->hasEngineType(style)) + bp_.setCiteEngineType(style); else - bp_.setCiteEngineType(ENGINE_TYPE_AUTHORYEAR); + bp_.setCiteEngineType(ENGINE_TYPE_DEFAULT); bp_.use_bibtopic = biblioModule->bibtopicCB->isChecked(); @@ -3016,21 +3028,15 @@ void GuiDocument::paramsToDialog() // biblio string const cite_engine = bp_.citeEngine().list().front(); - biblioModule->citeDefaultRB->setChecked( - cite_engine == "basic"); - - biblioModule->citeJurabibRB->setChecked( - cite_engine == "jurabib"); - - biblioModule->citeNatbibRB->setChecked( - cite_engine == "natbib"); - - biblioModule->citeStyleCO->setCurrentIndex( - bp_.citeEngineType() & ENGINE_TYPE_NUMERICAL); + biblioModule->citeEngineCO->setCurrentIndex( + biblioModule->citeEngineCO->findData(toqstr(cite_engine))); updateEngineType(documentClass().opt_enginetype(), bp_.citeEngineType()); + biblioModule->citeStyleCO->setCurrentIndex( + biblioModule->citeStyleCO->findData(bp_.citeEngineType())); + biblioModule->bibtopicCB->setChecked( bp_.use_bibtopic); diff --git a/src/frontends/qt4/GuiDocument.h b/src/frontends/qt4/GuiDocument.h index c055378..e5aa4fa 100644 --- a/src/frontends/qt4/GuiDocument.h +++ b/src/frontends/qt4/GuiDocument.h @@ -75,6 +75,8 @@ public: void updateFontsize(std::string const &, std::string const &); void updateFontlist(); void updateDefaultFormat(); + void updateCiteStyles(std::vector<std::string> const &, + CiteEngineType const & sel = ENGINE_TYPE_AUTHORYEAR); void updateEngineType(std::string const &, CiteEngineType const &); void updatePagestyle(std::string const &, std::string const &); bool isChildIncluded(std::string const &); @@ -113,6 +115,7 @@ private Q_SLOTS: void classChanged_adaptor(); void languagePackageChanged(int); void biblioChanged(); + void citeEngineChanged(int); void bibtexChanged(int); void setAuthorYear(bool); void setNumerical(bool); diff --git a/src/frontends/qt4/ui/BiblioUi.ui b/src/frontends/qt4/ui/BiblioUi.ui index f0103cf..7cc821b 100644 --- a/src/frontends/qt4/ui/BiblioUi.ui +++ b/src/frontends/qt4/ui/BiblioUi.ui @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>BiblioUi</class> - <widget class="QWidget" name="BiblioUi" > - <property name="geometry" > + <widget class="QWidget" name="BiblioUi"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,81 +10,93 @@ <height>394</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string/> </property> - <layout class="QGridLayout" name="gridLayout_3" > - <item row="0" column="0" > - <widget class="QGroupBox" name="CiteStyleBG" > - <property name="title" > + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QGroupBox" name="CiteStyleBG"> + <property name="title"> <string>Citation Style</string> </property> - <property name="flat" > + <property name="flat"> <bool>true</bool> </property> - <layout class="QGridLayout" name="gridLayout" > - <item row="0" column="0" > - <widget class="QRadioButton" name="citeDefaultRB" > - <property name="toolTip" > - <string>Use BibTeX's default numerical styles</string> - </property> - <property name="text" > - <string>&Default (numerical)</string> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <layout class="QHBoxLayout"> + <property name="spacing"> + <number>6</number> </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QRadioButton" name="citeNatbibRB" > - <property name="toolTip" > - <string>Use the natbib styles for natural sciences and arts. Set additional parameters in document class options.</string> + <property name="leftMargin"> + <number>0</number> </property> - <property name="text" > - <string>&Natbib</string> + <property name="topMargin"> + <number>0</number> </property> - </widget> - </item> - <item row="1" column="1" > - <layout class="QHBoxLayout" > - <property name="spacing" > - <number>6</number> + <property name="rightMargin"> + <number>0</number> </property> - <property name="margin" > + <property name="bottomMargin"> <number>0</number> </property> <item> - <widget class="QLabel" name="citationStyleL" > - <property name="enabled" > + <widget class="QLabel" name="citeEngineLA"> + <property name="toolTip"> + <string/> + </property> + <property name="text"> + <string>Sty&le Engine:</string> + </property> + <property name="buddy"> + <cstring>citeEngineCO</cstring> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="citeEngineCO"> + <property name="toolTip"> + <string>A selection of different style engines (such as natbib) that respectively provide support for specific citytion and bibliography styles. Expand to get more information.</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="citationStyleL"> + <property name="enabled"> <bool>false</bool> </property> - <property name="text" > - <string>Natbib &style:</string> + <property name="text"> + <string>&Variant:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>citeStyleCO</cstring> </property> </widget> </item> <item> - <widget class="QComboBox" name="citeStyleCO" > - <property name="enabled" > + <widget class="QComboBox" name="citeStyleCO"> + <property name="enabled"> <bool>false</bool> </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="Fixed" hsizetype="Fixed" > + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> + <property name="toolTip"> + <string>Provides available cite style variants.</string> + </property> </widget> </item> </layout> </item> - <item row="1" column="2" > + <item row="0" column="1"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>40</width> <height>20</height> @@ -91,55 +104,45 @@ </property> </spacer> </item> - <item row="2" column="0" > - <widget class="QRadioButton" name="citeJurabibRB" > - <property name="toolTip" > - <string>Use the jurabib styles for law and humanities</string> - </property> - <property name="text" > - <string>&Jurabib</string> - </property> - </widget> - </item> </layout> </widget> </item> - <item row="1" column="0" > - <widget class="QGroupBox" name="BiblioStyleBG" > - <property name="title" > + <item row="1" column="0"> + <widget class="QGroupBox" name="BiblioStyleBG"> + <property name="title"> <string>Bibliography Style</string> </property> - <property name="flat" > + <property name="flat"> <bool>true</bool> </property> - <layout class="QGridLayout" name="gridLayout_1" > - <item row="0" column="0" > - <layout class="QHBoxLayout" name="horizontalLayout_1" > + <layout class="QGridLayout" name="gridLayout_1"> + <item row="0" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout_1"> <item> - <widget class="QLabel" name="bibtexStyleLA" > - <property name="text" > + <widget class="QLabel" name="bibtexStyleLA"> + <property name="text"> <string>Default st&yle:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>bibtexStyleLE</cstring> </property> </widget> </item> <item> - <widget class="QLineEdit" name="bibtexStyleLE" > - <property name="toolTip" > + <widget class="QLineEdit" name="bibtexStyleLE"> + <property name="toolTip"> <string>Define the default BibTeX style</string> </property> </widget> </item> </layout> </item> - <item row="1" column="0" > - <widget class="QCheckBox" name="bibtopicCB" > - <property name="toolTip" > + <item row="1" column="0"> + <widget class="QCheckBox" name="bibtopicCB"> + <property name="toolTip"> <string>Select this if you want to split your bibliography into sections</string> </property> - <property name="text" > + <property name="text"> <string>S&ectioned bibliography</string> </property> </widget> @@ -147,45 +150,45 @@ </layout> </widget> </item> - <item row="2" column="0" > - <widget class="QGroupBox" name="bibtexGB" > - <property name="toolTip" > + <item row="2" column="0"> + <widget class="QGroupBox" name="bibtexGB"> + <property name="toolTip"> <string>Here you can define an alternative program to or specific options of BibTeX.</string> </property> - <property name="title" > + <property name="title"> <string>Bibliography Generation</string> </property> - <property name="flat" > + <property name="flat"> <bool>true</bool> </property> - <layout class="QGridLayout" name="gridLayout_2" > - <item row="0" column="0" > - <layout class="QHBoxLayout" name="horizontalLayout" > + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout"> <item> - <widget class="QLabel" name="bibtexLA" > - <property name="text" > + <widget class="QLabel" name="bibtexLA"> + <property name="text"> <string>&Processor:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>bibtexCO</cstring> </property> </widget> </item> <item> - <widget class="QComboBox" name="bibtexCO" > - <property name="toolTip" > + <widget class="QComboBox" name="bibtexCO"> + <property name="toolTip"> <string>Select a processor</string> </property> </widget> </item> </layout> </item> - <item rowspan="2" row="0" column="1" > - <spacer name="horizontalSpacer" > - <property name="orientation" > + <item row="0" column="1" rowspan="2"> + <spacer name="horizontalSpacer"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>183</width> <height>20</height> @@ -193,21 +196,21 @@ </property> </spacer> </item> - <item row="1" column="0" > - <layout class="QHBoxLayout" name="horizontalLayout_2" > + <item row="1" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> - <widget class="QLabel" name="bibtexOptionsLA" > - <property name="text" > - <string>&Options:</string> + <widget class="QLabel" name="bibtexOptionsLA"> + <property name="text"> + <string>Op&tions:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>bibtexOptionsLE</cstring> </property> </widget> </item> <item> - <widget class="QLineEdit" name="bibtexOptionsLE" > - <property name="toolTip" > + <widget class="QLineEdit" name="bibtexOptionsLE"> + <property name="toolTip"> <string>Define options such as --min-crossrefs (see the documentation of BibTeX)</string> </property> </widget> @@ -217,15 +220,15 @@ </layout> </widget> </item> - <item row="3" column="0" > + <item row="3" column="0"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="sizeType" > + <property name="sizeType"> <enum>QSizePolicy::Expanding</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>20</height> @@ -236,7 +239,7 @@ </layout> </widget> <includes> - <include location="local" >qt_i18n.h</include> + <include location="local">qt_i18n.h</include> </includes> <resources/> <connections/>