mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 02:35:20 +00:00
Citation dialog redesign
This commit is contained in:
parent
98eeaceb5e
commit
54248a6e98
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "GuiCitation.h"
|
#include "GuiCitation.h"
|
||||||
|
|
||||||
|
#include "GuiApplication.h"
|
||||||
#include "GuiSelectionManager.h"
|
#include "GuiSelectionManager.h"
|
||||||
#include "LyXToolBox.h"
|
#include "LyXToolBox.h"
|
||||||
#include "qt_helpers.h"
|
#include "qt_helpers.h"
|
||||||
@ -34,6 +35,7 @@
|
|||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
|
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
|
#include <QMenu>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QShowEvent>
|
#include <QShowEvent>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
@ -93,6 +95,36 @@ GuiCitation::GuiCitation(GuiView & lv)
|
|||||||
{
|
{
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
|
|
||||||
|
// The filter bar
|
||||||
|
filter_ = new FancyLineEdit(this);
|
||||||
|
#if QT_VERSION >= 0x040600
|
||||||
|
filter_->setButtonPixmap(FancyLineEdit::Right, getPixmap("images/", "editclear", "svgz,png"));
|
||||||
|
filter_->setButtonVisible(FancyLineEdit::Right, true);
|
||||||
|
filter_->setButtonToolTip(FancyLineEdit::Right, qt_("Clear text"));
|
||||||
|
filter_->setAutoHideButton(FancyLineEdit::Right, true);
|
||||||
|
#endif
|
||||||
|
#if QT_VERSION >= 0x040700
|
||||||
|
filter_->setPlaceholderText(qt_("All avail. citations"));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
filterBarL->addWidget(filter_, 0);
|
||||||
|
findKeysLA->setBuddy(filter_);
|
||||||
|
|
||||||
|
// Add search options as button menu
|
||||||
|
regexp_ = new QAction(qt_("Regular e&xpression"), this);
|
||||||
|
regexp_->setCheckable(true);
|
||||||
|
casesense_ = new QAction(qt_("Case se&nsitive"), this);
|
||||||
|
casesense_->setCheckable(true);
|
||||||
|
instant_ = new QAction(qt_("Search as you &type"), this);
|
||||||
|
instant_->setCheckable(true);
|
||||||
|
instant_->setChecked(true);
|
||||||
|
|
||||||
|
QMenu * searchOpts = new QMenu(this);
|
||||||
|
searchOpts->addAction(regexp_);
|
||||||
|
searchOpts->addAction(casesense_);
|
||||||
|
searchOpts->addAction(instant_);
|
||||||
|
searchOptionsPB->setMenu(searchOpts);
|
||||||
|
|
||||||
connect(citationStyleCO, SIGNAL(activated(int)),
|
connect(citationStyleCO, SIGNAL(activated(int)),
|
||||||
this, SLOT(on_citationStyleCO_currentIndexChanged(int)));
|
this, SLOT(on_citationStyleCO_currentIndexChanged(int)));
|
||||||
connect(fulllistCB, SIGNAL(clicked()),
|
connect(fulllistCB, SIGNAL(clicked()),
|
||||||
@ -103,8 +135,6 @@ GuiCitation::GuiCitation(GuiView & lv)
|
|||||||
this, SLOT(updateStyles()));
|
this, SLOT(updateStyles()));
|
||||||
connect(textAfterED, SIGNAL(textChanged(QString)),
|
connect(textAfterED, SIGNAL(textChanged(QString)),
|
||||||
this, SLOT(updateStyles()));
|
this, SLOT(updateStyles()));
|
||||||
connect(findLE, SIGNAL(returnPressed()),
|
|
||||||
this, SLOT(on_searchPB_clicked()));
|
|
||||||
connect(textBeforeED, SIGNAL(returnPressed()),
|
connect(textBeforeED, SIGNAL(returnPressed()),
|
||||||
this, SLOT(on_okPB_clicked()));
|
this, SLOT(on_okPB_clicked()));
|
||||||
connect(textAfterED, SIGNAL(returnPressed()),
|
connect(textAfterED, SIGNAL(returnPressed()),
|
||||||
@ -119,7 +149,20 @@ GuiCitation::GuiCitation(GuiView & lv)
|
|||||||
connect(selectionManager, SIGNAL(okHook()),
|
connect(selectionManager, SIGNAL(okHook()),
|
||||||
this, SLOT(on_okPB_clicked()));
|
this, SLOT(on_okPB_clicked()));
|
||||||
|
|
||||||
setFocusProxy(availableLV);
|
connect(filter_, SIGNAL(rightButtonClicked()),
|
||||||
|
this, SLOT(resetFilter()));
|
||||||
|
connect(filter_, SIGNAL(textEdited(QString)),
|
||||||
|
this, SLOT(filterChanged(QString)));
|
||||||
|
connect(filter_, SIGNAL(returnPressed()),
|
||||||
|
this, SLOT(filterPressed()));
|
||||||
|
connect(regexp_, SIGNAL(triggered()),
|
||||||
|
this, SLOT(regexChanged()));
|
||||||
|
connect(casesense_, SIGNAL(triggered()),
|
||||||
|
this, SLOT(caseChanged()));
|
||||||
|
connect(instant_, SIGNAL(triggered(bool)),
|
||||||
|
this, SLOT(instantChanged(bool)));
|
||||||
|
|
||||||
|
setFocusProxy(filter_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -152,42 +195,12 @@ void GuiCitation::applyView()
|
|||||||
|
|
||||||
void GuiCitation::showEvent(QShowEvent * e)
|
void GuiCitation::showEvent(QShowEvent * e)
|
||||||
{
|
{
|
||||||
findLE->clear();
|
filter_->clear();
|
||||||
availableLV->setFocus();
|
availableLV->setFocus();
|
||||||
|
|
||||||
// Set the minimal size of the QToolbox. Without this, the size of the
|
|
||||||
// QToolbox is only determined by values in the ui file (e.g. computed by
|
|
||||||
// qtcreator) and therefore causes portability and localisation issues. Note
|
|
||||||
// that the page widgets must have a layout with layoutSizeContraint =
|
|
||||||
// SetMinimumSize or similar. KNOWN ISSUE: the calculations are incorrect
|
|
||||||
// the first time the dialog is shown. This problem is mitigated by the fact
|
|
||||||
// that LyX remembers the dialog sizes between sessions.
|
|
||||||
QSize minimum_size = QSize(0,0);
|
|
||||||
// Compute the max of the minimal sizes of the pages
|
|
||||||
QWidget * page;
|
|
||||||
for (int i = 0; (page = citationTB->widget(i)); ++i)
|
|
||||||
minimum_size = minimum_size.expandedTo(page->minimumSizeHint());
|
|
||||||
// Add the height of the tabs
|
|
||||||
if (citationTB->currentWidget())
|
|
||||||
minimum_size.rheight() += citationTB->height() -
|
|
||||||
citationTB->currentWidget()->height();
|
|
||||||
citationTB->setMinimumSize(minimum_size);
|
|
||||||
|
|
||||||
DialogView::showEvent(e);
|
DialogView::showEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_citationTB_currentChanged(int i)
|
|
||||||
{
|
|
||||||
if (i == 0)
|
|
||||||
findLE->setFocus();
|
|
||||||
else if (citationStyleCO->isEnabled())
|
|
||||||
citationStyleCO->setFocus();
|
|
||||||
else
|
|
||||||
textAfterED->setFocus();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_okPB_clicked()
|
void GuiCitation::on_okPB_clicked()
|
||||||
{
|
{
|
||||||
applyView();
|
applyView();
|
||||||
@ -212,6 +225,7 @@ void GuiCitation::on_applyPB_clicked()
|
|||||||
void GuiCitation::on_restorePB_clicked()
|
void GuiCitation::on_restorePB_clicked()
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
|
updateFilterHint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -355,9 +369,11 @@ void GuiCitation::updateInfo(BiblioInfo const & bi, QModelIndex const & idx)
|
|||||||
{
|
{
|
||||||
if (!idx.isValid() || bi.empty()) {
|
if (!idx.isValid() || bi.empty()) {
|
||||||
infoML->document()->clear();
|
infoML->document()->clear();
|
||||||
|
infoML->setToolTip(qt_("Displays a sketchy preview if a citation is selected above"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
infoML->setToolTip(qt_("Sketchy preview of the selected citation"));
|
||||||
QString const keytxt = toqstr(
|
QString const keytxt = toqstr(
|
||||||
bi.getInfo(qstring_to_ucs4(idx.data().toString()), documentBuffer(), true));
|
bi.getInfo(qstring_to_ucs4(idx.data().toString()), documentBuffer(), true));
|
||||||
infoML->document()->setHtml(keytxt);
|
infoML->document()->setHtml(keytxt);
|
||||||
@ -390,8 +406,9 @@ void GuiCitation::findText(QString const & text, bool reset)
|
|||||||
else
|
else
|
||||||
entry_type = entries[index];
|
entry_type = entries[index];
|
||||||
|
|
||||||
bool const case_sentitive = caseCB->checkState();
|
bool const case_sentitive = casesense_->isChecked();
|
||||||
bool const reg_exp = regexCB->checkState();
|
bool const reg_exp = regexp_->isChecked();
|
||||||
|
|
||||||
findKey(bi, text, onlyKeys, field, entry_type,
|
findKey(bi, text, onlyKeys, field, entry_type,
|
||||||
case_sentitive, reg_exp, reset);
|
case_sentitive, reg_exp, reset);
|
||||||
//FIXME
|
//FIXME
|
||||||
@ -405,13 +422,13 @@ void GuiCitation::findText(QString const & text, bool reset)
|
|||||||
|
|
||||||
void GuiCitation::on_fieldsCO_currentIndexChanged(int /*index*/)
|
void GuiCitation::on_fieldsCO_currentIndexChanged(int /*index*/)
|
||||||
{
|
{
|
||||||
findText(findLE->text(), true);
|
findText(filter_->text(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_entriesCO_currentIndexChanged(int /*index*/)
|
void GuiCitation::on_entriesCO_currentIndexChanged(int /*index*/)
|
||||||
{
|
{
|
||||||
findText(findLE->text(), true);
|
findText(filter_->text(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -425,43 +442,58 @@ void GuiCitation::on_citationStyleCO_currentIndexChanged(int index)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_findLE_textChanged(const QString & text)
|
void GuiCitation::filterChanged(const QString & text)
|
||||||
{
|
{
|
||||||
bool const searchAsWeGo = (asTypeCB->checkState() == Qt::Checked);
|
|
||||||
searchPB->setDisabled(text.isEmpty() || searchAsWeGo);
|
|
||||||
if (!text.isEmpty()) {
|
if (!text.isEmpty()) {
|
||||||
if (searchAsWeGo)
|
if (instant_->isChecked())
|
||||||
findText(findLE->text());
|
findText(filter_->text());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
findText(findLE->text());
|
findText(filter_->text());
|
||||||
findLE->setFocus();
|
filter_->setFocus();
|
||||||
}
|
|
||||||
|
|
||||||
void GuiCitation::on_searchPB_clicked()
|
|
||||||
{
|
|
||||||
findText(findLE->text(), true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_caseCB_stateChanged(int)
|
void GuiCitation::filterPressed()
|
||||||
{
|
{
|
||||||
findText(findLE->text());
|
findText(filter_->text(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_regexCB_stateChanged(int)
|
void GuiCitation::resetFilter()
|
||||||
{
|
{
|
||||||
findText(findLE->text());
|
filter_->setText(QString());
|
||||||
|
findText(filter_->text(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiCitation::on_asTypeCB_stateChanged(int)
|
void GuiCitation::caseChanged()
|
||||||
{
|
{
|
||||||
bool const searchAsWeGo = (asTypeCB->checkState() == Qt::Checked);
|
findText(filter_->text());
|
||||||
searchPB->setDisabled(findLE->text().isEmpty() || searchAsWeGo);
|
}
|
||||||
if (searchAsWeGo)
|
|
||||||
findText(findLE->text(), true);
|
|
||||||
|
void GuiCitation::regexChanged()
|
||||||
|
{
|
||||||
|
findText(filter_->text());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiCitation::updateFilterHint()
|
||||||
|
{
|
||||||
|
QString const hint = instant_->isChecked() ?
|
||||||
|
qt_("Enter string to filter the list of available citations") :
|
||||||
|
qt_("Enter string to filter the list of available citations and press <Enter>");
|
||||||
|
filter_->setToolTip(hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiCitation::instantChanged(bool checked)
|
||||||
|
{
|
||||||
|
if (checked)
|
||||||
|
findText(filter_->text(), true);
|
||||||
|
|
||||||
|
updateFilterHint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -785,11 +817,11 @@ void GuiCitation::saveSession() const
|
|||||||
Dialog::saveSession();
|
Dialog::saveSession();
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
settings.setValue(
|
settings.setValue(
|
||||||
sessionKey() + "/regex", regexCB->isChecked());
|
sessionKey() + "/regex", regexp_->isChecked());
|
||||||
settings.setValue(
|
settings.setValue(
|
||||||
sessionKey() + "/casesensitive", caseCB->isChecked());
|
sessionKey() + "/casesensitive", casesense_->isChecked());
|
||||||
settings.setValue(
|
settings.setValue(
|
||||||
sessionKey() + "/autofind", asTypeCB->isChecked());
|
sessionKey() + "/autofind", instant_->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -797,12 +829,10 @@ void GuiCitation::restoreSession()
|
|||||||
{
|
{
|
||||||
Dialog::restoreSession();
|
Dialog::restoreSession();
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
regexCB->setChecked(
|
regexp_->setChecked(settings.value(sessionKey() + "/regex").toBool());
|
||||||
settings.value(sessionKey() + "/regex").toBool());
|
casesense_->setChecked(settings.value(sessionKey() + "/casesensitive").toBool());
|
||||||
caseCB->setChecked(
|
instant_->setChecked(settings.value(sessionKey() + "/autofind").toBool());
|
||||||
settings.value(sessionKey() + "/casesensitive").toBool());
|
updateFilterHint();
|
||||||
asTypeCB->setChecked(
|
|
||||||
settings.value(sessionKey() + "/autofind").toBool());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "DialogView.h"
|
#include "DialogView.h"
|
||||||
#include "ui_CitationUi.h"
|
#include "ui_CitationUi.h"
|
||||||
|
#include "FancyLineEdit.h"
|
||||||
|
|
||||||
#include "insets/InsetCommandParams.h"
|
#include "insets/InsetCommandParams.h"
|
||||||
|
|
||||||
@ -44,19 +45,19 @@ public:
|
|||||||
~GuiCitation();
|
~GuiCitation();
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_citationTB_currentChanged(int i);
|
|
||||||
void on_okPB_clicked();
|
void on_okPB_clicked();
|
||||||
void on_cancelPB_clicked();
|
void on_cancelPB_clicked();
|
||||||
void on_restorePB_clicked();
|
void on_restorePB_clicked();
|
||||||
void on_applyPB_clicked();
|
void on_applyPB_clicked();
|
||||||
void on_searchPB_clicked();
|
void filterPressed();
|
||||||
void on_findLE_textChanged(const QString & text);
|
void filterChanged(const QString & text);
|
||||||
void on_fieldsCO_currentIndexChanged(int index);
|
void on_fieldsCO_currentIndexChanged(int index);
|
||||||
void on_entriesCO_currentIndexChanged(int index);
|
void on_entriesCO_currentIndexChanged(int index);
|
||||||
void on_citationStyleCO_currentIndexChanged(int index);
|
void on_citationStyleCO_currentIndexChanged(int index);
|
||||||
void on_caseCB_stateChanged(int);
|
void resetFilter();
|
||||||
void on_regexCB_stateChanged(int);
|
void caseChanged();
|
||||||
void on_asTypeCB_stateChanged(int);
|
void regexChanged();
|
||||||
|
void instantChanged(bool checked);
|
||||||
void changed();
|
void changed();
|
||||||
/// set the citation keys, mark as changed
|
/// set the citation keys, mark as changed
|
||||||
void setCitedKeys();
|
void setCitedKeys();
|
||||||
@ -106,6 +107,8 @@ private:
|
|||||||
void updateFormatting(CitationStyle currentStyle);
|
void updateFormatting(CitationStyle currentStyle);
|
||||||
///
|
///
|
||||||
void updateControls(BiblioInfo const & bi);
|
void updateControls(BiblioInfo const & bi);
|
||||||
|
/// Set the appropriate hinting text on the filter bar
|
||||||
|
void updateFilterHint();
|
||||||
///
|
///
|
||||||
void init();
|
void init();
|
||||||
/// Clear selected keys
|
/// Clear selected keys
|
||||||
@ -151,6 +154,16 @@ private:
|
|||||||
/// the like, so it should be avoided.
|
/// the like, so it should be avoided.
|
||||||
BiblioInfo const & bibInfo() const;
|
BiblioInfo const & bibInfo() const;
|
||||||
|
|
||||||
|
/// contains the search box
|
||||||
|
FancyLineEdit * filter_;
|
||||||
|
|
||||||
|
/// Regexp action
|
||||||
|
QAction * regexp_;
|
||||||
|
/// Case sensitive action
|
||||||
|
QAction * casesense_;
|
||||||
|
/// Search as you type action
|
||||||
|
QAction * instant_;
|
||||||
|
|
||||||
/// last used citation style
|
/// last used citation style
|
||||||
int style_;
|
int style_;
|
||||||
///
|
///
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>590</width>
|
<width>614</width>
|
||||||
<height>506</height>
|
<height>506</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -16,17 +16,100 @@
|
|||||||
<property name="sizeGripEnabled">
|
<property name="sizeGripEnabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_4" rowstretch="1,0,0">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="findKeysLA">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Filter:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="filterBarL"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="fieldsCO">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Select the fields on which the filter applies</string>
|
||||||
|
</property>
|
||||||
|
<property name="maxVisibleItems">
|
||||||
|
<number>16</number>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::NoInsert</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeAdjustPolicy">
|
||||||
|
<enum>QComboBox::AdjustToContents</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>All fields</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="entriesCO">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Select the entry types on which the filter applies</string>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::NoInsert</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeAdjustPolicy">
|
||||||
|
<enum>QComboBox::AdjustToContents</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>All entry types</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="searchOptionsPB">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Click for more filter options</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>O&ptions</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="spacing">
|
<item row="0" column="0">
|
||||||
<number>6</number>
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
</property>
|
<item>
|
||||||
<property name="margin">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="availableKeysLA">
|
<widget class="QLabel" name="availableKeysLA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -37,35 +120,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<spacer>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>71</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="selectedKeysLA">
|
|
||||||
<property name="text">
|
|
||||||
<string>S&elected Citations:</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>selectedLV</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QListView" name="availableLV">
|
<widget class="QListView" name="availableLV">
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
@ -73,8 +127,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="spacerLA"/>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="addPB">
|
<widget class="QPushButton" name="addPB">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
@ -130,8 +189,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff/>
|
<normaloff>.</normaloff>.</iconset>
|
||||||
</iconset>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="autoDefault">
|
<property name="autoDefault">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -154,8 +212,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff/>
|
<normaloff>.</normaloff>.</iconset>
|
||||||
</iconset>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="autoDefault">
|
<property name="autoDefault">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -164,6 +221,18 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="selectedKeysLA">
|
||||||
|
<property name="text">
|
||||||
|
<string>Selected &Citations:</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>selectedLV</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QListView" name="selectedLV">
|
<widget class="QListView" name="selectedLV">
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
@ -173,6 +242,8 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QTextEdit" name="infoML">
|
<widget class="QTextEdit" name="infoML">
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
@ -184,6 +255,9 @@
|
|||||||
<property name="acceptDrops">
|
<property name="acceptDrops">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
<property name="readOnly">
|
<property name="readOnly">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
@ -193,190 +267,17 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="lyx::frontend::LyXToolBox" name="citationTB">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="accessibleName">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="page">
|
|
||||||
<attribute name="label">
|
|
||||||
<string>&Search Citation</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_3" columnstretch="0,1,0,0,0,0">
|
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetMinimumSize</enum>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="findKeysLA">
|
|
||||||
<property name="text">
|
|
||||||
<string>Searc&h:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>findLE</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1" colspan="4">
|
|
||||||
<widget class="QLineEdit" name="findLE">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Enter the text to search for and press Enter or click the button to search</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="5">
|
|
||||||
<widget class="QPushButton" name="searchPB">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Click or press Enter in the search box to search</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>&Search</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoDefault">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="fieldsLA">
|
|
||||||
<property name="text">
|
|
||||||
<string>Search &field:</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>fieldsCO</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QComboBox" name="fieldsCO">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maxVisibleItems">
|
|
||||||
<number>16</number>
|
|
||||||
</property>
|
|
||||||
<property name="insertPolicy">
|
|
||||||
<enum>QComboBox::NoInsert</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeAdjustPolicy">
|
|
||||||
<enum>QComboBox::AdjustToContents</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>All fields</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
|
||||||
<spacer>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="3">
|
|
||||||
<widget class="QCheckBox" name="regexCB">
|
|
||||||
<property name="text">
|
|
||||||
<string>Regular e&xpression</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="4" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="caseCB">
|
|
||||||
<property name="text">
|
|
||||||
<string>Case se&nsitive</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="entriesLA">
|
<widget class="QGroupBox" name="FormattingGB">
|
||||||
<property name="text">
|
<property name="title">
|
||||||
<string>Entry t&ypes:</string>
|
<string>Formatting</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy">
|
|
||||||
<cstring>entriesCO</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QComboBox" name="entriesCO">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="insertPolicy">
|
|
||||||
<enum>QComboBox::NoInsert</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeAdjustPolicy">
|
|
||||||
<enum>QComboBox::AdjustToContents</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>All entry types</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<spacer>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="4" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="asTypeCB">
|
|
||||||
<property name="text">
|
|
||||||
<string>Search as you &type</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="page_2">
|
|
||||||
<attribute name="label">
|
|
||||||
<string>For&matting</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetMinimumSize</enum>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
|
<item>
|
||||||
<widget class="QLabel" name="citationStyleLA">
|
<widget class="QLabel" name="citationStyleLA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Citation st&yle:</string>
|
<string>Citation st&yle:</string>
|
||||||
@ -386,14 +287,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" colspan="3">
|
<item>
|
||||||
<widget class="QComboBox" name="citationStyleCO">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Natbib citation style to use</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="textBeforeLA">
|
<widget class="QLabel" name="textBeforeLA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Text &before:</string>
|
<string>Text &before:</string>
|
||||||
@ -403,14 +297,33 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
</layout>
|
||||||
<widget class="QLineEdit" name="textBeforeED">
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="citationStyleCO">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Text to place before citation</string>
|
<string>Citation style to use, if different styles are provided</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2">
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="textBeforeED">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Text that precedes the reference (e.g., "cf.")</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
<widget class="QLabel" name="textAfterLA">
|
<widget class="QLabel" name="textAfterLA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Text after:</string>
|
<string>&Text after:</string>
|
||||||
@ -420,19 +333,34 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="3">
|
<item>
|
||||||
<widget class="QLineEdit" name="textAfterED">
|
<widget class="QLineEdit" name="textAfterED">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Text to place after citation</string>
|
<string>Text that follows the reference (e.g., pages)</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="4">
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QHBoxLayout">
|
||||||
<property name="spacing">
|
<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>
|
||||||
@ -449,22 +377,22 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="fulllistCB">
|
<widget class="QCheckBox" name="forceuppercaseCB">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>List all authors</string>
|
<string>Force upper case in names ("Del Piero", not "del Piero")</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Full author list</string>
|
<string>Force upcas&ing</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="forceuppercaseCB">
|
<widget class="QCheckBox" name="fulllistCB">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Force upper case in citation</string>
|
<string>Always list all authors (rather than using "et al.")</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Force u&pper case</string>
|
<string>All aut&hors</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -472,14 +400,22 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="0">
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QHBoxLayout">
|
||||||
<property name="spacing">
|
<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>
|
||||||
@ -542,28 +478,26 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>lyx::frontend::LyXToolBox</class>
|
|
||||||
<extends>QToolBox</extends>
|
|
||||||
<header>LyXToolBox.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
<tabstop>fieldsCO</tabstop>
|
||||||
|
<tabstop>entriesCO</tabstop>
|
||||||
|
<tabstop>searchOptionsPB</tabstop>
|
||||||
<tabstop>availableLV</tabstop>
|
<tabstop>availableLV</tabstop>
|
||||||
|
<tabstop>selectedLV</tabstop>
|
||||||
<tabstop>addPB</tabstop>
|
<tabstop>addPB</tabstop>
|
||||||
<tabstop>deletePB</tabstop>
|
<tabstop>deletePB</tabstop>
|
||||||
<tabstop>upPB</tabstop>
|
<tabstop>upPB</tabstop>
|
||||||
<tabstop>downPB</tabstop>
|
<tabstop>downPB</tabstop>
|
||||||
<tabstop>selectedLV</tabstop>
|
<tabstop>citationStyleCO</tabstop>
|
||||||
<tabstop>infoML</tabstop>
|
<tabstop>textBeforeED</tabstop>
|
||||||
<tabstop>fulllistCB</tabstop>
|
<tabstop>textAfterED</tabstop>
|
||||||
<tabstop>forceuppercaseCB</tabstop>
|
<tabstop>forceuppercaseCB</tabstop>
|
||||||
|
<tabstop>fulllistCB</tabstop>
|
||||||
<tabstop>restorePB</tabstop>
|
<tabstop>restorePB</tabstop>
|
||||||
<tabstop>okPB</tabstop>
|
<tabstop>okPB</tabstop>
|
||||||
<tabstop>applyPB</tabstop>
|
<tabstop>applyPB</tabstop>
|
||||||
<tabstop>cancelPB</tabstop>
|
<tabstop>cancelPB</tabstop>
|
||||||
|
<tabstop>infoML</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<includes>
|
<includes>
|
||||||
<include location="local">qt_i18n.h</include>
|
<include location="local">qt_i18n.h</include>
|
||||||
|
@ -24,6 +24,8 @@ What's new
|
|||||||
- The title bar is now set according to platform UI. Read-only and
|
- The title bar is now set according to platform UI. Read-only and
|
||||||
version control are shown by indicators in the status bar.
|
version control are shown by indicators in the status bar.
|
||||||
|
|
||||||
|
- The citation dialog has been redesigned, following user suggestions.
|
||||||
|
|
||||||
|
|
||||||
* DOCUMENTATION AND LOCALIZATION
|
* DOCUMENTATION AND LOCALIZATION
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user