Commit Graph

128 Commits

Author SHA1 Message Date
Georg Baum
d5f2bad461 Mingw-w64 build fixes for long long
On mingw-w64, long long (64bit wide) is larger than long (32bit wide).
Therefore we need some more specializations for string, docstring,
otextstream and << overloaded ostream functions. The configuration code
is by me, the source code changes by Shankar Giri Venkita Giri (bug 10053).
2016-05-29 17:55:43 -04:00
Guillaume Munch
bb344452c8 Consistency of ellipses across the UI
Use the function support:truncateWithEllipsis() to shorten a docstring with
... at the end. Actually we use U+2026 HORIZONTAL ELLIPSIS instead of "..." when
automatically shortening strings. This is to be consistent with Qt's own
truncation and is much nicer on the screen.

This includes the bugs #9575 and #9572 regarding broken text elision in the
outliner.

Known issues (non-regressions):

* TocBackend::updateItem() should be rewritten to update all TOCs. (#8386)

* "..." should be replaced with … everywhere else on the interface (including
  translation strings).

* We should prefer to rely on QFontMetrics::elidedText() to truncate strings
  with an ellipsis whenever possible, or an equivalent for the buffer view
  dependent on the font metrics. See the warning in src/support/lstrings.h.
2015-10-05 21:16:16 +01:00
Georg Baum
59e4d16ab9 Fix LaTeX length export of big numbers (bug 9416)
LaTeX lengths must not use scientific notation, since the + sign has a
different meaning (glue lengths). This is the export part of bug 9416, the GUI
part is still not fixed.
2015-05-14 12:14:47 +02:00
Enrico Forestieri
7d31194085 Fix bug #9146.
If LyX does not know about a given file format, it may easily
happen that the format is recognized as "latex" and this causes
bug #9146. This patch limits the check for a latex format to
non-binary files. The strategy for deciding that a file has
binary content is the same as that adopted by the "less" program.
2014-06-05 17:33:25 +02:00
Georg Baum
afc34c7a60 Fix bug 9030 except for windows
The format entries should be sorted according to the culture selected for the
UI. This was not the case previously, resulting in unexpected sorting of small
and capital letters. This is now fixed by using the standard C function
strcoll(). Qt does only offer similar functionality in Qt5, and this is not
mature enough yet to depend on it.
Unfortunately we have a report that strcoll() does not work on MSVC, however
this partial fix is better than nothing. The MSVC issue might also be a
configuration problem, since MS claims that strcoll() is supported. This
still needs to be checked.
2014-05-19 22:37:14 +02:00
Richard Heck
7b46aa8fbb Forgot in previous commit to deal with case. As I'm doing it now,
it's easy to use the existing docstring routine, so I've commented
out the string version of lowercase I had introduced. I've left the
code in case someone else needs it later.
2014-02-23 12:04:56 -05:00
Richard Heck
e5ea535952 If the selection is some sort of URL, then make it the target, not
the name, in the hyperlink. Fixes bug #8792.

This also fixes a bug discovered while working on this code: The
params passed to GuiHyperlink were never used.
2014-02-23 11:36:54 -05:00
Georg Baum
f4eae12d60 Improve LaTeX format detection
libmime is a bit lacking here.
2013-04-12 22:31:48 +02:00
Juergen Spitzmueller
182d13ee6a Do not separate the shortcut from the label string 2012-11-23 18:26:02 +01:00
Pavel Sanda
2257040be4 More headers from lstrings. 2012-11-12 03:02:28 +01:00
Pavel Sanda
7b1b9823ff Add comment in lstrings.h 2012-07-15 23:25:58 +02:00
Jean-Marc Lasgouttes
16fd47ad8f Fix bug #7741: incorrect locale when starting R from LyX?
The goal here is to get rid of the old code that modified variables
LANGUAGE and LC_ALL, therefore creating the problems mentionned
in the ticket.

In the new system, there is no explicit "GUI" message handler, that
needs to be reset at each language change. Instead, getGuiMessages
calls getMessages with the correct parameter. This allows to simplify
greatly the code and to remove a lot of old cruft.
2012-07-15 22:22:10 +02:00
Enrico Forestieri
4457cd44e8 Compile fix for those platforms using the locale facets implemented
in docstring.cpp (this was an oversight in r36748).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36767 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 22:53:07 +00:00
Pavel Sanda
c420c81ec2 Replay r36748
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36757 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:13:19 +00:00
Pavel Sanda
c68d754a74 Revert commits from 36745
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36749 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:05:40 +00:00
Stephan Witt
430d03811e #7026 substitute isDigit() by isDigitASCII() and ditch isDigit(); introduce isNumber() and use it in spell checker; change isdigit() to isDigitASCII() otherwise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36748 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-06 22:35:15 +00:00
Georg Baum
53a72a4526 fix bug #6584
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36687 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 17:48:06 +00:00
Georg Baum
dea050cb93 fix bug 3008: Add subscript/superscript inset for text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36424 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 17:00:12 +00:00
Pavel Sanda
0978e91ecf This stuff is general enough for lstrings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35646 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-14 11:01:15 +00:00
Pavel Sanda
e45427de38 Fix bug #6649 - fix texrow structure generated by InsetIndex
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34181 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-16 23:47:39 +00:00
Pavel Sanda
39110501c3 typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33475 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-15 07:39:39 +00:00
Jürgen Spitzmüller
5f4c5c5da9 * support/lstring.{cpp,h}:
- new function hasDigit
* src/Paragraph.cpp (spellcheck):
	- ignore words with digits, as in 1.6 (bug 6493).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33395 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 17:35:35 +00:00
Jean-Marc Lasgouttes
d81c4751df add a new bformat version
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32282 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-02 09:38:14 +00:00
Vincent van Ravesteijn
504bc83a64 Fix bug #4473: Incorrect LaTeX output for inter-word spaces.
This is a hack necessary because \\textcolor is a bit buggy.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30773 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-25 10:44:36 +00:00
Richard Heck
47595faf93 Forgot these bits.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29565 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-07 20:44:07 +00:00
Richard Heck
675925f659 This patch introduces wrapped tooltips for some more insets.
New method wrapParas() in support, deployed in various
insets.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29564 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-07 18:04:05 +00:00
Richard Heck
cca51a04c2 Move the word-wrapping code to support, so that it can be re-used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29559 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-07 12:23:12 +00:00
Pavel Sanda
4851e1c9f5 Add comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28131 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-13 00:55:12 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
15b49036ed X dependency cleanup (2/3)
(inernal|external)LineEnding are only used by the clipboard code. Therefore
move them to the Qt helpers, where the current environment is known.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26824 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-09 07:21:48 +00:00
Richard Heck
741bd1221a Fix for bug 5053. There are still some serious problems here, though, as (a) "unknown" cannot be translated and (b) the way the code was re-written, it will fail if unknown and translated layout names are used. This is because it completely subverts the use of a multicolumn model. I'll try to fix that, too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25670 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-16 15:29:00 +00:00
Richard Heck
ab6ecc9fea Clarify comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25668 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-16 14:49:36 +00:00
Jürgen Spitzmüller
1d0bac1144 Fix bug 5040:
* src/support/lstrings.{cpp,h}:
	- new optional param "bool keepemtpy" in getVectorFromString. 
	  By default, empty content between two delimiters was/is not added to the vector.
	  This can be changed with this bool.

* src/insets/InsetIndex.cpp:
	- care for the case when plaintext returns nothing (e.g when ERT is used)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25616 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-14 16:09:59 +00:00
Richard Heck
5cadecf3f6 Remove embedding stuff from InsetBibtex.
There might be some header cleanup that can be done here, or some uses of forward declarations and such. This was pretty quick and dirty, just to get it done.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24357 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-19 15:52:35 +00:00
Richard Heck
c3e4e47fb7 Improve documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23371 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-01 16:27:56 +00:00
André Pönitz
f407442b39 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22114 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 22:43:37 +00:00
André Pönitz
c6f8a4ade9 LYX_CXX_GLOBAL_CSTD is not really useful anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22113 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 21:49:13 +00:00
Peter Kümmel
b5158fbe51 cmake merge: declare before instantiate
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21897 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-01 10:24:48 +00:00
André Pönitz
23a672cf26 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21885 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 22:02:33 +00:00
André Pönitz
5c4a20fe04 I'll find a solution for the 'dirList problem', Abdel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21884 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 20:57:53 +00:00
André Pönitz
8d06b3049b cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21544 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-10 13:44:50 +00:00
André Pönitz
fdd5134a24 #undef I_AM_NOT_AFRAID_OF_HEADER_LIBRARIES
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21519 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-08 21:38:10 +00:00
Lars Gullik Bjønnes
26f336769a Remove warnings reported with gcc 4.3:
- Modifier on return type ignored
	- Ambigous else
	- Ambigous logical operators
	- Semi-colon instead of empty block
	- Missing header files
	- Missing using std::XX
	- Initialization out of order


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20304 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-16 10:36:57 +00:00
Richard Heck
779220a03b Correct comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20141 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 15:15:31 +00:00
Abdelrazak Younes
46214d708c * lstring.cpp:
- isAscii(): char is signed with MSVC so the comparison was not correct. Add a static_cast to "unsigned char" as per the other methods.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19001 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-06 14:43:18 +00:00
Georg Baum
4f4c5d4954 * src/support/lstrings.C
(lowercase): assert that input is pure ASCII
	(uppercase): ditto

	* src/support/lstrings.h
	(lowercase): document that only ASCII input is allowed
	(uppercase): ditto

	* src/lyxfind.C
	(stringSelected): Use compare_no_case (more efficient)

	* src/MenuBackend.C: remove unused using directive


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17393 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-02 16:52:49 +00:00
Georg Baum
d1f8c007f0 Get rid of some locale dependant functions
* src/output_plaintext.C
	(writePlaintextParagraph): Use compare_ascii_no_case instead of
	compare_no_case, since the strings to compare are pure ASCII anyway.

	* src/frontends/qt4/QPrefsDialog.C
	(setComboxFont): ditto

	* src/MenuBackend.C
	(Menu::checkShortcuts): ditto

	* src/frontends/qt4/QLImage.C
	(QLImage::loadableFormats): Use ascii_lowercase instead of lowercase
	since the input is pure ASCII anyway.

	* src/tex2lyx/text.C
	(splitLatexLength): ditto

	* src/support/lstrings.[Ch]
	(compare_no_case): Get rid of both std::string variants
	(lowercase): Get rid of std::string variant
	(uppercase): Change std::string variant to docstring

	* src/support/tests/regfiles/lstrings: Add new expected output

	* src/support/tests/lstrings.C: Add tests for docstring functions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17371 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 18:54:03 +00:00
Georg Baum
0418d14704 Fix character classification functions by using qt (bugs like 3270 and 1247)
* src/support/lstrings.C
	(uppercase): Use qt instead of non working libc/home grown solution
	(lowercase): ditto
	(local_lowercase): Use qt instead of libc tolower for ucs4 chars

	* src/support/qstring_helpers.C
	(qstring_to_ucs4): Use qchar_to_ucs4 because of the assertion

	* src/support/lstrings.h: Add some documentation

	* src/support/qstring_helpers.h
	(is_utf16): New function: Tests whether an ucs4 character is also a
	valid utf16 character
	(qchar_to_ucs4): Assert on is_utf16()
	(ucs4_to_qchar): Replace old assertion with better is_utf16()

	* src/support/textutils.h
	(isLetterChar): Delete non-working implementation
	(isPrintable): Ditto
	(isPrintableNonspace): Ditto
	(isDigit):

	* src/support/textutils.C: New file, contains new implementations
	using qt of the functions in textutils.h

	* src/support/Makefile.am: Add textutils.C

	* development/scons/scons_manifest.py: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17354 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 09:03:21 +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
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