Citation dialog redesign

This commit is contained in:
Juergen Spitzmueller 2016-10-21 22:03:19 +02:00
parent 98eeaceb5e
commit 54248a6e98
4 changed files with 391 additions and 412 deletions

View File

@ -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());
} }

View File

@ -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_;
/// ///

View File

@ -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>&amp;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&amp;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&amp;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 &amp;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>&amp;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&amp;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>&amp;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 &amp;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&amp;xpression</string>
</property>
</widget>
</item>
<item row="1" column="4" colspan="2">
<widget class="QCheckBox" name="caseCB">
<property name="text">
<string>Case se&amp;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&amp;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 &amp;type</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<attribute name="label">
<string>For&amp;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&amp;yle:</string> <string>Citation st&amp;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 &amp;before:</string> <string>Text &amp;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., &quot;cf.&quot;)</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="textAfterLA"> <widget class="QLabel" name="textAfterLA">
<property name="text"> <property name="text">
<string>&amp;Text after:</string> <string>&amp;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 (&quot;Del Piero&quot;, not &quot;del Piero&quot;)</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Full author list</string> <string>Force upcas&amp;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 &quot;et al.&quot;)</string>
</property> </property>
<property name="text"> <property name="text">
<string>Force u&amp;pper case</string> <string>All aut&amp;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>

View File

@ -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