view()->toggleToggle();
}
view()->update(TEXT(flag), BufferView::SELECT);
- view()->showCursor();
view()->switchKeyMap();
}
if (tli->lyxCode() == Inset::TABULAR_CODE) {
ret = static_cast<InsetTabular *>(tli)
->getStatus(ev.argument);
+ flag |= ret;
+ disable = false;
} else if (tli->getFirstLockingInsetOfType(Inset::TABULAR_CODE)) {
ret = static_cast<InsetTabular *>
(tli->getFirstLockingInsetOfType(Inset::TABULAR_CODE))
->getStatus(ev.argument);
+ flag |= ret;
+ disable = false;
+ } else {
+ disable = true;
}
- flag |= ret;
- disable = false;
} else {
static InsetTabular inset(*owner->buffer(), 1, 1);
FuncStatus ret;
&& lt->inset_owner->owner()->isOpen()));
break;
}
+
+ case LFUN_INSET_SETTINGS: {
+ disable = true;
+ UpdatableInset * inset = view()->theLockingInset();
+
+ if (!inset)
+ break;
+
+ // get the innermost inset
+ inset = inset->getLockingInset();
+
+ // jump back to owner if an InsetText, so
+ // we get back to the InsetTabular or whatever
+ if (inset->lyxCode() == Inset::TEXT_CODE)
+ inset = static_cast<UpdatableInset*>(inset->owner());
+
+ Inset::Code code = inset->lyxCode();
+ switch (code) {
+ case Inset::TABULAR_CODE:
+ disable = ev.argument != "tabular";
+ break;
+ case Inset::ERT_CODE:
+ disable = ev.argument != "ert";
+ break;
+ case Inset::FLOAT_CODE:
+ disable = ev.argument != "float";
+ break;
+ case Inset::MINIPAGE_CODE:
+ disable = ev.argument != "minipage";
+ break;
+ case Inset::WRAP_CODE:
+ disable = ev.argument != "wrap";
+ break;
+ default:
+ break;
+ }
+ break;
+ }
+
case LFUN_LATEX_LOG:
disable = !IsFileReadable(buf->getLogName().second);
break;
selection_possible = false;
- if (view()->available())
- view()->hideCursor();
-
string argument = ev.argument;
kb_action action = ev.action;
goto exit_with_message;
}
+ if (view()->available())
+ view()->hideCursor();
+
if (view()->available() && view()->theLockingInset()) {
Inset::RESULT result;
if ((action > 1) || ((action == LFUN_UNKNOWN_ACTION) &&
if (!searched_string.empty()) {
lyxfind::LyXFind(view(), searched_string, fw);
}
-// view()->showCursor();
}
break;
text += file + _("?");
#endif
int const ret = Alert::prompt(_("Revert to saved document?"),
- text, 1, _("&Revert"), _("&Cancel"));
+ text, 0, 1, _("&Revert"), _("&Cancel"));
if (ret == 0)
view()->reload();
int id;
istr >> id;
- Paragraph * par = owner->buffer()->getParFromID(id);
+ Paragraph * par = &*owner->buffer()->getParFromID(id);
if (par == 0) {
lyxerr[Debug::INFO] << "No matching paragraph found! ["
<< id << ']' << endl;
// Check if the document already is open
if (lyx_gui::use_gui && bufferlist.exists(lyxfile)) {
- string const file = MakeDisplayPath(lyxfile, 30);
-
- // FIXME: sucky UI !
-
-#if USE_BOOST_FORMAT
- boost::format fmt(_("The document %1$s is already open.\n\nDo you want to close that document?"));
- fmt % file;
- string text = fmt.str();
-#else
- string text = _("The document ");
- text += file + _(" is already open.\n\nDo you want to close that document?");
-#endif
- int const ret = Alert::prompt(_("Close open document?"),
- text, 1, _("&Close"), _("&Cancel"));
-
- if (ret == 0 || !bufferlist.close(bufferlist.getBuffer(lyxfile), true)) {
+ if (!bufferlist.close(bufferlist.getBuffer(lyxfile), true)) {
owner->message(_("Canceled."));
return;
}
text += file + _(" already exists.\n\nDo you want to over-write that document?");
#endif
int const ret = Alert::prompt(_("Over-write document?"),
- text, 1, _("&Over-write"), _("&Cancel"));
+ text, 0, 1, _("&Over-write"), _("&Cancel"));
if (ret == 1) {
owner->message(_("Canceled."));