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.
This commit is contained in:
Juergen Spitzmueller 2016-12-31 09:28:51 +01:00
parent 97aea7e5b1
commit 59a4f263a4
9 changed files with 253 additions and 206 deletions

View File

@ -1,6 +1,7 @@
# \DeclareLyXCiteEngine{BibTeX (basic)} # \DeclareLyXCiteEngine{Basic (BibTeX)}
# DescriptionBegin # 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 # DescriptionEnd
# Excludes: jurabib | natbib # Excludes: jurabib | natbib

View File

@ -1,8 +1,8 @@
# \DeclareLyXCiteEngine[jurabib.sty]{Jurabib} # \DeclareLyXCiteEngine[jurabib.sty]{Jurabib (BibTeX)}
# DescriptionBegin # DescriptionBegin
# Loads the LaTeX package jurabib, a citation engine. Jurabib supports annotations, # Jurabib supports a range of author-year styles primarily suitable for law studies
# author-year style citations and hyphenation patterns for bibliography entries in # and the Humanities. It includes localizations for English, German, French, Dutch,
# English, German, French, Dutch, Spanish and Italian. # Spanish and Italian.
# DescriptionEnd # DescriptionEnd
# Excludes: basic | natbib # Excludes: basic | natbib

View File

@ -1,9 +1,9 @@
# \DeclareLyXCiteEngine[natbib.sty]{Natbib} # \DeclareLyXCiteEngine[natbib.sty]{Natbib (BibTeX)}
# DescriptionBegin # DescriptionBegin
# Loads the LaTeX package natbib, a citation engine. Natbib supports # Natbib supports a range of both author-year and numerical styles mainly
# both author-year and numerical styles for citations, automatic sorting # aimed at the Humanities. It features automatic sorting and merging of
# and merging of numerical citations, annotations, capitalization of the # numerical citations, annotations, capitalization of the `van' part of
# `van' part of author names, shortened and full author lists, and more. # author names, shortened and full author lists, and more.
# DescriptionEnd # DescriptionEnd
# Excludes: basic | jurabib # Excludes: basic | jurabib

View File

