#include "DispatchResult.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
-#include "gettext.h"
+#include "support/gettext.h"
#include "Lexer.h"
#include "MetricsInfo.h"
#include <sstream>
+using namespace std;
namespace lyx {
-using std::string;
-using std::istringstream;
-using std::ostringstream;
-
// FIXME Would it now be possible to use the InsetCode in
// place of the mailer name and recover that information?
string const & mailer_name)
: p_(p),
mailer_name_(mailer_name),
- mouse_hover_(false),
- updateButtonLabel_(true)
+ mouse_hover_(false)
{}
void InsetCommand::metrics(MetricsInfo & mi, Dimension & dim) const
{
- if (updateButtonLabel_) {
- updateButtonLabel_ = false;
- button_.update(getScreenLabel(mi.base.bv->buffer()),
- editable() != NOT_EDITABLE);
- }
+ button_.update(screenLabel(), editable() != NOT_EDITABLE);
button_.metrics(mi, dim);
}
void InsetCommand::setParams(InsetCommandParams const & p)
{
p_ = p;
- updateButtonLabel_ = true;
+ initView();
}
-int InsetCommand::latex(Buffer const &, odocstream & os,
- OutputParams const &) const
+int InsetCommand::latex(odocstream & os, OutputParams const &) const
{
os << getCommand();
return 0;
}
-int InsetCommand::plaintext(Buffer const & buf, odocstream & os,
- OutputParams const &) const
+int InsetCommand::plaintext(odocstream & os, OutputParams const &) const
{
- docstring const str = "[" + buf.B_("LaTeX Command: ") + from_utf8(getCmdName()) + "]";
+ docstring const str = "[" + buffer().B_("LaTeX Command: ")
+ + from_utf8(getCmdName()) + "]";
os << str;
return str.size();
}
-int InsetCommand::docbook(Buffer const &, odocstream &,
- OutputParams const &) const
+int InsetCommand::docbook(odocstream &, OutputParams const &) const
{
return 0;
}
void InsetCommand::doDispatch(Cursor & cur, FuncRequest & cmd)
{
switch (cmd.action) {
- case LFUN_INSET_REFRESH:
- updateButtonLabel_ = true;
- break;
-
case LFUN_INSET_MODIFY: {
InsetCommandParams p(p_.code());
InsetCommandMailer::string2params(mailer_name_, to_utf8(cmd.argument()), p);
}
case LFUN_MOUSE_RELEASE: {
- if (!cur.selection())
+ if (!cur.selection() && cmd.button() != mouse_button::button3)
edit(cur, true);
break;
}
status.enabled(false);
return true;
// we handle these
- case LFUN_INSET_REFRESH:
case LFUN_INSET_MODIFY:
case LFUN_INSET_DIALOG_UPDATE:
status.enabled(true);
}
-void InsetCommand::edit(Cursor & cur, bool)
+docstring InsetCommand::contextMenu(BufferView const &, int, int) const
+{
+ return from_ascii("context-") + from_ascii(mailer_name_);
+}
+
+
+void InsetCommand::edit(Cursor & cur, bool, EntryDirection)
{
if (!mailer_name_.empty())
InsetCommandMailer(mailer_name_, *this).showDialog(&cur.bv());