Commit Graph

214 Commits

Author SHA1 Message Date
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
fed31122c4 Tell X the selection status also after it is changed by the keyboard, since
we got a consensus on this on the list.
Some calls of haveSelection are still missing, but we need to decide the
"persistent selection" question before those can be implemented properly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16572 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 14:44:44 +00:00
Georg Baum
594a589bc4 Fix and document middle mouse button paste. This is probably the last of
the status quo fixes, I'll send a proposal how to proceed soon.

	* src/CutAndPaste.[Ch]
	(copySelection): Split into copySelection and copySelectionToStack

	* src/text3.C
	(LyXText::dispatch): Use copySelectionToStack instead of LFUN_COPY
	to copy the selection to the cut buffer for two reasons:
	- LFUN_COPY did not work (probably because bv.cursor() was not yet set)
	- If it would work it would put the selection to the system clipboard
	  which is clearly wrong.
	Document why we put the selection to the stack.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16534 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-05 14:40:49 +00:00
Georg Baum
f73fb4a2f4 Add some documentation. Yes I know that some functions are misnamed :-(
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16509 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 16:50:03 +00:00
Georg Baum
129f5b6431 Get rid of InsetTabular::hasPasteBuffer. I verified that it was equivalent
to cap::tabularStackDirty().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16494 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 11:00:09 +00:00
Georg Baum
686c5f8364 * src/CutAndPaste.C
(cutSelection): Fill the system clipboard if this is a real cut (only
	if the cursor is in texted, the mathed case is done elsewhere).
	(cutSelection): Remove obsolete comment. Since the separation of
	selection and clipboard the selection is only filled as response
	to an explicit request by the X server, so there is no slowdown.
	The clipboard is only filled on explicit user request, so that does
	not result in slowdown either.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16490 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 09:26:42 +00:00
Abdelrazak Younes
b2126408cf This commit do the Model/View separation of the LyXText and Paragraph classes. The separation is mostly complete for the Paragraph class but some more transfer should occur for the LyXText class.
* ParagraphMetrics.[Ch]: new files

* TextMetrics.[Ch]: new files.

* lyxtext.h/text2.C/text3.C: some code transferred to the TextMetrics class.

* paragraph.[Ch]: all screen oriented code transfered to ParagraphMetrics class.

* BufferView:
 - text_metrics_: new TextMetrics cache private member.
 - textMetrics(): new access method.
 - parMetrics(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16433 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 23:54:48 +00:00
Georg Baum
26460b39ee Convert the spell checking machinery to docstring.
Fix a conversion char -> char_type without encoding conversion in
cap::replaceSelectionWithString().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16212 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-08 19:46:16 +00:00
Michael Schmitt
28902af060 * src/CutAndPaste.C: use const_iterator to access paragraph insetlist
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16048 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 23:22:34 +00:00
Michael Schmitt
8d31ce8bf4 * src/CutAndPaste.C: simplify code by making use of
Paragraph::isMergedOnEndOfParDeletion()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16030 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-24 21:22:57 +00:00
Michael Schmitt
dd00339db3 * src/CutAndPaste.C: fix end-of-par handling when
erase a selection


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16019 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-23 22:20:38 +00:00
Michael Schmitt
d161c23a1c * src/CutAndPaste.C: white spaces only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16018 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-23 21:46:39 +00:00
Georg Baum
0049b4d3e4 forgot this in the previous change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15887 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 16:00:20 +00:00
Georg Baum
c0725c5beb Fix bug 2982 (two undo steps are needed to undo inset-dissolve)
* src/CutAndPaste.C
	(pasteParagraphList): Don't record undo info here...

	* src/BufferView.C
	(BufferView::menuInsertLyXFile): ... but here instead


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15886 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 15:48:33 +00:00
Michael Schmitt
c0969f2933 * CutAndPaste.C: simplify copySelectionHelper and
copySelection; fix change tracking in
	pasteSelectionHelper; remove a few CT-related FIXMEs


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15788 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 18:27:03 +00:00
Michael Schmitt
048122515d * CutAndPaste.C: fix change tracking in case of
deletion of a selection


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15519 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 20:08:18 +00:00
Michael Schmitt
3ede781c53 * CutAndPaste.C:
* text.C: change tracking cosmetics


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15512 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:22:05 +00:00
Michael Schmitt
0aaa8c5bcc change tracking:
* src/paragraph.h: rename erase() to eraseChars()
	for consistency with eraseChar()
	* src/paragraph_pimpl.h: dito; merge the two erase() methods
	* src/*.C: adjust properly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15478 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:36:08 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +00:00
Asger Ottar Alstrup
51ed92d70c - Fix erase selections broken by "changeTracking" it
seems. ChangeTracking responsible please verify all 
  erase/eraseChar where we added false or where it is 
  called without changetracking bool (jug).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15456 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 17:05:20 +00:00
Asger Ottar Alstrup
2c0d4b31ee - Fix sign error in Cursor::setSelection
- Add debugging input
- If cursor::dispatch does not handle the func, then it should not request an update
- Dump metrics cache after redraw


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15443 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 11:29:34 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Michael Schmitt
b08f5ad69e change tracking:
* src/paragraph.h: insertXXX(...) requires either
        boolean parameter 'trackChanges' or a Change
        * src/insets/insettext.h: add trackChanges parameter
        to setText(...)
        * src/insets/*.C:
        * src/*.C: adjust properly & remove a couple of FIXMEs


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15399 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 11:44:58 +00:00
Michael Schmitt
9acb432b0c change tracking:
* src/paragraph.h: remove eraseIntern(); pass trackChanges to
        erase(...) (2 methods)
        * src/paragraph_pimpl.h: rename eraseIntern() to erase();
        pass trackChanges to other erase(...) (2 methods)
        * src/insets/insettext.C:
        * src/*.C: adjust properly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15380 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 17:46:50 +00:00
Michael Schmitt
1b5f5e58ed Change tracking:
* src/paragraph.h: remove enum ChangeTracking;
	remove default parameters for insertChar and insertInset
	* src/BufferView.h: constify getCurrentChange()
	* src/changes.h: make Change constructor explicit
	* src/insets/*.C: 
	* src/*.C: adjust accordingly; add FIXMEs


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15302 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 20:01:32 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* lyxfunc.h:
  - theLyXFunc(): new function in the global namespace.
  - lyx::dispatch():  new function in the lyx namespace.
  - lyx::getStatus():  new function in the lyx namespace.

* bufferlist.h:
  - theBufferList(): new function in the global namespace.

* Clipboard.h:
  - theClipboard(): new function in the global namespace.

* Selection.h:
  - theSelection(): new function in the global namespace.

* FontLoader.h:
  - theFontLoader(): new function in the global namespace.

* FontMetrics.h:
  - theFontMetrics(LyXFont const &): new function in the global namespace.

* Application.C: implements the functions defined above.

* LyXView.h:
  - getLyXFunc(): deleted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 17:24:46 +00:00
Michael Schmitt
238b880c22 Change tracking:
Remove methods
   * trackChanges(...)
   * untrackChanges(...)
   * cleanChanges(...)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15262 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 19:59:41 +00:00
Michael Schmitt
eb11f2c542 Change tracking:
* rename output_changes to outputChanges
 * rename tracking_changes to trackChanges
 * add FIXMEs for later revision
 * remove trackChanges(); the CT data structure will always be set up
 * decouple LFUNs changes-output/change-accept/change-reject/
   all-changes-accept/all-changes-reject from LFUN changes-track



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15261 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 18:53:35 +00:00
Abdelrazak Younes
0da12b129a delete unneeded BufferView.h declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15159 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 21:11:22 +00:00
Abdelrazak Younes
b171e5f150 Free BufferView from LyXView!
* BufferView
  - layoutChanged: new boost signal.
  - LyXView owner(), owner_: deleted

* text3.C
  - emit BufferView::layoutChanged instead of calling LyXView::setLayout directly
  - LFUN_MOUSE_RELEASE: delete LyXView updateMenubar() and updateToolbars() direct calls.
    The update is of both bars is done in WorkArea::dispatch().

* WorkArea.C
  - dispatch(): add LyXView updateMenubar() call.

* LyXView
  - connects to BufferView::layoutChanged directly to Toolbars::setLayout()
  - setLayout(): deleted.

* qt4/GuiImplementation: modify BufferView construction (without LyXView).

All other files: cleanup header declaration of LyXView.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15153 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 10:06:46 +00:00
Abdelrazak Younes
12a82dd4f2 This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 15:02:41 +00:00
Jürgen Spitzmüller
e81cc81232 * src/CutAndPaste.C (pasteSelectionHelper):
remove accidentally committed, obsolete FIXME comment.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15085 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-20 06:55:07 +00:00
Jürgen Spitzmüller
023fb5433c Cleanup fix for bug 2382:
* src/CutAndPaste.C (pasteSelectionHelper): pass Cursor 
	as argument, remove cursor-dependent arguments, 	
	implement method to reset layout in insets which
	forceParagraphsToDefault.

	* src/CutAndPaste.C (pasteParagraphList): adapt call of 
	pasteSelectionHelper.

	* insets/insetbox.C (doDispatch):
	* insets/insetert.C (doDispatch):
	* insets/insetcharstyle.C (doDispatch):
	* insettext.[Ch] (forceParagraphsToDefault):
		remove ad-hoc-Code to 
		reset paragraph layout. 
		This is now done generally in CutAndPaste.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15062 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-19 09:39:17 +00:00
André Pönitz
e89625ef28 rename mathed/math_xinset into mathed/InsetMathX
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15026 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 09:14:18 +00:00
André Pönitz
2805c29734 rename Math*Inset into InsetMath*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15023 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 18:11:38 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Lars Gullik Bjønnes
43b77ba2d7 Change _() to return a docstring. Fixup callers with the help of lyx::to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14952 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 15:27:44 +00:00
Jean-Marc Lasgouttes
a772437054 Fix bug 2068 and do some cleanup
* src/CutAndPaste.C (setSelectionRange, replaceWord): remove.
	(replaceSelectionWithString): select the new string after
	replacement; add a bool parameter indicating in which sense the
	selection is made.

	* src/lyxfind.C (replace): adapt to above changes.
	(find): comment out debug message.

	* src/frontends/controllers/ControlSpellchecker.C (isLetter):
	rename parameter.
	(nextWord): take a LCursor as parameter; set the selection over
	the word that has been found.
	(check): adapt to changes above (the length of the word is not
	necessarily the length of the selection -- fixes bug 2068).
	(replace): use cap::replaceSelectionWithString




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14708 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 21:12:20 +00:00
Abdelrazak Younes
c5a4f61f33 This commit creates a error_lists map member inside the Buffer class.
I had no choice but to use string for the map key. This is
because the only information that could be passed to the controller is a
string.

With this new architecture, persistent error lists are now possible.

* Buffer
  - errorList_, addError(),  : deleted
  - std::map<std::string, ErrorList> errorLists_ : new member
  - errorList(std::string const & type): associated accessors

* buffer_funcs.C
  - bufferErrors(Buffer const & buf, TeXErrors const & terr): now needs a third errorList argument
  - bufferErrors(Buffer const & buf, ErrorList const & el): deleted.

* Converter
  - convert(): now needs an ErrorList argument instead of filling the Buffer errorList member directly.
  - runLaTeX(): ditto
  - scanLog(): ditto

* CutAndPaste.C
  - pasteParagraphList(): ditto
  - pasteSelection(): ditto

* lyxtext.h/text.C
  - readParagraph(): ditto
  - LyXText::read(): ditto

* importer:
  - Importer::Import(): ditto

* BufferView_pimpl.C
  - loadLyXFile(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly.

* exporter.C
  - Export(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly in lyxfunc.C

* ControlErrorList.C
  - initialiseParams(): translation operation transfered here from LyXView::showErrorList().

* LyXView.C
  - LoadLyXFile(): add a showErrorList("Parse") call.
  - showErrorList(): simplified due to code transferred to the ControlErrorList.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14652 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 16:16:43 +00:00
Jean-Marc Lasgouttes
5e0c737a3b * src/mathed/math_scriptinset.C
(MathScriptInset::hasLimits): remove annoying debug message

	* src/mathed/math_nestinset.C
	(MathNestInset::script): ditto

	* src/CutAndPaste.C
	(copySelection): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14583 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-08 21:55:41 +00:00
Abdelrazak Younes
a4032074c9 This commit continues the drastic diet operated on BufferView. It removes all boost signal connections from BufferView::pimpl and put them in LyXView. LyXView already inherits from boost::signals::trackable so this is not a big deal. If you look closely at the signal connections, it all makes sense IMO.
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.

BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.

BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.

CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14458 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 21:47:48 +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
Lars Gullik Bjønnes
fb97c0689b First part of r14315 from the younes branch:
* BufferView and BufferView::pimpl:
   		- getClipboard, stuffClipboard, haveSelection: deleted

	* CutAndPaste.C: use BufferView::owner()->gui().clipboard()
	* insettabular.C: ditto
	* math_nestinset.C: ditto
	* text3.C: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14323 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:19:33 +00:00
Georg Baum
2392e19c66 Fix crash that occurs if the cursor is in a table cell when the document class
is changed
	* src/cursor.C: remove unused 'using std::swap'
	* src/BufferView.C: ditto

	* src/CutAndPaste.[Ch]
	(switchBetweenClasses): replace ParagraphList argument with InsetText
	argument. This avoids an unnecessary swap in lyxfunc.C.

	* src/CutAndPaste.C
	(pasteSelectionHelper): Adjust to the changes above
	(pasteSelectionHelper): Use ParagraphList::swap instead of std::swap.
	This fixes the crash.

	* src/lyxfunc.C
	(LyXFunc::dispatch): Adjust to switchBetweenClasses changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13895 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-21 17:33:03 +00:00
Martin Vermeer
2b4690b82d Fix bug 2516
* CutAndPaste.C
	(eraseSelectionHelper): merge (conditionally) only first and last
	paragraph of selection



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13875 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-19 16:23:49 +00:00
Georg Baum
c9b081f6f9 Fix bug 2476:
* src/CutAndPaste.C
	(resetOwnerAndChanges): rename to resetParagraph and reset the
	language of ERT paragraphs, too
	(copySelectionHelper): adapt to changes above
	(cutSelection): ditto
	(copySelection): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13699 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-20 08:42:01 +00:00
Abdelrazak Younes
f6bcac7285 * src/buffer_funcs.[Ch]
- updateCounters renamed to updateLabels
 - void updateLabels(Buffer const & buf,
   ParIterator & it): new convenience function
 - void updateLabels(Buffer const & buf,
   ParIterator & from, ParIterator & to): new convenience function
 - setCounter renamed to setLabel
 - bool tryToUpdateCurrentLabel(Buffer const & buf,
   ParIterator & it): new method
 - needsUpdateCounters: deleted

* src/BufferView_pimpl.C
* src/CutAndPaste.C
* src/frontends/controllers/ControlDocument.C
* src/lyxfunc.C
* src/text.C
* src/text2.C
* src/text3.C
 - fixed the calls to updateLabels


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13689 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-16 14:19:25 +00:00
Jürgen Spitzmüller
d27e1b9dd7 * src/paragraph.h (public): new enum ChangeTracking,
indicating if ct is used in the current buffer.
	(cleanChanges): pass enum ChangeTracking.

        * src/paragraph_pimpl.C (cleanChanges): delete ct marks from
	paste content if ct is of in the buffer. Set content INSERTED
	if ct is on (bug 2207).

        * src/CutAndPaste.C (pasteSelectionHelper): pass information 
	about the current change tracking state to cleanChanges.

        * src/paragraph_pimpl.h (cleanChanges): pass enum ChangeTracking.

        * src/paragraph.C (cleanChanges): pass enum ChangeTracking.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13666 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-13 16:47:57 +00:00
Lars Gullik Bjønnes
cf4293824f * Change several freestanding and class methods with first letter
capitalized to have first letter lowercased.
* Adjust all affected files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 00:26:19 +00:00