Commit Graph

2066 Commits

Author SHA1 Message Date
Abdelrazak Younes
74f3ca3246 Transfer the global converters and system_converters variables to LyX::Singletons class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16725 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-17 13:18:16 +00:00
Bo Peng
104051c151 Fix inline collapsable inset set focus crash
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16720 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-17 02:53:33 +00:00
Edwin Leuven
efdc3fee52 * avoid signal triggered by setChecked(bool)
* get rid of suprefluous mailer updates

should get rid of bugs:
http://bugzilla.lyx.org/show_bug.cgi?id=3076
http://bugzilla.lyx.org/show_bug.cgi?id=3077

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16705 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 12:24:49 +00:00
Michael Schmitt
1f7a1257f1 * change LFUN file-insert-ascii to file-insert-plaintext
* change LFUN file-insert-ascii-para to file-insert-plaintext-para
* change LyXRC::RC_ASCIIROFF_COMMAND to LyXRC::RC_PLAINTEXT_ROFF_COMMAND
* change LyXRC::RC_ASCII_LINELEN to LyXRC::RC_PLAINTEXT_LINELEN
* replace "ascii" by "plaintext" in method names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16697 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-15 22:49:14 +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
Enrico Forestieri
6b513c51f1 Make sure that all inputed filenames are in internal style, and avoid
a bug on Windows due to an unnecessary conversion to external style.

	* src/insets/ExternalSupport.C
	(subst_path): avoid a bug in the external material inset on Windows
	by don't using external_path. The filename will be quoted and thus
	there will be no problems with forward slashes.

	* src/frontends/qt4/QGraphics.C
	* src/frontends/qt4/QExternal.C
	* src/frontends/qt4/QInclude.C:
	(Qxxx::apply): On Windows, the user could input an absolute path in
	native style by hand (without using the file dialog), so make sure
	that no backslashes can slip in by this way.

	* src/frontends/qt4/QPrefsDialog.C
	(internal_path_list, external_path_list): new wrappers for the
	corresponding functions in the os namespace.
	(PrefPaths::apply): make sure that path_prefix is stored in the
	internal style, i.e., without backslashes.
	(PrefPaths::update): make sure that path_prefix is displayed to
	the user in the native style.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16659 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-12 03:19:58 +00:00
Enrico Forestieri
8673c7ef02 Fix problem with non-ascii filenames in include inset
* src/insets/insetinclude.C
	(InsetInclude::getScreenLabel): use from_utf8 instead of from_ascii


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16634 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-10 00:30:49 +00:00
Georg Baum
bcb1654b15 Make the output of \inputencoding commands (and the change of output
encodings) more fine grained: From paragraph level to individual character
level. The inputenc package supports that since at least 2000.

	* src/insets/insetbase.h
	(latex): Document the differences between output to a string stream
	and a file stream

	* src/buffer.h
	(writeLaTeXSource): ditto

	* src/output_latex.h
	(latexParagraphs): ditto
	(switchEncoding): new function to change the encoding of a stream
	(and output \inputencoding commands)

	* src/paragraph_pimpl.C
	(Paragraph::Pimpl::simpleTeXSpecialC): Adjust to latexWriteEndChanges
	changes

	* src/support/docstream.[Ch]
	(setEncoding, operator<<): New stream modifier that changes the
	encoding of file streams

	* src/lyxfont.[Ch]
	(LyXFont::latexWriteStartChanges): Change stream encoding if needed
	(LyXFont::latexWriteEndChanges): Change stream encoding if needed

	* src/lyxfont.h
	(public:):

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Adjust to latexWriteStartChanges and latexWriteEndChanges changes
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):

	* src/output_latex.C
	(TeXOnePar): Remove the ugly hack to for wencoding changes and use
	switchEncoding instead. A nice side effect is that the old hack would
	not work if the main language encoding is latin1 and a character
	would be mapped to a cedilla in the "fake ucs4" encoding, because
	iconv refuses to convert such a character to latin1, although it
	exists in latin1 (it wants to attach it to a base character).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16633 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-09 19:25:40 +00:00
