Commit Graph

23 Commits

Author SHA1 Message Date
Guillaume Munch
8fd223146b Whitespace 2016-05-04 18:59:36 +01:00
Vincent van Ravesteijn
2552c737be GuiLog: Use GuiClipboard to put the log on the clipboard
All direct interaction with the Qt clipboard is now done in either GuiClipboard or GuiSelection.
2014-04-29 15:38:35 +02:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Georg Baum
0613a218aa Also put HTML on the clipboard when copying
The HTML export is now mature enough so that it can be used to transfer
formatted text to the clipboard. This enhances interoperability e.g. with
office applications.
2013-04-12 22:12:47 +02:00
Enrico Forestieri
573694da5f Fix bug #6538 (Figure: relative path changed to absolute on copy/paste)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36835 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-11 23:04:24 +00:00
Vincent van Ravesteijn
f3ed8071d8 Fix #6597: LyX Appears frozen if the process holding the clipboard is frozen
Implements CacheMimeData type so that we only need to query the
clipboard once on startup and once each time the contents of the
clipboard change. This is important as Qt takes 5 seconds to time-out when the clipboard is non-responsive.

Patch by John McCabe-Dansted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35790 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-23 00:21:58 +00:00
Vincent van Ravesteijn
89034a543b Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=5560.
Allow users to paste text from e.g. MS Word. This text can be paste from clipboard both as text and as graphics. LyX should prefer to paste it as text.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27988 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-04 23:31:32 +00:00
Peter Kümmel
dcd8650998 cleanup export of mime type strings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24930 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-25 07:49:16 +00:00
Abdelrazak Younes
4d188198ba Fix MSVC link error.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24929 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-25 07:22:45 +00:00
Abdelrazak Younes
a0ec412cd4 - Move as much platform specific stuff as possible to GuiApplication.cpp
- introduce GuiApplication::Private


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24894 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-23 07:52:39 +00:00
Abdelrazak Younes
c1de549560 revert accidental commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24867 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-20 11:58:34 +00:00
Abdelrazak Younes
b630a55d77 Fix caption numbering of child documents.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24866 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-20 11:54:23 +00:00
Stefan Schimanski
cf333f5ab4 * Support for graphics pasting (with most code in the frontend's GuiClipboard)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22762 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-03 10:43:03 +00:00
Jürgen Spitzmüller
636b655216 Fix multiple cell pasting on Windows and Mac (bug 4436):
* src/Clipboard.h:
* src/frontends/GuiClipboard.{cpp,h}:
	- new member hasInternal() which indicates whether the OS knows
	  the concept of clipboard ownership.

* src/insets/InsetTabular.cpp (doDispatch):
	- consider hasInternal() while pasting.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22325 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-28 15:56:05 +00:00
Abdelrazak Younes
e3e83d1c65 Fix slowness issue with Clipboard. Cache the Clipboard status when the data is changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20617 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-30 20:28:15 +00:00
André Pönitz
fc36725282 Merge QController into individual dialogs. Also various cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19961 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 22:16:11 +00:00
Georg Baum
3500af60ba Fix bug 2138: copy and paste should preserve formatting between different
LyX instances. This re-enables copy/paste from the internal clipboard on
OS X (currently broken since Clipboard::isInternal() always returns false for
some reason).

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): adjust to clipboard interface change
	(InsetTabular::copySelection): ditto

	* src/mathed/InsetMathGrid.C
	(InsetMathGrid::doDispatch): ditto

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): ditto

	* src/buffer.[Ch]
	(Buffer::readString): New method: Read document from a string
	(Buffer::readFile): Change return value from bool to enum (needed
	for readString). Return wrongversion if we are reading from a string
	and the version does not match.
	(Buffer::do_writeFile): make public and rename to write

	* src/CutAndPaste.C
	(putClipboard): New helper, put stuff to the system clipboard
	(void copySelectionHelper): Use putClipboard instead of
	theClipboard().put()
	(void copySelection): ditto
	(void pasteClipboard): new method for pasting in text
	(void pasteParagraphList):

	* src/frontends/Clipboard.h
	(Clipboard::get): Rename to getAsText
	(Clipboard::getAsLyX): New method for getting the system clipboard
	in LyX format
	(Clipboard::hasLyXContents): New method telling whether there is LyX
	contents in the clipboard

	* src/frontends/qt4/GuiClipboard.[Ch]: Implement the new methods

	* src/text3.C
	(LyXText::dispatch): Use pasteClipboard for pasting the system
	clipboard


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16669 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-13 18:29:50 +00:00
Georg Baum
36ada6f267 Correctly enable/disable all paste lfuns
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16576 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 16:43:38 +00:00
Abdelrazak Younes
6fcb3fe6a2 Prepare for external/internal clipboard merging.
* Clipboard.h: new isInternal() pure virtual method
* Selection.h: new isInternal() pure virtual method

* GuiClipboard, GuiSelection: implement new method.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16476 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-03 08:53:54 +00:00
Georg Baum
e33bac93cd Fix clipboard/selection encoding
* src/frontends/qt[34]/qt_helpers.[Ch]
	(toqstr): add variant for docstring
	(qstring_to_ucs4): Use docstring and port from qt4 to qt3

	* Many other files: Many std::string -> lyx::docstring conversions

	* src/support/lstrings.[Ch]
	(subst): Add variant for docstring and char_type
	(externalLineEnding): std::string -> lyx::docstring
	(internalLineEnding): std::string -> lyx::docstring


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14871 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 07:02:38 +00:00
Georg Baum
c9c6ed0b7f Split clipboard and X selection
* src/LyXAction.C
	(LyXAction::init): handle new LFUN_CLIPBOARD_PASTE

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): ditto

	* src/insets/insetbox.C
	(InsetBox::doDispatch): ditto

	* src/insets/insetert.C
	(InsetERT::doDispatch): ditto
	(InsetERT::getStatus): ditto

	* src/insets/insetcharstyle.C
	(InsetCharStyle::doDispatch): ditto

	* src/BufferView_pimpl.C
	(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard

	* src/mathed/math_nestinset.C
	(MathNestInset::lfunMousePress): get stuff selection, not clipboard
	(MathNestInset::lfunMouseRelease): clipboard -> selection in
	commented code

	* src/CutAndPaste.C
	(cutSelection): ditto

	* src/frontends/{qt3,gtk}/GuiImplementation.C
	(GuiImplementation::newWorkArea): create new selection, not clipboard,
	since the clipboard is now an object
	(GuiImplementation::destroyWorkArea): destroy selection, not clipboard

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
	GuiClipboard.h

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
	GuiClipboard.C

	* src/frontends/{qt3,gtk}/GuiImplementation.h
	(selection): new accessor for selection_
	(selection_): new, the global selection object

	* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
	GuiSelection.h

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
	(GuiClipboard::get): return clipboard, not selection
	(GuiClipboard::put): stuff clipboard, not selection

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
	(haveSelection): remove (this is now in GuiSelection)

	* src/frontends/{qt3,gtk}/GuiClipboard.h
	(old_work_area_): remove, since it is not needed anymore

	* src/frontends/gtk/ghelpers.C
	(getGTKStockIcon): handle LFUN_CLIPBOARD_PASTE

	* src/frontends/Clipboard.h
	(haveSelection): remove (this is now in Selection)

	* src/frontends/qt4/GuiImplementation.[Ch]
	(GuiImplementation::selection): new accessor for selection_

	* src/frontends/Gui.h
	(selection): New accessor for the global selection object

	* src/frontends/Selection.h; new, copied from Clipboard.h

	* src/frontends/Makefile.am: add Selection.h

	* src/text3.C
	(various): s/clipboard().haveSelection/selection().haveSelection/

	(LyXText::dispatch): handle LFUN_CLIPBOARD_PASTE
	(LyXText::getStatus): ditto

	* src/lfuns.h: new lfun LFUN_CLIPBOARD_PASTE

	* lib/ui/stdmenus.ui: add new lfun LFUN_CLIPBOARD_PASTE


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-10 11:32:25 +00:00
Georg Baum
a7fe209a13 * src/frontends/gtk/GuiImplementation.C: include config.h
* src/frontends/qt4/GuiImplementation.C: ditto
	* src/frontends/qt4/TocModel.C: ditto
	* src/frontends/qt4/GuiClipboard.C: ditto

	* src/frontends/gtk/GuiClipboard.h fix spelling
	* src/frontends/qt3/GuiClipboard.h: ditto
	* src/frontends/qt4/GuiClipboard.h: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14375 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 13:27:43 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00