#include "support/debug.h"
#include "support/docstream.h"
#include "support/gettext.h"
+#include "support/lstrings.h"
#include "support/Translator.h"
#include "frontends/Application.h"
{
switch (cmd.action()) {
- case LFUN_INSET_MODIFY:
- cur.recordUndoInset(ATOMIC_UNDO, this);
+ case LFUN_INSET_MODIFY: {
+ // Do not do anything if converting to the same type of Note.
+ // A quick break here is done instead of disabling the LFUN
+ // because disabling the LFUN would lead to a greyed out
+ // entry, which might confuse users.
+ // In the future, we might want to have a radio button for
+ // switching between notes.
+ InsetNoteParams params;
+ string2params(to_utf8(cmd.argument()), params);
+ if (params_.type == params.type)
+ break;
+
+ cur.recordUndoInset(this);
string2params(to_utf8(cmd.argument()), params_);
setButtonLabel();
// what we really want here is a TOC update, but that means
// a full buffer update
cur.forceBufferUpdate();
break;
+ }
case LFUN_INSET_DIALOG_UPDATE:
cur.bv().updateDialog("note", params2string(params()));
}
-void InsetNote::addToToc(DocIterator const & cpit, bool output_active) const
+void InsetNote::addToToc(DocIterator const & cpit, bool output_active,
+ UpdateType utype) const
{
DocIterator pit = cpit;
pit.push_back(CursorSlice(const_cast<InsetNote &>(*this)));
-
- Toc & toc = buffer().tocBackend().toc("note");
+
InsetLayout const & il = getLayout();
- docstring str = translateIfPossible(il.labelstring()) + from_ascii(": ");
- text().forToc(str, TOC_ENTRY_LENGTH);
- toc.push_back(TocItem(pit, 0, str, output_active, toolTipText(docstring(), 3, 60)));
+ docstring str;
+ text().forOutliner(str, TOC_ENTRY_LENGTH);
+ str = translateIfPossible(il.labelstring()) + ": " + str;
+
+ shared_ptr<Toc> toc = buffer().tocBackend().toc("note");
+ toc->push_back(TocItem(pit, 0, str, output_active));
// Proceed with the rest of the inset.
bool doing_output = output_active && producesOutput();
- InsetCollapsable::addToToc(cpit, doing_output);
+ InsetCollapsable::addToToc(cpit, doing_output, utype);
}
{
switch (params_.type) {
case InsetNoteParams::Comment:
- features.require("verbatim");
if (features.runparams().flavor == OutputParams::HTML)
// we do output this but set display to "none" by default,
// but people might want to use it.
InsetCollapsable::validate(features);
+ else
+ // Only do the requires
+ features.useInsetLayout(getLayout());
break;
case InsetNoteParams::Greyedout:
- features.require("color");
- features.require("lyxgreyedout");
InsetCollapsable::validate(features);
break;
case InsetNoteParams::Note: