Commit Graph

752 Commits

Author SHA1 Message Date
Georg Baum
255501fa77 Add missing convert<> specialization for unsigned long.
This is needed on OS X.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15323 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 15:35:18 +00:00
Georg Baum
b0297263df Work around a gcc bug on systems where wchar_t is not used as lyx::char_type
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15312 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 19:18:17 +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
Georg Baum
e1d0ce0a6e qt3 compiles again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15299 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 18:32:32 +00:00
Abdelrazak Younes
f5f4b31f4a This commit is converting everything related to browsing to unicode (qt4 only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15293 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 16:33:20 +00:00
Abdelrazak Younes
e7c4a0554c more unicode work.
* lstrings.[Ch]: new docstring trim() function

* qt4/validators.C: PathValidator::validate() and printable_list() converted to unicode.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15281 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 09:15:37 +00:00
Georg Baum
5eec8f015e Fix debug output (detected by a MSVC warning)
* src/support/unicode.C
	(iconv_convert): Use boost::uint32_t for storing a buffer character,
	since the previously stored unsigned char is too small. I did not
	use lyx::char_type on purpose because that might not be interpreted
	as number, but as wide character if lyx::char_type == wchar_t.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15278 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 10:31:34 +00:00
Georg Baum
3836ff77f0 Oops, I forgot to return a reference in operator+=. This patch fixes that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15276 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 09:59:17 +00:00
Georg Baum
ead66c0679 Add operator += for ASCII C strings and single ASCII chars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15274 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 09:44:26 +00:00
Enrico Forestieri
99fc6935a5 Replace the magic value 1000 with a const variable
* src/support/unicode.C
	(iconv_convert): replace 1000 by const outsize.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15264 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 00:35:01 +00:00
Georg Baum
fd6fa1e2af Fix crash on systems where sizeof(wchar_t) == 2 and gcc is used by adding
a working ctype<lyx::char_type> locale facet.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15223 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 19:27:17 +00:00
Abdelrazak Younes
f78e126d1e APPLE compilation fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15218 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 15:51:16 +00:00
Enrico Forestieri
69d72462b6 Avoid compile errors due to the min/max macros on mingw, too
* src/support/fontutils.C:
	Undefine the min and max macros if they are defined


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15210 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 12:37:18 +00:00
Enrico Forestieri
42b65db612 Avoid a compilation error on cygwin
* src/support/fontutils.C:
	Undefine the min and max macros after inclusion of windows.h on cygwin.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15203 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 00:58:53 +00:00
Enrico Forestieri
5070d2f660 Fix build on cygwin when using --without-x
* src/frontends/qt4/GuiView.C
	(setGeometry): replace test for Q_OS_WIN32 with Q_WS_WIN

	* src/support/fontutils.C:
	If X_DISPLAY_MISSING is defined, compile the code for Win32
	on cygwin, too.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15201 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-02 18:21:48 +00:00
Abdelrazak Younes
6a947f349b This commit moves system font initialization and restoration to new support/fontutils.[Ch].
These font related functions were identical for qt3 and qt4. They are not Qt dependent at all and could also apply to an eventual Win32 or MacOSX gtk port.

Jen-Marc says: It would be nice to convince fontconfig to do the same for linux.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15196 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-02 10:48:03 +00:00
Lars Gullik Bjønnes
dfd9c61b31 propdel svn:executable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15056 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-19 07:09:36 +00:00
Georg Baum
9080c44458 Use wchar_t as lyx::char_type if it is 32 bit wide.
No scons and cmake support! scons and cmake need to find out the size of
wchar_t and define this macro in config.h (example for 32bit wchar_t):

* The size of a `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4

	* configure.ac: Test size of wchar_t

	* src/support/types.h: don't include docstring.h anymore.
	Use wchar_t as lyx::char_type if it is 32 bit wide.

	* src/support/docstring.h: Use lyx::char_type for defining docstring

	* src/metricsinfo.h: include support/docstring.h instead of
	support/types.h
	* src/lyxlex.h: ditto
	* src/frontends/font_metrics.h: ditto
	* src/frontends/qt4/qt_helpers.h: ditto
	* src/frontends/Painter.h: ditto
	* src/errorlist.h: ditto
	* src/support/lstrings.h: ditto
	* src/lyxfunc.h: ditto
	* src/LaTeX.h: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14991 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 21:13:49 +00:00
Georg Baum
59fdb31af3 s/boost::uint32_t/lyx::char_type/g except in the definition of lyx::docstring
and lyx::char_type


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14990 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 17:11:39 +00:00
Georg Baum
61102f1028 Compile fix for the case when USE_BOOST_FORMAT is 0
* src/support/lstrings.C
	(bformat): Add missing lyx::from_ascii()

	* src/support/convert.C
	(docstring convert<docstring>(unsigned int)): Add specialization
	(docstring convert<docstring>(long)): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14983 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 11:18:13 +00:00
Georg Baum
d17a57a6f3 Fix converters in our scripts directory
* src/graphics/GraphicsConverter.C
	(build_script): quote filenames in the python script properly
	(build_script):
	(build_script):

	* src/support/filetools.[Ch]
	(quoteName): Add quote_style argument and quoting of python filenames
	(libScriptSearch): Add quote_style argument

	* src/support/filetools.C
	(quote_style): New enum to specify the quoting style


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14978 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 16:07:49 +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
Georg Baum
189d298d96 Add operator+ for ASCII characters and ASCII C strings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14969 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 07:13:56 +00:00
Lars Gullik Bjønnes
bb61b2655f More unicode work. Fixup some usages.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14968 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 18:34:24 +00:00
Lars Gullik Bjønnes
2a06b31354 Some further work and simplification. Now the conversion engine is only restarted on error.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14967 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 16:59:36 +00:00
Lars Gullik Bjønnes
8fd2299744 Cleanup and speedup some of the conversion functions a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14966 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 11:39:57 +00:00
Abdelrazak Younes
cfb1d179e6 win32 compilation fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14962 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 10:32:41 +00:00
Lars Gullik Bjønnes
0dc81f2463 Change MenuBackend and the other menuclasses to store a docstring. Do the required updates to lstrings/convert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14955 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 22:27:22 +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
Bo Peng
f478418d3f Minor os_cygwin.C change, from Enrico
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14945 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-08 15:07:22 +00:00
Georg Baum
c7be292968 s/errno.h/cerrno/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14932 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-07 15:23:16 +00:00
Georg Baum
71577b7c31 Fix compile error
* src/support/fs_extras.C: include errno.h



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14931 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-07 13:08:33 +00:00
Peter Kümmel
dc5a9f7d2c update to boost 1.34 cvs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14911 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-06 09:47:45 +00:00
Lars Gullik Bjønnes
d64a07a784 Update in-tree boost to latest from boost 1.34 cvs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14895 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-05 07:18:36 +00:00
Georg Baum
15be4fb8ef Fix byte order problems
* src/support/unicode.C
	(bytes_to_ucs4): make it work on big endian machines
	(bytes_to_ucs2): make it work on little endian machines
	(ucs2_to_ucs4): ditto
	(utf8_to_ucs4): Invoke iconv with explicit BE suffix
	(ucs2_to_ucs4): ditto
	(ucs4_to_ucs2): ditto
	(ucs4_to_utf8): ditto

	* configure.ac: Check for byte order

	* development/scons/SConstruct: Ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14890 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-04 14:43:25 +00:00
Abdelrazak Younes
a6e0f26fe2 * MSVC compilation fix: replace subst template with subst_char and sub_string
* add lowercase() and uppercase() functions for unicode char_type.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14881 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 14:09:24 +00:00
Abdelrazak Younes
9e18b8e975 All methods: use char_type as argument instead of char.
isLetterChar(): verify also that this is a one-byte char (<256).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14877 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 12:12:53 +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
6afe0b915c Fix some conversion problems spotted by MSVC warnings
* src/insets/insetquotes.[Ch]
	(InsetQuotes::InsetQuotes): char -> lyx::char_type

	* src/support/lstrings.h
	(contains): new variant for docstrings

	* src/frontends/controllers/ControlSpellchecker.C
	(isLetter): Add missing conversion to utf8
	(nextWord): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14867 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 10:18:20 +00:00
Abdelrazak Younes
14c30e2b84 iconv_convert(): return empty vector in case of empty input
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14866 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 08:01:50 +00:00
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

	* src/support/Makefile.am: add new file docstring.C

	* development/scons/scons_manifest.py: ditto

	* src/funcrequest.[Ch]
	(argument): change name to argument_ and type to docstring,
	add an accessor
	(FuncRequest): Add two new constructors taking a docstring argument

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Abdelrazak Younes
02f51e1820 Patch from Enrico:
In src/support/os_cygwin.C path styles are converted (when needed) from
one style to another. I discovered a couple of cases in which an
unnecessary conversion takes place.

The default output path style in external_path is windows because this
function is also used when adding fonts though a native Windows API call.
However, this call is not made in an X11 build, so it is not necessary
that the output path style is windows.

Log:
Small fixes for cygwin.

	* os_cygwin.C (is_windows_path): avoid unnecessary conversion
	when path is relative
	(convert_path_list): avoid unnecessary conversion when path
	list is empty
	(external_path): for an X11 build it is not necessary that
	the output path style is windows


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14859 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 13:37:52 +00:00
Abdelrazak Younes
d64b3a4a0a simple one line optimisation in iconv_convert().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14854 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-31 08:49:12 +00:00
Bo Peng
e530d2ddd2 Scons: add support for msvc qt3
* src/support/package.C.in: use PATH_MAX instead of MAX_PATH
	* INSTALL.scons: add instruction for building qt3 2ith msvc
	* development/scons/SConstruct: use the right lib (qt-mt3) and manifest file


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14709 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 21:34:24 +00:00
Georg Baum
161db0a9ee * src/support/docstring.h: Add char_traits template functions for
gcc 3.3.x and older. They were first supplied with the libstdc++ of
	gcc 3.4.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14685 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 12:31:35 +00:00
Abdelrazak Younes
0ca50d9637 deleted "#include <boost/cstdint.hpp>" as it is already in unicode.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14674 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 16:30:47 +00:00
Abdelrazak Younes
bd61a7a387 Windows compilation fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14671 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 14:19:52 +00:00
Abdelrazak Younes
615ef2527a add docstring.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14665 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 09:00:53 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Bo Peng
a871153a72 Remove the hide console trick in support/os_win32.C since wrapper hidecmd.c can completely hide the console.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14498 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-25 19:38:56 +00:00