Commit Graph

55 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
015333d987 Rely on Qt to handle small caps text
This has the advantage of simplifying our code and to produce the
correct output: the small capitals should have the exact same width as
the lower case letters.

The slanted fonts are also translated to oblique on Qt side, but this
does not seems to have an effect in my testing. It may be that proper
oblique fonts need to be installed.
2014-05-07 12:13:27 +02:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
0c447db0ca Adjust FIXME 2014-03-05 12:16:57 +01:00
Juergen Spitzmueller
5c4acd6bc0 Add FIXME 2014-03-03 10:45:40 +01:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Vincent van Ravesteijn
53b75399e7 Factor out painting of text decorations 2012-05-02 18:02:17 +02:00
Vincent van Ravesteijn
6327993867 Fix bug #7667: Pixmap cache and CT lead to random colors
The signature of the character in cache should take into account the
change tracking baseColor (author) and mergeColor (added/deleted). If not,
we will mixup different cached pixmaps.
2012-04-29 14:59:19 +02:00
Stephan Witt
1c58de4cc7 #7266 drawing of dotted lines with QPen and line width of 0.5 does not work well - restore line width 0 for thin line
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37884 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-08 15:35:24 +00:00
Uwe Stöhr
9fa49ecafa GuiPainter.cpp: correct attempt from r35491
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35498 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-25 14:14:50 +00:00
Pavel Sanda
b1b1e13ad4 My compilator issues warning. Uwe, please check that this was intended.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35491 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-24 12:26:28 +00:00
Peter Kümmel
85d87c0a46 use one place to adjust width of thin lines
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35302 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-07 05:14:57 +00:00
Uwe Stöhr
f01e36b646 painter: make it possible to draw lines with custom line thicknesses
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35283 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-05 14:46:58 +00:00
Uwe Stöhr
38ed6cd1a0 \lyxline is a LyX-specific macro that creates a line in the output
- this line is defined with a width of 1pt -> therefore also draw it in this size in lyx
- this line is by default black -> use black
- setting a color for this in the preferences is wrong and senseless, because the color of this line is defined by the color chosen in the text style dialog -> remove preference color

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35185 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-24 01:13:26 +00:00
Edwin Leuven
2f6ec82064 little wiggles for on-the-fly spellcheck
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33827 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-21 20:26:30 +00:00
Pavel Sanda
6fde8f8067 Introduce double underline and wavy underline styles from ulem
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg150803.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29542 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-05 09:26:28 +00:00
Pavel Sanda
381b86788d Introduce strikeout text style (strike-through)
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg150743.html

Somewhat related to http://www.lyx.org/trac/ticket/4248 .


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29523 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-03 22:45:14 +00:00
Abdelrazak Younes
dc1d8af9a2 Painter::wavyHorizontalLine(): new method for inline spellcheck purpose.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28961 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-28 16:37:28 +00:00
Vincent van Ravesteijn
a37eaf4f0b Use the new Color class (see r28420) in the Painter code.
See:
http://thread.gmane.org/gmane.editors.lyx.devel/114189

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28421 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-09 20:10:11 +00:00
Vincent van Ravesteijn
814a8411eb Reverse unwanted commits.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28388 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 01:11:27 +00:00
Vincent van Ravesteijn
f694cf7135 * InsetMathNest.cpp: Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28387 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 01:01:15 +00:00
Stefan Schimanski
4040382f46 * fix for r27091: draw the newly created pixmap. The reordering of the code has removed this case. So much about trivial program transformation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27227 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-03 07:40:18 +00:00
Stefan Schimanski
d51c31ca85 * complete fix for #5327: switch back to normal drawing code if the cache
pixmap would have non-positive width or height.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27091 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-24 22:49:17 +00:00
Stefan Schimanski
0334876ca6 * temporary fix for the crash of the pixmap cache on Mac with Qt 4.4.
A better patch will follow soon, but this should go in for rc4.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27065 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-23 20:47:11 +00:00
Abdelrazak Younes
31c1982677 * GuiImage:
- switch to QImage backend instead of QPixmap. In any case this was done internally by Qt for any image loading or transformation. This should relieve the X11 server a bit for big images.
- try to clear out the memory after a transformation by calling QImage::detach(). Unfortunately there seems to be a bug somewhere in Qt... see (http://bugzilla.lyx.org/show_bug.cgi?id=5002).

* GraphicsImage: get rid of scaledDimension()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26455 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-19 11:27:24 +00:00
Abdelrazak Younes
c1fdb12118 n-th bug fixing patch from Vincent:
Almost all methods in the GuiPainter class have something like
 
if (!isDrawingEnabled())
  return;
 
except GuiPainter::fillRectangle(...) !!
 
Adding this will solve
 
gmane.editors.lyx.devel/109857
gmane.editors.lyx.devel/109859
http://bugzilla.lyx.org/show_bug.cgi?id=4937
http://bugzilla.lyx.org/show_bug.cgi?id=5027
http://bugzilla.lyx.org/show_bug.cgi?id=5235
 
Maybe also:
http://bugzilla.lyx.org/show_bug.cgi?id=5230


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26351 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-09 21:01:18 +00:00
Pavel Sanda
8a478b5ab8 Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=5093 .
Patch by Vincent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26249 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-29 00:31:04 +00:00
Abdelrazak Younes
39a78a09d2 previous commit: forgot that
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25176 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 22:54:28 +00:00
Abdelrazak Younes
f45523aa7a Pimpl stuff in GuiApplication.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24895 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-23 08:43:07 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
André Pönitz
6a64982eb5 cleanup/compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23843 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-20 00:19:10 +00:00
André Pönitz
de17493932 simpliofy {Gui}FontLoader architecture a bit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23842 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-20 00:00:53 +00:00
Abdelrazak Younes
bced544674 Hopefully fix monolithic build.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23380 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 10:20:13 +00:00
Stefan Schimanski
aa532e094f * once is enough
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23129 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-22 14:05:06 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Abdelrazak Younes
9e4780ffd8 * buttonText(): painting tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22999 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-14 08:49:45 +00:00
Abdelrazak Younes
537481ebe5 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22573 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 23:18:52 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
André Pönitz
81f21577b7 no need for pointers, not even leaking ones...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21869 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 22:38:53 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
André Pönitz
adcb084ea2 merge frontend::Painter into GuiPainter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21747 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 21:39:51 +00:00
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00
Abdelrazak Younes
1f4e5c926a Bump the Qt requirement to version 4.0.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21607 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 14:24:59 +00:00
Abdelrazak Younes
b9eecfab8a optimizations (halves the number of multiplication).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21516 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-08 08:00:31 +00:00
André Pönitz
5253f5f17d Abdel?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21495 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-07 20:44:36 +00:00
Jürgen Spitzmüller
33bb075fd8 * src/LyXRC.{cpp,h}:
- new RC_USE_PIXMAP_CACHE
* src/frontends/qt4/GuiPainter.{cpp,h}:
	- use rc.use_pixmap_cache
* src/frontends/qt4/GuiPrefs.cpp:
* src/frontends/qt4/ui/QPref.ui:
	- implement rc.use_pixmap_cache

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21372 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 14:43:09 +00:00
Stefan Schimanski
6408f99b31 * monochrome rendering support. You can set two color, the min and max. Every painting operation later on will map every color into this interval. By calling enterMonochrome and leaveMonochrome you can nest this process.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21322 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 10:52:51 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
Abdelrazak Younes
eea79637c7 Move Color::color enum to ColorCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21198 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 12:41:02 +00:00