case LFUN_VC_HISTORY:
disable = !buf->lyxvc.inUse();
break;
+ case LFUN_REF_BACK:
+ disable = owner->view()->NoSavedPositions();
+ break;
default:
break;
}
MenuInsertLabel(argument.c_str());
break;
- case LFUN_REF_CREATE:
- {
- InsetCommandParams p( "ref" );
- owner->getDialogs()->createRef( p.getAsString() );
- }
- break;
-
case LFUN_REF_INSERT:
- {
- InsetCommandParams p;
- p.setFromString( argument );
+ if (argument.empty()) {
+ InsetCommandParams p("ref");
+ owner->getDialogs()->createRef(p.getAsString());
+ } else {
+ InsetCommandParams p;
+ p.setFromString(argument);
+
+ InsetRef * inset = new InsetRef(p);
+ if (!owner->view()->insertInset(inset))
+ delete inset;
+ else
+ owner->view()->updateInset(inset, true);
+ }
+ break;
- InsetRef * inset = new InsetRef( p );
- if (!owner->view()->insertInset(inset))
- delete inset;
- else
- owner->view()->updateInset( inset, true );
- }
- break;
-
case LFUN_REF_BACK:
{
owner->view()->restorePosition();
}
break;
+ case LFUN_GOTO_PARAGRAPH:
+ {
+#ifdef HAVE_SSTREAM
+ istringstream istr(argument);
+#else
+ istrstream istr(argument.c_str());
+#endif
+
+ int id;
+ istr >> id;
+ LyXParagraph * par = owner->view()->text->GetParFromID(id);
+
+ // Set the cursor
+ owner->view()->text->SetCursor(owner->view(), par, 0);
+ owner->view()->setState();
+ owner->showState();
+
+ // Recenter screen
+ owner->view()->center();
+ }
+ break;
+
case LFUN_APROPOS:
case LFUN_GETTIP:
{