* Row:
- setSelection(): set selection begin and end for this row.
- sel_beg, sel_end: new public members.
* BufferView::draw()
- do not trigger a full repaint for selection.
- use TextMetrics::draw() instead of hand calling TextMetrics::drawParagraph().
* InsetText::draw(): don't call TextMetrics::drawSelection().
* InsetMathMBox::drawSelection(): remove.
* TextMetrics:
- drawSelection(): simplify a bit. Now private.
- redoParagraph(): memorize Row selection status.
- x2pos(): fix crash when selecting with PageDown.
- draw(): fill-in the ParPos cache before everything else and not in drawParagraph().
- drawParagraph(): take care of row selection painting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20066 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os_unix.cpp
(addFontResources): add the system fonts dir to the paths
scanned by fontconfig.
(restoreFontResources): remove the system fonts dir from the
fontconfig configuration.
* configure.ac:
add check for the fontconfig devel headers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20034 a592a061-630c-0410-9148-cb99ea01b6c8
- column and row count,
- tabular width and method that goes with it
- method declaration without implementation: void delete_column(col_type)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20032 a592a061-630c-0410-9148-cb99ea01b6c8
- getFont() becomes TextMetrics::getDisplayFont()
- setCharFont() now needs a display font.
- setInsetFont() and setFont() now needs a BufferView, will be transferred to TextMetrics too.
- isRTL(): moved to TextMetrics
- isRTLBoundary(): ditto
- font_: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20014 a592a061-630c-0410-9148-cb99ea01b6c8
* TextMetrics::drawParagraph(): force full repaint on Insets that are within the current repainting row.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19968 a592a061-630c-0410-9148-cb99ea01b6c8
That makes another simplification both possible and desirable. For some reason, whenever you change the Document Class combobox in Document Settings, LyX tries to read whatever you choose _before_ you try to hit "Apply". Why? I see no good reason. You get the warning earlier that way, but maybe you weren't going to try to load it anyway and were going to change your mind. So I have removed that behavior, in which case you'll get the warning when you try to apply the parameters. This means we can also remove ControlDocument::loadTextclass().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19965 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView::updateMetrics(): always clear the full text_metrics_ when doing a full update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19919 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView::draw(): makes use of PainterInfo::full_repaint
* TextMetrics::drawParagraph(): ditto.
* InsetText::drawSelection(): don't fillRectangle() if there's no selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19918 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Buffer.cpp (Buffer::readFile): save timestamp and checksum
of the original disk file, and not those of the file converted
to current format.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19916 a592a061-630c-0410-9148-cb99ea01b6c8
- paintOnlyInsets(): new public method for inset painting only in case the inset dimension didn't change within a Row.
- paintInset(): put out everything not strictly related to the inset painting itself.
- paintHfill(): new private method to cut the reduce code in paintText().
* TextMetrics::drawParagraph(): use paintOnlyInsets() when the Row text nor it's dimension changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19912 a592a061-630c-0410-9148-cb99ea01b6c8
* TextMetrics::redoParagraph(): crop the RowList if it is too big.
* ParagraphMetrics::reset(): don't clear its RowList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19897 a592a061-630c-0410-9148-cb99ea01b6c8
^ Row:
- changed_: new boolean to inform change status at draw time.
- crc_: new crc_ signature
- inline pos() and endpos()
- replace width(), ascent() and descent() direct access with dimension().
* ParagraphMetrics
- do not maintain row_signature_ anymore
- rename calculateRowSignature() to computeRowSignature() and make it public
* TextMetrics
- redoParagraph(): don't clear the ParagraphMetrics row list, reuse and update it.
- rowHeight(), rowWidth(), rowBreakPoint(): take first/end positions instead of Row.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19895 a592a061-630c-0410-9148-cb99ea01b6c8
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.
This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.
The GUI will come next.
Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
* WorkArea::dispatch(): replace the redraw() call with a Buffer::changed() signal emission in order to update all views of the Buffer, even though some view won't need the redraw...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19867 a592a061-630c-0410-9148-cb99ea01b6c8
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.
This third patch just re-factors some code presently in QCitation*. (It also incorporates some bug fixes that have been committed separately.) We're going to use essentially the same set of widgets for choosing modules that is used for choosing citation keys, so we pull the controlling logic out into a new class, QSelectionManager. I did not make this a QWidget. That seemed to me to be overkill, and it would have made things much more complicated, I think...and I'm not all that experienced with Qt, anyway. Anyone who wants to do that is of course welcome.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19860 a592a061-630c-0410-9148-cb99ea01b6c8
- move RowPainter class out of the anonymous namespace so that it can be used by TextMetrics::drawParagraph().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19848 a592a061-630c-0410-9148-cb99ea01b6c8
* Inset::dimension(): access to dim_
* TextMetrics::redoParagraph(): don't trust Inset::metrics() returned boolean as the internal dimension is changed down in the inheritance chain for InsetFoot->InsetCollapsable->InsetText.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19838 a592a061-630c-0410-9148-cb99ea01b6c8
When opening another document, the following is printed to the console:
QWidget::repaint: recursive repaint detected.
QPixmap::operator=: Cannot assign to pixmap during painting
Painter must be active to set rendering hints
[repeated many times here]
Painter must be active to set rendering hints
QPainter:🔚 Painter is not active, aborted
QPixmap::operator=: Cannot assign to pixmap during painting
QPixmap::operator=: Cannot assign to pixmap during painting
currentTabChanged 1File/c/work/file2.lyx
and, when closing LyX:
QPixmap::operator=: Cannot assign to pixmap during painting
QPaintDevice: Cannot destroy paint device that is being painted. Be sure to QPainter::end() painters!
I suspect that solving these issues might also solve the missing close
tab button problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19783 a592a061-630c-0410-9148-cb99ea01b6c8
* Toolbar::focusCommandBuffer(): new pure virtual method.
* Toolbars::display(): now return the address of the found toolbar.
* GuiView: get rid of command_buffer_, transferred to QLToolbar.
* QCommandBuffer: replace focus_command with setFocusProxy on edit_;
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19767 a592a061-630c-0410-9148-cb99ea01b6c8
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.
This first patch does some reworking of the infrastructrue. We need to distinguish between the TextClass that a particular document is using and the layout of that document, since modules, in particular, can modify the layout. The solution adopted here is to add a TextClass pointer to BufferParams, which will hold the layout. The layout itself is then constructed from the TextClass the document is using. At present, this is completely trivial, but that will change when modules are added.
The pointer in question is a boost::shared_ptr. This is needed because CutAndPaste saves a copy of the layout with each cut or copied selection. We cannot assume the selection vanishes when the document is closed, so there are two options: (i) keep a list of all the layouts that have ever been used by any document; (ii) used some kind of smart pointer. The latter seems preferable, as the former would waste memory. More importantly, the use of a smart pointer allows modules to be modified on disk and then reloaded while LyX is running, and it will eventually allow the same for layout files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19756 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXView:
- getToolbars(): deleted.
- toolbars_: now protected. The goal is to transfer that to GuiView.
- openLayoutList(): new method. The core should not know how this list is displayed.
- showMiniBuffer(): new pure virtual method to show the mini-buffer.
- focus_command_buffer: deleted.
* GuiView:
- focus_command_widget(): deleted.
- showMiniBuffer(): implemented.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19748 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView::moveToPosition()
- now only return success boolean
- now schedule a screen centering
- now set the current font to the new position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19722 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3427
The problem was that offset_ref_ was calculated based on an empty metrics. The solution is delay the calculation up until the next metrics update.
* BufferView:
- center(): now just set the anchor_ref and program a new screen recentering.
- updateOffsetRef(): update the offset_ref_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19721 a592a061-630c-0410-9148-cb99ea01b6c8
* loadLyXFile::setBuffer(): get rid of a premature optimisation, we make sure that everything is properly drawn in any case.
* GuiView::setCurrentWorkArea(): make sure everything is updated if we don't change tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19717 a592a061-630c-0410-9148-cb99ea01b6c8
- setBuffer(): LyXView has no business in setting parent document.
- loadLyXFile(): delete dead code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19703 a592a061-630c-0410-9148-cb99ea01b6c8
* Buffer:
- get rid of cursor_ and anchor_
- ~Buffer(): update the labels of its master buffer before closing
- closing(): pass the Buffer address.
* BufferView():
- BufferView(): needs a valid Buffer (should be const in the future.
- most of the change is about removing all test of buffer_ nullity.
- resize(): deleted.
- setBuffer(): deleted.
* Application:
- newLyXView(): simplification
- updated design description in Application.h
* Gui/GuiImplementation: remove all WorkAreas and BufferView creation/Deletion. Workareas are directly handled by LyXView/GuiView and BufferView is created/delete by WorkArea.
* LyXView/GuiView: implement the new design
What is not working yet:
- the close tab button: it is implemented but does not show up.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19686 a592a061-630c-0410-9148-cb99ea01b6c8
The changes are essentially of three types.
First, the std::maps previously used here for storing BibTeX data have become full-fledged classes and so what were previously just a bunch of functions have now become methods of these new classes. This leads to a lot of minor changes in other files, to adapt to the new signature. The changes in insets/ are mostly of this kind.
Second, there are some slightly more substantial changes in src/insets/InsetBibtex.cpp. We now store lists of the field names and entry types that have been used.
Finally, there are the changes to the citation UI. These are mostly straightforward, though adding the new functionality exposed some inadequacies in the previous code that also had to be fixed.
One other change: BibTeX keys are now docstring. This solves some Unicode issues.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19657 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=4123
* GuiView:
- closeEvent(): set quitting=true only when quitting. I don't know why and how this was changed but it was clearly wrong.
- update_view_state_qt(): only update when focus is in. Make sure this is the current LyXView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19643 a592a061-630c-0410-9148-cb99ea01b6c8
- leftMargin, rightMargin, labelsep, labelindent, parindent are now docstring.
* TextClass.h:
- leftMargin() and rightMargin(): now return a docstring.
All other files: adapt to change above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19633 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Paragraph.cpp (expandLabel): if the labelstring is empty,
use \thecounter instead; when processing @layout@ tokens, pass the
process_appendix boolean.
* src/buffer_funcs.cpp (setLabel):
* src/insets/InsetFoot.cpp (updateLabels):
* src/insets/InsetCaption.cpp (updateLabels): use
Counters::theCounter.
* src/insets/InsetBibitem.cpp: remove the ad-hoc numbering code
and replace it with a proper updateLabels-based solution.
* src/insets/InsetCommands.cpp (refresh): new method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19603 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Counters.cpp (Counter::labelString/labelStringAppendix): new
accessors for two new variables
(Counter::setMaster): removed
(Counter::Counter): add a version with arguments.
(Counters::newCounter): add relevant arguments; allow to redefine
an existing counter.
(Counters::reset): reset the current float float.
(Counters::theCounter): return a representation of a given counter
using its labelstring or by default \themaster.\arabic{counter}.
Handle appendix too.
(Counters::counterLabel): add support for macros of the form
\thecounter.
* src/TextClass.cpp (readCounters): also read LabelString and
LabelStringAppendix.
(readFloats): allow to update an existing float; create the
counter associated with the float.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19602 a592a061-630c-0410-9148-cb99ea01b6c8
a structure representing field->value instead of just a single string with
all the data. The data structures are defined in src/Biblio_typedefs.h, and
the main changes are to the parser code in src/insets/InsetBibtex.cpp.
-src/Biblio_typedefs.h
Contains typedefs for new representation. Separating them out limits how much
gets #include'd by other files, and also resolves a circularity problem with
Buffer.h.
-src/Biblio.{h,cpp}
Signature changes and massive simplifications to routines that report
BibTeX data, since we now have an articulate representation.
-src/insets/InsetBibtex.{h,cpp}
Re-write the parser code so we store a key->value map of the BibTeX data
rather than just one long string. This is the main work.
-src/frontends/controllers/ControlCitation.{h,cpp}
-src/insets/InsetBibitem.{h,cpp}
-src/insets/InsetCitation.cpp
Adaptations and simplifications.
-src/insets/Inset.h
-src/Buffer.{h,cpp}
-src/insets/InsetInclude.{h,cpp}
Signature changes.
-src/Makefile.am
-development/scons/scons_manifest.py
Add src/Biblio_typedefs.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19598 a592a061-630c-0410-9148-cb99ea01b6c8
* Biblio.cpp: fillWithBibKeys(): ditto.
* InsetInclude.cpp: loadIfNeeded(): set the parent name in any case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19586 a592a061-630c-0410-9148-cb99ea01b6c8
paragraph-params \align right
will align the paragraph right, leaving spacing, etc, as they were, whereas
paragraph-params-apply \align right
will align the paragraph right but also reset all other parameters to defaults. Note, by the way, that this means that
paragraph-params-apply
sets everything to default.
Some new arguments have also been introduced. These are:
\indent
\indent-toggle
\spacing default
Of course, none of these are found in valid LyX files, but they are useful in menu bindings, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19581 a592a061-630c-0410-9148-cb99ea01b6c8
* Text: new empty() method.
* buffer_funcs.cpp:updateLabels(): return early in case of empty document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19566 a592a061-630c-0410-9148-cb99ea01b6c8
information is acquired. This involves (i) moving the bulk of fillWithBibKeys()
into Biblio.cpp, (ii) introducing a virtual method Inset::fillWithBibKeys() that,
by default, does nothing, and (iii) over-riding this method in the insets that do
need to do something.
This is all preparatory for a more substantial re-working of the BibTex code,
which should follow shortly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19565 a592a061-630c-0410-9148-cb99ea01b6c8
that caused the bug, but it does.
Also fix some other UI bugs, relating to resets of the selection models. These
look gratuitous and cause problems in the current code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19530 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/InsetFoot.cpp (updateLabels): number the footnote if
(1) the footnote counter exists and (2) it is not in a title
layout
* lib/layouts/stdcounters.inc: add a footnote counter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19524 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetInclude: loadIfNeeded()
- make it non anonymous (used in loadChildDocuments()).
- now return the loaded buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19520 a592a061-630c-0410-9148-cb99ea01b6c8
- reorganize the code to minimize indentation by returning early for special cases
- use a pixmap cache for word drawing. This can be disabled by setting USE_PIXMAP_CACHE to 0 at the top of QLPainter.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19513 a592a061-630c-0410-9148-cb99ea01b6c8
Override notifyCursorLeaves() in InsetText to force update when
inset was wide. Should be removed if and when wide is.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19511 a592a061-630c-0410-9148-cb99ea01b6c8
do the work, unless we really have a reason not to (fixes bug 4133)
* mathed/InsetMathNest.cpp (lfunMousePress): refactor the code to use
BufferView::mouseSetCursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19506 a592a061-630c-0410-9148-cb99ea01b6c8
in the view source panel
* Buffer.cpp (getSourceCode, writeLaTeXSource): fix sync between output and texrow
* frontends/controllers/ControlViewSource.{h,cpp} (getRows): new method to get the current selection in term of latex rows
* frontends/qt4/QViewSource.{h,cpp}: make a selection in the ViewSource widget
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19503 a592a061-630c-0410-9148-cb99ea01b6c8
(operator+=): remove unused method
(getRowFromIdPos) new method to get the texrow from id,pos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19502 a592a061-630c-0410-9148-cb99ea01b6c8
* DocIterator.cpp (forwardPos, backwardPos): move the 'flat' part to...
* CursorSlice.{h,cpp} (forwardPos, backwardPos, at_end, at_begin): new methods, the first two are part of their DocIterator homonym
* Text2.cpp (setFont): receive CursorSlice arguments as the function is not recursive, adapt
* Text.cpp:
* lyxfind.cpp (findNextChange):
* insets/InsetCollapsable.cpp: adapt
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19500 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer_funcs.cpp (updateLabels): new function taking a buffer and
a ParIterator as arguments. This one is used to update labels
into an InsetText. Cleanup the code to reset depth. Call setLabel
for each paragraph, and then updateLabel on each inset it contains.
(setCaptionLabels, setCaptions): removed.
(setLabel): use Counters::current_float to make caption paragraphs
labels.
* insets/Inset.h (updateLabels): new virtual method, empty by
default; this numbers the inset itself (if relevant) and then all
the paragraphs it may contain.
* insets/InsetText.cpp (updateLabels): basically calls
lyx::updateLabels from buffer_func.cpp.
* insets/InsetCaption.cpp (addToToc): use the label constructed by
updateLabels.
(computeFullLabel): removed.
(metrics, plaintext): don't use computeFullLabel.
(updateLabels): new method; set the label from
Counters::current_float.
* insets/InsetWrap.cpp (updateLabels):
* insets/InsetFloat.cpp (updateLabel): new method; sets
Counters::current_float to the float type.
* insets/InsetBranch.cpp (updateLabels): new method; the numbering
is reset afterwards if the branch is inactive. (bug 2671)
* insets/InsetNote.cpp (updateLabels): new method; the numbering
is reset after the underlying InsetText has been numbered.
(bug 2671)
* insets/InsetTabular.cpp (updateLabels): new method (also handles
longtable)
* insets/InsetListings.cpp (updateLabels): new method; mimics what
is done for Floats (although Listings are not floats technically)
* insets/InsetInclude.cpp (getScreenLabel): in the listings case,
use the computed label.
(updateLabels): new method; that either renumbers the child
document or number the current listing.
* LyXFunc.cpp (menuNew): do not updateLabels on empty documents
(why do we do that at all?)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19482 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferView.cpp (workAreaDispatch): set selection status here
* src/Text3.cpp (dispatch):
* src/InsetTabular.cpp (doDispatch): and not here
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19396 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/tempname.cpp: move code about HAVE_MKSTEMP here (only user)
* src/pch.h:
* src/Buffer.cpp:
* configure.ac: remove all traces of utime.h and HAVE_UTIME
* config/lyxinclude.m4: remove WITH_WARNING define (which be rendered useless in
a future commit from christian)
* development/scons/SConstruct: try to update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19395 a592a061-630c-0410-9148-cb99ea01b6c8
We now go up to 999. If you have more sections that that, you are out
of luck!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19363 a592a061-630c-0410-9148-cb99ea01b6c8
* src/gettext.cpp (locale_init): factor some code; call Messages::init().
* LyX.cpp (exec): call Messages::init() after initializing package().
* Messages.cpp (init): new method, factor some code from get().
(get): change the method used to set the locale. Should be much more robust
than it was (and simpler too).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19360 a592a061-630c-0410-9148-cb99ea01b6c8
* development/MacOSX/Makefile.am: when installing, create bogus
language directories to allow translation through Qt.
* src/frontends/qt4/GuiApplication.cpp (MenuTranslator): new class,
redirects some Qt translation requests to gettext.
(GuiApplication): install the MenuTranslator.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19354 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.cpp (i18nLibFileSearch): use a trick to find
out the name of the current translation.
* po/*.po: add the entry necessary for the above trick.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19350 a592a061-630c-0410-9148-cb99ea01b6c8
Patch from Guillaume Pothier for 1.4.x adapted by me to current trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19338 a592a061-630c-0410-9148-cb99ea01b6c8
Patch from Guillaume Pothier for 1.4.x adapted by me to
current trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19337 a592a061-630c-0410-9148-cb99ea01b6c8
using false as the third parameter to setenv for not having it
replaced when already set.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19335 a592a061-630c-0410-9148-cb99ea01b6c8
The effect is this: If you try to open a file that is already open,
LyX (i) checks if the buffer is dirty, and just switches buffers if
it is not; (ii) if it is, you get this message:
The document %1$s is already loaded and has unsaved changes.
Do you want to abandon your changes and reload the document?
[Reload] [Keep Changes]
If you hit the latter, you just get switched to the document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19331 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/gzstream.h: re-introduce the stream we were using in
1.4.x. The boost iostream solution produces unreadable streams
on windows and we do not know why currently.
* src/support/Makefile.am:
* src/Buffer.cpp:
* src/Lexer.cpp:
* development/scons/scons_manifest.py: adapt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19271 a592a061-630c-0410-9148-cb99ea01b6c8
pasting.
* Text3.cpp (doDispatch/LFUN_MOUSE_PRESS): reorganize the code to make
sure that mouseSetCursor gets called (and therefore persistent selection
stored as needed).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19252 a592a061-630c-0410-9148-cb99ea01b6c8
- force full screen update on buffer switch (fixes bug 3969).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19241 a592a061-630c-0410-9148-cb99ea01b6c8
- new function getSortedColors
* src/frontends/qt4/QPrefs.cpp:
- use that to sort the colors (bug 2571)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19236 a592a061-630c-0410-9148-cb99ea01b6c8
- always replace selected text when inserting an inset (bug 672)
- inset selected text in inserted URL inset (bug 683)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19231 a592a061-630c-0410-9148-cb99ea01b6c8
insets. Up until now this has not been 100% correct, especially in the case
of RTL languages (but not only those).
This fixes bug 1820 (http://bugzilla.lyx.org/show_bug.cgi?id=1820)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19150 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetTabular:
- remove the is_deleted_ boolean
- dispatch(): remove the call to updateDialog at the end
* ControlTabular::initialiseParams(): connect to the current tabular if found.
* QTabular::update_contents(): initialiseParams() each time.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19112 a592a061-630c-0410-9148-cb99ea01b6c8
* src/rowpainter.cpp:
- inNarrowInset: fix method
- paintPar: repaint if we are in a narrow inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19111 a592a061-630c-0410-9148-cb99ea01b6c8
correctly. This is not needed for Arabic (ArabTeX), as ArabTeX takes care
of this internally.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19105 a592a061-630c-0410-9148-cb99ea01b6c8
1) LyXFunc::lyx_view_ is not set to 0
2) quiting is not set to true.
This patch add safe guards when closing a view and/or exiting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19095 a592a061-630c-0410-9148-cb99ea01b6c8
1) create a doc
2) insert an ert inset
3) right-click the inset
4) new window
5) delete the ert inset: BOOM!
This commit replace the static hideDialog signal which was in effect shared by all views with a direct call to Dialog::hide().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19094 a592a061-630c-0410-9148-cb99ea01b6c8
This fixes this crash reported by Bennett:
I'm using pdfsync via lyxpipe to have LyX jump to where I click in the .pdf file of an open LyX document. Recently I've been getting crashes. Here's the console output:
Assertion triggered in void lyx::Text::setCursorIntern(lyx::Cursor&, lyx::pit_type, lyx::pos_type, bool, bool) by failing check "this == cur.text()" in file Text2.cpp:746
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19093 a592a061-630c-0410-9148-cb99ea01b6c8
- consider that not only utf8, but also most cjk encodings, are multibyte encodings
(fixes bug 4012)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19076 a592a061-630c-0410-9148-cb99ea01b6c8
- check if buffer exists before querying for buffer->temppath()
(and use package().tempdir() as a fallback) [fixes bug 4011]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19062 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMathOverset.cpp (draw): fix drawing when the first argument
has a non-zero descent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19060 a592a061-630c-0410-9148-cb99ea01b6c8
put LIBICONV in LIBS.
* src/Makefile.am:
* src/client/Makefile.am: update accordingly.
* config/qt4.m4: do not try to run pkg-config tests when pkg-config
is not installed.
* INSTALL.MacOSX: advise to use pkg-config; remove -lz from LDFLAGS;
remove --with-frontend=qt4 from configure line; in the svn case, remove
also --disable-stdlib-debug and --disable-concept-checks (and explain
why --disable-stdlib-debug may be needed).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19056 a592a061-630c-0410-9148-cb99ea01b6c8
* Layout.h:
- name_, obsoleted_by_, depends_on_ are now docstrings.
All other changes results from the above string -> docstring changes. In particular, we now try to translate the layout names only if possible (i.e. if they are ASCII only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19042 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3719
The problem is that the full toc is not regenerated when creating standard (i.e unnembered) paragraph. As the TocBackEnd use ParIterator for in buffer jumps, this can get out of sync. The partial updateLabel() is my doing and comes before the TocBackend stuf.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19040 a592a061-630c-0410-9148-cb99ea01b6c8
whether we are in appendix mode.
* buffer_funcs.cpp (setLabel): set Counters::appendix as needed.
This fixes bug 3862 automagically.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19039 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os_cygwin.cpp
* src/support/os_win32.cpp
(addFontResources): use AddFontResourceEx on Windows version
supporting this API in order to mark our fonts as private.
(restoreFontResources): ditto with RemoveFontResourceEx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19038 a592a061-630c-0410-9148-cb99ea01b6c8
See also http://www.lyx.org/trac/changeset/19003
* BufferView.cpp (setBuffer): save selection before switching buffer
(mouseSetCursor): save selection before resetting it
(putSelectionAt): no need to save selection
* Cursor.cpp (selHandle): save selection before resetting it
* CutAndPaste.cpp (cutSelection, eraseSelection): save selection before
deleting it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19026 a592a061-630c-0410-9148-cb99ea01b6c8
word-delete-backward and line-delete when there is a selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19025 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Changes.cpp:
* src/support/userinfo.cpp:
* src/Paragraph.cpp:
* src/Changes.h:
* src/Buffer.cpp:
* src/Paragraph.h:
* src/BufferParams.cpp: do not save the name of authors
in LyX documents, who have not made a single change in
change tracking mode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19019 a592a061-630c-0410-9148-cb99ea01b6c8
defined template as default instead of RasterImage (bug 3983)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19013 a592a061-630c-0410-9148-cb99ea01b6c8
- 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
of \inputencoding commands, which are not needed in some cases (e.g., Hebrew
with ivritex).
This fixes some of the remaining problems (but not all) from bug 3613 (namely, http://bugzilla.lyx.org/show_bug.cgi?id=3613#c9).
See also some example files fixed by this in http://permalink.gmane.org/gmane.editors.lyx.devel/88805 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18994 a592a061-630c-0410-9148-cb99ea01b6c8
- don't try to trim after a dot that is the last character in the name
(fixes crash, bug 3981)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18992 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.{cpp,h}:
- rename normalize_kc to normalize_c and use normalization form C (instead of KC)
* src/callback.cpp:
* src/Trans.cpp:
* src/frontends/qt4/GuiClipboard.cpp:
* src/frontends/qt4/GuiSelection.cpp:
* lib/lyx2lyx/lyx_1_5.py:
- use normalization forms C and D instead of KC and KD.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18991 a592a061-630c-0410-9148-cb99ea01b6c8
* frontend_helpers.cpp (Sorter): use the current locale for sorting
(bug 2739)
* frontend_helpers.cpp: cleanup headers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18988 a592a061-630c-0410-9148-cb99ea01b6c8
The problem is that a screen update needs a bibtex key for proper rendering of the Citation. This key requires the master document to load all child document, which trigger an additional screen update, even when we don't switch buffer. The problem is that we are already in the process to update the screen, hence the crash.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18986 a592a061-630c-0410-9148-cb99ea01b6c8
updated to support format >= 257 (with InsetCaption).
* src/Layout.cpp (forCaption): new method. Returns a pointer to a newly
allocated Layout suitable for representing a caption.
* src/tex2lyx/tex2lyx.cpp (tex2lyx): allocate a captionlayout object
* src/tex2lyx/text.cpp: use the captionlayout object to recognize the
\caption command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18962 a592a061-630c-0410-9148-cb99ea01b6c8
- new boolean canApplyToReadonly that allows to apply params/update view
even if the buffer is readOnly for specific dialogs.
* src/frontends/controllers/ControlPrint.h:
- use that (fix bug 3909)
* src/frontends/controllers/ControlViewSource:
- dto. (fix bug 3943)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18959 a592a061-630c-0410-9148-cb99ea01b6c8
- use internal_path (bug 3788), patch by Hangzai Luo and me).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18953 a592a061-630c-0410-9148-cb99ea01b6c8
1. Open a document with child documents, each comprising divisions;
2. Show the outline pane. You can see childs' divisions;
3. Select (view) one of the childs;
4. Close this child doc. The focus comes back to the master doc;
5. Click in the outline pane at some point corresponding to the child doc you closed. LyX crashes with SIGSEGV (instead of reopening the child...).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18939 a592a061-630c-0410-9148-cb99ea01b6c8
LyXFunc.cpp
Quote file paths in printer dialog
Fix bug 3915: http://bugzilla.lyx.org/show_bug.cgi?id=3915
(patch from Jürgen and JMarc)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18934 a592a061-630c-0410-9148-cb99ea01b6c8
is that we distinguish between the "Default" alignment and whatever
that default happens to be: I.e., so far as the code goes, the UI now
distinguishes LYX_ALIGN_LAYOUT from LYX_ALIGN_WHATEVER, when WHATEVER
happens to be the default. So you can explicitly force, say, left-align,
and that will stick between document classes.
* src/Paragraph.cpp:
Don't output params if alignment is the default.
* src/ParagraphParameters.cpp
Treat LYX_ALIGN_LAYOUT as its own alignment.
* src/Text2.cpp
Treat LYX_ALIGN_LAYOUT as its own alignment, and force it to be accepted
as a possible alignment.
* src/frontends/controllers/ControlParagraph.{h,cpp}
New method haveMultiParSelection().
*src/frontends/qt4/QParagraph.{h,cpp}
*src/frontends/qt4/ui/ParagraphUi.ui
UI adjustments as mentioned.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18922 a592a061-630c-0410-9148-cb99ea01b6c8
- use internal_path to prevent assert on windows (bug 3916).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18896 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graphics/GraphicsConverter.cpp
(move_file, build_script): convert any path name to the local
encoding directly in the python script.
* src/support/tempname.cpp
(tempName): don't pass local 8bit encoded strings to addName as
it expects them to be utf8 encoded.
* src/ServerSocket.cpp
(ServerSocket::ServerSocket): ditto for setEnv.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18893 a592a061-630c-0410-9148-cb99ea01b6c8
acceptChanges:
* move the bulk of acceptChanges without the call to DEPM to
paragraph_funcs
copySelectionHelper:
* call this new acceptChanges
pasteParagraphList:
* use Text::setCursor(Cusor,...) instead of Text::setCursor(CursorSlice...)
in order to have DEPM invoked at the end of the insertion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18892 a592a061-630c-0410-9148-cb99ea01b6c8
- Split the language Arabic into "arabic_arabi" that uses the arabi-package and "arabic-arabtex" that uses the arabTeX-package to typeset Arabic. This is needed because both packages have some advantages over the other people need.
(This change is a consequence of a long and fruitful discussion with Mostafa, Dov, and me.)
Patch by Dov and me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18887 a592a061-630c-0410-9148-cb99ea01b6c8
* po/lyx_pot.py:
- new function external_l10n: parse external_templates and extract the relevant parts for translation.
* development/scons/SConstruct:
* po/Makefile.in.in:
- use external_l10n
* src/insets/InsetExternal.cpp:
* src/frontends/qt4/QExternal.cpp:
- make eveything translatable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18866 a592a061-630c-0410-9148-cb99ea01b6c8
checkbox has been changed to a radio button, so that other alignments
can be chosen without the user's having to uncheck "Default".
There was some disagreement about the interface here. See, for example,
this thread:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg121328.html
For now, this will do.
The interface here is not fully functional. At present, if the Default
happens to be Justified, then checking Justified is simply equivalent to
checking Default. This is due to the behavior of Text::setParagraph(), and
it should be changed if this interface is retained.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18860 a592a061-630c-0410-9148-cb99ea01b6c8
- Bufferparams.cpp: set correct font encoding for Farsi
- lib/languages: define quotation marks for Farsi
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18858 a592a061-630c-0410-9148-cb99ea01b6c8
- we don't require wasysym any more. Either esint or amsmath is used, depending if esint is installed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18857 a592a061-630c-0410-9148-cb99ea01b6c8
Clear the dirty flag of tabular copy/paste clipboard on normal text copy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18856 a592a061-630c-0410-9148-cb99ea01b6c8
When moving the cursor with a mouse click, notify all left insets, not
just the top one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18850 a592a061-630c-0410-9148-cb99ea01b6c8
On fullscreen redraw the metrics of all visible paragraphs are
recreated and stored in the TextMetrics object. If the number of
paragraphs on screen does not change everything is fine because the
paragraph metrics cache is just updated. But if the number decreases
it can happen that old paragraph metrics remain in the cache. If this
happened because e.g. a paragraph was deleted, it's possible that the
cached paragraph is longer than the one which is actually at the
position now. Using the Row objects from the cached paragraphs then
can trigger accesses to positions which would have been valid in the
old paragraph, but go over the end of the paragraph which is there
now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18841 a592a061-630c-0410-9148-cb99ea01b6c8
does not close the command completion popup. Moreover setFocus does
not focus the widget correctly, probably because the popup widget
behavior is different. An activateWindow solves the problem by
selecting the LyX view again as active window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18840 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfind.cpp:
* src/lyxfind.h: do not allow to replace texts that are
marked as deleted (fix by Jürgen Spitzmüller)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18836 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3171
* LyXFunc::closeBuffer(): remove code that is already done on Buffer deletion thanks to the Buffer::closing() signal connection to LyXView. Setting the Buffer twice was part of the reason of the bug.
* BufferView::setBuffer(): properly update the metrics if we move to a saved cursor position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18830 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXView::setBuffer(): update labels and toc only if we change parents.
* LyXView::loadLyXFile():
- update labels in _any_ case and before setting the Buffer.
- update GUI controls in case we move to a saved position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18829 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer_funcs.{h,cpp}: new checkAndLoadLyXFile() transferred from BufferView::loadLyXFile().
* BufferView::loadLyXFile(): deleted.
* LyXView::loadLyXFile(): simplify logic and fix some issues:
- buggy child document leads to crash due to error list dialog.
- ensure that we switch to buffer if there's some errors.
- use LyXView::setBuffer() instead of repeating code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18828 a592a061-630c-0410-9148-cb99ea01b6c8
Fix Bug 3860: Toc crash when loading a child documents.
* BufferView::loadLyXFile(): simplify, transfer last part to
LyXView::loadLyXFile().
Change return value to Buffer created by load (or 0 if none).
Ultimately, this should all be moved to buffer_funcs.cpp, as it is no
longer needed here.
* Buffer::setParentName(): small fix to avoid recursive includes.
* LyXView:
- setBuffer(): properly update the labels and the Toc if this is [LOAD Child
Document] command. Move buffer connection and disconnection, simplifying
earlier code.
- loadLyXFile(): get some code from BufferView::loadLyXFile() and from
LyXFunc::LFUN_BUFFER_CHILD_OPEN, properly handle the child document case.
There's a lot of overlap with setBuffer() here. This needs cleaning.
* LyXFunc: add optional argument to LFUN_BUFFER_CHILD_OPEN to indicate if
the document is being opened by LyX itself rather than the user (as on
View>DVI, for example).
* LyX: adapt to loadLyXFile() API changes.
* insets/InsetInclude: use LFUN_BUFFER_CHILD_OPEN rather than calling
loadLyXFile() directly. Make use of new optional argument.
With this in place, the only thing missing for proper multipart document support is to automatically update the parent Buffer when switching from the parent Buffer. This would be very useful when you work with multiple document sharing the same child documents (as I often do).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18825 a592a061-630c-0410-9148-cb99ea01b6c8
the coordinate cache of the math inset is not valid and InsetMathNest
depends on that to compute the cursor position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18816 a592a061-630c-0410-9148-cb99ea01b6c8
IconPalette now subclasses QWidgetAction so that we can
insert them in QMenu (before we were painting ourselves)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18812 a592a061-630c-0410-9148-cb99ea01b6c8
* Moreover the marker metrics calls are removed as they are not drawn anyway.
(fixes#3705)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18792 a592a061-630c-0410-9148-cb99ea01b6c8
- delete unneeded InsetList.h
- transfer the errorList to the private implementation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18782 a592a061-630c-0410-9148-cb99ea01b6c8
up/down to tell the insets that the cursor left them. The
notifyCursorLeaves methods can set updateFlags to trigger a redraw.
* leave mathed with cursor up/down and get the math redrawn for the
decorations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18773 a592a061-630c-0410-9148-cb99ea01b6c8
* remove spacing in the layout of the tab bar and the central widget
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18770 a592a061-630c-0410-9148-cb99ea01b6c8
* checkBufferStructure(): Fix unnumbered toc entries that do not update automatically as you type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18768 a592a061-630c-0410-9148-cb99ea01b6c8
language to be in the paragraph's language. This is necessary due to format
change 259, but the language was forgotten in lyx2lyx back then. It's important
for Bidi documents.
(fixes bug http://bugzilla.lyx.org/show_bug.cgi?id=3789)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18766 a592a061-630c-0410-9148-cb99ea01b6c8
especially in math where each equation has many insets.
* src/Insets.cpp: remove background_color_ member
(setBackgroundColor): remove
(backgroundColor): make virtual
* insets/InsetBranch.cpp:
* insets/InsetNote.cpp: move color setting code from setButtonLabel to
backgroundColor.
* insets/InsetBox.cpp (setButtonLabel): remove call to setBackgroundColor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18750 a592a061-630c-0410-9148-cb99ea01b6c8
for translating keystrokes. Up until now, the switching was done in advance
in all kinds of situations, but not just before translating was actually done
--- which resulted in the KeyMap not always being switched on time...
This solves bug #3811 (http://bugzilla.lyx.org/show_bug.cgi?id=3811)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18744 a592a061-630c-0410-9148-cb99ea01b6c8
Only newly created inset were entered everytime.
* Derived classes of CommandInset do not draw all cells, so return false.
(fixes http://bugzilla.lyx.org/show_bug.cgi?id=3715)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18742 a592a061-630c-0410-9148-cb99ea01b6c8
appropiate for entering a math inset. The "crash" in #2446 was due to
the dispatch not doing anything. Hence the cursor was still in text and
the assertion was triggered.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18737 a592a061-630c-0410-9148-cb99ea01b6c8
hence we have to set it manually.
(bug #3787: Huge fonts do not set the row height)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18731 a592a061-630c-0410-9148-cb99ea01b6c8
boundary, when the user enters text directly behind the boundary
(patch by Dov Feldstern)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18717 a592a061-630c-0410-9148-cb99ea01b6c8
Neither do we do so when generating the LaTeX, so setting is_space
to false makes the view in the GUI consistent with the output of LaTeX
later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18716 a592a061-630c-0410-9148-cb99ea01b6c8
a singleton behavior. In fact I think it has not for nested Text insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18710 a592a061-630c-0410-9148-cb99ea01b6c8
cursor size. It should fit to the setCurrentFont function because the
cursor tells the user which font will be used when typing characters.
Especially on RTL/LTR boundaries it should fit because it is
essential for the user to see which writing direction is active. This
patch implements a simplified version of setCurrentFont's logic to
archive this.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18707 a592a061-630c-0410-9148-cb99ea01b6c8
places now where a ParagraphMetrics::computeRowMetrics call comes
before. And this function the Bidi object is updated. So it is a
little step now to remove the Text::bidi completely and use local
Bidi objects instead without more work to do.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18706 a592a061-630c-0410-9148-cb99ea01b6c8
does not depend on paragraph metrics (fixes#3790, #3801, #3809)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18705 a592a061-630c-0410-9148-cb99ea01b6c8
* Use the isRTL information to compute the cursor position correctly around
insets in RTL text. Those insets are positioned to the right of the cursor position
in the text.
(fixes issue (3) of bug 3551: Cursor movement in and around insets in RTL paragraphs)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18667 a592a061-630c-0410-9148-cb99ea01b6c8
this is already what we have; fixes a crash (bug 3793)
* src/frontends/controllers/ControlToc.h: make getGUIName private
* src/frontends/controllers/ControlToc.cpp (getGUIName): handle
correctly the lists of floats.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18648 a592a061-630c-0410-9148-cb99ea01b6c8
bug is fixed in Qt an upper version bound should be added.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18647 a592a061-630c-0410-9148-cb99ea01b6c8
* In the "Available" list, double clicking or hitting Enter adds a
citation. Hitting Ctrl-Enter adds the citation and closes the
dialog. Previously, Enter did what Ctrl-Enter now does if there
was no other citation already selected and double clicking would
close the dialog after adding the citation.
* In the "Selected" list, Delete and Backspace delete the
selection.
Ctrl-Delete and Ctrl-Backspace clear the whole list.
Thanks to Abdel, Andre, and Lars for comments and help.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18633 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/qstring_helpers.cpp
(toqstr): Use iconv for surrogate pairs
(qstring_to_ucs4): ditto
* src/support/qstring_helpers.h
(qchar_to_ucs4): Remove obsolete comment, the doxygen doc is more
accurate
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18622 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3759
It also simplifies and fix the smallcaps case which was not correct WRT unicode. Even though I don't know if toUpper() means something in the non ucs2 range.
FYI, I used toqstr() to do the ucs4 -> ucs2 conversion when needed. This helper method works only with Qt >= 4.2.
* GuiFontMetrics::smallcapsWidth(): changed to work with single ucs4 characters.
* GuiFontMetrics::xxx(): make sure that font metrics works with characters not in the ucs2 range.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18593 a592a061-630c-0410-9148-cb99ea01b6c8
It also solve a crash with non disconnect boost::signal and gcc-3.3 or 3.4.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18592 a592a061-630c-0410-9148-cb99ea01b6c8
insert a no-op entry "No Branch in Document!". Makes the branch
feature more discorevable
(expandDocuments, expandFormats, expandFloatListInsert):
(expandCharStyleInsert, expandToc, expandBranches): fix message
when no document is open.
* lib/ui/stdmenus.inc: the insert>branch menu does not need to be
optional.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18591 a592a061-630c-0410-9148-cb99ea01b6c8
- remove incorrect sign for information
- add some character supported by the ascii-package
- added some letterlike symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18585 a592a061-630c-0410-9148-cb99ea01b6c8
science can enforce good code quality by stopping compilation if
unused variables are found.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18577 a592a061-630c-0410-9148-cb99ea01b6c8
end (but start and end inside of the buffer limits) for the last
empty row behind a newline.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18576 a592a061-630c-0410-9148-cb99ea01b6c8
dispatchers in mathed and text only do local work, i.e. only try to
move the cursor with their local knowledge, not globally as before in
the Cursor::goUpDown function before. The old approach used one of
brutefind functions as a last way out to really move the cursor up or
down. The result was some strange behavior that the nearest inset was
selected when jumping from math to text, not one in the next line.
2. removed LFUN_FINISHED_UP/DOWN, as there seem to be no effect and it
seems to be obsolete.
3. target_x is working again, mainly by adding a textTargetOffset_
member to the Cursor which keeps the difference between the target_x
and the actual position of the cursor on screen. As long as
pos+offset=target is fulfilled the target_x is not touched and the
cursor keep the column while going up/down.
4. moved the text cursor up/down code to the Cursor class, in analogy
to the mathed code.
5. For 1 it is necessary to know the cursor position before the
dispatch. So this data is added to the Cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18569 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Text2.cpp:
- (setFont): set font of inset as well, not only content
- (setCharFont): remove obsolete assert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18563 a592a061-630c-0410-9148-cb99ea01b6c8
* added Qt::Drawer flag to TOC
* reverted Jürgen's patch (i.e. the source view is docked below the text again),
wide drawers are not Mac-like (tm)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18557 a592a061-630c-0410-9148-cb99ea01b6c8
- add dingbats
- add geometrical shapes
- add the missing card suit symbols
- use Herbert's solution for the "℅" character
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18544 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graphics/PreviewLoader.cpp:
- make member writeEncodingPreamble void.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18543 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferParams.{cpp,h} (writeLaTeX):
- move inputenc generation to an own function,
writeEncodingPreamble
* src/graphics/PreviewLoader.cpp (startLoading):
- use the inputenc command and encoding of the buffer
by using the aforementioned new function.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18538 a592a061-630c-0410-9148-cb99ea01b6c8
- replace an occurrence of from_ascii() to _() for translation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18521 a592a061-630c-0410-9148-cb99ea01b6c8
- cleanup the header.
- encapsulate local code in local namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18520 a592a061-630c-0410-9148-cb99ea01b6c8
* Inset: new destroyed signal (copy ctor and operator= needed because of a signal is not copiable)
* CursorSlice:
- connect to inset destructor wherever possible
- invalidate(), isValid(): new method.
- inset_: now private
* DocIterator::fixIfBroken(): new method for properly fixing cursors.
* StableDocIterator::asDocIterator(): verify cursor sanity before creating it.
* Cursor::fixIfBroken(): now a simple wrapper around DocIterator::fixIfBroken()
* BufferView::setBuffer(): verify cursor sanity before restoring it.
* WorkArea::redraw(): verify cursor sanity of concurrent BufferView display.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18516 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Buffer.cpp:
- make view-source string translatable
* src/frontends/controllers/ControlToc.h:
- make getGuiName public
* src/frontends/qt4/TocWidget.cpp:
- use getGuiName for the combo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18505 a592a061-630c-0410-9148-cb99ea01b6c8
that were opened for possible included LyX files need to be closed if those
files cannot be loaded, for example. A bit more work was needed to allow a
LyX file to include itself as a verbatim or listings without trying to load
itself and without relying upon loadIfNeeded() to report the problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18494 a592a061-630c-0410-9148-cb99ea01b6c8
* only update the representation if anything was changed (this gives a
huge speedup), fixes#2452
* minor cleanup of the code, especially setting up the coordinate
cache. Without this can lead to crashes if the macros do not mention
all the arguments.
* And a last fix included makes sure that the metrics are always in
sync with the drawing. Before it was possible to go into the macro
with the cursor in a way that the metrics were for the viewing mode,
but the drawing was done for editing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18489 a592a061-630c-0410-9148-cb99ea01b6c8
if they are compatible (i.e. no optional arguments, no patterns)
* Recursive macros are also imported, but they only work correctly in the
limits of the current macro implementation in LyX
* Fixes http://bugzilla.lyx.org/show_bug.cgi?id=21
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18483 a592a061-630c-0410-9148-cb99ea01b6c8
- adds a "toggle math toolbar" and "toggle table toolbar" buttons to the main toolbar
(i also moved "toggle toc" there)
- adds a "toggle math panels" button to the math toolbar
- reshuffles the Big Operators panel to avoid confusion with the sum icon on the math toolbar
- adds some icons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18478 a592a061-630c-0410-9148-cb99ea01b6c8
* insets/InsetExternal.cpp (doDispatch):
* insets/InsetGraphics.cpp (doDispatch):
* insets/InsetInclude.cpp (doDispatch):
* insets/InsetCommand.cpp (doDispatch):
* insets/InsetVSpace.cpp (doDispatch): do not open dialog if a
selection is set.
* insets/InsetRef.cpp (doDispatch):
* insets/InsetCharStyle.cpp (doDispatch): act on mouse release, not
mouse press.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18473 a592a061-630c-0410-9148-cb99ea01b6c8
\input{foo} means to input foo.tex, so add the .tex extension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18470 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Text2.cpp
(Text::setCharFont): Assert
(Text::setInsetFont): New, set the font recursively in insets
(Text::setFont): Call setInsetFont instead of setCharFont if needed
* src/DocIterator.cpp
(DocIterator::forwardIdx): Implement
* src/Text.h
(Text::setInsetFont): New, set the font recursively in insets
(Text::setCharFont): Document
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18452 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/InsetListingsParams.cpp:
- complete list of languages/dialects
- fix some typos
- (validate): check for braces
* src/frontends/qt4/QListings.cpp:
- fix list of languages (not yet complete)
- make it possible to enter [dialect]language in the advanced widget
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18451 a592a061-630c-0410-9148-cb99ea01b6c8
bug 3659 (crash when file contains only an InsetInclude).
Added checks for self-inclusion. The reason this is not a complete fix is that
recursive input could arise from something other than self-inclusion. Checking
for that will be much more complicated, however.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18445 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QListings.cpp (validate_listings_params):
- care for the apply button as well.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18444 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QListings.cpp:
- make widget entries translatable
- clean up and shuffle around some code
* src/frontends/qt4/ui/ListingsUi.ui:
- set isEditable here, not in QListings.cpp
* src/frontends/qt4/QDocument.cpp:
* src/frontends/qt4/QInclude.cpp:
- make Listings strings translatable
Fix bug 3654 (by Bo Peng):
* src/frontends/qt4/QListings.h:
- new slot on_numberSideCO_currentIndexChanged
* src/frontends/qt4/QListings.cpp:
- use this slot and enable(disable the appropriate widgets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18432 a592a061-630c-0410-9148-cb99ea01b6c8
which now returns 1 if an InsetBibitem was inserted (and the cursor needs
to be incremented) or -POS if an InsetBibitem was deleted at position POS
(and the cursor needs to be decremented if it was past POS). Otherwise, it
returns 0. Made the corresponding changes in TextMetrics.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18424 a592a061-630c-0410-9148-cb99ea01b6c8
* Sqrt and Root draw their vertical horizontal line with a single line command to make them showup non-antialiased.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18419 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/InsetListingsParams.{cpp,h}
- implement getParamValue that returns the value of a listings param
* src/insets/InsetInclude.cpp:
- (getLabelList): pass listings label to the list, if available
- doDispatch: implement changeRefsIfUnique for listing labels
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18405 a592a061-630c-0410-9148-cb99ea01b6c8
- do not insert blank line for listings content.
* src/TextMetrics.cpp (setHeightOfRow):
- don't use parkip in Listings insets (bug 3624)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18399 a592a061-630c-0410-9148-cb99ea01b6c8
The crash was being caused by the fact that when moving back from the
beginning of the line to the previous line (by pressing RIGHT in an
RTL paragraph, or LEFT in an LTR one), Bidi metrics for the new line
do not yet exist, but an attempt is made to access them.
Basically, this patch was created by trying to "symmetrically" copy
cursorRight (which seems to work well) to cursorLeft (which was
problematic).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18389 a592a061-630c-0410-9148-cb99ea01b6c8
1) Open EmbeddedObject.lyx
2) Open Toc
3) Click on section 7.2.2 which is in the second child document
4) assertion.
This commit adds proper support for multi-part documents. With this each child document has access to the _full_ TOC tree (including LOT and LOF). This enables to switch between master and child document using the TOC.
* buffer_funcs.cpp:
- updateLabels(): do not emit Buffer::structureChanged() signal for child document
- checkBufferStructure(): update the structure of the master document.
* ControlToc.cpp: always use the TocBackend of the master document.
* LyXView::connectBuffer(): connect structureChanged() of master document.
* TocBackend:
- TocItem: get rid of child_ member.
- TocBackend::item(): only compare items from the same document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18386 a592a061-630c-0410-9148-cb99ea01b6c8
Delete cached conversions if the converter changes.
* src/frontends/qt4/QPrefs.cpp
(PrefConverters::update_converter): delete cached files since the
new converter might create different ones
(PrefConverters::remove_converter): ditto
* src/support/convert.cpp
(unsigned long convert<unsigned long>): New template specialization
* src/ConverterCache.h
(ConverterCache::remove_all): New method, removes all cached
conversions of a particular converter
* src/ConverterCache.cpp
(CacheType): Also store source file format
(ConverterCache::Impl::readIndex): Handle files with spaces correctly
(ConverterCache::Impl::writeIndex): ditto
(various): adapt to changed CacheType
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18378 a592a061-630c-0410-9148-cb99ea01b6c8
Use case solved by this patch:
1) open EmbeddedObject.lyx
2) open the TOC widget (Uwe says it crashes there but I can't reproduce)
3) try to select an item previous to 6.2.2: crash because of an assertion:
Assertion triggered in bool __cdecl lyx::operator <(const class lyx::CursorSlice
&,const class lyx::CursorSlice &) by failing check "false" in file D:\LyXSVN\ly
x-devel\src\CursorSlice.cpp:106
I think this patch will also solve bug 3616:
http://bugzilla.lyx.org/show_bug.cgi?id=3616
* TocItem::child_: new member for child document; default to false.
* TocBackend::item(): skip DocIterator comparison if item is in child docuemt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18370 a592a061-630c-0410-9148-cb99ea01b6c8
* Bidi.{h,cpp}:
- isWithinRtlParagraph(): new helper function.
* Text2.cpp: use function above for cursor up and down instead of needReverseDirection() which is about cursor left and right.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18364 a592a061-630c-0410-9148-cb99ea01b6c8
* TocWidget::select()
- Do not allow select ModelItem from the code for non-TOC types
- add a FIXME explaining the situation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18348 a592a061-630c-0410-9148-cb99ea01b6c8
(ConverterCache::Impl::readIndex): prevent assertion in
fs::last_write_time for corrupted cache index
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18341 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/TocWidget.{cpp,h}:
- new member disconnectSelectionModel()
- (select): replace blockSignal() directives for tocTV selectionModel()
with disconnect (the above new function) and reconnect relevant signal
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18338 a592a061-630c-0410-9148-cb99ea01b6c8
* ControlDocument::id(): new method returning the id of the current buffer.
* PreambleModule: new class for the preamble module. Handle everything preamble related, including memorizing the cursor position for each Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18307 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Paragraph.cpp:
- make sure removed bibitems (inside a par) are restored correctly
(in pos 0).
* src/Text.{cpp,h} (handleBibitems):
- new member, used by erase and backspace.
* src/Text3.cpp (getStatus):
- allow inserting of bibitems only in pos 0.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18304 a592a061-630c-0410-9148-cb99ea01b6c8
- add proper x11 colors for lyxadded and lyxdeleted (preventing an assert in RGBColor)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18285 a592a061-630c-0410-9148-cb99ea01b6c8
- when exporting with pdflatex
- when exporting with latex and dvipost is not available
rename two colors (strikeout => deletedtext, newtext => addedtext)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18284 a592a061-630c-0410-9148-cb99ea01b6c8
change of behavior of rotate-tabular and rotate-cell toolbar buttons such that they toggle the rotation. Therefore a toggle feature is added to the tabular features. Moreover after the patch the state of the set-rotate-cell and toggle-rotate-cell buttons is on only if all selected cells in the table are rotated. If not all selected cells are rotated then the toggle button rotates all selected cells.
The toggle-icons are copied from the set-icons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18280 a592a061-630c-0410-9148-cb99ea01b6c8
In insert graphic window: canceling open dialog erases entry in text box). This bug is not Mac specific, but exist in Linux. (should exist in other OSes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18268 a592a061-630c-0410-9148-cb99ea01b6c8
Remove all explicit 8bit characters from the source, to fix compilation
with windows xp under a chinese locale (bug 3496).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18256 a592a061-630c-0410-9148-cb99ea01b6c8
In Hebrew, Arabic and Farsi (Right-to-Left) languages the numbers are written from left to write.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18255 a592a061-630c-0410-9148-cb99ea01b6c8
through nested insets; what we want here is much simpler (bug 3472)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18254 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: Move the color initialization from the constructor to the update() method. I've read the mail from Richard (referenced in the source code) concerning this, but i don't understand why we should not move parts of the initialization the constructor does into the update method. With this changes the hack for fixing http://bugzilla.lyx.org/show_bug.cgi?id=3109 is not needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18249 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: Disable the alter button if no item is selected and add an additional test for a valid index.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18247 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: Add a test whether the color returned from the color dialog is valid.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18245 a592a061-630c-0410-9148-cb99ea01b6c8
introduce 'semantic' TeX commands \lyxinserted and \lyxdeleted in order to decouple change tracking
output from dvipost. Raise user warning if dvipost is not installed (i.e. no changes are shown in TeX output)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18237 a592a061-630c-0410-9148-cb99ea01b6c8
with skips.
Added helper method canIndent() to controller and appropriate logic to
QParagraph::update_contents().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18236 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Cursor.cpp:
- new helper function parbreak that checks whether a blank line is
to be inserted or not (currently only relevant for ERT content)
- (selectionAsString): use parbreak instead of hardcoded "\n\n"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18220 a592a061-630c-0410-9148-cb99ea01b6c8
Introduces new encodings for the CJK-languages.
The CJK-languages can now be selected from LyX's menu.
For remaining small problems, see the thread "Help needed for bug 3043" on the devel-list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18216 a592a061-630c-0410-9148-cb99ea01b6c8
This is a part of the fix for bug 3043.
I got the OK from Georg, that this patch doesn't introduce conflicts as it only sets the infrastructure.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18206 a592a061-630c-0410-9148-cb99ea01b6c8
* GuiApplication::event():
special case for FileOpen events: memorize the filenames if LyX is not properly started yet.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18201 a592a061-630c-0410-9148-cb99ea01b6c8
- add new encoding utf8-plain for the sake of XeTeX users (bug 3526)
* src/BufferParams.cpp:
- implement new encoding (skip inputenc)
- fix logic error with thailatex
* src/Buffer.cpp:
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_5.pyx:
* development/FORMAT:
- format increment to 267
- reset encoding to utf8 on reversion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18198 a592a061-630c-0410-9148-cb99ea01b6c8
* ControlDocument::params(): replace BufferParams local copy with Buffer::params() direct access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18186 a592a061-630c-0410-9148-cb99ea01b6c8
I wonder whether this message is used at all, as it does not occur when
runnig font-free-apply after program start
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18149 a592a061-630c-0410-9148-cb99ea01b6c8
Please note that method B_ (translate text to buffer language) is presently broken (at least on Windows)!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18143 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3186
Caption outside float or long table will get the "Senseless!!" label.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18120 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMath::name(): deleted.
* buffer_funcs.cpp:setCaptions() fix potential bug by using docstring copy instead of reference while using Inset::name.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18119 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlCommandBuffer.{cpp,h}:
- new member hide()
* src/frontends/qt4QCommandEdit.{cpp,h}:
- new signal hidePressed(), emit it on M-x/Alt-x
* src/frontends/qt4/QCommandBuffer.{cpp,h}:
- new slot hideParent(), connected to QCommandEdit::hidePressed()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18081 a592a061-630c-0410-9148-cb99ea01b6c8
The old code in the method "Paragraph::transformChar" had a bug, when the prev_char is a COMPOSE character (such as FATHA) and the previous BASE character is a SPECIAL character (such as ALEF). In this case the current character (such as BAA) gets the medial form and gets connected to the previous SPECIAL character which is not correct. The correct way to handle this situation is that, similar to the next_char, the first previous non-COMPOSE character should be assigned to the prev_char if exists.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18065 a592a061-630c-0410-9148-cb99ea01b6c8
somewhat better layout; ideally, the whole dialog should be laid out in a grid,
but then qt insists on drawing the listwidgets much wider than the need to be.
The drawback of this approach is that the dialog cannot really be resized.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17949 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeXFeatures.C
(LaTeXFeatures::getPackages): Do not require newest nomencl.sty,
output compatibility code instead
* src/LaTeX.C
(LaTeX::deleteFilesOnError): delete .gls file
(LaTeX::run): Check .glo and .gls files, too
(handleFoundFile): do not ignore .glo files
(LaTeX::deplog): add regex for old nomencl version
* src/LaTeX.[Ch]
(LaTeX::runMakeIndexNomencl) new method, factored out to avoid
code duplication
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17923 a592a061-630c-0410-9148-cb99ea01b6c8
This commit avoids unnecessary metrics recalculations by caching the last LyXFont used. I had to cleanup the width(), ascent() and descend() redundancies by transferring that to InsetBase.
InsetMathDim should go now as it is not really needed.
* InsetBase: properly handle inset Dimension.
* InsetOld: get rid of redundant width(), ascent() and descent()
* InsetMathDim: ditto
* InsetMathChar::metrics(): avoid metrics recalculation if font is unchanged.
* InsetMathSymbol::metrics(): ditto
* InsetMathKern: use InsetBase::dim_ instead of local ones.
* InsetMathSpace:
- use InsetBase::dim_ instead of local ones.
- space to width transformation transferred to anonymous namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17899 a592a061-630c-0410-9148-cb99ea01b6c8
some code is moved from QMath
to QDelimiterDialog and QMathMatrixDialog
for the rest pretty mechanical
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17872 a592a061-630c-0410-9148-cb99ea01b6c8
add signal that provides action when triggered
* ToolbarBackend.[Ch]
add popupmenu and iconpallete item types
* QLToolbar.[Ch]
take care of popupmenu and iconpallete
* stdtoolbars.inc
add panels and menus (and move spellchecker to main ;-)
* functions.xpm
icon for function list
* iconpalette.[Ch]
new iconpanel that will replace old iconpalette,
als subclass of qmenu that updates parent toolbutton
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17868 a592a061-630c-0410-9148-cb99ea01b6c8
toolbaritems, toolbar(info) and backend
stdtoolbars.inc now defines the toolbars inbetween
a ToolbarSet/End tag just as the menus
* the other files contain straightforward changes
because of the toolbarbackend refactoring
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17867 a592a061-630c-0410-9148-cb99ea01b6c8
If the cursor is currently in macro mode (e.g. the user is typing \fra, but
hasn't finished the command \frac) macros shouldn't be updated.
Another forced screen update is needed if the user leaves macro mode just with
the cursor right key (which doesn't trigger full screen updates itself).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17860 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3460
The problem was that the list_items map is ordered by key.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17858 a592a061-630c-0410-9148-cb99ea01b6c8
* bigleft, bigright: move empty item from last to first to synchronize it with GUI representation
* fix_name(): add FIXME for Enrico
* updateTeXCode():
- move C-style string declaration.
- simplify empty string logic.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17848 a592a061-630c-0410-9148-cb99ea01b6c8
Locking counter added to MacroData: it is increased before drawing/
metric calculations and decreased afterwards in InsetMathMacro. If a
macro is already locked at that point, "Self reference: \foo" is
drawn instead of the macro definition to avoid endless loops.
Moreover inside of the arguments of the macro the counter is
temporarily decreased as those cases do not cause loops. (fixes bug
#1395)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17841 a592a061-630c-0410-9148-cb99ea01b6c8
Locking counter added to MacroData: it is increased before drawing/
metric calculations and decreased afterwards in InsetMathMacro. If a
macro is already locked at that point, "Self reference: \foo" is
drawn instead of the macro definition to avoid endless loops.
Moreover inside of the arguments of the macro the counter is
temporarily decreased as those cases do not cause loops. (fixes bug
#1395)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17836 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/TocWidget.[Ch]:
- rename enableButtons to enableControls and include slider enabling/disabling
- only set slider if there is some content
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17835 a592a061-630c-0410-9148-cb99ea01b6c8
We output the \inputencoding command before the section if possible, and we
ignore all encoding changes in the section. Commands from the unicodesymbols
file will be used for characters that can't be encoded in the current
encoding instead of switching the encoding.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17827 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3449
One problem was no metric calculation was done for insets on cursor movement. Of course scrolling or entering character caused the missing metric calls, hence the described behavior in the bug report. This is fixed by re-implementing idxLast(), idxFirst() and notifyCursorLeaves().
Another problem was that 'a' and '1' were drawn at the same position because of a mis-calculation of the x-position in InsetMathMacro::draw().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17826 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3450
* ControlMath
- new MathSymbol struct that summarize the symbol attributes (including font and fontcode)
* QDelimiterDialog:
- make use of the new MathSymbol for the ListWidget.
- store the latex name in the tooltip instead of lookup for it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17786 a592a061-630c-0410-9148-cb99ea01b6c8
options accepted by the current paragraph.
ui/QParagraphUi.ui
Changed combo box for alignment to radio buttons. Added
checkbox for default alignment.
QParagraphDialog.[Ch]
public:
void checkAlignmentRadioButtons();
void alignmentToRadioButtons(LyXAlignment);
LyXAlignment getAlignmentFromDialog();
private:
typedef std::map<LyXAlignment, QRadioButton *> QPRadioMap;
QPRadioMap radioMap;
protected Q_SLOTS:
void change_adaptor();
void enableLinespacingValue(int);
void on_alignDefaultCB_toggled(bool);
QParagraph.C
Rework apply() and update_contents() using new functions just
mentioned.
Thanks to Abdel for his help.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17776 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathSupport.C:
add "slash" to the decoration table.
* src/mathed/InsetMathBig.C
(InsetMathBig::draw): don't remove backslash delimiter.
(InsetMathBig::isBigInsetDelim): add "\\" and "\slash" to
the delimiters table.
* src/frontends/qt4/QDelimiterDialog.C
(fix_name): return "\\" instead of "\backslash" as that now
works after the fixes above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17771 a592a061-630c-0410-9148-cb99ea01b6c8
- only set wide() to true for insets if they are not nested
in a non-wide inset (bug 3275)
* src/rowpainter.C (inNarrowInset):
- new helper func for the above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17761 a592a061-630c-0410-9148-cb99ea01b6c8
- do not attempt to toggle math insets via ALL_INSETS_TOGGLE
(fixes bug 3358)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17756 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QDelimiterDialog.C
(fix_name): Return "|" instead of "\|" as this is equivalent to \Vert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17752 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/tempname.C
(tempName): Return FileName in utf8 encoding.
* src/lyxsocket.[Ch]
(LyXServerSocket::LyXServerSocket): Use FileName instead of string
and set the env var LYXSOCKET in the filesystem encoding as this
is what the client expects.
* src/support/socktools.[Ch]
(socktools::listen): Convert to FileName and use the filesystem
encoding for the file names stored in the sockaddr_un struct.
* src/client/client.C
(socktools::connect): Convert to FileName and use the filesystem
encoding for the file names stored in the sockaddr_un struct.
(LyXDataSocket::LyXDataSocket, main): Convert to FileName.
* src/lyx_main.C
(LyX::exec): Use FileName instead of string in socket code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17749 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3413
* ui/QNomenclUi.ui
- description field: replace LineEdit with TexEdit
* QNomencl.C: take care of the \n <-> \\ conversion in the description field.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17748 a592a061-630c-0410-9148-cb99ea01b6c8
* ControlMath.[Ch]
- mathSymbol(), texName(): new method for easy access of math symbols and associated TeX names
- latex_delimiters: allowed delimiters transferred from QDelimiterDialog.C
* QDelimiterDialog.C:
- makes use of the above.
- display the TeX code in a label instead of beside the symbol.
* QDelimiterUi.ui
- shrink it so that it could nicely fit in a DockWidget but this doesn't work, the dialog is too large!
- texCodeL: new label.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17747 a592a061-630c-0410-9148-cb99ea01b6c8
This fixes some encoding problems, and hopefully also bug 3410.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17746 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeXFeatures.C (mustProvide): new method; returns true when
isRequired is true and the feature is not provided by the
textclass.
(getPackages, getLyXSGMLEntities): use mustProvide when relevant.
* src/bufferparams.C (getEngine):
* src/buffer.C (validate): adapt to change below.
* src/lyxtextclass.C (read): replace tags ProvidesNatbib,
ProvidesMakeidx, ProvidesUrl and ProvidesAmsmath by a generic
"Provides".
(provides): take a string as argument.
* lib/scripts/layout2layout.py (convert): convert "ProvidesXxx" tags
to "Provides xxx".
* lib/layouts/*: update to format 4.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17740 a592a061-630c-0410-9148-cb99ea01b6c8
InsetCommandParams)
* src/mathed/InsetMathCommand.[Ch]
(CommandInset::createDialogStr): Move to InsetMathRef, since it is
no longer generic.
* src/mathed/MathFactory.C
(createInsetMath_fromDialogStr): Use InsetCommandMailer instead of
manual parsing. This ensures that the syntax is correct.
* src/mathed/InsetMathRef.[Ch]
(InsetMathRef::createDialogStr): Moved here from InsetMathCommand,
but use InsetCommandMailer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17738 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfunc.C
(LyXFunc::dispatch): Call LFUN_DIALOG_SHOW_NEW_INSET instead of
LFUN_DIALOG_SHOW, since the former seems to be connected to the last
open inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17736 a592a061-630c-0410-9148-cb99ea01b6c8
Changed dialog and added routines to deal with an "auto" label
in cases where defaults are used.
ui/MarginsUi.ui: Changed labels for width and height to checkboxes. Removed connections.
checkwidgets.[Ch]: Extended checkedLineEdit routines to take a QWidget.
qt_helpers.[Ch]:
Added void lengthToWidgets(QLineEdit *, LengthCombo *, LyXLength const &, LyXLength::UNIT)
Added void lengthAutoToWidgets(QLineEdit *, LengthCombo *, LyXLength const &, LyXLength::UNIT)
Added void setAutoTextCB(QCheckBox *, QLineEdit *, LengthCombo *)
validators.[Ch]:
Added class LengthAutoValidator : public LengthValidator
Added class DoubleAutoValidator : public QDoubleValidator
QGraphicsDialog.[Ch]
Added virtual void setAutoText()
Added virtual void on_WidthCB_toggled(bool)
Added virtual void on_HeightCB_toggled(bool)
Used the new functions to set "auto" in default cases and toggle checkboxes as needed.
Set validator for scale.
Re-organized connect routines.
QGraphics.C:
Completely re-worked update_contents().
Significant changes to apply().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17735 a592a061-630c-0410-9148-cb99ea01b6c8
1) launch the dialog
2) select a delimiter in the left pane
3) Tab
4) select a delimiter in the right pane
5) Enter
So:
- Also enable the quick insertion while in the right pane
- Do not limit the quick insertion to matched key
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17732 a592a061-630c-0410-9148-cb99ea01b6c8
- ListWidget instead of combo,
- matched delimiters on the same row,
- immediate insertion on "enter" or "double-click" if the 'match' option is checked.
- simplification of the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17731 a592a061-630c-0410-9148-cb99ea01b6c8
labelstring is set (instead of using this value only as a
fallback) (bug 3351)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17729 a592a061-630c-0410-9148-cb99ea01b6c8
Most of the change is about using the new private member delimiters_ instead of the "delim" table. Also, we don't display an icon when the delimiter is one character.
I did not manage to let the combos expand to the maximum.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17727 a592a061-630c-0410-9148-cb99ea01b6c8
Most important improvements:
- read file character by character and treat newline like space characters.
Thus the @ does not need to be at the beginning of a line.
- it reads @string entries and replaces the strings in the field values
- it also handles @comment entries
- it recovers from syntax errors at the next entry starting with @
- it ignores everything between entries
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17723 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3412
* QNomenclDialog::QNomenclDialog(): setting the focus proxy in the Description edit box.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17719 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3408http://bugzilla.lyx.org/show_bug.cgi?id=3409
The missing redraw was introduced with "Draw only decoration" optimisation in mathed. Setting the flags to Update::Force in case of Preview mode fixes the problem.
* InsetMathHull::notifyCursorLeaves(): set the cursor flags to 'Force'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17718 a592a061-630c-0410-9148-cb99ea01b6c8
* ControlToc::update(): get rid of the pure virutal method.
* QToc::initialiseParams(): overload ControlToc method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17708 a592a061-630c-0410-9148-cb99ea01b6c8
keyboard input via kmap, clipboard and selection) to normalized form KC
(precomposed characters) since we don't support the decomposed form very
well.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17702 a592a061-630c-0410-9148-cb99ea01b6c8
isdigit from ctype.h, because the latter are locale dependant and do not
work with char_type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17698 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QTabular.C: change "Block" to "Justified"
to avoid translation clash and to align with paragraph settings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17694 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3288
This is recommended by Qt:
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
* GuiApplication::notify(): reimplemented from QApplication::notify().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17688 a592a061-630c-0410-9148-cb99ea01b6c8
* Painter:
- preeditText(), dashedUnderline(): new methods for CJK support.
* GuiWorkArea:
- inputMethodQuery(): new Qt inherited method for proper CJK support.
- inputMethodEvent(): now properly take care of input methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17671 a592a061-630c-0410-9148-cb99ea01b6c8
again (bug 3304)
* src/intl.C
(Intl::initKeyMapper): Don't set the char set of trans anymore
* src/chset.[Ch]: delete, no longer needed
* lib/kbd/*.cdef: ditto
* src/lyxrc.[Ch]: remove RC_SCREEN_FONT_ENCODING and font_norm,
these are no longer needed
* src/lyxfunc.C: adapt to lyxrc changes
* src/Makefile.am: remove deleted files
* lib/Makefile.am: ditto
* development/scons/scons_manifest.py: ditto
* src/text3.C
(LyXText::dispatch): reenable the kmap mechanism
* src/trans_mgr.[Ch]
(TransManager::setCharset): remove, no longer needed
(TransManager::insert): remove, since it would be identical to
insertVerbatim now
(TransManager::insertVerbatim): rename to insert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17665 a592a061-630c-0410-9148-cb99ea01b6c8
This is purely mechanical, and touches only code that is currently not active.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17657 a592a061-630c-0410-9148-cb99ea01b6c8
* src/text.C (breakParagraph): setCursor does not set current_font when
applied to a CursorSlice (fixes bug 3143)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17654 a592a061-630c-0410-9148-cb99ea01b6c8
Problem was that SIGNAL itemSelectionChanged was not connected to anything.
* QRefDialog::selectionChanged(): new slot for itemSelectionChanged signal.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17615 a592a061-630c-0410-9148-cb99ea01b6c8
"View" button in TeX information dialog not enabled when file is selected with the keyboard. Problem was that SIGNAL itemSelectionChanged was not connected to anything. Also made some minor stylistic changes to the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17614 a592a061-630c-0410-9148-cb99ea01b6c8
The crash happens on alt+up and alt+down if the position of the cursor
in the moved paragraph is beyond the length of the target paragraph.
To avoid it the Position of the iterators for the target paragraph must
be corrected. I set it to 0 as i assume it is not really used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17613 a592a061-630c-0410-9148-cb99ea01b6c8
breakParagraph seems to be called five times: in buffer.C, by
insertStringAsLines; and in text3.C, for LFUN_BREAK_PARAGRAPH,
LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT, LFUN_BREAK_PARAGRAPH_SKIP (which
itself calls LFUN_BREAK_PARAGRAPH if a paragraph will be broken), and
for LFUN_FLOAT_LIST. My sense was that the KEEP_LAYOUT version maybe
shouldn't reset the text style. That's why I put it where I did. But I
doubt it matters very much, and I had it in breakParagraph myself at one
point.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17612 a592a061-630c-0410-9148-cb99ea01b6c8
There is a user visible change with this commit: For text insets, the button stays "highlighted" as long as the mouse cursor is within the inset but not within a nested inset. Formerly the button was highlighted only when hovered. This new behaviour is better because we can now imagine funkier behaviour like inset color background change when hovered. Also the small math pink corners can be adapted to react to mouse hover in the future. Ideally we should also "highlight" the button when entering the inset via the keyboard or when the keyboard cursor is just before the inset (because we can then use Ctrl-i).
* BufferView:
- getCoveringInset(): new method.
- workAreaDispatch(): use getCoveringInset() instead of LyXText::checkInsetHit()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17610 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.C (convert): do not forget to reset lyxerr to
std::dec type of output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17609 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathScript.C
(InsetMathScript::dy01): Make sure that the subscript is placed
not higher than when it appears alone.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17602 a592a061-630c-0410-9148-cb99ea01b6c8
- whitespace. I forgot to save the changes before committing :-(
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17595 a592a061-630c-0410-9148-cb99ea01b6c8
- some further refinement (and cleanup) of the triple click behaviour,
from Richard G. Heck.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17594 a592a061-630c-0410-9148-cb99ea01b6c8
The string representation of math data stored in an undo could not be
read back. Now we store the math directly and do not convert to and from
a string.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17591 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=3144
The problem was that we set the cursor even for mouse hover event.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17589 a592a061-630c-0410-9148-cb99ea01b6c8
- reimplement doubleClickTimeout() from the qt3 frontend
in order to get triple clicking working (bug 3272).
This is just an emultation of triple clicking, since qt does not have
a mouseTripleClickEvent()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17588 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/ui/BulletsUi.ui:
- assure that six columns of bullets are displayed in the widget
(fix bug 3147).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17584 a592a061-630c-0410-9148-cb99ea01b6c8
This changes the semantics of isOK() and operator(), comments from Bernhard below:
With the old version of lyxlex it was _impossible_ to check whether reading an integer, float, ... succeeded or not. The current solution to check for is.bad() in some cases and in other cases use is.good() does not give the desired information. Moreover the result of is.bad() depends on the stl implementation and behaves different for linux and windows.
the bug was introduced by the patch that fixed the bug that crashed lyx when "inset-insert ert" was executed from the command buffer.
The lexer has the method isOK() which reflects the status of the stream is.
The operators void* and ! are not really well defined (they depend on the value of is.bad()). What is missing is a test if the last reading operation was successful and thus the returned value is valid.
That's what i implemented in this patch.
The new rule for using the lexer:
if you want to know if the lexer still has data to read (either from the stream or from the pushed token) then use "lex.isOK()".
If you want to test if the last reading operation was successful then use eg. "if (lex) {...}" or unsuccessful then use eg. "if (!lex) {...}"
an example:
int readParam(LyxLex &lex) {
int param = 1; // default value
if (lex.isOK()) { // the lexer has data to read
int p; // temporary variable
lex >> p;
if (lex) param = p; // only use the input if the reading operation was successful
}
return param;
}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17569 a592a061-630c-0410-9148-cb99ea01b6c8
support.
LyXRC::font_norm stays for now, since it is still used for the kbmap stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17566 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathData.C
(MathArray::metrics): Explicitly initialize kerning_ as it may
contain random data when the nucleus is an empty MathFont inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17560 a592a061-630c-0410-9148-cb99ea01b6c8
- add flags for debug/release/profile
- also build qt4 as one file with gcc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17558 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::makeLaTeXFile): Use runparams.encoding to be consistent
* src/insets/insetinclude.C
(InsetInclude::latex): Change runparams.encoding to the encoding of
the child document for makeLateXFile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17555 a592a061-630c-0410-9148-cb99ea01b6c8
TODO: extract the latexHighlighter class into its own .[Ch] files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17553 a592a061-630c-0410-9148-cb99ea01b6c8
(RowPainter::paintHebrewComposeChar): Convert characters 0xf8 and
0xe3 from CP1255 to UCS4 encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17547 a592a061-630c-0410-9148-cb99ea01b6c8
Those arguments are not needed because update() will always look at what is currently selected and the info is there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17546 a592a061-630c-0410-9148-cb99ea01b6c8
- now simple citation insertion can be done with the keyboard only (enter key will close the dialog and insert the chosen key).
- now search also within bib entry information (very fast)
- new case sensitive option
- new regex option.
- QCitation: code simplified, some code went to ControlCitation.
- QCitationDialog: code simplified
- lots of polish in the dialogs...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17539 a592a061-630c-0410-9148-cb99ea01b6c8
* DockView.h: add the orientation option.
* QViewSource: now a model and a controller
* QViewSourceDialog: now only a simple QWidget.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17538 a592a061-630c-0410-9148-cb99ea01b6c8
* transfer CiteEngine enum declaration to biblio.h
* delete unneeded CiteEngine_enum
* cite_engine is now cite_engine_ and is private.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17537 a592a061-630c-0410-9148-cb99ea01b6c8
- replace unneeded dynamic_cast with static_cast
- fix citation info for normal BIBITEM entries.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17535 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.C
(arabic_table): Delete (this was used for fonts in iso8859-6 encoding)
(arabic_table2): Rename to arabic_table and update code points to UCS4.
The old code points in this table where a custom encoding:
Some ASCII positions and some unused positions of the iso8859-6
encoding where used to encode the shaped forms. Example:
The character hamza was encoded with 0x41. The iso8859-6 encoding in
lib/encodings contained ithe value 0xfe80 at position 0x41 before
the transition to unicode => Change the value 0x41 to 0xfe80 in the
table.
This old custom encoding was needed because the transformed characters
needed to be transported through 8bit characters.
(Encodings::is_arabic_special): Change code points from iso8859-6 to UCS4
(Encodings::isComposeChar_arabic): Ditto
(Encodings::is_arabic): Ditto
(Encodings::transformChar): Always use arabic_table
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17532 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlCharacter.[Ch]
(reset_lang_) New flag (needed because the language is never
inherited)
* src/frontends/controllers/ControlCharacter.C
(ControlCharacter::getLanguage): Use reset_lang_
(ControlCharacter::setLanguage): Set reset_lang_ if needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17526 a592a061-630c-0410-9148-cb99ea01b6c8
* src/rowpainter.C
(RowPainter::paintChars): Paint hebrew characters one at a time
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17519 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathScript.C
(isAlphaSymbol): New. Return true if nucleus is a letter or a
symbol whose type is mathord or mathalpha.
(InsetMathScript::dy01): Apply rule 18a accounting for nucleus type.
* src/mathed/MathData.C
(MathArray::metrics): Account for the fact that some fonts (eg.
mathcal) do not have a lower case x glyph.
* src/mathed/InsetMathSymbol.[Ch]
(InsetMathSymbol::isOrdAlpha): New. Return true if type of symbol
is mathord or mathalpha.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17518 a592a061-630c-0410-9148-cb99ea01b6c8
* insetcite: call getEngine()
* bufferparams: move getEngine() here, and let it sense the
provides(natbib)
flag
* ControlBibtex, ControlCitation: correct getEngine() call
* biblio: remove old getEngine()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17505 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathSupport.[Ch]
(mathed_char_kerning): New. Compute right kerning for the given
font and character as the difference between right bearing and
logical width.
* src/mathed/InsetMathScript.[Ch]
(InsetMathScript::dx1, InsetMathScript::metrics): Account for
nucleus right kerning.
(InsetMathScript::nker): New. Return the nucleus right kerning
if positive, zero otherwise.
* src/mathed/MathData.[Ch]
(MathArray::metrics): Cache the nucleus right kerning value.
(MathArray::kerning): New. Return cached right kerning.
* src/mathed/InsetMathChar.[Ch]
(InsetMathChar::metrics): Cache the character right kerning.
(InsetMathChar::kerning): New. Return cached right kerning.
* src/mathed/InsetMath.h
(InsetMath::kerning): New virtual method.
* src/mathed/InsetMathSymbol.[Ch]
(InsetMathSymbol::metrics): Cache the symbol right kerning.
(InsetMathSymbol::kerning): New. Return cached right kerning.
* src/mathed/InsetMathFont.[Ch]
(InsetMathFont::kerning): New. Return cached right kerning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17497 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeX.C
(exists): New helper: test for existance of file with possibly
invalid filename
(insertIfExists): Use exists() instead of fs::native and fs::exists()
(handleFoundFile): Ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17485 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathGrid.[Ch]
(InsetMathGrid::allow_pagebreak_): New member
* src/mathed/InsetMathGrid.C
(InsetMathGrid::eolString): Output \\* if allow_pagebreak_ is false
* src/mathed/MathParser.C
(addRow): Set allow_pagebreak_ in rowinfo if needed
(Parser::parse1): Parse '\\*' correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17484 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathScript.[Ch]
(InsetMathScript::dy01): new, jointly account for both superscript
and subscript according to the rules in Appendix G of the TeXbook.
(InsetMathScript::dy0, InsetMathScript::dy1): set ascent and descent
values using dy01 for non-limits super/subscripts.
(InsetMathScript::metrics): account for the new super/subscript
placement rules when setting ascent and descent values.
* src/mathed/MathData.[Ch]
(MathArray::metrics): cache parameters needed for super/subscript
placement. When nucleus is not empty, set its ascent value to zero
such that it is correctly computed later, otherwise ascent values
less than that of an 'I' are not reported.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17471 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcaption.C
(InsetCaption::latex): Copy back encoding to runparams_in
* src/insets/insetfoot.C
(InsetFoot::latex): ditto
* src/insets/insetnote.C
(InsetNote::latex): ditto
* src/exporter.C
(Exporter::Export): Create runparams with document encoding
* src/converter.C
(bool Converters::convert): ditto
* src/buffer.C
(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
(Buffer::runChktex): Create runparams with document encoding
(Buffer::changeRefsIfUnique): ditto
* src/outputparams.[Ch]
(encoding): New member
* src/lyxfont.C
(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
This is now done in Paragraph::simpleTeXOnePar.
(LyXFont::latexWriteEndChanges): Ditto
* src/output_latex.C
(TeXOnePar): Ditto
* src/paragraph.C
(Paragraph::simpleTeXOnePar): Switch the encoding between font
changes if needed.
* All other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
"Include" was for good reason the default method but not the first item in the dropdown list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17467 a592a061-630c-0410-9148-cb99ea01b6c8
* TocBackend
- addType(), types_, types(): deleted.
* ControlToc
- tocs(): new
- selectedType(): access to selected_type_
- initialiseParams(): transfer code from QToc::update() and look for selected type.
- getTypes(), getContents(): deleted
* QToc: do not maintain current type. Get the info from the View.
- setTocModel(): deleted
* TocWidget: always pass the currently selected type to the model/controller.
- setTocModel(): new slot.
- updateGui(): transfer code to setTocModel().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17455 a592a061-630c-0410-9148-cb99ea01b6c8
(handleFoundFile): Don't strip off " permanently
(handleFoundFile): Fix another case of embedded 0
(LaTeX::deplog): Small simplification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17454 a592a061-630c-0410-9148-cb99ea01b6c8
(handleFoundFile): Don't embed a 0 character in a string
(handleFoundFile): Don't call fs::exists without an fs::native check
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17452 a592a061-630c-0410-9148-cb99ea01b6c8
- consider that paths with spaces might be enclosed in quotation marks
(partial fix for bug 3172).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17451 a592a061-630c-0410-9148-cb99ea01b6c8
steps to reproduce:
- create a new document
- change the document class to article (AMS)
- change the current layout to theorem, definition, proposition, ....
- try to write something -> boom
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17449 a592a061-630c-0410-9148-cb99ea01b6c8
src/support/filetools.C
(makeDisplayPath): do not shorten path when it is the libdir one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17442 a592a061-630c-0410-9148-cb99ea01b6c8
(Paragraph::Pimpl::simpleTeXSpecialChars): Get rid of the 'font'
argument, since the caller ensures that it is equal to 'running_font'.
* src/paragraph.C
(Paragraph::simpleTeXOnePar): Adjust to change above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17437 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeX.C
(insertIfExists): Instead of catching all fs exceptions, test for a
valid filename before constructing a fs::path. This gets rid of the
exceptions because of invalid names, but does still allow other
expcetions to be thrown (e.g. because of file system problems).
(handleFoundFile): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17424 a592a061-630c-0410-9148-cb99ea01b6c8
* src/output_latex.C
(TeXEnvironment): Rename language variables to make it very clear
that they denote the paragraph language, not the character language.
(TeXOnePar): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17422 a592a061-630c-0410-9148-cb99ea01b6c8
- initialiseParams(): overload ControlCommand::initialiseParams() so that we can update the model at this point (QToc is the controller _and_ the model).
- update(): new
- updateBackend(): new protected method to update the TocBackend (called for the "Update" button).
* QToc:
- is now a QObject
- modelReset: new Qt signal to indicate a model reset to associated dialog(s).
- QToc(): avoid the duplicate update() call that will be done in the show command anyway.
* Dialogs.C
- use new TocWidget in a DockView.
* TocWidget.[Ch]: renamed from QTocDialog. This striped down widget is only a widget that connects to the 'QToc' model/controller.
* DockView.h: new template class that encapsulates a given Widget inside a DockWidget and presents a Dialog::View interface.
* QTocUi.ui:
- now is a simple Widget.
- rearrange the buttons a bit
- get rid of the unneeded close button.
- modify the shortcut to "Promote" to 'r' because of a clash with "Alt-p" number (we really need real, always valid, shortcuts for all outline action!)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17416 a592a061-630c-0410-9148-cb99ea01b6c8
- bug correction: don't forget to call updateLabels() to initialize the different backends.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17415 a592a061-630c-0410-9148-cb99ea01b6c8
- update dialogs instead of hiding for dialogs that support that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17414 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.h:
- structureChanged(): new boost signal. I intend to use that also when a text is changed in a section or caption item.
* buffer_funcs.C:
- updateLabels(): emit Buffer::structureChanged() after TocBackend is updated.
- checkBufferStructure(): new method for updating the TocBackend if needed.
* LyXView:
- updateToc(): new slot for Buffer::structureChanged() signal.
* text.C:
- call checkBufferStructure() whenever text is added or erased.
* TocBackend.[Ch]:
- updateItem(): new method to update a specific item (called from checkBufferStructure()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17413 a592a061-630c-0410-9148-cb99ea01b6c8
The problem was that pit is a reference to cur.pit() and was set to lastpit() + 1 before calling recordUndo(cur, ...). thus an invalid cursor position was stored in the undo buffer.
A side effect of the attached patch is that now the cursor keeps staying in the moved section header on undo (which is not the case in current trunk)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17410 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeX.C
(insertIfExists): Catch boost::filesystem exceptions, since they
are not errors in this context
(handleFoundFile): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17405 a592a061-630c-0410-9148-cb99ea01b6c8
(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
support directory, return as a relative path (enclosed in brackets)
* frontends/qt4/GuiView.C (updateTabs): use makeDisplayPath instead
of onlyFileName.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17384 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filename.C
(DocFileName::mangledFilenam): Use a whitelist of allowed characters
instead of an incomplete blacklist of disallowed ones
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17378 a592a061-630c-0410-9148-cb99ea01b6c8
* tabular.C (TeXRow): do not forget to increment the row counter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17376 a592a061-630c-0410-9148-cb99ea01b6c8
Qt 4.2 for Mac menus (no merging is done for qt < 4.2 now).
* src/frontends/qt4/Action.C (Action): initialize menu role to NoRole
for qt >= 4.2.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17373 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
* FontMetrics.h: only one string width() method.
* Painter.h: only one text() method.
* all other files: adapt to above API change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17362 a592a061-630c-0410-9148-cb99ea01b6c8
reference to lyx::utf8ToUcs4.
I did not fix this since it is an interface violation that should be fixed
otherwise.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17358 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
What I did:
* move xx_foo.ext to xx/foo.ext
* update Makefile.am to make install work
* minimally update scons_manifest.py (I'd be surprised to see it
work).
* update i18nLibFileSearch to use the new naming scheme, and keep
temporarily some code that checks the old method.
* update image paths in .lyx files
* update name of files (examples in tutorial, for ex.) in lyx files
What is definitely broken:
* cmake (did not touch it)
* TOC files (I am not sure how the code works)
I would be surprised if nothing else was wrong.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17343 a592a061-630c-0410-9148-cb99ea01b6c8
(makeLatexName): Exclude ", otherwise we would trigger the same
problem of unbalanced quotes as in bug 3266
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17336 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextMetrics.C
(TextMetrics::setHeightOfRow): correctly account for sectioning
environments in order to add the topsep space before them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17335 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.C
(makeLatexName): Don't set the 8th bit of characters to 0.
This is not needed anymore, since we don't use isalpha() anymore,
but a whitelist of allowed characters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17331 a592a061-630c-0410-9148-cb99ea01b6c8
method is never invoked (and tell why)
* src/mathed/InsetMathFormulaMacro.C:
* src/mathed/InsetMathHull.C: plaintext(): fix return value
(= number of output characters)
* src/mathed/InsetMathFormulaMacro.h
* src/mathed/InsetMathHull.h: WS changes
* src/mathed/InsetMathDim.C: implement plaintext() for math macros
and add a FIXME that this code shouldn't needed!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17319 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetBox::validate): Don't require the calc package anymore for
pure minipages (as it was done in 1.3.x)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17312 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/Clipboard.h
(empty): Clarify documentation
* src/frontends/qt4/GuiClipboard.C
(GuiClipboard::empty): Consider also the LyX version, since the text
version is empty if there is only one inset in the clipboard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17297 a592a061-630c-0410-9148-cb99ea01b6c8
(copySelectionToStack): whitespace
(copySelection): Avoid possibly expensive conversion if we are not
debugging
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17295 a592a061-630c-0410-9148-cb99ea01b6c8
Extend this to some other cases by me.
* src/insets/insetert.C
(void InsetERTMailer::string2params): Test for lex.isOK rather than
lex, since the latter is also true if there was nothing to read.
* src/insets/insetvspace.C
(InsetVSpace::read): ditto
(InsetVSpaceMailer::string2params): ditto
* src/insets/insetnote.C
(InsetNoteParams::read): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17284 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxtextclasslist.C
(LyXTextClassList::addTextClass): Use addName rather than manual
path construction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17282 a592a061-630c-0410-9148-cb99ea01b6c8
(setLabel): Only use the name of float and wide insets to set the label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17280 a592a061-630c-0410-9148-cb99ea01b6c8
* insetbase.h: introduce new enum PLAINTEXT_NEWLINE and use
it instead of runparams.linelen for plaintex() return values
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17275 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetoptarg.C: add comment that we do not output anything
for plaintext output INTENTIONALLY
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17244 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/ExternalSupport.C
(doSubstitution): redo the substitution with use_latex_path == false
for the filename argument of $$Contents, since the original
substitution might have been done with use_latex_path == true, and
that can lead to escaped filenames that are only valid for TeX.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17242 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeX.C:
- (deplog): fix and refine parsing of file names.
- (handleFoundFile): handle files with spaces in their
name/path correctly
- (checkLinebreak): new helper function for deplog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17240 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.C
(Encoding::validate): Add the preamble stuff even if c can be encoded
in this encoding, since the inputenc package only maps the code point
c to a command, it does not make this command available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17239 a592a061-630c-0410-9148-cb99ea01b6c8
a paragraph if the previous line exceeds runparams.linelen
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17233 a592a061-630c-0410-9148-cb99ea01b6c8