]> git.lyx.org Git - features.git/blobdiff - src/frontends/qt4/TocWidget.cpp
Add "Insert label as reference" to the context menu of the TOC.
[features.git] / src / frontends / qt4 / TocWidget.cpp
index 7c985d4d9e293cb64314bc46b7dbe6a2d45d629f..5af9ab4c82d3067961c8d32eeae7a4d297bb8dac 100644 (file)
@@ -98,15 +98,22 @@ void TocWidget::showContextMenu(const QPoint & pos)
 void TocWidget::doDispatch(Cursor const & cur, FuncRequest const & cmd)
 {
        switch(cmd.action) {
-       case LFUN_COPY_LABEL_AS_REF: {
+       
+       case LFUN_COPY_LABEL_AS_REF:
+       case LFUN_INSERT_LABEL_AS_REF: {
                QModelIndex index = tocTV->currentIndex();
-               TocItem const & item = 
+               TocItem const & item =
                        gui_view_.tocModels().currentItem(current_type_, index);
                if (!item.str().empty()) {
                        InsetCommandParams p(REF_CODE, "ref");
                        p["reference"] =  item.str();
-                       cap::clearSelection();
-                       cap::copyInset(cur, new InsetRef(*cur.buffer(), p), item.str());
+                       if (cmd.action == LFUN_COPY_LABEL_AS_REF) {
+                               cap::clearSelection();
+                               cap::copyInset(cur, new InsetRef(*cur.buffer(), p), item.str());
+                       } else {
+                               string const data = InsetCommand::params2string("ref", p);
+                               dispatch(FuncRequest(LFUN_INSET_INSERT, data));
+                       }
                }
                break;
        }