#include "language.h"
#include "gettext.h"
#include "ParagraphParameters.h"
+#include "author.h"
+#include "changes.h"
#include "frontends/Alert.h"
#include "support/lstrings.h"
+#include "BoostFormat.h"
+
void emph(BufferView * bv)
{
LyXFont font(LyXFont::ALL_IGNORE);
else
text->decDepth(bv);
if (text->inset_owner)
- bv->updateInset((Inset *)text->inset_owner, true);
+ bv->updateInset((Inset *)text->inset_owner, true);
bv->update(bv->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
- bv->owner()->message(_("Changed environment depth "
- "(in possible range, maybe not)"));
}
void styleReset(BufferView * bv)
{
-#ifndef INHERIT_LANG
LyXFont font(LyXFont::ALL_INHERIT, ignore_language);
-#else
- LyXFont font(LyXFont::ALL_INHERIT);
-#endif
toggleAndShow(bv, font);
}
ostringstream state;
if (!bv->available())
- return "";
+ return string();
+
+ LyXText * text = bv->getLyXText();
+ Buffer * buffer = bv->buffer();
+ LyXCursor const & c(text->cursor);
+
+ bool const show_change = buffer->params.tracking_changes
+ && c.pos() != c.par()->size()
+ && c.par()->lookupChange(c.pos()) != Change::UNCHANGED;
+
+ if (show_change) {
+ Change change(c.par()->lookupChangeFull(c.pos()));
+ Author const & a(bv->buffer()->authors().get(change.author));
+ state << _("Change: ") << a.name();
+ if (!a.email().empty()) {
+ state << " (" << a.email() << ")";
+ }
+ if (change.changetime)
+ state << _(" at ") << ctime(&change.changetime);
+ state << " : ";
+ }
// I think we should only show changes from the default
// font. (Asger)
- LyXText * text = bv->getLyXText();
- Buffer * buffer = bv->buffer();
LyXFont font = text->real_current_font;
LyXFont const & defaultfont =
buffer->params.getLyXTextClass().defaultfont();
font.reduce(defaultfont);
- state << _("Font:") << ' ' << font.stateText(&buffer->params);
+#if USE_BOOST_FORMAT
+ state << boost::format(_("Font: %1$s")) % font.stateText(&buffer->params);
+#else
+ state << _("Font: ") << font.stateText(&buffer->params);
+#endif
// The paragraph depth
int depth = text->getDepth();
- if (depth > 0)
+ if (depth > 0) {
+#if USE_BOOST_FORMAT
+ state << boost::format(_(", Depth: %1$d")) % depth;
+#else
state << _(", Depth: ") << depth;
+#endif
+ }
+
// The paragraph spacing, but only if different from
// buffer spacing.
state << _("Single");
break;
case Spacing::Onehalf:
- state << _("Onehalf");
+ state << _("OneHalf");
break;
case Spacing::Double:
state << _("Double");
case Spacing::Other:
state << _("Other (")
<< text->cursor.par()->params().spacing().getValue()
- << ")";
+ << ')';
break;
case Spacing::Default:
// should never happen, do nothing
#ifdef DEVEL_VERSION
state << _(", Paragraph: ") << text->cursor.par()->id();
#endif
- return state.str().c_str();
+ return STRCONV(state.str());
}
{
if (!bv->available())
return;
-
+
if (bv->theLockingInset()) {
bv->theLockingInset()->setFont(bv, font, toggleall);
return;
}
-
+
LyXText * text = bv->getLyXText();
- // FIXME: can this happen ??
+ // FIXME: can this happen ??
if (!text)
return;