* 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 <QObject>
+
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:
- GuiClipboard() {}
+ GuiClipboard();
- virtual ~GuiClipboard() {}
-
- /** ClipBoard overloaded methods
+ /** Clipboard overloaded methods
*/
//@{
- void haveSelection(bool own);
- std::string const get() const;
- void put(std::string 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