Georg Baum [Wed, 13 Dec 2006 21:18:44 +0000 (21:18 +0000)]
fix manual qt configuration in these cases:
- pkgconfig is missing
- pkgconfig is available, but it does not have any qt information
by Jean-Marc and me
Remove the tmp dir only if it has been created and create the lyxsocket
in the right place.
* src/lyx_main.C
(LyX::exec): create the lyxsocket in the temporary directory.
(LyX::prepareExit): remove the temporary directory only if it
has been created.
Georg Baum [Tue, 12 Dec 2006 20:19:46 +0000 (20:19 +0000)]
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
* src/lyxfunc.C
(LyXFunc::dispatch): Move to GuiView::closeEvent the session code
for lastpos in LFUN_LYX_QUIT. Check for unsaved changes before
initiating the quit procedure in LFUN_LYX_QUIT and LFUN_WINDOW_CLOSE.
* src/frontends/qt4/GuiView.h
(class GuiView): New boolean member quitting_by_menu_.
* src/frontends/qt4/GuiView.C
(GuiView::GuiView): Initialize quitting_by_menu_.
(GuiView::close): Set to true quitting_by_menu_ before calling
the quit procedure and reset it afterwards.
(GuiView::closeEvent): Account for the close window button.
Save last positions to the session file. Remove wrongly placed
call to quitWriteAll.
* lib/languages:
change default for latin1-languages to latin9 (bug 845)
* src/paragraph_pimpl.C:
add support for the subset of symbols that is only covered by
latin1 (not latin9) to make the above switch painless.
Georg Baum [Sun, 10 Dec 2006 17:47:44 +0000 (17:47 +0000)]
Fix encoding for pspell. I cannot test this, but this should work according
to the documentation of pspell 0.12.2 (the latest version before it became
aspell). Since pspell.C did not even compile from Denmark till yesterday and
nobody noticed I am not willing to spend more time with this.
Georg Baum [Sun, 10 Dec 2006 16:08:52 +0000 (16:08 +0000)]
Fix ispell encoding for lyxrc.isp_use_input_encoding == true
* src/buffer.C
(Buffer::makeLaTeXFile): move code from here ...
* src/bufferparams.[Ch]
(BufferParams::encoding): .. to this new method
* src/ispell.C
(to_iconv_encoding): new, convert from ucs4 to the encoding used by
ispell
(from_iconv_encoding): new, convert from the encoding used by ispell
to ucs4
(ISpell::ISpell): store buffer encoding
(ISpell::nextMiss): use from_iconv_encoding instead of from_utf8
(ISpell::check): use to_iconv_encoding instead of to_utf8
(ISpell::insert): ditto
(ISpell::accept): ditto
* src/ispell.h
(encoding): new member, store the buffer encoding
Michael Schmitt [Sun, 10 Dec 2006 10:07:31 +0000 (10:07 +0000)]
po/de.po:
src/frontends/qt4/QDelimiterDialog.C: cosmetics: change text "Variable size" to just "Variable", because "size" is already given by the label
Georg Baum [Fri, 8 Dec 2006 19:46:16 +0000 (19:46 +0000)]
Convert the spell checking machinery to docstring.
Fix a conversion char -> char_type without encoding conversion in
cap::replaceSelectionWithString().
Georg Baum [Thu, 7 Dec 2006 21:27:32 +0000 (21:27 +0000)]
* src/lyx_main.C
(LyX::init): Remove obsolete test for arguments starting with '-'.
The frontend did already parse these arguments before LyX::init is
called, and therefore any remaining ones are reported as error
earlier in LyX::init, so the removed code does never trigger.
* BufferView:
- update(): return bool only, and cleanup of the DOX comments.
- workAreaDispatch(): return bool only, cleanup of the DOX comments, change update() call to updateMetrics() and add some FIXMEs.
* lib/chkconfig.ltx:
check for the textcomp package
* lib/doc/LaTeXConfig.lyx.in:
document textcomp
* src/LaTeXFeatures.C (simplefeatures):
add textcomp
* src/paragraph_pimpl.C (simpleTeXSpecialChar):
support the Euro sign (via textcomp command)
* src/paragraph_pimpl.C (validate):
require textcomp if we have a Euro symbol
Directly use the family name in QFontInfo to ascertain whether the requested
font is available. This is now possible because the old bug needing a
workaround has been solved in Qt4. This also solves the problem of missing
integral symbols in mathed on Windows when the esint10 font is not available.
* src/frontends/qt4/GuiFontLoader.C
(isSymbolFamily): directly check the family name in QFontInfo.
(getSymbolFont): add some debugging info.
Georg Baum [Tue, 5 Dec 2006 12:57:01 +0000 (12:57 +0000)]
more unicode filenames (+ fix one possible initialization order bug in
needsUpdate() in src/lyx_main.C).
toFilesystemEncoding() is now used in all places where it is needed if I did
not forget anything.
Georg Baum [Tue, 5 Dec 2006 08:06:44 +0000 (08:06 +0000)]
If anybody moves this to WONTFIX again I'll get really upset.
Does nobody see how ridiculous it is to require the user to choose the one
existing frontend?
If this does not get fixed for 1.5.0 we'll get many complaints, and a bad
reputation.
Bo Peng [Tue, 5 Dec 2006 05:36:59 +0000 (05:36 +0000)]
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.
Georg Baum [Mon, 4 Dec 2006 13:50:46 +0000 (13:50 +0000)]
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
Georg Baum [Mon, 4 Dec 2006 13:45:08 +0000 (13:45 +0000)]
Allow empty file names in constructor, since empty filenames can now be
created by the default constrcutor anyway.
This prevents an assert in findtexfiles.
* src/paragraph.C (corrected_env, endTeXParams):
- writeout \begin and \end alignment tags on their own lines (bug 3010).
(patch from Gregor Gorjanc and me).