// set current buffer
buffer_ = b;
- // if we're quitting lyx, don't bother updating stuff
+ // if we're quitting lyx, don't bother updating stuff
if (quitting)
- return;
+ return;
// if we are closing the buffer, use the first buffer as current
if (!buffer_) {
bool mark_set = false;
owner_->busy(true);
-
+
owner_->message(_("Formatting document..."));
if (bv_->text) {
Change const BufferView::Pimpl::getCurrentChange()
{
- if (!bv_->buffer()->params.tracking_changes)
+ if (!bv_->buffer()->params.tracking_changes)
return Change(Change::UNCHANGED);
LyXText * t(bv_->getLyXText());
-
+
if (!t->selection.set())
return Change(Change::UNCHANGED);
-
+
LyXCursor const & cur(t->selection.start);
return cur.par()->lookupChangeFull(cur.pos());
}
} else {
bv_->update(bv_->text, BufferView::SELECT | BufferView::FITCUR);
bv_->text->setCursor(bv_, &(*buf->paragraphs.begin()), 0);
-#warning changes FIXME
+#warning changes FIXME
//moveCursorUpdate(false);
bool found = lyxfind::findNextChange(bv_);
}
buf->params.tracking_changes = false;
}
-
+
buf->redostack.clear();
}
owner_->getLyXFunc().setMessage(currentState(bv_));
break;
- case LFUN_INSERT_LABEL:
- MenuInsertLabel(bv_, ev.argument);
- break;
+ case LFUN_INSERT_LABEL: {
+ // Try and generate a valid label
+ string const contents = ev.argument.empty() ?
+ getPossibleLabel(*bv_) : ev.argument;
+ InsetCommandParams icp("label", contents);
+ string data = InsetCommandMailer::params2string("label", icp);
+ owner_->getDialogs().show("label", data, 0);
+ }
+ break;
case LFUN_BOOKMARK_SAVE:
savePosition(strToUnsignedInt(ev.argument));
mathDispatch(ev);
break;
- case LFUN_BIBITEM_APPLY:
- case LFUN_BIBTEX_APPLY:
- case LFUN_CITATION_APPLY:
- case LFUN_ERT_APPLY:
- case LFUN_INDEX_APPLY:
- case LFUN_REF_APPLY:
- case LFUN_TOC_APPLY:
- case LFUN_URL_APPLY: {
- string name;
- switch (ev.action) {
- case LFUN_BIBITEM_APPLY:
- name = "bibitem";
- break;
- case LFUN_BIBTEX_APPLY:
- name = "bibtex";
- break;
- case LFUN_CITATION_APPLY:
- name = "citation";
- break;
- case LFUN_ERT_APPLY:
- name = "ert";
- break;
- case LFUN_INDEX_APPLY:
- name = "index";
- break;
- case LFUN_REF_APPLY:
- name = "ref";
- break;
- case LFUN_TOC_APPLY:
- name = "toc";
- break;
- case LFUN_URL_APPLY:
- name = "url";
- break;
- default:
- break;
- }
+ case LFUN_INSET_APPLY: {
+ string const name = ev.getArg(0);
InsetBase * base = owner_->getDialogs().getOpenInset(name);
Inset * inset = 0;
}
}
- if (ev.action == LFUN_BIBITEM_APPLY) {
+ if (name == "bibitem") {
// We need to do a redraw because the maximum
// InsetBibitem width could have changed
#warning please check you mean repaint() not update(),
case LFUN_TRACK_CHANGES:
trackChanges();
break;
-
+
case LFUN_MERGE_CHANGES:
owner_->getDialogs().showMergeChanges();
break;
-
+
case LFUN_ACCEPT_ALL_CHANGES: {
bv_->update(bv_->text, BufferView::SELECT | BufferView::FITCUR);
bv_->text->setCursor(bv_, &(*bv_->buffer()->paragraphs.begin()), 0);
-#warning FIXME changes
+#warning FIXME changes
//moveCursorUpdate(false);
while (lyxfind::findNextChange(bv_)) {
BufferView::SELECT | BufferView::FITCUR | BufferView::CHANGE);
break;
}
-
+
case LFUN_REJECT_ALL_CHANGES: {
bv_->update(bv_->text, BufferView::SELECT | BufferView::FITCUR);
bv_->text->setCursor(bv_, &(*bv_->buffer()->paragraphs.begin()), 0);
-#warning FIXME changes
+#warning FIXME changes
//moveCursorUpdate(false);
while (lyxfind::findNextChange(bv_)) {
BufferView::SELECT | BufferView::FITCUR | BufferView::CHANGE);
break;
}
-
+
case LFUN_ACCEPT_CHANGE: {
bv_->getLyXText()->acceptChange(bv_);
update(bv_->text,
BufferView::SELECT | BufferView::FITCUR | BufferView::CHANGE);
break;
}
-
+
case LFUN_UNKNOWN_ACTION:
ev.errorMessage(N_("Unknown function!"));
break;