ends in .ui, try the .inc version too (support for user ui files)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16762 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
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
* src/output_latex.C
(TeXOnePar): Postpone the output of newlines after the call of
switchEncoding(), since we may get additional whitespace otherwise.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16740 a592a061-630c-0410-9148-cb99ea01b6c8
(forceDefaultParagraphs): Fix comment: Not all text classes have a
"Standard" layout. What was meant here is the default layout of the
text class.
* src/paragraph.C
(Paragraph::simpleTeXOnePar): ditto
* src/output_latex.C
(latexParagraphs): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16738 a592a061-630c-0410-9148-cb99ea01b6c8
script inset and the new position is in the nucleus of the inset,
notifyCursorLeaves will kill the script inset itself. So we check
all the elements of the cursor to make sure that they are correct
(bug 2933).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16729 a592a061-630c-0410-9148-cb99ea01b6c8
the former is also trigged when updating dialogs. we should use toggled(bool) to en/disable widgets and in situations when we are sure that we always want to act on a toggle
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16724 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathExtern.C:
(captureOutput): redirect stdin from a file.
(pipeThroughMaxima, pipeThroughOctave, pipeThroughMathematica): use
"output:" instead of "out:" in the informational messages in order to
better match the "input:" message from captureOutput.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16709 a592a061-630c-0410-9148-cb99ea01b6c8
* WorkArea::sheduleRedraw(): new pure virtual method.
* GuiWorkArea::showCursor(): handle the scheduled redraw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16708 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3058
Bug fixed by setting the UpdateFlags correctly in LFUN_LYXRC_APPLY and LFUN_SCREEN_FONT_UPDATE.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16693 a592a061-630c-0410-9148-cb99ea01b6c8
- getMessages(), getGuiMessages(): new global function definitions
* lyx_main.C: implementation of getMessages() and getGuiMessages().
* LyX class:
- getMessages(), getGuiMessages(), setGuiLanguage(): new interface for Messages access.
* LyX::Singletons class:
- messages_: new container for Messages objects.
* Buffer::Impl::messages is now a pointer to the singleton defined in lyx_main.C.
* gettext.C: _() uses the global getGuiMessages() instead of the local static Messages object.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16673 a592a061-630c-0410-9148-cb99ea01b6c8
- I changed (again) the get() interface to return full copy instead of const reference because the no ENABLE_NLS case was not working.
- I put the C++ example implementation at the end of messages.C.
- I did some header cleanup in messages.C.
This will be the last change to the Messages class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16672 a592a061-630c-0410-9148-cb99ea01b6c8
LyX instances. This re-enables copy/paste from the internal clipboard on
OS X (currently broken since Clipboard::isInternal() always returns false for
some reason).
* src/insets/insettabular.C
(InsetTabular::doDispatch): adjust to clipboard interface change
(InsetTabular::copySelection): ditto
* src/mathed/InsetMathGrid.C
(InsetMathGrid::doDispatch): ditto
* src/mathed/InsetMathNest.C
(InsetMathNest::doDispatch): ditto
* src/buffer.[Ch]
(Buffer::readString): New method: Read document from a string
(Buffer::readFile): Change return value from bool to enum (needed
for readString). Return wrongversion if we are reading from a string
and the version does not match.
(Buffer::do_writeFile): make public and rename to write
* src/CutAndPaste.C
(putClipboard): New helper, put stuff to the system clipboard
(void copySelectionHelper): Use putClipboard instead of
theClipboard().put()
(void copySelection): ditto
(void pasteClipboard): new method for pasting in text
(void pasteParagraphList):
* src/frontends/Clipboard.h
(Clipboard::get): Rename to getAsText
(Clipboard::getAsLyX): New method for getting the system clipboard
in LyX format
(Clipboard::hasLyXContents): New method telling whether there is LyX
contents in the clipboard
* src/frontends/qt4/GuiClipboard.[Ch]: Implement the new methods
* src/text3.C
(LyXText::dispatch): Use pasteClipboard for pasting the system
clipboard
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16669 a592a061-630c-0410-9148-cb99ea01b6c8
- replace static string with private member
- test the success of the cache insertion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16668 a592a061-630c-0410-9148-cb99ea01b6c8
\inputencoding default
* src/paragraph_pimpl.C
(isEncoding): Explain why bparams.inputenc == "default" is ignored
* src/bufferparams.C
(BufferParams::encoding): Determine the encoding from the language
for inputenc == "default"
* src/buffer.h
(writeLaTeXSource): Mention inputenc == "default" in documentation
* src/bufferparams.h
(inputenc): Update documentation of "default"
* src/output_latex.C
(switchEncoding): Switch the encoding also for inputenc == "default",
but don't output \inputencoding commands in that case
* lib/lyx2lyx/LyX.py
(get_encoding): Determine the encoding from the language for
inputencoding == "default"
* lib/lyx2lyx/lyx_1_5.py
(convert_multiencoding): ditto
* development/FORMAT: Update documentation of \inputencoding default
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16667 a592a061-630c-0410-9148-cb99ea01b6c8
InsetBase const * const nextinset = = nextInset();
is not possible because InsetBase::asInsetMath() is not const.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16660 a592a061-630c-0410-9148-cb99ea01b6c8
a bug on Windows due to an unnecessary conversion to external style.
* src/insets/ExternalSupport.C
(subst_path): avoid a bug in the external material inset on Windows
by don't using external_path. The filename will be quoted and thus
there will be no problems with forward slashes.
* src/frontends/qt4/QGraphics.C
* src/frontends/qt4/QExternal.C
* src/frontends/qt4/QInclude.C:
(Qxxx::apply): On Windows, the user could input an absolute path in
native style by hand (without using the file dialog), so make sure
that no backslashes can slip in by this way.
* src/frontends/qt4/QPrefsDialog.C
(internal_path_list, external_path_list): new wrappers for the
corresponding functions in the os namespace.
(PrefPaths::apply): make sure that path_prefix is stored in the
internal style, i.e., without backslashes.
(PrefPaths::update): make sure that path_prefix is displayed to
the user in the native style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16659 a592a061-630c-0410-9148-cb99ea01b6c8
Move OS dependent code where it belongs.
* src/lyx_cb.C:
Remove unused include
* src/support/os.h
* src/support/os_unix.C
* src/support/os_win32.C
* src/support/os_cygwin.C:
Move here the code from fontutils.[Ch]
* src/support/os_cygwin.C
(external_path, external_path_list): don't differentiate anymore
on Qt/X11 or Qt/Win builds.
* src/support/environment.C
(setEnvPath): get rid of the #ifdef for cygwin.
* src/lyx_main.C
(LyX::exec): addFontResources and restoreFontResources are now
in the os namespace.
* src/support/Makefile.am
* src/client/Makefile.am
* src/tex2lyx/Makefile.am
* development/scons/scons_manifest.py:
Updated
* src/support/fontutils.[Ch]:
Removed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16655 a592a061-630c-0410-9148-cb99ea01b6c8
* src/session.h/C: save pit instead of id
* src/lyxfunc.h/C: gotoBookmark function
* src/BufferView.h/C: proper update of bookmarks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16647 a592a061-630c-0410-9148-cb99ea01b6c8
encodings) more fine grained: From paragraph level to individual character
level. The inputenc package supports that since at least 2000.
* src/insets/insetbase.h
(latex): Document the differences between output to a string stream
and a file stream
* src/buffer.h
(writeLaTeXSource): ditto
* src/output_latex.h
(latexParagraphs): ditto
(switchEncoding): new function to change the encoding of a stream
(and output \inputencoding commands)
* src/paragraph_pimpl.C
(Paragraph::Pimpl::simpleTeXSpecialC): Adjust to latexWriteEndChanges
changes
* src/support/docstream.[Ch]
(setEncoding, operator<<): New stream modifier that changes the
encoding of file streams
* src/lyxfont.[Ch]
(LyXFont::latexWriteStartChanges): Change stream encoding if needed
(LyXFont::latexWriteEndChanges): Change stream encoding if needed
* src/lyxfont.h
(public:):
* src/paragraph.C
(Paragraph::simpleTeXOnePar): Adjust to latexWriteStartChanges and latexWriteEndChanges changes
(bool Paragraph::simpleTeXOnePar):
(bool Paragraph::simpleTeXOnePar):
(bool Paragraph::simpleTeXOnePar):
(bool Paragraph::simpleTeXOnePar):
(bool Paragraph::simpleTeXOnePar):
* src/output_latex.C
(TeXOnePar): Remove the ugly hack to for wencoding changes and use
switchEncoding instead. A nice side effect is that the old hack would
not work if the main language encoding is latin1 and a character
would be mapped to a cedilla in the "fake ucs4" encoding, because
iconv refuses to convert such a character to latin1, although it
exists in latin1 (it wants to attach it to a base character).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16633 a592a061-630c-0410-9148-cb99ea01b6c8
we don't set the selection with qApp->clipboard()->put().
Therefore we get the status of the internal selection from the cursor, and
the empty flag for fake selections is not needed anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16610 a592a061-630c-0410-9148-cb99ea01b6c8
- do not focus filename widget for already existing insets (bug 1663).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16604 a592a061-630c-0410-9148-cb99ea01b6c8
the role kLSRolesAll for both edito and viewer, since it is what
the finder does.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16602 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetFloat::addToToc(): avoid a string copy, a map lookup and a TocItem construction. Don't complete the loop if item found.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16600 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXKeySym.h: replace global operator==() with pure virtual method.
* QLyXKeySym: new operator==() method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16598 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QCitationDialog.[Ch]:
- implement KeyPressEvent, catch ESC key and clear params there as well
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16594 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graphics/GraphicsConverter.C
(build_script): convert the input filename from utf8 to the default
locale encoding as it hopefully corresponds to the filesystem encoding.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16592 a592a061-630c-0410-9148-cb99ea01b6c8
* src/changes.h: some speed optimizations as the result of profiling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16584 a592a061-630c-0410-9148-cb99ea01b6c8
we got a consensus on this on the list.
Some calls of haveSelection are still missing, but we need to decide the
"persistent selection" question before those can be implemented properly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16572 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QDocumentDialog.C:
* src/frontends/qt4/QPrefsDialog.C:
- include some information on the resizing bug,
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16565 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathExtern.C
(pipeThroughOctave): take into account that the output from octave
may contain ansi control sequences.
* src/mathed/InsetMathRoot.[Ch]
(InsetMathRoot::mathematica): new virtual method to output n-th
roots in mathematica syntax.
* src/mathed/InsetMathRoot.C
(InsetMathRoot::octave): octave has not a root() command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16559 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxtext.h
* src/text3.C
(pasteString): Change argument to bool
* src/text3.C
(LyXText::dispatch): (LFUN_PASTE): Paste plain text as paragraphs,
not as lines
(LyXText::dispatch): Adjust to pasteString change
* lib/bind/cua.bind:
* lib/bind/sciword.bind:
* lib/bind/mac.bind: Move shortcuts from "clipboard-paste paragraph"
and "primary-selection-paste paragraph" to "primary-selection-paste"
and "clipboard-paste", since the "paragaph" versions are used in
LFUN_PASTE and middle-mouse-button paste. Now "primary-selection-paste"
has the same shortcut it always had, and "clipboard-paste" has the
shortcut that was originally assigned to
"primary-selection-paste paragraph".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16553 a592a061-630c-0410-9148-cb99ea01b6c8
../../../src/mathed/../ParagraphMetrics.h:76: error: extra qualification 'lyx::ParagraphMetrics::' on member 'calculateRowSignature'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16546 a592a061-630c-0410-9148-cb99ea01b6c8
the status quo fixes, I'll send a proposal how to proceed soon.
* src/CutAndPaste.[Ch]
(copySelection): Split into copySelection and copySelectionToStack
* src/text3.C
(LyXText::dispatch): Use copySelectionToStack instead of LFUN_COPY
to copy the selection to the cut buffer for two reasons:
- LFUN_COPY did not work (probably because bv.cursor() was not yet set)
- If it would work it would put the selection to the system clipboard
which is clearly wrong.
Document why we put the selection to the stack.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16534 a592a061-630c-0410-9148-cb99ea01b6c8
after selecting something with the mouse
* src/insets/insettabular.C
(InsetTabular::doDispatch): Set the X selection if there is a
selection after release of the left mouse button
* src/mathed/InsetMathNest.C
(InsetMathNest::doDispatch): Set the X selection after double and
triple click of the left mouse button
(InsetMathNest::lfunMouseRelease): Set the X selection if there is a
selection after release of the left mouse button
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16530 a592a061-630c-0410-9148-cb99ea01b6c8
(GuiSelection::haveSelection): Add a big comment what we actually do
here, and why. It took me quite some time to figure that out.
* src/frontends/Selection.h
(haveSelection): Add more detailed documentation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16527 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiApplication.C
(GuiApplication::x11EventFilter): Only send or clear the selection
if the X event specified the primary selection. Previously this was
also done if the event specified the clipboard. We must ignore that,
because the clipboard is completele handled by qt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16526 a592a061-630c-0410-9148-cb99ea01b6c8
(BufferView::clearSelection): Trigger a redraw so that the cleared
selection becomes visible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16524 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/LyXKeySym.h:
* src/frontends/qt4/QLyXKeySym.h:
* src/frontends/qt4/QLyXKeySym.C (print): add a forgui boolean that
tells whether the string should used localized names and special
characters.
* src/MenuBackend.C (binding):
* src/kbmap.C (print):
* src/kbsequence.C (print, printOptions): add forgui parameter.
* src/frontends/qt4/QLPopupMenu.C (addBinding): use a non-localaized
binding for Qt/Mac (because it needs to be parsed back) and a
localized one for the others (so that it looks good).
* src/kbmap.C (defkey,printbindings):
* src/lyxfunc.C (processKeySym,dispatch,viewStatusMessage): adapt to
above changes.
* src/kbmap.C (printKey): remove.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16510 a592a061-630c-0410-9148-cb99ea01b6c8
(GuiApplication::x11EventFilter): Small optimization: Do not request
the current BufferView if it is not used
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16506 a592a061-630c-0410-9148-cb99ea01b6c8
* WorkArea::resizeBufferView(): delete redraw() call.
* GuiWorkArea:
- need_resize_: new private member.
- expose(): move pixmap painting code to new private updateScreen() method.
- paintEvent(): resize the backing pixmap if need be.
- resizeEvent(): move the resizing code to paintEvent().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16499 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insettabular.C
(InsetTabular::doDispatch): Only paste the tabular clipboard if the
system clipboard is not newer, else let the current cell paste the
system clipboard
(InsetTabular::getStatus): Only decide whether to enable LFUN_PASTE
if the tabular clipboard is not empty and the system clipboard is
not newer, else let the current cell decide.
* src/mathed/InsetMathGrid.C
(InsetMathGrid::doDispatch): Use the system clipboard for LFUN_PASTE
if it is newer.
* src/mathed/InsetMathNest.C
(InsetMathNest::doDispatch): Use the system clipboard for LFUN_PASTE
if it is newer.
* src/text3.C
(doInsertInset): Add a "0" argument to LFUN_PASTE, because we always
want to use the internal clipboard here
(LyXText::dispatch): ditto (when handling mouse button 2 press)
(LyXText::dispatch): Use the system clipboard for LFUN_PASTE if it
is newer.
(LyXText::getStatus): Also enable LFUN_PASTE if the system clipboard
is owned by another application
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16498 a592a061-630c-0410-9148-cb99ea01b6c8
holding the Qt translations is not deleted. Now keyboard shortcuts and
Qt stock dialogs are properly translated.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16496 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetTabular::getStatus): Correctly enable LFUN_PASTE when the
special tabular clipboard is empty by removing an errornous
fall-through to LFUN_INSET_MODIFY
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16495 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetTabular::doDispatch): Don't reset the table paste buffer
when pasting from the external clipboard or selection, since no
paste operation should ever change any clipboard.
At the same time make the code more readable by removing the
fall-through.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16492 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetMathNest::lfunMouseRelease): Remove commented call of
theSelection->put(), since that should never be called from the kernel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16491 a592a061-630c-0410-9148-cb99ea01b6c8
(cutSelection): Fill the system clipboard if this is a real cut (only
if the cursor is in texted, the mathed case is done elsewhere).
(cutSelection): Remove obsolete comment. Since the separation of
selection and clipboard the selection is only filled as response
to an explicit request by the X server, so there is no slowdown.
The clipboard is only filled on explicit user request, so that does
not result in slowdown either.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16490 a592a061-630c-0410-9148-cb99ea01b6c8
menu name.
* src/frontends/qt4/QLMenubar.C (macxMenuBarInit): hardcode the
special menu instead of reading it from ui files. Use labels that will
trigger Qt menu merging functionality onthe mac. This fixes menu
merging on LyX/Mac (but the menu names are still in english for now).
* lib/ui/stdmenus.ui: delete special menu definition "LyX".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16479 a592a061-630c-0410-9148-cb99ea01b6c8
* Clipboard.h: new isInternal() pure virtual method
* Selection.h: new isInternal() pure virtual method
* GuiClipboard, GuiSelection: implement new method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16476 a592a061-630c-0410-9148-cb99ea01b6c8
like 3043
* src/support/docstream.C
(iconv_codecvt_facet::do_out): Output the to be converted string and
the partially converted result in hex notation if an error occurs
(iconv_codecvt_facet::do_in): ditto
(iconv_codecvt_facet::do_iconv): remove now obsolete error message
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16469 a592a061-630c-0410-9148-cb99ea01b6c8
(IconvProcessor::convert): Fix hex output of bytes on systems where
char is signed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16468 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathNest.C :
unreachable code
* src/aspell_local.h :
aspell is a Clibrary, no class keyword available
* src/texrow.h :
could not generate standard constructor
* development/cmake/CMakeLists.txt :
- disable same warnings
- all size_t/int related warnings are disabled
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16446 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView:
- checkDepm(): new method for DEPM mechanism.
- mouseSetCursor(): use checkDepm().
* text2.C:
- use BufferView::checkDepm() instead of using LyXText::deleteEmptyParagraphMechanism() directly.
- deleteEmptyParagraphMechanism(): prepare for conversion to DocIterator (code transferred to BufferView::checkDepm()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16442 a592a061-630c-0410-9148-cb99ea01b6c8
notifyCursorLeaves may have killed the inset and put its contents
at lower level (bug 2908)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16430 a592a061-630c-0410-9148-cb99ea01b6c8
false by default.
(metrics): do not set to openinlined if
hasFixedWidth is true.
* insetbox.C (hasFixedWidth): returns true if the box has a fixed
width.
(metrics): use hasFixedWidth.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16426 a592a061-630c-0410-9148-cb99ea01b6c8
encodings in the preferences dialog
* src/LaTeXFeatures.C: special treatment for tis620-0 encoding
* src/bufferparams.C: ditto
* src/output_latex.C: ditto
* src/encoding.[Ch]: Add the possibility to iterate over all encodings
* src/paragraph_pimpl.C: Add latin10 and cp858 to Euro treatment
* src/buffer.C: Update format number
* src/frontends/qt4/QDocumentDialog.C: Don't hardcode available
encodings
* lib/lyx2lyx/LyX.py,
lib/lyx2lyx/lyx_1_5.py: implement conversion from 256 to 255
* lib/encodings: Add some encodings, fix all "unknown" entries
* development/FORMAT: Document file format change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16418 a592a061-630c-0410-9148-cb99ea01b6c8
(iconv_convert): Fix a crash: Don't try to create a vector from two
pointers where end is before begin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16408 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcollapsable.C: test if inset is open before editing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16406 a592a061-630c-0410-9148-cb99ea01b6c8
instead of std::string
* src/support/lyxlib.h
* src/support/getcwd.C
(getcwd): return a FileName, not a std::string in filesystem encoding
* src/support/filetools.[Ch]
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* src/support/lyxlib.h
* src/support/tempName.C
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16399 a592a061-630c-0410-9148-cb99ea01b6c8
(LColor::getFromGUIName): delete, since it is unused, broken and
not easy to implement correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16378 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlBibtex.C
(ControlBibtex::getStylefile): get the correct parameter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16374 a592a061-630c-0410-9148-cb99ea01b6c8
* focusInEvent(): start the blinking cursor after the resize.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16366 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.h
(fileSearch): change return value type to vector<FileName>
* src/support/filetools.C
(dirList): Convert filenames from the file system encoding
* src/converter.C
(Converters::move): Adjust to dirList interface change
* src/support/filename.[Ch]
(FileName::fromFilesystemEncoding): New static method
* src/client/client.C: Add comments about filename encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16362 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.[Ch]
(fileOpenSearch): comment out since it is unused
(fileSearch): Use addExtension instead of changeExtension, since we
are always called without extesnion, or with the correct one.
(addExtension): new function
* src/lyx_main.C
(LyX::init): tell fileSearch that we are also interested in the name
if the file does not exist
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16361 a592a061-630c-0410-9148-cb99ea01b6c8
(Converters::move): Use removeExtension and reuse variable 'path'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16358 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiWorkArea.C
(GuiWorkArea::doGreyOut): don't use LyXFont::SIZE_XXXX directly as
a font size as these are enum values and not the actual sizes.
Move the version number slightly to the right to make it more
readable against the splash screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16353 a592a061-630c-0410-9148-cb99ea01b6c8
* WorkArea.h: processKeySym() is now public
* GuiView:
* event(): new method to intercept Tab key press.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16352 a592a061-630c-0410-9148-cb99ea01b6c8
with Qt/Mac. Still does not work in non-default locale.
* QLPopupMenu.C (specialMacXmenuHack): remove, not needed anymore.
* GuiView.C (init): remove Mac hack, not needed anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16349 a592a061-630c-0410-9148-cb99ea01b6c8
The use of top-level lyx::dispatch() ensure that the CoordCache is OK at each step.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16348 a592a061-630c-0410-9148-cb99ea01b6c8
- ParagraphMetrics: new class gathering everything related to metrics.
- Paragraph: now derives from ParagraphMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16335 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathGrid.C: Don't declare mathed_parse_normal,
include MathParser.h instead
(InsetMathGrid::doDispatch): remove to_utf8, mathed_parse_normal
takes now a docstring
* src/mathed/MathMacroTemplate.C
(MathMacroTemplate::read): restore the version of 1.4.x, since
the new one did only work for macros without whitespace
* src/mathed/MathParser.[Ch]
(Parser): Add constructor from a docstring
(mathed_parse_cell): Create the parser directly from the string,
since the istream variant of tokenize() does only work if reading
from the .lyx file
(mathed_parse_normal): ditto
(mathed_parse_normal): Delete the istream variant (unused)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16334 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfunc.C
(LyXFunc::dispatch): Use default include type if no type is given
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16324 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/package.h
(Package::system_temp_dir): new, return the system temp dir.
* src/support/package.C.in
(Package::Package): record the system temp dir.
* src/lyx_main.C
(LyX::prepareExit): don't remove the temporary directory if it
is the same as the system temp dir, meaning that the lyx_tmpdir
has not yet been created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16318 a592a061-630c-0410-9148-cb99ea01b6c8
ControlMath.C: cleanup order of symbols in math panel
iconpalette.C: 6 cols since many symbols come in pairs
Rrightarrow.xpm: was missing
searrow.xpm: was north east
swarrow.xpm: was north west
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16316 a592a061-630c-0410-9148-cb99ea01b6c8
new doc
type: foo bar
put cursor after foo: foo| bar
enter space: foo | bar
click somewhere else -> CRASH
The problem is that the paragraph breaking needs to be redone after the empty space is deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16295 a592a061-630c-0410-9148-cb99ea01b6c8
with the correct Qt4 signal QComboBox::editTextChanged.
* src/frontends/qt4/QSearchDialog.C
(QSearchDialog::QSearchDialog): use QComboBox::editTextChanged instead
of QComboBox::textChanged.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16270 a592a061-630c-0410-9148-cb99ea01b6c8
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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16262 a592a061-630c-0410-9148-cb99ea01b6c8
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
* 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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16248 a592a061-630c-0410-9148-cb99ea01b6c8
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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16239 a592a061-630c-0410-9148-cb99ea01b6c8
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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16234 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16230 a592a061-630c-0410-9148-cb99ea01b6c8
src/frontends/qt4/QDelimiterDialog.C: cosmetics: change text "Variable size" to just "Variable", because "size" is already given by the label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16227 a592a061-630c-0410-9148-cb99ea01b6c8
Fix a conversion char -> char_type without encoding conversion in
cap::replaceSelectionWithString().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16212 a592a061-630c-0410-9148-cb99ea01b6c8
(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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16206 a592a061-630c-0410-9148-cb99ea01b6c8
- 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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16197 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiFontLoader.C
(QLFontInfo): use font.family() instead of font.rawName()
as the latter always returns "Multi" on *nix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16195 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16193 a592a061-630c-0410-9148-cb99ea01b6c8
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.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16191 a592a061-630c-0410-9148-cb99ea01b6c8
needsUpdate() in src/lyx_main.C).
toFilesystemEncoding() is now used in all places where it is needed if I did
not forget anything.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16184 a592a061-630c-0410-9148-cb99ea01b6c8
mouse_hover_ is copied with copied collapsable insets. Should be false for
newly copied insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16182 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
created by the default constrcutor anyway.
This prevents an assert in findtexfiles.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16168 a592a061-630c-0410-9148-cb99ea01b6c8
* other files: use FontMetrics::dimension() method instead of old Dimension interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16167 a592a061-630c-0410-9148-cb99ea01b6c8
* introduce defaultDimension() and dimension() in preparation of Dimension class cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16165 a592a061-630c-0410-9148-cb99ea01b6c8
- writeout \begin and \end alignment tags on their own lines (bug 3010).
(patch from Gregor Gorjanc and me).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16164 a592a061-630c-0410-9148-cb99ea01b6c8
- 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
- add constants instead of hard-coded values.
- add assertions and comments for out of range values.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16126 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=2900
The only drawback is that it requires about 20Mo extra-memory when loading the UserGuide. If it turns out to be too much, we can switch to a QHash based solution instead of a table.
* dimension.[Ch]:
- Dimension(LyXFont const, char_typec): new ctor
- set(LyXFont const & font, char_type c): new method.
* frontends/FontMetrics.h:
- width(char_type): is now a pure virtual method.
* GuiFontMetrics:
- CharMetrics: new structure;
- the metrics cache now also cache ascent and descent. This is especially useful for mathed.
* MathSupport.[Ch]:
- mathed_char_dim(): deleted. We now use Dimension::set() directly instead.
* rowpainter.C: fixe empty space.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16124 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::save): Only try to make a backup if the buffer file already
exists. The try ... catch mechanism is fine, but when it was
introduced ot was overseen that copying a file could not only fail
because the destination dir does not exist, but also because the
source does not exist.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16121 a592a061-630c-0410-9148-cb99ea01b6c8
This pointer was one reason for the Mac crashes because it not always had
the same value as the application_ smart pointer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16119 a592a061-630c-0410-9148-cb99ea01b6c8
../../../../src/frontends/qt4/GuiView.C:142: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:144: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:146: warning: comparison between signed and unsigned integer expressions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16113 a592a061-630c-0410-9148-cb99ea01b6c8
Part 2: avoid pure virtual function,
if (theApp)
theApp->unregisterSocketCallback(fd_);
does not help, we've tested it!
Without a Mac it is hard to find a better solution
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16110 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_main.C
(easyParse): decrement the loop variable only when remove > 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16107 a592a061-630c-0410-9148-cb99ea01b6c8
* lyxtext.h/text2.C:
- LyXText::getPitNearY(): this is non const anymore. The CoordCache will be updated automatically if the paragraph is not found in there.
- LyXText::checkInsetHit(): this is non const anymore because of the above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16104 a592a061-630c-0410-9148-cb99ea01b6c8
kAEOpenDocuments ApleEvent.
(event): new method to do the same thing using qt4 built-in support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16099 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXText::cursorPrevious(): Implement the same check for safety reason.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16092 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.C
(do_get): terminate the string before using it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16086 a592a061-630c-0410-9148-cb99ea01b6c8
* text2.C
- LyXText::cursorUp(): ensure that BufferView::FitCursor() is tested.
- LyXText::cursorDown(): ditto
- LyXText::cursorRight(): ditto
- LyXText::cursorLeft(): ditto
* text3.C
- LyXText::dispatch(): add FIXME and ensure that update flag is at least equal to FitCursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16072 a592a061-630c-0410-9148-cb99ea01b6c8
This commits improves considerably math editing in Windows and solves one crash when viewing the moebius figure in UserGuide.lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16071 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.C
(do_get): use reserve() and the += operator in order to
avoid a possible buffer overrun.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16070 a592a061-630c-0410-9148-cb99ea01b6c8
* LyX::exec(): in non-GUI mode, execute batch commands on all buffers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16068 a592a061-630c-0410-9148-cb99ea01b6c8
rejectChange(); end-of-par characters are not considered
for the time being
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16064 a592a061-630c-0410-9148-cb99ea01b6c8
- execBatchCommands(): split in loadFiles() and execBatchCommands().
- exec(): enable batch command to be processed from GUI.
* Application:
- start(): deleted.
* GuiApplication:
- execBatchCommands(): new method
* GuiWorkArea::update(): call viewport()->repaint() instead of viewport()->update(), this enable to update the screen immediately when asked by a batch command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16051 a592a061-630c-0410-9148-cb99ea01b6c8
use const_iterator to access paragraph insetlist; add
FIXME in accept/rejectChange
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16049 a592a061-630c-0410-9148-cb99ea01b6c8
items (instead of corrupting the source); adjust
calls to moveItem(); clean up breakParagraphConservative()
with regards to change tracking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16047 a592a061-630c-0410-9148-cb99ea01b6c8
does not honour change tracking => make it a private method;
clarify the description of backspacePos0 (it does not always
merge paragraphs)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16033 a592a061-630c-0410-9148-cb99ea01b6c8
In use_gui mode, call execBatchCommand() after createApplication(). This enable to let the frontend parse the command line.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16027 a592a061-630c-0410-9148-cb99ea01b6c8
* src/gettext.[Ch]
(translateIfPossible): new function to translate stuff that might
already be in the native language
* src/MenuBackend.C
(Menu::read): Use translateIfPossible for item names and submenu
labels, since the user may have already entered them in his native
language into the .ui file
* src/ToolbarBackend.C
(ToolbarBackend::read): do the same with the tooltip
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16015 a592a061-630c-0410-9148-cb99ea01b6c8
* LyX::execBatchCommands(): allow any extra argument unknown to the core to be passed out to the frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16014 a592a061-630c-0410-9148-cb99ea01b6c8
Add licence info to UpdateFlags.h.
Note to the author of UpdateFlags.h: Please fix the author information,
I don't know who wrote this file because not everybody used his own account.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16012 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMathNest::lfunMousePress(): Disable optimization introduced in revision 16006. This is because we need the box corners when navigating inside formulas.
* InsetMathNest::doDispatch(): ditto.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16011 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMathNest.C: adjust update flags in order to avoid unneeded screen redrawing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16006 a592a061-630c-0410-9148-cb99ea01b6c8
mode, make the cursor jump over it; avoid crash in setCursorIntern
by using the right LyXText.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16001 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.h: changed() signal do not have an argument now.
* BufferView.C:
- setBuffer(): changed update() call to updateMetrics().
- update(): sanitize how the flags are used.
- scrollDocView(): add a call to updateMetrics() at the end.
* LyXFunc::dispatch(): adjust changed() signal emission.
* LyXText/text3.C:
- cursorPrevious(): delete BufferView::update call; adjust cursor flag.
- cursorNext(): ditto.
* frontends/LyXView.C: adjust Buffer::changed() signal connection.
* frontends/WorkArea.[Ch]:
- redraw(): no need to re-update the metrics if we don't change views.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15997 a592a061-630c-0410-9148-cb99ea01b6c8
* src/cursor.C: remove nested empty math box
* src/mathed/InsetMathNest.C: remove the whole empty math box if it
can not be deleted from within
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15990 a592a061-630c-0410-9148-cb99ea01b6c8
- merge exec() and priv_exec()
- LyX constructor is now public.
- there is no global singleton_ object anymore, only a pointer.
- IconvProcessor(): new utf8 to ucs4 convertor.
* main.C: instantiate a LyX object and exec() it. No more use of static methods.
* docstring.C: use utf8ToUcs4() instead of a static variable.
* unicode.h: declare extern utf8ToUcs4().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15967 a592a061-630c-0410-9148-cb99ea01b6c8
when iconpalette detached from the math dialog, the iconpalette widget
width may become too large to fit to the screen.
when detached resized to a too small size, icons overlap.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15966 a592a061-630c-0410-9148-cb99ea01b6c8
file names, and DocFileName contains the special extensions for documents,
included figures etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15965 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathFactory.C
(initSymbols): skip a line when it is empty or a comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15961 a592a061-630c-0410-9148-cb99ea01b6c8
where sizeof(wchar_t) == 2
* src/support/docstring.C:
- New class ascii_num_get_facet for inputting numbers from idocstreams.
- Add the ascii_num_get_facet facet to the locale initializer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15959 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView:
- update(): returns a pair of bools in order to inform for singlePar cases.
- workAreaDispatch(): ditto and simplify the logic by using cursor update flags.
* text.C
- breakParagraph(): change the cursor update flag as needed.
- insertChar(): ditto.
- erase(): ditto
- redoParagraph(): now returns true if there is a height change.
* text3.C: dispatch():
- initialize the cursor flag at the beginning
- LFUN_MOUSE_PRESS: no need to update.
- LFUN_MOUSE_RELEASE: ditto.
- add some FIXMEs and comments.
* LyXFunc::dispatch(): simplify the BufferView update.
* insets/insetcollapsable.C: clarify and simplify the logic in doDispatch().
* WorkArea::dispatch(): redraw only if needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15958 a592a061-630c-0410-9148-cb99ea01b6c8
This fix will create extra translator work, and nobody will remmeber that
bformat should be used instead of your solution once the real problem is
fixed. If you use from_ascii instead of from_utf8 everything is OK. utf8
can be wrong as encoding for files anyway, so for now we require that files
are pure ascii.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15957 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C:
- LyX::prepareExit(): avoid utf8_to_ucs4() conversion at this late stage because this can cause problem on Mac.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15955 a592a061-630c-0410-9148-cb99ea01b6c8
Following patch corrects some misbehavior in TOC dialog:
- When clicking on Toc insets, dialog switches to correct list.
- cursor goes to correct entry when clicked..
- some other fixes..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15949 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.[Ch]
(IconvProcessor): Rework the implementation to fix two bugs:
- iconv_close was called even if the conversion descriptor was
invalid
- The compiler generated copy constructor did simply copy the pimpl_
pointer. Therefore pimpl_ was deleted twice for all IconvProcessor
instances created by eightbit_to_ucs4() and ucs4_to_eightbit().
This is solved by using a scoped_ptr for pimpl_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15937 a592a061-630c-0410-9148-cb99ea01b6c8
* development/cmake/config.h.cmake:
there is no mode_t
* src/support/copy.C
chmod is declared in io.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15913 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer_funcs.h
(updateLabels): Add bool childonly argument
* src/insets/insetbase.h
(addToToc): New virtual method
* src/insets/insetinclude.[Ch]
(addToToc): New virtual method
(updateLabels): New method
* src/TocBackend.h: reorganize classes so that we can forward
declare TocList
* src/insets/insetfloat.[Ch]
* src/insets/insetwrap.[Ch]
(addToToc): Adjust to type changes in TocBackend.h
* src/frontends/qt4/TocModel.[Ch]: ditto
* src/frontends/controllers/ControlToc.[Ch]: ditto
* src/TocBackend.C: ditto
(TocBackend::update) Remove test for float and wrap inset,
call virtual method instead
* src/BufferView.C
(BufferView::dispatch): make LFUN_PARAGRAPH_GOTO work even if the
target paragraph is in a different buffer
* src/MenuBackend.C: Adjust to type changes in TocBackend.h
(expandToc): Add an entry for the master doc in child docs
* src/buffer_funcs.C
(setLabel): Add text class parameter
(updateLabels): handle included docs if requested by the caller
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15904 a592a061-630c-0410-9148-cb99ea01b6c8
preferences file with \use_converter_cache true. It is disabled by default,
and no GUI support for changing the preferences is yet implemented.
* src/insets/insetgraphics.C
(InsetGraphics::prepareFile): Use image file cache
* src/insets/ExternalSupport.C
(updateExternal): Use image file cache
* src/exporter.C
(Exporter::Export): Do not use image file cache
* src/graphics/GraphicsCacheItem.C
(CacheItem::Impl::imageConverted): Add the converted file to the
image file cache
(CacheItem::Impl::convertToDisplayFo): Use image file cache
* src/converter.C
(Converters::convert): Use image file cache if the caller allowed that
* src/converter.h
(Converters::convert): Adjust arguments
* src/Makefile.am: Add new files
* src/support/lyxlib.h
(chmod): new function
(copy): add mode argument
* src/support/copy.C
(chmod): new function
(copy): implement mode argument
* src/support/mkdir.C
(lyx::support::mkdir): Add warning if permissions are ignored
* src/lyxrc.[Ch]: Add new settings \converter_cache_maxage and
\use_converter_cache
* src/ConverterCache.[Ch]: New image file cache
* src/importer.C
(Importer::Import): Do nut use the image file cache
* src/lyx_main.C
(LyX::init): Initialize the image file cache
* src/mover.[Ch]
(Mover::do_copy): Add mode argument
(SpecialisedMover::do_copy): ditto
* configure.ac: Check for chmod
* development/cmake/ConfigureChecks.cmake: ditto
* development/cmake/config.h.cmake: ditto
* development/scons/SConstruct: ditto
* development/scons/scons_manifest.py: Add new files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15897 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::insertStringAsLines): Uncomment isPrintable test
* src/support/lstrings.C
(compare_no_case): Use char_type and not int for the docstring version
(ascii_tolower): Convert to a template
(compare_ascii_no_case): Do not use a template anymore, because we
need int for the string version and char_type for the docstring
version as intermediate type
(lowercase): Use towlower if possible
(uppercase): Use towupper if possible
* src/support/textutils.h
(isLetterChar): Use iswalpha if possible
(isPrintable): Use iswprint if possible
(isPrintableNonspace): Use iswprint and iswspace if possible
(isDigit): Use iswdigit if possible
* src/paragraph.C
(Paragraph::asString): remove obsolete FIXME
(Paragraph::transformChar): add FIXME
* configure.ac: Add definition of LIBC_WCTYPE_USES_UCS4 to config.h
* development/cmake/config.h.cmake: ditto
* development/scons/SConstruct: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15893 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph.C
(Paragraph::changeLanguage): Don't forget the dummy font change at
the end of the paragraph when changing the language. This does not
affect the other place where this code is used:
Buffer::changeLanguage.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15890 a592a061-630c-0410-9148-cb99ea01b6c8
* src/text.C
(LyXText::dissolveInset): Reset language to buffer language if the
dissolved inset is an ERT inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15888 a592a061-630c-0410-9148-cb99ea01b6c8
* src/CutAndPaste.C
(pasteParagraphList): Don't record undo info here...
* src/BufferView.C
(BufferView::menuInsertLyXFile): ... but here instead
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15886 a592a061-630c-0410-9148-cb99ea01b6c8
- LyXText::breakParagraph(): Redo paragraphs before setCursor()
- LyXText::insertChar(): ditto
* lyxfunc.C: take into account BufferView::update() returned value for WorkArea redrawing.
* BufferView::update(): we also need a second step in singlePar mode.
* WorkArea.C
- startBlinkingCursor(): also show the cursor
- stopBlinkingCursor(): also remove the visible cursor
- processKeySym(): stop and start the cursor blinking instead of merely hide and show it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15884 a592a061-630c-0410-9148-cb99ea01b6c8
codepoint > 255.
I decided that this is no file format change: We already had the change to
format 249 that allowed unicode in .lyx files. The output to .tex of
non-ascii characters is now different than before (even for those that were
supported previously, e.g. german umlauts in latin1), but this is only
relevant if people referenced a label in ERT. Since we cannot detect this
anyway we don't need a file format change.
* src/support/lstrings.C
(escape): Extend the escaping algorithm from 8 bit to 24 bit.
* src/support/lstrings.h
(escape): Update comment
* lib/lyx2lyx/lyx_1_4.py
(lyx_support_escape): Update comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15883 a592a061-630c-0410-9148-cb99ea01b6c8
in, because we don't know the encoding of external files.
* src/LaTeX.C
(LaTeX::scanLogFile): Convert error strings to docstring and add
a comment that this could be wrong
* src/Chktex.C
(Chktex::scanLogFile): Ditto
* src/LaTeX.h
(TeXErrors::error_desc): Convert to docstring
(TeXErrors::error_text): Convert to docstring
* src/buffer_funcs.C
(bufferErrors): no from_utf8 needed anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15875 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/ui/QPrefConvertersUi.ui: Readd translation hint
to label and remove broken tooltip that somebody created instead
* src/messages.C
(Messages::Pimpl::get): reenable stripping of [[..]] from
untranslated messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15872 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathScript.C
(InsetMathScript::write): Do not add braces to the nucleus
* src/mathed/MathParser.C
(Parser::parse1): Do not remove brace insets from the nucleus of
script insets
* src/mathed/InsetMathNest.C
(InsetMathNest::script): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15859 a592a061-630c-0410-9148-cb99ea01b6c8
rather than "end > start"; eraseChars is invoked
in cases in which no character is to be deleted
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15856 a592a061-630c-0410-9148-cb99ea01b6c8