]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Prevent warning when pressing OKAY while the dialog is in AUTOAPPLY_INITIAL state...
[lyx.git] / src / Text3.cpp
index 0cbef5f727826fbff20770ebfb2cd052f6d1e6a7..f306a6d2de1eb862c69e8ef2ba4f09d2174b7522 100644 (file)
@@ -25,6 +25,7 @@
 #include "buffer_funcs.h"
 #include "BufferParams.h"
 #include "BufferView.h"
+#include "Changes.h"
 #include "Cursor.h"
 #include "CutAndPaste.h"
 #include "DispatchResult.h"
@@ -1045,6 +1046,11 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                type = Clipboard::JpegGraphicsType;
                        else if (arg == "linkback")
                                type = Clipboard::LinkBackGraphicsType;
+                       else if (arg == "emf")
+                               type = Clipboard::EmfGraphicsType;
+                       else if (arg == "wmf")
+                               type = Clipboard::WmfGraphicsType;
+
                        else
                                LASSERT(false, /**/);
 
@@ -2219,11 +2225,14 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                }
 
                // explicit graphics type?
-               if ((arg == "pdf" && theClipboard().hasGraphicsContents(Clipboard::PdfGraphicsType))
-                   || (arg == "png" && theClipboard().hasGraphicsContents(Clipboard::PngGraphicsType))
-                   || (arg == "jpeg" && theClipboard().hasGraphicsContents(Clipboard::JpegGraphicsType))
-                   || (arg == "linkback" && theClipboard().hasGraphicsContents(Clipboard::LinkBackGraphicsType))) {
-                       enable = true;
+               Clipboard::GraphicsType type = Clipboard::AnyGraphicsType;
+               if ((arg == "pdf" && (type = Clipboard::PdfGraphicsType))
+                         || (arg == "png" && (type = Clipboard::PngGraphicsType))
+                         || (arg == "jpeg" && (type = Clipboard::JpegGraphicsType))
+                         || (arg == "linkback" &&  (type = Clipboard::LinkBackGraphicsType))
+                         || (arg == "emf" &&  (type = Clipboard::EmfGraphicsType))
+                         || (arg == "wmf" &&  (type = Clipboard::WmfGraphicsType))) {
+                       enable = theClipboard().hasGraphicsContents(type);
                        break;
                }
 
@@ -2269,13 +2278,18 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
 
        case LFUN_CHANGE_ACCEPT:
        case LFUN_CHANGE_REJECT:
-               // TODO: context-sensitive enabling of LFUN_CHANGE_ACCEPT/REJECT
                // In principle, these LFUNs should only be enabled if there
                // is a change at the current position/in the current selection.
                // However, without proper optimizations, this will inevitably
                // result in unacceptable performance - just imagine a user who
                // wants to select the complete content of a long document.
-               enable = true;
+               if (!cur.selection()) {
+                       Change const & change = cur.paragraph().lookupChange(cur.pos());
+                       enable = change.changed();
+               } else
+                       // TODO: context-sensitive enabling of LFUN_CHANGE_ACCEPT/REJECT
+                       // for selections.
+                       enable = true;
                break;
 
        case LFUN_OUTLINE_UP: