mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
The comment preceding getValueForField() reflected an earlier implmentation.
There is now no reason not to use operator[] here, which is more natural. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27635 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
900355d27f
commit
69e95a3ed9
@ -54,7 +54,7 @@ bool BibTeXInfo::hasField(docstring const & field) const
|
||||
}
|
||||
|
||||
|
||||
docstring const & BibTeXInfo::getValueForField(docstring const & field) const
|
||||
docstring const & BibTeXInfo::operator[](docstring const & field) const
|
||||
{
|
||||
BibTeXInfo::const_iterator it = find(field);
|
||||
if (it != end())
|
||||
@ -64,9 +64,9 @@ docstring const & BibTeXInfo::getValueForField(docstring const & field) const
|
||||
}
|
||||
|
||||
|
||||
docstring const & BibTeXInfo::getValueForField(string const & field) const
|
||||
docstring const & BibTeXInfo::operator[](string const & field) const
|
||||
{
|
||||
return getValueForField(from_ascii(field));
|
||||
return operator[](from_ascii(field));
|
||||
}
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ docstring familyName(docstring const & name)
|
||||
docstring const BibTeXInfo::getAbbreviatedAuthor() const
|
||||
{
|
||||
if (!is_bibtex_) {
|
||||
docstring const opt = trim(getValueForField("label"));
|
||||
docstring const opt = trim(operator[]("label"));
|
||||
if (opt.empty())
|
||||
return docstring();
|
||||
|
||||
@ -107,9 +107,9 @@ docstring const BibTeXInfo::getAbbreviatedAuthor() const
|
||||
return authors;
|
||||
}
|
||||
|
||||
docstring author = getValueForField("author");
|
||||
docstring author = operator[]("author");
|
||||
if (author.empty()) {
|
||||
author = getValueForField("editor");
|
||||
author = operator[]("editor");
|
||||
if (author.empty())
|
||||
return bib_key_;
|
||||
}
|
||||
@ -133,7 +133,7 @@ docstring const BibTeXInfo::getAbbreviatedAuthor() const
|
||||
docstring const BibTeXInfo::getYear() const
|
||||
{
|
||||
if (!is_bibtex_) {
|
||||
docstring const opt = trim(getValueForField("label"));
|
||||
docstring const opt = trim(operator[]("label"));
|
||||
if (opt.empty())
|
||||
return docstring();
|
||||
|
||||
@ -144,7 +144,7 @@ docstring const BibTeXInfo::getYear() const
|
||||
return year;
|
||||
}
|
||||
|
||||
docstring year = getValueForField("year");
|
||||
docstring year = operator[]("year");
|
||||
if (year.empty())
|
||||
year = _("No year");
|
||||
return year;
|
||||
@ -163,31 +163,31 @@ docstring const BibTeXInfo::getInfo() const
|
||||
// field to customize the output based upon entry type.
|
||||
|
||||
// Search for all possible "required" fields
|
||||
docstring author = getValueForField("author");
|
||||
docstring author = operator[]("author");
|
||||
if (author.empty())
|
||||
author = getValueForField("editor");
|
||||
author = operator[]("editor");
|
||||
|
||||
docstring year = getValueForField("year");
|
||||
docstring title = getValueForField("title");
|
||||
docstring docLoc = getValueForField("pages");
|
||||
docstring year = operator[]("year");
|
||||
docstring title = operator[]("title");
|
||||
docstring docLoc = operator[]("pages");
|
||||
if (docLoc.empty()) {
|
||||
docLoc = getValueForField("chapter");
|
||||
docLoc = operator[]("chapter");
|
||||
if (!docLoc.empty())
|
||||
docLoc = from_ascii("Ch. ") + docLoc;
|
||||
} else {
|
||||
docLoc = from_ascii("pp. ") + docLoc;
|
||||
}
|
||||
|
||||
docstring media = getValueForField("journal");
|
||||
docstring media = operator[]("journal");
|
||||
if (media.empty()) {
|
||||
media = getValueForField("publisher");
|
||||
media = operator[]("publisher");
|
||||
if (media.empty()) {
|
||||
media = getValueForField("school");
|
||||
media = operator[]("school");
|
||||
if (media.empty())
|
||||
media = getValueForField("institution");
|
||||
media = operator[]("institution");
|
||||
}
|
||||
}
|
||||
docstring volume = getValueForField("volume");
|
||||
docstring volume = operator[]("volume");
|
||||
|
||||
odocstringstream result;
|
||||
if (!author.empty())
|
||||
|
@ -38,6 +38,9 @@ std::string citationStyleToString(CitationStyle const &);
|
||||
|
||||
/// Class to represent information about a BibTeX or
|
||||
/// bibliography entry.
|
||||
/// This class basically wraps a std::map, and many of its
|
||||
/// methods simply delegate to the corresponding methods of
|
||||
/// std::map.
|
||||
class BibTeXInfo {
|
||||
public:
|
||||
/// The keys are BibTeX fields (e.g., author, title, etc),
|
||||
@ -50,12 +53,6 @@ public:
|
||||
BibTeXInfo(bool ib) : is_bibtex_(ib) {}
|
||||
/// constructor that sets the entryType
|
||||
BibTeXInfo(docstring const & key, docstring const & type);
|
||||
/// Search for the given field and return the associated info.
|
||||
/// The point of this is that BibTeXInfo::operator[] has no const
|
||||
/// form.
|
||||
docstring const & getValueForField(docstring const & field) const;
|
||||
///
|
||||
docstring const & getValueForField(std::string const & field) const;
|
||||
///
|
||||
bool hasField(docstring const & field) const;
|
||||
/// \return the short form of an authorlist
|
||||
@ -70,9 +67,16 @@ public:
|
||||
const_iterator find(docstring const & f) const { return bimap_.find(f); }
|
||||
///
|
||||
const_iterator end() const { return bimap_.end(); }
|
||||
///
|
||||
/// \return value for field f
|
||||
/// note that this will create an empty field if it does not exist
|
||||
docstring & operator[](docstring const & f)
|
||||
{ return bimap_[f]; }
|
||||
/// \return value for field f
|
||||
/// this one, since it is const, will simply return docstring() if
|
||||
/// we don't have the field and will NOT create an empty field
|
||||
docstring const & operator[](docstring const & field) const;
|
||||
///
|
||||
docstring const & operator[](std::string const & field) const;
|
||||
///
|
||||
docstring const & allData() const { return all_data_; }
|
||||
///
|
||||
|
@ -702,7 +702,7 @@ vector<docstring> GuiCitation::searchKeys(BiblioInfo const & bi,
|
||||
else if (field.empty())
|
||||
data = to_utf8(*it) + ' ' + to_utf8(kvm.allData());
|
||||
else if (kvm.hasField(field))
|
||||
data = to_utf8(kvm.getValueForField(field));
|
||||
data = to_utf8(kvm[field]);
|
||||
|
||||
if (data.empty())
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user