mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 19:25:39 +00:00
Move more methods from WorkArea to Clipboard in qt3 and gtk
* 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
This commit is contained in:
parent
7cca51ed18
commit
457b334926
@ -519,27 +519,5 @@ void GWorkArea::haveSelection(bool toHave)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 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 frontend
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
@ -81,10 +81,6 @@ public:
|
|||||||
virtual void setScrollbarParams(int height, int pos, int line_height);
|
virtual void setScrollbarParams(int height, int pos, int line_height);
|
||||||
/// a selection exists
|
/// a selection exists
|
||||||
virtual void haveSelection(bool);
|
virtual void haveSelection(bool);
|
||||||
///
|
|
||||||
virtual std::string const getClipboard() const;
|
|
||||||
///
|
|
||||||
virtual void putClipboard(std::string const &);
|
|
||||||
void inputCommit(gchar * str);
|
void inputCommit(gchar * str);
|
||||||
private:
|
private:
|
||||||
bool onExpose(GdkEventExpose * event);
|
bool onExpose(GdkEventExpose * event);
|
||||||
|
58
src/frontends/gtk/GuiClipboard.C
Normal file
58
src/frontends/gtk/GuiClipboard.C
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
// -*- 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
|
@ -40,15 +40,9 @@ public:
|
|||||||
old_work_area_->haveSelection(own);
|
old_work_area_->haveSelection(own);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string const get() const
|
std::string const get() const;
|
||||||
{
|
|
||||||
return old_work_area_->getClipboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
void put(std::string const & str)
|
void put(std::string const & str);
|
||||||
{
|
|
||||||
old_work_area_->putClipboard(str);
|
|
||||||
}
|
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -111,7 +111,7 @@ libgtk_la_SOURCES = \
|
|||||||
GToolbar.h \
|
GToolbar.h \
|
||||||
GUrl.C \
|
GUrl.C \
|
||||||
GUrl.h \
|
GUrl.h \
|
||||||
GuiClipboard.h \
|
GuiClipboard.C GuiClipboard.h \
|
||||||
GuiWorkArea.h \
|
GuiWorkArea.h \
|
||||||
GView.C \
|
GView.C \
|
||||||
GView.h \
|
GView.h \
|
||||||
|
55
src/frontends/qt3/GuiClipboard.C
Normal file
55
src/frontends/qt3/GuiClipboard.C
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
// -*- 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
|
@ -19,15 +19,13 @@
|
|||||||
namespace lyx {
|
namespace lyx {
|
||||||
namespace frontend {
|
namespace frontend {
|
||||||
|
|
||||||
typedef QWorkArea FWorkArea;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Qt3 version of the Clipboard.
|
* The Qt3 version of the Clipboard.
|
||||||
*/
|
*/
|
||||||
class GuiClipboard: public lyx::frontend::Clipboard
|
class GuiClipboard: public lyx::frontend::Clipboard
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GuiClipboard(FWorkArea * work_area)
|
GuiClipboard(QWorkArea * work_area)
|
||||||
: old_work_area_(work_area)
|
: old_work_area_(work_area)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -42,19 +40,13 @@ public:
|
|||||||
old_work_area_->haveSelection(own);
|
old_work_area_->haveSelection(own);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string const get() const
|
std::string const get() const;
|
||||||
{
|
|
||||||
return old_work_area_->getClipboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
void put(std::string const & str)
|
void put(std::string const & str);
|
||||||
{
|
|
||||||
old_work_area_->putClipboard(str);
|
|
||||||
}
|
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FWorkArea * old_work_area_;
|
QWorkArea * old_work_area_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
|
@ -27,7 +27,7 @@ libqt3_la_SOURCES = \
|
|||||||
Alert_pimpl.C \
|
Alert_pimpl.C \
|
||||||
Dialogs.C \
|
Dialogs.C \
|
||||||
FileDialog.C \
|
FileDialog.C \
|
||||||
GuiClipboard.h \
|
GuiClipboard.C GuiClipboard.h \
|
||||||
GuiImplementation.h \
|
GuiImplementation.h \
|
||||||
GuiWorkArea.h \
|
GuiWorkArea.h \
|
||||||
LyXKeySymFactory.C \
|
LyXKeySymFactory.C \
|
||||||
|
@ -210,23 +210,6 @@ void QWorkArea::haveSelection(bool own)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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)
|
void QWorkArea::dragEnterEvent(QDragEnterEvent * event)
|
||||||
{
|
{
|
||||||
event->accept(QUriDrag::canDecode(event));
|
event->accept(QUriDrag::canDecode(event));
|
||||||
|
@ -52,10 +52,6 @@ public:
|
|||||||
/// a selection exists
|
/// a selection exists
|
||||||
virtual void haveSelection(bool);
|
virtual void haveSelection(bool);
|
||||||
///
|
///
|
||||||
virtual std::string const getClipboard() const;
|
|
||||||
///
|
|
||||||
virtual void putClipboard(std::string const &);
|
|
||||||
///
|
|
||||||
virtual void dragEnterEvent(QDragEnterEvent * event);
|
virtual void dragEnterEvent(QDragEnterEvent * event);
|
||||||
///
|
///
|
||||||
virtual void dropEvent(QDropEvent* event);
|
virtual void dropEvent(QDropEvent* event);
|
||||||
|
@ -21,8 +21,6 @@
|
|||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
using lyx::support::internalLineEnding;
|
using lyx::support::internalLineEnding;
|
||||||
using lyx::support::externalLineEnding;
|
using lyx::support::externalLineEnding;
|
||||||
@ -58,7 +56,8 @@ void GuiClipboard::haveSelection(bool own)
|
|||||||
string const GuiClipboard::get() const
|
string const GuiClipboard::get() const
|
||||||
{
|
{
|
||||||
QString str = qApp->clipboard()->text(CLIPBOARD_MODE);
|
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())
|
if (str.isNull())
|
||||||
return string();
|
return string();
|
||||||
|
|
||||||
@ -68,7 +67,7 @@ string const GuiClipboard::get() const
|
|||||||
|
|
||||||
void GuiClipboard::put(string const & str)
|
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);
|
qApp->clipboard()->setText(toqstr(externalLineEnding(str)), CLIPBOARD_MODE);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user