Commit Graph

27 Commits

Author SHA1 Message Date
Georg Baum
77b9dbd557 Fix several filename and environment variable encoding problems
* src/LaTeX.C
	(LaTeX::deplog): Assume that filenames in log files are stored in
	the file system encoding

	* src/frontends/qt4/qt_helpers.[Ch]
	(internal_path): delete

	* src/frontends/qt4/QGraphics.C: Adjust to change above

	* src/frontends/qt4/QPrefsDialog.C: ditto

	* src/frontends/qt4/QExternal.C: ditto

	* src/frontends/qt4/QInclude.C: ditto

	* src/support/os.h: Document the encoding of filename arguments

	* src/support/os_win32.h: ditto

	* src/support/filetools.C
	(findtexfile): Convert filename from file system encoding

	* src/support/os_win32.C: Convert filenames from utf8 to file system
	encoding and vice versa where needed

	* src/support/os_cygwin.C: ditto

	* src/support/getcwd.C
	(getcwd): Use internal_path() with correct encoding

	* src/support/docstring.[Ch]
	(from_filesystem8bit): new conversion function

	* src/support/environment.C
	(getEnv): convert environment variable from local 8bit encoding to utf8
	(setEnv): convert environment variable from utf8 to local 8bit encoding

	* src/support/environment.h: document encoding of function arguments


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16753 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-18 20:47:27 +00:00
Abdelrazak Younes
0c496dc535 Convert internal_path() to unicode (partially). Fix bug 3114:
http://bugzilla.lyx.org/show_bug.cgi?id=3114

* os.h
  - new docstring adapted internal_path()

* qt_helpers.[Ch]:
  - new QString adapted internal_path()

All other files: use that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16744 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-18 12:30:07 +00:00
Peter Kümmel
74b8008837 undo last acedential checkin
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16436 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 10:30:02 +00:00
Peter Kümmel
af2ce964ae we've never used Q_FOREACH
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16435 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 10:23:06 +00:00
Georg Baum
fe5c73915e Make libQtCore a support library like boost and implement encoding conversion
from/to the local 8bit encoding with it.
Only the autotools build system is updated, scons and cmake users need to
add qt4 cpp flags when compiling libsupport, and link libsupport against
libQtCore.

	* src/frontends/qt4/qt_helpers.[Ch]
	(toqstr, qchar_to_ucs4, ucs4_to_qchar, ucs4_to_qstring,
	 qstring_to_ucs4, fromqstr): Move these qstring conversion functions
	from here ...

	* src/support/qstring_helpers.[Ch] ... to these new files

	* src/support/docstring.[Ch]
	(from_local8bit): new conversion function from local 8bit encoding
	to ucs4
	(to_local8bit): new conversion function from ucs4 to local 8bit
	encoding to ucs4
	(to_local8bit_failure): exception that is thrown by to_local8bit if
	the argument cannot be converted to the local encoding

	* src/support/filename.C
	(FileName::toFilesystemEncoding): implement with the help of QFile

	* src/support/Makefile.am: Add new files, qt4 cpp flags and link
	against libQtCore

	* src/client/client.C: Convert commandline input from local encoding
	to ucs4. Convert stuff that is sent to to the server to utf8,
	because LyX interprets it as utf8 on the other end of the pipe.

	* src/lyx_main.C
	(LyX::exec): convert commandline input from local encoding to utf8
	(LyX::init): ditto
	(LyX::easyParse): ditto

	* development/scons/scons_manifest.py: Add new files

	* config/qt4.m4: Define new variables QT4_CORE_INCLUDES,
	QT4_CORE_LDFLAGS and QT4_CORE_LIB


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16257 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-12 20:19:46 +00:00
Georg Baum
e04c134ec2 Fix incorrect conversion from QString to std::string. lyxerr output is wrong
now (always UTF8 as in the core).

	* src/frontends/qt4/qt_helpers.C
	(fromqstr): Convert to UTF8, not the locale encoding

	* src/frontends/qt4/qt_helpers.h
	(toqstr): update documentation
	(qchar_to_ucs4): ditto
	(ucs4_to_qchar): ditto
	(ucs4_to_qstring): ditto
	(qstring_to_ucs4): ditto
	(qt_): ditto
	(fromqstr): ditto

	* src/frontends/qt4/README: Update unicode part


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16207 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-08 08:57:57 +00:00
Georg Baum
c4320d24cd Make string conversion work with non-ucs2-characters if using qt 4.2
* src/frontends/qt4/qt_helpers.[Ch]
	(toqstr): Use QString::fromUcs4 if the qt version is at
	least 4.2.
	(qstring_to_ucs4): Use QString::toUcs4 if the qt version is at
	least 4.2
	(ucs4_to_qstring): Delete to avoid confusion, since it was only
	used in one place

	* src/frontends/qt4/panelstack.C
	(PanelStack::addCategory): Use toqstr instead of ucs4_to_qstring

	* src/support/unicode.[Ch]
	(ucs2_to_ucs4): Replace with utf16_to_ucs4
	(ucs4_to_ucs2): Replace with ucs4_to_utf16


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16169 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 13:50:46 +00:00
Michael Schmitt
a85cc03780 * qt_helpers.h: qt_() - set parameter 'comment' to default 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16148 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 01:09:09 +00:00
Michael Schmitt
b5331d6261 * src/frontends/qt4/qt_helpers.h: fix comment on the use of qt_()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16147 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 00:28:14 +00:00
Michael Schmitt
f099bf461e * src/frontends/qt4/qt_helpers.h: add #include <boost/assert.hpp>
because gcc 3.3.5pre (SUSE Linux 9.3) fails otherwise


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16140 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 21:25:24 +00:00
Georg Baum
9d1f78acb5 remove unused function
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16138 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 20:37:11 +00:00
Georg Baum
c5629aab95 remove duplicate of toqstr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16137 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 19:53:21 +00:00
Peter Kümmel
19df31aa0a --style=Andre
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16134 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 17:32:15 +00:00
Abdelrazak Younes
591d47a64b * qt_helpers.h:
- ucs4_to_qchar(): add a FIXME and an assertion