@ -23,6 +23,7 @@
#include "Buffer.h" #include "Buffer.h"
#include "buffer_funcs.h" #include "buffer_funcs.h"
#include "Bullet.h" #include "Bullet.h"
#include "CiteEnginesList.h"
#include "Color.h" #include "Color.h"
#include "ColorSet.h" #include "ColorSet.h"
#include "Converter.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 // Spacing
typedef Translator<string, Spacing::Space> SpaceTranslator; typedef Translator<string, Spacing::Space> SpaceTranslator;
@ -863,7 +843,7 @@ string BufferParams::readToken(Lexer & lex, string const & token,
} else if (token == "\\cite_engine_type") { } else if (token == "\\cite_engine_type") {
string engine_type; string engine_type;
lex >> engine_type; lex >> engine_type;
cite_engine_type_ = citeenginetypetranslator().find(engine_type); cite_engine_type_ = theCiteEnginesList.getType(engine_type);
} else if (token == "\\biblio_style") { } else if (token == "\\biblio_style") {
lex.eatLine(); lex.eatLine();
biblio_style = lex.getString(); biblio_style = lex.getString();
@ -1234,7 +1214,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
os << "basic"; 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\\biblio_style " << biblio_style
<< "\n\\use_bibtopic " << convert<string>(use_bibtopic) << "\n\\use_bibtopic " << convert<string>(use_bibtopic)
<< "\n\\use_indices " << convert<string>(use_indices) << "\n\\use_indices " << convert<string>(use_indices)

View File

@ -14,6 +14,7 @@
#include "CiteEnginesList.h" #include "CiteEnginesList.h"
#include "Citation.h"
#include "LaTeXFeatures.h" #include "LaTeXFeatures.h"
#include "Lexer.h" #include "Lexer.h"
@ -22,6 +23,7 @@
#include "support/gettext.h" #include "support/gettext.h"
#include "support/filetools.h" #include "support/filetools.h"
#include "support/lstrings.h" #include "support/lstrings.h"
#include "support/Translator.h"
#include <algorithm> #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 bool LyXCiteEngine::isCompatible(string const & cename) const
{ {
// do we exclude it? // 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() // Much of this is borrowed from LayoutFileList::read()
bool CiteEnginesList::read() bool CiteEnginesList::read()
{ {

View File

@ -13,6 +13,8 @@
#ifndef CITEENGINESLIST_H #ifndef CITEENGINESLIST_H
#define CITEENGINESLIST_H #define CITEENGINESLIST_H
#include "Citation.h"
#include <string> #include <string>
#include <vector> #include <vector>
@ -29,13 +31,13 @@ namespace lyx {
* which must begin roughly so: * which must begin roughly so:
* # \DeclareLyXCiteEngine[natbib.sty]{Natbib} * # \DeclareLyXCiteEngine[natbib.sty]{Natbib}
* # DescriptionBegin * # DescriptionBegin
* # Loads the LaTeX package natbib, a citation engine. Natbib supports * # Natbib supports a range of both author-year and numerical styles mainly
* # both author-year and numerical styles for citations, automatic sorting * # aimed at the Humanities. It features automatic sorting and merging of
* # and merging of numerical citations, annotations, capitalization of the * # numerical citations, annotations, capitalization of the `van' part of
* # `van' part of author names, shortened and full author lists, and more. * # author names, shortened and full author lists, and more.
* # DescriptionEnd * # DescriptionEnd
* # Excludes: basic | jurabib * # 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 * Requires and Excludes lines are read by the configuration script
* and written to a file citeengines.lst in the user configuration directory. * and written to a file citeengines.lst in the user configuration directory.
* That file is then read on startup to populate the CiteEnginesList, below. * 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_; } std::vector<std::string> const & getEngineType() const { return engine_types_; }
/// ///
bool hasEngineType(CiteEngineType const &) const;
///
std::string const & getDescription() const { return description_; } std::string const & getDescription() const { return description_; }
/// ///
std::vector<std::string> const & getPackageList() const std::vector<std::string> const & getPackageList() const
@ -121,6 +125,10 @@ class CiteEnginesList {
public: public:
/// ///
CiteEnginesList() {} CiteEnginesList() {}
///
std::string getTypeAsString(CiteEngineType const &) const;
///
CiteEngineType getType(std::string const &) const;
/// reads the engines from a file generated by configure.py /// reads the engines from a file generated by configure.py
bool read(); bool read();
/// ///

View File

@ -29,6 +29,7 @@
#include "Buffer.h" #include "Buffer.h"
#include "BufferParams.h" #include "BufferParams.h"
#include "BufferView.h" #include "BufferView.h"
#include "CiteEnginesList.h"
#include "Color.h" #include "Color.h"
#include "ColorCache.h" #include "ColorCache.h"
#include "Converter.h" #include "Converter.h"
@ -1126,22 +1127,10 @@ GuiDocument::GuiDocument(GuiView & lv)
// biblio // biblio
biblioModule = new UiWidget<Ui::BiblioUi>; biblioModule = new UiWidget<Ui::BiblioUi>;
connect(biblioModule->citeDefaultRB, SIGNAL(toggled(bool)), connect(biblioModule->citeEngineCO, SIGNAL(activated(int)),
this, SLOT(setNumerical(bool))); this, SLOT(citeEngineChanged(int)));
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->citeStyleCO, SIGNAL(activated(int)), connect(biblioModule->citeStyleCO, SIGNAL(activated(int)),
this, SLOT(biblioChanged())); this, SLOT(biblioChanged()));
connect(biblioModule->citeJurabibRB, SIGNAL(clicked()),
this, SLOT(biblioChanged()));
connect(biblioModule->bibtopicCB, SIGNAL(clicked()), connect(biblioModule->bibtopicCB, SIGNAL(clicked()),
this, SLOT(biblioChanged())); this, SLOT(biblioChanged()));
connect(biblioModule->bibtexCO, SIGNAL(activated(int)), connect(biblioModule->bibtexCO, SIGNAL(activated(int)),
@ -1151,15 +1140,19 @@ GuiDocument::GuiDocument(GuiView & lv)
connect(biblioModule->bibtexStyleLE, SIGNAL(textChanged(QString)), connect(biblioModule->bibtexStyleLE, SIGNAL(textChanged(QString)),
this, SLOT(biblioChanged())); 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->setValidator(new NoNewLineValidator(
biblioModule->bibtexOptionsLE)); biblioModule->bibtexOptionsLE));
biblioModule->bibtexStyleLE->setValidator(new NoNewLineValidator( biblioModule->bibtexStyleLE->setValidator(new NoNewLineValidator(
biblioModule->bibtexStyleLE)); 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! // NOTE: we do not provide "custom" here for security reasons!
biblioModule->bibtexCO->clear(); biblioModule->bibtexCO->clear();
biblioModule->bibtexCO->addItem(qt_("Default"), QString("default")); 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) void GuiDocument::bibtexChanged(int n)
{ {
biblioModule->bibtexOptionsLE->setEnabled( biblioModule->bibtexOptionsLE->setEnabled(
@ -2289,7 +2295,8 @@ void GuiDocument::bibtexChanged(int n)
void GuiDocument::setAuthorYear(bool authoryear) void GuiDocument::setAuthorYear(bool authoryear)
{ {
if (authoryear) if (authoryear)
biblioModule->citeStyleCO->setCurrentIndex(0); biblioModule->citeStyleCO->setCurrentIndex(
biblioModule->citeStyleCO->findData(ENGINE_TYPE_AUTHORYEAR));
biblioChanged(); biblioChanged();
} }
@ -2297,11 +2304,39 @@ void GuiDocument::setAuthorYear(bool authoryear)
void GuiDocument::setNumerical(bool numerical) void GuiDocument::setNumerical(bool numerical)
{ {
if (numerical) if (numerical)
biblioModule->citeStyleCO->setCurrentIndex(1); biblioModule->citeStyleCO->setCurrentIndex(
biblioModule->citeStyleCO->findData(ENGINE_TYPE_NUMERICAL));
biblioChanged(); 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) void GuiDocument::updateEngineType(string const & items, CiteEngineType const & sel)
{ {
engine_types_.clear(); engine_types_.clear();
@ -2314,28 +2349,7 @@ void GuiDocument::updateEngineType(string const & items, CiteEngineType const &
engine_types_.push_back(style); engine_types_.push_back(style);
} }
switch (sel) { updateCiteStyles(engine_types_, 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);
} }
@ -2588,19 +2602,17 @@ void GuiDocument::applyView()
bp_.use_refstyle = latexModule->refstyleCB->isChecked(); bp_.use_refstyle = latexModule->refstyleCB->isChecked();
// biblio // biblio
if (biblioModule->citeNatbibRB->isChecked()) string const engine =
bp_.setCiteEngine("natbib"); fromqstr(biblioModule->citeEngineCO->itemData(
else if (biblioModule->citeJurabibRB->isChecked()) biblioModule->citeEngineCO->currentIndex()).toString());
bp_.setCiteEngine("jurabib"); bp_.setCiteEngine(engine);
if (biblioModule->citeDefaultRB->isChecked()) {
bp_.setCiteEngine("basic"); CiteEngineType const style = CiteEngineType(biblioModule->citeStyleCO->itemData(
biblioModule->citeStyleCO->currentIndex()).toInt());
if (theCiteEnginesList[engine]->hasEngineType(style))
bp_.setCiteEngineType(style);
else
bp_.setCiteEngineType(ENGINE_TYPE_DEFAULT); bp_.setCiteEngineType(ENGINE_TYPE_DEFAULT);
}
else
if (biblioModule->citeStyleCO->currentIndex())
bp_.setCiteEngineType(ENGINE_TYPE_NUMERICAL);
else
bp_.setCiteEngineType(ENGINE_TYPE_AUTHORYEAR);
bp_.use_bibtopic = bp_.use_bibtopic =
biblioModule->bibtopicCB->isChecked(); biblioModule->bibtopicCB->isChecked();
@ -3016,21 +3028,15 @@ void GuiDocument::paramsToDialog()
// biblio // biblio
string const cite_engine = bp_.citeEngine().list().front(); string const cite_engine = bp_.citeEngine().list().front();
biblioModule->citeDefaultRB->setChecked( biblioModule->citeEngineCO->setCurrentIndex(
cite_engine == "basic"); biblioModule->citeEngineCO->findData(toqstr(cite_engine)));
biblioModule->citeJurabibRB->setChecked(
cite_engine == "jurabib");
biblioModule->citeNatbibRB->setChecked(
cite_engine == "natbib");
biblioModule->citeStyleCO->setCurrentIndex(
bp_.citeEngineType() & ENGINE_TYPE_NUMERICAL);
updateEngineType(documentClass().opt_enginetype(), updateEngineType(documentClass().opt_enginetype(),
bp_.citeEngineType()); bp_.citeEngineType());
biblioModule->citeStyleCO->setCurrentIndex(
biblioModule->citeStyleCO->findData(bp_.citeEngineType()));
biblioModule->bibtopicCB->setChecked( biblioModule->bibtopicCB->setChecked(
bp_.use_bibtopic); bp_.use_bibtopic);

View File

@ -75,6 +75,8 @@ public:
void updateFontsize(std::string const &, std::string const &); void updateFontsize(std::string const &, std::string const &);
void updateFontlist(); void updateFontlist();
void updateDefaultFormat(); void updateDefaultFormat();
void updateCiteStyles(std::vector<std::string> const &,
CiteEngineType const & sel = ENGINE_TYPE_AUTHORYEAR);
void updateEngineType(std::string const &, CiteEngineType const &); void updateEngineType(std::string const &, CiteEngineType const &);
void updatePagestyle(std::string const &, std::string const &); void updatePagestyle(std::string const &, std::string const &);
bool isChildIncluded(std::string const &); bool isChildIncluded(std::string const &);
@ -113,6 +115,7 @@ private Q_SLOTS:
void classChanged_adaptor(); void classChanged_adaptor();
void languagePackageChanged(int); void languagePackageChanged(int);
void biblioChanged(); void biblioChanged();
void citeEngineChanged(int);
void bibtexChanged(int); void bibtexChanged(int);
void setAuthorYear(bool); void setAuthorYear(bool);
void setNumerical(bool); void setNumerical(bool);

View File

@ -1,7 +1,8 @@
<ui version="4.0" > <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>BiblioUi</class> <class>BiblioUi</class>
<widget class="QWidget" name="BiblioUi" > <widget class="QWidget" name="BiblioUi">
<property name="geometry" > <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
@ -9,81 +10,93 @@
<height>394</height> <height>394</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle">
<string/> <string/>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3" > <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" > <item row="0" column="0">
<widget class="QGroupBox" name="CiteStyleBG" > <widget class="QGroupBox" name="CiteStyleBG">
<property name="title" > <property name="title">
<string>Citation Style</string> <string>Citation Style</string>
</property> </property>
<property name="flat" > <property name="flat">
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout" > <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" > <item row="0" column="0">
<widget class="QRadioButton" name="citeDefaultRB" > <layout class="QHBoxLayout">
<property name="toolTip" > <property name="spacing">
<string>Use BibTeX's default numerical styles</string>
</property>
<property name="text" >
<string>&amp;Default (numerical)</string>
</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>
<property name="text" >
<string>&amp;Natbib</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<layout class="QHBoxLayout" >
<property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<property name="margin" > <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QLabel" name="citationStyleL" > <widget class="QLabel" name="citeEngineLA">
<property name="enabled" > <property name="toolTip">
<string/>
</property>
<property name="text">
<string>Sty&amp;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> <bool>false</bool>
</property> </property>
<property name="text" > <property name="text">
<string>Natbib &amp;style:</string> <string>&amp;Variant:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>citeStyleCO</cstring> <cstring>citeStyleCO</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="citeStyleCO" > <widget class="QComboBox" name="citeStyleCO">
<property name="enabled" > <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="toolTip">
<string>Provides available cite style variants.</string>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item row="1" column="2" > <item row="0" column="1">
<spacer> <spacer>
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
@ -91,55 +104,45 @@
</property> </property>
</spacer> </spacer>
</item> </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>&amp;Jurabib</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0" > <item row="1" column="0">
<widget class="QGroupBox" name="BiblioStyleBG" > <widget class="QGroupBox" name="BiblioStyleBG">
<property name="title" > <property name="title">
<string>Bibliography Style</string> <string>Bibliography Style</string>
</property> </property>
<property name="flat" > <property name="flat">
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout_1" > <layout class="QGridLayout" name="gridLayout_1">
<item row="0" column="0" > <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1" > <layout class="QHBoxLayout" name="horizontalLayout_1">
<item> <item>
<widget class="QLabel" name="bibtexStyleLA" > <widget class="QLabel" name="bibtexStyleLA">
<property name="text" > <property name="text">
<string>Default st&amp;yle:</string> <string>Default st&amp;yle:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>bibtexStyleLE</cstring> <cstring>bibtexStyleLE</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="bibtexStyleLE" > <widget class="QLineEdit" name="bibtexStyleLE">
<property name="toolTip" > <property name="toolTip">
<string>Define the default BibTeX style</string> <string>Define the default BibTeX style</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item row="1" column="0" > <item row="1" column="0">
<widget class="QCheckBox" name="bibtopicCB" > <widget class="QCheckBox" name="bibtopicCB">
<property name="toolTip" > <property name="toolTip">
<string>Select this if you want to split your bibliography into sections</string> <string>Select this if you want to split your bibliography into sections</string>
</property> </property>
<property name="text" > <property name="text">
<string>S&amp;ectioned bibliography</string> <string>S&amp;ectioned bibliography</string>
</property> </property>
</widget> </widget>
@ -147,45 +150,45 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0" > <item row="2" column="0">
<widget class="QGroupBox" name="bibtexGB" > <widget class="QGroupBox" name="bibtexGB">
<property name="toolTip" > <property name="toolTip">
<string>Here you can define an alternative program to or specific options of BibTeX.</string> <string>Here you can define an alternative program to or specific options of BibTeX.</string>
</property> </property>
<property name="title" > <property name="title">
<string>Bibliography Generation</string> <string>Bibliography Generation</string>
</property> </property>
<property name="flat" > <property name="flat">
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2" > <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" > <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout" > <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="bibtexLA" > <widget class="QLabel" name="bibtexLA">
<property name="text" > <property name="text">
<string>&amp;Processor:</string> <string>&amp;Processor:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>bibtexCO</cstring> <cstring>bibtexCO</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="bibtexCO" > <widget class="QComboBox" name="bibtexCO">
<property name="toolTip" > <property name="toolTip">
<string>Select a processor</string> <string>Select a processor</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item rowspan="2" row="0" column="1" > <item row="0" column="1" rowspan="2">
<spacer name="horizontalSpacer" > <spacer name="horizontalSpacer">
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0">
<size> <size>
<width>183</width> <width>183</width>
<height>20</height> <height>20</height>
@ -193,21 +196,21 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="0" > <item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2" > <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="bibtexOptionsLA" > <widget class="QLabel" name="bibtexOptionsLA">
<property name="text" > <property name="text">
<string>&amp;Options:</string> <string>Op&amp;tions:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>bibtexOptionsLE</cstring> <cstring>bibtexOptionsLE</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="bibtexOptionsLE" > <widget class="QLineEdit" name="bibtexOptionsLE">
<property name="toolTip" > <property name="toolTip">
<string>Define options such as --min-crossrefs (see the documentation of BibTeX)</string> <string>Define options such as --min-crossrefs (see the documentation of BibTeX)</string>
</property> </property>
</widget> </widget>
@ -217,15 +220,15 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="3" column="0" > <item row="3" column="0">
<spacer> <spacer>
<property name="orientation" > <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeType" > <property name="sizeType">
<enum>QSizePolicy::Expanding</enum> <enum>QSizePolicy::Expanding</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>20</height> <height>20</height>
@ -236,7 +239,7 @@
</layout> </layout>
</widget> </widget>
<includes> <includes>
<include location="local" >qt_i18n.h</include> <include location="local">qt_i18n.h</include>
</includes> </includes>
<resources/> <resources/>
<connections/> <connections/>