X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiClipboard.h;h=d0552a828136292e6e9aafd2ced55dc513d43f72;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=efc705a33d0b69939a0d5d8b2a2ec6680e2eeee5;hpb=36ada6f2676865110a826924818412b634db93b9;p=lyx.git diff --git a/src/frontends/qt4/GuiClipboard.h b/src/frontends/qt4/GuiClipboard.h index efc705a33d..d0552a8281 100644 --- a/src/frontends/qt4/GuiClipboard.h +++ b/src/frontends/qt4/GuiClipboard.h @@ -1,6 +1,6 @@ // -*- C++ -*- /** - * \file qt4/GuiClipboard.h + * \file GuiClipboard.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * @@ -11,33 +11,60 @@ * Full author contact details are available in file CREDITS. */ -#ifndef CLIPBOARD_H -#define CLIPBOARD_H +#ifndef GUICLIPBOARD_H +#define GUICLIPBOARD_H #include "frontends/Clipboard.h" +#include + namespace lyx { namespace frontend { +class QMacPasteboardMimeGraphics; + /** * The Qt4 version of the Clipboard. */ -class GuiClipboard: public Clipboard +class GuiClipboard: public QObject, public Clipboard { + Q_OBJECT public: - virtual ~GuiClipboard() {} + GuiClipboard(); /** Clipboard overloaded methods */ //@{ - docstring const get() const; - void put(docstring const & str); + std::string const getAsLyX() const; + FileName getAsGraphics(Cursor const & cur, GraphicsType type) const; + docstring const getAsText() const; + void put(std::string const & lyx, docstring const & text); + bool hasLyXContents() const; + bool hasGraphicsContents(GraphicsType type = AnyGraphicsType) const; + bool hasTextContents() const; bool isInternal() const; + bool hasInternal() const; bool empty() const; //@} + + FileName getPastedGraphicsFileName(Cursor const & cur, + Clipboard::GraphicsType & type) const; + +private Q_SLOTS: + void on_dataChanged(); + +private: + bool text_clipboard_empty_; + bool has_lyx_contents_; + bool has_graphics_contents_; }; +QString const lyxMimeType(); +QString const pdfMimeType(); +QString const emfMimeType(); +QString const wmfMimeType(); + } // namespace frontend } // namespace lyx -#endif // CLIPBOARD_H +#endif // GUICLIPBOARD_H