* GuiFontMetrics: replace the table based cache with two QHash based cache. With this change, the speed overhead is not negligible (exact same score with the UserGuide test) and the required additional memory is minimal (maybe one or two megabytes).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16132 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 15:54:49 +00:00
Peter Kümmel
f4c32de361 remove size_t/int warning: QString doesn't use size_t so we must cast it to avoid the warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16117 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 22:57:34 +00:00
Michael Schmitt
c56671cec7 * src/frontends/qt4/qt_helpers.C:
* src/frontends/qt4/qt_helpers.h:
	* src/frontends/qt4/ui/Makefile.am:
	* Status.15x:
	* development/scons/qt4.py: fix localization for qt4 strings


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15786 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 18:09:55 +00:00
André Pönitz
8a1e6d6759 microoptimization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15493 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 19:33:37 +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
Lars Gullik Bjønnes
b27bb5cb53 Change (and fix) the bullets in itemize to be more unicode friendly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15416 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 19:26:23 +00:00
Abdelrazak Younes
f9c4f9cca3 more unicode work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15284 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 12:07:05 +00:00
Abdelrazak Younes
a21259dd02 * qt_helpers:
- ucs4_to_qchar() and qchar_to_ucs4() have been inlined.
  - ucs4_to_qstring(): pass a QString to avoid a copy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15266 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:30:26 +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
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
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
Abdelrazak Younes
4d5767fd9c * qt_helpers.[Ch]: new conversion from/to ucs4 strings and chars to/from QChar and QString.
* qfont_metrics.C: make use of above methods instead of those in unicode.[Ch]

* QLPainter.C: ditto

* QLyXKeySym.C: ditto + simplification and a BOOST_ASSERT that verifies that the event is one char only.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14852 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-30 14:59:07 +00:00
Lars Gullik Bjønnes
69567e26be change string "qt2" to "qt4"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13727 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-24 13:25:50 +00:00
Lars Gullik Bjønnes
12e5a52b92 Added initial qt4 work by Abdelrazak Younes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13294 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-05 17:24:44 +00:00