#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
-using lyx::docstring;
-using lyx::support::ascii_lowercase;
-using lyx::support::contains;
-using lyx::support::getStringFromVector;
-using lyx::support::getVectorFromString;
-using lyx::support::ltrim;
-using lyx::support::rtrim;
-using lyx::support::split;
-using lyx::support::tokenPos;
+
+namespace lyx {
+
+using support::ascii_lowercase;
+using support::contains;
+using support::FileName;
+using support::getStringFromVector;
+using support::getVectorFromString;
+using support::ltrim;
+using support::rtrim;
+using support::split;
+using support::tokenPos;
using std::endl;
using std::replace;
using std::vector;
using std::map;
-namespace biblio = lyx::biblio;
namespace fs = boost::filesystem;
static CachedMap cached_keys;
// and cache the timestamp of the bibliography files.
- static std::map<string, time_t> bibfileStatus;
+ static std::map<FileName, time_t> bibfileStatus;
biblio::InfoMap infomap;
- vector<string> const & bibfilesCache = buffer.getBibfilesCache();
+ vector<FileName> const & bibfilesCache = buffer.getBibfilesCache();
// compare the cached timestamps with the actual ones.
bool changed = false;
- for (vector<string>::const_iterator it = bibfilesCache.begin();
+ for (vector<FileName>::const_iterator it = bibfilesCache.begin();
it != bibfilesCache.end(); ++ it) {
- string const f = *it;
+ FileName const f = *it;
try {
- std::time_t lastw = fs::last_write_time(f);
+ std::time_t lastw = fs::last_write_time(f.toFilesystemEncoding());
if (lastw != bibfileStatus[f]) {
changed = true;
bibfileStatus[f] = lastw;
}
// FIXME UNICODE
- return lyx::from_utf8(label);
+ return from_utf8(label);
}
}
-int InsetCitation::plaintext(Buffer const & buffer, lyx::odocstream & os,
+int InsetCitation::plaintext(Buffer const & buffer, odocstream & os,
OutputParams const &) const
{
if (cache.params == params() &&
// end anon namyspace
}
-int InsetCitation::docbook(Buffer const &, ostream & os, OutputParams const &) const
+int InsetCitation::docbook(Buffer const &, odocstream & os, OutputParams const &) const
{
- os << "<citation>" << cleanupWhitespace(getContents()) << "</citation>";
+ os << "<citation>"
+ << from_ascii(cleanupWhitespace(getContents()))
+ << "</citation>";
return 0;
}
-int InsetCitation::textString(Buffer const & buf, lyx::odocstream & os,
+int InsetCitation::textString(Buffer const & buf, odocstream & os,
OutputParams const & op) const
{
return plaintext(buf, os, op);
// the \cite command is valid. Eg, the user has natbib enabled, inputs some
// citations and then changes his mind, turning natbib support off. The output
// should revert to \cite[]{}
-int InsetCitation::latex(Buffer const & buffer, ostream & os,
+int InsetCitation::latex(Buffer const & buffer, odocstream & os,
OutputParams const &) const
{
biblio::CiteEngine const cite_engine = buffer.params().cite_engine;
- string const cite_str =
- biblio::asValidLatexCommand(getCmdName(), cite_engine);
+ // FIXME UNICODE
+ docstring const cite_str = from_utf8(
+ biblio::asValidLatexCommand(getCmdName(), cite_engine));
os << "\\" << cite_str;
- string const before = getSecOptions();
- string const after = getOptions();
+ docstring const & before = getParam("before");
+ docstring const & after = getParam("after");
if (!before.empty() && cite_engine != biblio::ENGINE_BASIC)
os << '[' << before << "][" << after << ']';
else if (!after.empty())
os << '[' << after << ']';
- os << '{' << cleanupWhitespace(getContents()) << '}';
+ // FIXME UNICODE
+ os << '{' << from_utf8(cleanupWhitespace(getContents())) << '}';
return 0;
}
setContents(getStringFromVector(items));
}
}
+
+
+} // namespace lyx