mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-11 03:03:06 +00:00
Fix pasting of PDF from clipboard
The command "paste pdf" was always disabled because the condition in the following "if" statement always returns false if (arg == "pdf" && (type = Clipboard::PdfGraphicsType)) The value of "type" is zero in this case because PdfGraphicsType is the first enum value (and it is not set explicitly to non-zero). An alternative patch is to put AnyGraphicsType as the first element of enum GraphicsType, or to set the first element to a number greater than 0. To test the bug that this commit fixes, either copy a PDF and try to paste with the action "paste pdf", or click on the "Edit" menu and notice (before this commit) the terminal output "Unrecognized graphics type: pdf".
This commit is contained in:
parent
94f6bf3367
commit
c12dc2feef
@ -2959,25 +2959,30 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
|
||||
break;
|
||||
}
|
||||
|
||||
// explicit graphics type?
|
||||
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);
|
||||
if (arg == "pdf")
|
||||
type = Clipboard::PdfGraphicsType;
|
||||
else if (arg == "png")
|
||||
type = Clipboard::PngGraphicsType;
|
||||
else if (arg == "jpeg")
|
||||
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 {
|
||||
// unknown argument
|
||||
LYXERR0("Unrecognized graphics type: " << arg);
|
||||
// we don't want to assert if the user just mistyped the LFUN
|
||||
LATTEST(cmd.origin() != FuncRequest::INTERNAL);
|
||||
enable = false;
|
||||
break;
|
||||
}
|
||||
|
||||
// unknown argument
|
||||
LYXERR0("Unrecognized graphics type: " << arg);
|
||||
// we don't want to assert if the user just mistyped the LFUN
|
||||
LATTEST(cmd.origin() != FuncRequest::INTERNAL);
|
||||
enable = false;
|
||||
enable = theClipboard().hasGraphicsContents(type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
case LFUN_CLIPBOARD_PASTE:
|
||||
case LFUN_CLIPBOARD_PASTE_SIMPLE:
|
||||
|
Loading…
Reference in New Issue
Block a user