From 33a9bb161e2bb8f29525b259d0d8f853af5e251c Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Wed, 21 Feb 2007 21:47:44 +0000 Subject: [PATCH] Fix bug 3255 * src/frontends/Clipboard.h (empty): Clarify documentation * src/frontends/qt4/GuiClipboard.C (GuiClipboard::empty): Consider also the LyX version, since the text version is empty if there is only one inset in the clipboard. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17297 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/Clipboard.h | 2 ++ src/frontends/qt4/GuiClipboard.C | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/frontends/Clipboard.h b/src/frontends/Clipboard.h index 42ecd6c1a5..67ce307e52 100644 --- a/src/frontends/Clipboard.h +++ b/src/frontends/Clipboard.h @@ -56,6 +56,8 @@ public: /// (document contents, dialogs count as external here). virtual bool isInternal() const = 0; /// Is the clipboard empty? + /// \returns true if both the LyX and the plaintext versions of the + /// clipboard are empty. virtual bool empty() const = 0; }; diff --git a/src/frontends/qt4/GuiClipboard.C b/src/frontends/qt4/GuiClipboard.C index 03388b3c09..517676e800 100644 --- a/src/frontends/qt4/GuiClipboard.C +++ b/src/frontends/qt4/GuiClipboard.C @@ -116,7 +116,13 @@ bool GuiClipboard::isInternal() const bool GuiClipboard::empty() const { - return qApp->clipboard()->text(QClipboard::Clipboard).isEmpty(); + // We need to check both the plaintext and the LyX version of the + // clipboard. The plaintext version is empty if the LyX version + // contains only one inset, and the LyX version is empry if the + // clipboard does not come from LyX. + if (!qApp->clipboard()->text(QClipboard::Clipboard).isEmpty()) + return false; + return !hasLyXContents(); } } // namespace frontend