Georg Baum
c3bb45648c include tabulars and math in the "paste recent" stack
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16611 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 18:40:37 +00:00
Jürgen Spitzmüller
ba57568a72 * src/insets/insetcite.C (getNatbibLabel): correct check for citation key cache.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16609 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 17:38:39 +00:00
Abdelrazak Younes
827f20ce1f same performance fix as rev. 16600.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16601 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 11:42:20 +00:00
Abdelrazak Younes
c2dee509d9 performance fix.
* InsetFloat::addToToc(): avoid a string copy, a map lookup and a TocItem construction. Don't complete the loop if item found.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16600 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 11:35:55 +00:00
Georg Baum
16b2b8e6bc fix typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16580 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 17:54:26 +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
31bc611f34 Fix bug 3067: Special column attributes can contain non-ascii characters,
so store them in a docstring.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16537 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-05 17:11:32 +00:00
Georg Baum
3c323c1a37 The uncontroversal part of the selection fix: Always set the X selection
after selecting something with the mouse

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): Set the X selection if there is a
	selection after release of the left mouse button

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): Set the X selection after double and
	triple click of the left mouse button
	(InsetMathNest::lfunMouseRelease): Set the X selection if there is a
	selection after release of the left mouse button


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16530 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-05 13:31:37 +00:00
Jean-Marc Lasgouttes
bce5521446 * insetcollapsable.C (doDispatch): [LFUN_MOUSE_PRESS] reset selection
when mouse is pressed on the inset button (bug 3060).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16501 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 13:53:16 +00:00
Georg Baum
8f2243819a Let LFUN_PASTE always paste the most recent clipboard (internal or system)
* src/insets/insettabular.C
	(InsetTabular::doDispatch): Only paste the tabular clipboard if the
	system clipboard is not newer, else let the current cell paste the
	system clipboard
	(InsetTabular::getStatus): Only decide whether to enable LFUN_PASTE
	if the tabular clipboard is not empty and the system clipboard is
	not newer, else let the current cell decide.

	* src/mathed/InsetMathGrid.C
	(InsetMathGrid::doDispatch): Use the system clipboard for LFUN_PASTE
	if it is newer.

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): Use the system clipboard for LFUN_PASTE
	if it is newer.

	* src/text3.C
	(doInsertInset): Add a "0" argument to LFUN_PASTE, because we always
	want to use the internal clipboard here
	(LyXText::dispatch): ditto (when handling mouse button 2 press)
	(LyXText::dispatch): Use the system clipboard for LFUN_PASTE if it
	is newer.
	(LyXText::getStatus): Also enable LFUN_PASTE if the system clipboard
	is owned by another application


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16498 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 12:05:24 +00:00
Georg Baum
9479b1323f * src/insets/insettabular.C
(InsetTabular::getStatus): Correctly enable LFUN_PASTE when the
	special tabular clipboard is empty by removing an errornous
	fall-through to LFUN_INSET_MODIFY


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16495 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 11:05:22 +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
b7c5197b7e forgot the break
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16493 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 09:50:25 +00:00
Georg Baum
c9bd56ab18 * src/insets/insettabular.C
(InsetTabular::doDispatch): Don't reset the table paste buffer
	when pasting from the external clipboard or selection, since no
	paste operation should ever change any clipboard.
	At the same time make the code more readable by removing the
	fall-through.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16492 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 09:48:54 +00:00
Abdelrazak Younes
a64d5ba362 Transfer x2pos() and pos2x from LyXText to TextMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16458 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-01 11:36:30 +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
Jean-Marc Lasgouttes
7459f3ad6a * insetcollapsable.C (hasFixedWidth): new virtual method, returns
false by default.
	(metrics): do not set to openinlined if
	hasFixedWidth is true.

	* insetbox.C (hasFixedWidth): returns true if the box has a fixed
	width. 
	(metrics): use hasFixedWidth.
	



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16426 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 11:52:01 +00:00
Georg Baum
5e5dc39d2c fix typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16414 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 12:05:40 +00:00
Georg Baum
4de1cc0339 remove obsolete comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16413 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 12:01:27 +00:00
Bo Peng
36b485d842 Fix a crash caused by cur.text() != this for collapsable insets
* src/insets/insetcollapsable.C: test if inset is open before editing


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16406 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 03:00:48 +00:00
Georg Baum
979fdf7456 Fix strange bibtex problem by converting some more functions to use FileName
instead of std::string

	* src/support/lyxlib.h
	* src/support/getcwd.C
	(getcwd): return a FileName, not a std::string in filesystem encoding

	* src/support/filetools.[Ch]
	(makeAbsPath): return a FileName, not a std::string in undefined encoding

	* src/support/lyxlib.h
	* src/support/tempName.C
	(makeAbsPath): return a FileName, not a std::string in undefined encoding

	* many other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16399 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-27 10:56:11 +00:00
