* src/frontends/gtk/GWorkArea.[Ch]
(getClipboard): Move to GuiClipboard.[Ch]
(putClipboard): ditto
* src/frontends/gtk/Makefile.am: add GuiClipboard.C
* src/frontends/gtk/GuiClipboard.C: new file
* src/frontends/gtk/GuiClipboard.h
(get, put): only declare
* src/frontends/qt3/Makefile.am: add GuiClipboard.C
* src/frontends/qt3/QWorkArea.[Ch]
(getClipboard): Move to GuiClipboard.[Ch]
(putClipboard): ditto
* src/frontends/qt3/GuiClipboard.C: new file
* src/frontends/qt3/GuiClipboard.h
(get, put): only declare
* src/frontends/qt4/GuiClipboard.C: remove unneeded include
(GuiClipboard::get): adjust debug output
(GuiClipboard::put): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14378
a592a061-630c-0410-9148-
cb99ea01b6c8
}
}
-
-// ENCODING: Gtk::Clipboard returns UTF-8, we assume that the backend
-// wants ISO-8859-1 and convert it to that.
-string const GWorkArea::getClipboard() const
-{
- Glib::RefPtr<Gtk::Clipboard> clipboard =
- Gtk::Clipboard::get(GDK_SELECTION_PRIMARY);
- return Glib::convert_with_fallback(
- clipboard->wait_for_text(), "ISO-8859-1", "UTF-8");
-}
-
-
-// ENCODING: we assume that the backend passes us ISO-8859-1 and
-// convert from that to UTF-8 before passing to GTK
-void GWorkArea::putClipboard(string const & str)
-{
- Glib::RefPtr<Gtk::Clipboard> clipboard =
- Gtk::Clipboard::get(GDK_SELECTION_PRIMARY);
- clipboard->set_text(Glib::convert(str, "UTF-8", "ISO-8859-1"));
-}
-
-
} // namespace frontend
} // namespace lyx
virtual void setScrollbarParams(int height, int pos, int line_height);
/// a selection exists
virtual void haveSelection(bool);
- ///
- virtual std::string const getClipboard() const;
- ///
- virtual void putClipboard(std::string const &);
void inputCommit(gchar * str);
private:
bool onExpose(GdkEventExpose * event);
--- /dev/null
+// -*- C++ -*-
+/**
+ * \file gtk/GuiClipboard.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Huang Ying
+ * \author Abdelrazak Younes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+// Too hard to make concept checks work with this file
+#ifdef _GLIBCXX_CONCEPT_CHECKS
+#undef _GLIBCXX_CONCEPT_CHECKS
+#endif
+#ifdef _GLIBCPP_CONCEPT_CHECKS
+#undef _GLIBCPP_CONCEPT_CHECKS
+#endif
+
+#include "GuiClipboard.h"
+#include "debug.h"
+
+#include <gtkmm.h>
+
+using std::endl;
+using std::string;
+
+namespace lyx {
+namespace frontend {
+
+// ENCODING: Gtk::Clipboard returns UTF-8, we assume that the backend
+// wants ISO-8859-1 and convert it to that.
+string const GuiClipboard::get() const
+{
+ Glib::RefPtr<Gtk::Clipboard> clipboard =
+ Gtk::Clipboard::get(GDK_SELECTION_PRIMARY);
+ string const str = Glib::convert_with_fallback(
+ clipboard->wait_for_text(), "ISO-8859-1", "UTF-8");
+ lyxerr[Debug::ACTION] << "GuiClipboard::get: " << str << endl;
+ return str;
+}
+
+
+// ENCODING: we assume that the backend passes us ISO-8859-1 and
+// convert from that to UTF-8 before passing to GTK
+void GuiClipboard::put(string const & str)
+{
+ lyxerr[Debug::ACTION] << "GuiClipboard::put: " << str << endl;
+ Glib::RefPtr<Gtk::Clipboard> clipboard =
+ Gtk::Clipboard::get(GDK_SELECTION_PRIMARY);
+ clipboard->set_text(Glib::convert(str, "UTF-8", "ISO-8859-1"));
+}
+
+} // namespace frontend
+} // namespace lyx
old_work_area_->haveSelection(own);
}
- std::string const get() const
- {
- return old_work_area_->getClipboard();
- }
+ std::string const get() const;
- void put(std::string const & str)
- {
- old_work_area_->putClipboard(str);
- }
+ void put(std::string const & str);
//@}
private:
GToolbar.h \
GUrl.C \
GUrl.h \
- GuiClipboard.h \
+ GuiClipboard.C GuiClipboard.h \
GuiWorkArea.h \
GView.C \
GView.h \
--- /dev/null
+// -*- C++ -*-
+/**
+ * \file qt3/GuiClipboard.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Levon
+ * \author Abdelrazak Younes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+#include "GuiClipboard.h"
+#include "qt_helpers.h"
+
+#include "debug.h"
+
+#include <qapplication.h>
+#include <qclipboard.h>
+#include <qstring.h>
+
+#include "support/lstrings.h"
+using lyx::support::internalLineEnding;
+using lyx::support::externalLineEnding;
+
+using std::endl;
+using std::string;
+
+namespace lyx {
+namespace frontend {
+
+string const GuiClipboard::get() const
+{
+ QString const str = qApp->clipboard()->text(QClipboard::Selection);
+ lyxerr[Debug::ACTION] << "GuiClipboard::get: " << (const char*) str
+ << endl;
+ if (str.isNull())
+ return string();
+
+ return internalLineEnding(fromqstr(str));
+}
+
+
+void GuiClipboard::put(string const & str)
+{
+ lyxerr[Debug::ACTION] << "GuiClipboard::put: " << str << endl;
+
+ qApp->clipboard()->setText(toqstr(externalLineEnding(str)),
+ QClipboard::Selection);
+}
+
+} // namespace frontend
+} // namespace lyx
namespace lyx {
namespace frontend {
-typedef QWorkArea FWorkArea;
-
/**
* The Qt3 version of the Clipboard.
*/
class GuiClipboard: public lyx::frontend::Clipboard
{
public:
- GuiClipboard(FWorkArea * work_area)
+ GuiClipboard(QWorkArea * work_area)
: old_work_area_(work_area)
{
}
old_work_area_->haveSelection(own);
}
- std::string const get() const
- {
- return old_work_area_->getClipboard();
- }
+ std::string const get() const;
- void put(std::string const & str)
- {
- old_work_area_->putClipboard(str);
- }
+ void put(std::string const & str);
//@}
private:
- FWorkArea * old_work_area_;
+ QWorkArea * old_work_area_;
};
} // namespace frontend
Alert_pimpl.C \
Dialogs.C \
FileDialog.C \
- GuiClipboard.h \
+ GuiClipboard.C GuiClipboard.h \
GuiImplementation.h \
GuiWorkArea.h \
LyXKeySymFactory.C \
}
-string const QWorkArea::getClipboard() const
-{
- QApplication::clipboard()->setSelectionMode(true);
- QString str = QApplication::clipboard()->text();
- if (str.isNull())
- return string();
- return internalLineEnding(fromqstr(str));
-}
-
-
-void QWorkArea::putClipboard(string const & str)
-{
- QApplication::clipboard()->setSelectionMode(true);
- QApplication::clipboard()->setText(toqstr(externalLineEnding(str)));
-}
-
-
void QWorkArea::dragEnterEvent(QDragEnterEvent * event)
{
event->accept(QUriDrag::canDecode(event));
/// a selection exists
virtual void haveSelection(bool);
///
- virtual std::string const getClipboard() const;
- ///
- virtual void putClipboard(std::string const &);
- ///
virtual void dragEnterEvent(QDragEnterEvent * event);
///
virtual void dropEvent(QDropEvent* event);
#include <QClipboard>
#include <QString>
-#include <string>
-
#include "support/lstrings.h"
using lyx::support::internalLineEnding;
using lyx::support::externalLineEnding;
string const GuiClipboard::get() const
{
QString str = qApp->clipboard()->text(CLIPBOARD_MODE);
- lyxerr[Debug::ACTION] << "getClipboard: " << (const char*) str << endl;
+ lyxerr[Debug::ACTION] << "GuiClipboard::get: " << (const char*) str
+ << endl;
if (str.isNull())
return string();
void GuiClipboard::put(string const & str)
{
- lyxerr[Debug::ACTION] << "putClipboard: " << str << endl;
+ lyxerr[Debug::ACTION] << "GuiClipboard::put: " << str << endl;
qApp->clipboard()->setText(toqstr(externalLineEnding(str)), CLIPBOARD_MODE);
}