Georg Baum
6c4aa88c2e remove unused stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16395 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-27 08:40:40 +00:00
Georg Baum
07e76f0911 get rid of more utf8 conversions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16376 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-22 09:23:10 +00:00
Edwin Leuven
5ad83ced7c avoids updates on
1. mouse click (without selection)
 2. mouse movements (when selection doesn't change) 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16373 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-21 21:27:04 +00:00
Jean-Marc Lasgouttes
9c513e90d1 * insetcollapsable.C (doDispatch): fix crash in previous patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16344 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-20 13:25:46 +00:00
Georg Baum
0d089d48ca fix formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16340 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-19 18:04:42 +00:00
Jean-Marc Lasgouttes
6853846d98 * insetcollapsable.C (doDispatch): do nothing on mouse release if
there is a selection.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16337 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-19 15:42:10 +00:00
Georg Baum
e4c3ce4627 Convert most of the bibtex machinery to docstring.
Don't limit citation keys to ASCII anymore, since InsetBibitem can generate
non-ASCII keys.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16310 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-17 10:52:04 +00:00
Edwin Leuven
6bfb3e6dc4 georg baum:
- add encoding arg to idocfstream
- open .bib files with idocfstream
- add ascii_lowercase that takes docstring

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16281 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-15 16:09:05 +00:00
Jürgen Spitzmüller
50eba7d4f2 * insettabular.C (doDispatch): call mouseSetCursor on mouse
click to ensure dEPM is triggered.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16245 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-11 17:10:11 +00:00
Abdelrazak Younes
a68da74622 unneeded header
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16200 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-07 12:06:10 +00:00
Bo Peng
af75e269c7 Add a copy constructor of InsetCollapsable to fix the follow bug:
mouse_hover_ is copied with copied collapsable insets. Should be false for
newly copied insets.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16182 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-05 05:36:59 +00:00
Bo Peng
b02d655347 fix a compiler warning regarding unused variable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16179 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-05 02:18:29 +00:00
Georg Baum
9eab5fa88a more unicode filenames
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16173 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 15:46:57 +00:00
Georg Baum
3314702bf1 more unicode filenames
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16171 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 14:45:17 +00:00
Bo Peng
7c184e5426 Button face-lift: use mouse hover-buttons.
* src/insets/insetbase.h: add setMouseHover function
	* src/insets/insetcommand.h/C: handle setMouseHover
	* src/insets/insetcollapsable.h/C: handle setMouseHover
	* src/LColor.h/C: redefine some colors
	* src/insets/render_base.h: add state_
	* src/insets/render_button.C: draw differently according to state_
	* src/frontends/Painter.h/C: hover-stype button
	* src/frontends/qt4/GuiWorkArea.C: enable mouse tracking
	* src/BufferView.C: track mouse_motion without button events


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16162 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 04:31:18 +00:00
Georg Baum
ed99f752f9 more unicode filenames
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16133 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 16:07:15 +00:00
Georg Baum
c0a7417f20 fix display of hungarian umlaut
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16128 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-01 21:13:47 +00:00
Georg Baum
5afcd541fd more unicode filenames
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16127 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-01 20:09:08 +00:00
Abdelrazak Younes
e24bf64c68 * dimension.h: new operator!=() and operator=()
* InsetBase and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim) now returns a bool (true if metrics changed).

* MathData and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim): ditto.

* RenderBase and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim): ditto.

* lyxtext.h/text.C:
  - LyXText::metrics(MetricsInfo & mi, Dimension & dim): ditto.
  - LyXText::redoParagraph(): take into account potential change in inset metrics.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16091 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-28 15:15:49 +00:00
Jürgen Spitzmüller
288fbc7a6b * src/insets/insettabular.C (doDispatch): do not reset cursor/selection
if we have selected some cells (bug 2715).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16075 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-27 14:51:09 +00:00
Georg Baum
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00