renaming of the keyboard preferences pane into a input preferences pane.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22718 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView
- showCursor(DocIterator): new DocIterator argument.
- showCursor(): use above method.
- scrollDocView(): take care of top and bottom special cases early in the method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22707 a592a061-630c-0410-9148-cb99ea01b6c8
already set.
* src/Paragraph.cpp (changeCase): make sure to update the selection
as needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22695 a592a061-630c-0410-9148-cb99ea01b6c8
i. It didn't handle a leading "~"
ii. It wrongly handled a string of ../../etc when this took us back to the root directory.
Fix for (i) borrowed from expandPath(). The other is just logic.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22687 a592a061-630c-0410-9148-cb99ea01b6c8
with graphics like the user guide and the introduction text. I guess
this is the intended behaviour. If not (and hence enable should do
something even though the mode does not change), it is a bad design
IMO. Without this patch some assert was triggered because extract()
was called although nothing is embedded.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22676 a592a061-630c-0410-9148-cb99ea01b6c8
The problem was this: The value in BufferView::scrollDocView(int value) is
relative to the d->scrollbarParameters_.min/max interval and _not_ absolute.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22675 a592a061-630c-0410-9148-cb99ea01b6c8
foreground and are hidden when the main window is not
focused. Moreover they are normally "auto applying".
This patch implements this for the character and the paragraph
dialog. These text propertied are implemented in major application like Apple
Pages, OmniGraffle and others via inspectors or toolbars. Our "auto
apply"-mode resembles these very well. So why not activate it and
make LyX a bit more Mac-like.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22673 a592a061-630c-0410-9148-cb99ea01b6c8
* combobox in the preferences dialog to choose the macro editing mode of choice.
The reason for the three choices (inline box, inline without box,
list) is that it seems that there are at least these three groups of
people, and each of them is very strong about their opinion what that
the best mode is. So here there are all of them, pick your favourite.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22670 a592a061-630c-0410-9148-cb99ea01b6c8
* src/output_latex.{cpp,h}:
- (latexParagraphs, TeXEnvironment, TeXOnePar, TeXDeeper): pass Text element
instead of ParagraphList. This is necessary to detect whether we are in the main text.
- check if we are in the main text for language switches, if needed.
* src/Buffer.cpp:
* src/insets/InsetEnvironment.cpp:
* src/insets/InsetText.cpp:
* src/mathed/InsetMathMBox.cpp:
- adapt to new latexParagraphs definition.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22666 a592a061-630c-0410-9148-cb99ea01b6c8
- (paperSizeName): add missing paper sizes. Add an argument to the function
that returns context-sensitive information (depending on the purpose)
- (paperSizeName): Do not hardcode "letter" for default paper size (bug 2098).
- (dvips_options): pass purpose DVIPS to paperSizeName
* src/Converter.cpp:
- (dvipdfm_options): pass purpose DVIPDFM to paperSizeName.
* src/Format.cpp:
- (view): pass purpose XDVI to paperSizeName (fix bug 4432).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22664 a592a061-630c-0410-9148-cb99ea01b6c8
Problem: Before macro redefinitions in a child buffer did not see the
parent original definition because an Buffer::updateMacros() call had
updated the redefinition_ flag to "false" after the parent buffer had
temporarely been set to =0 for latex output of the child.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22656 a592a061-630c-0410-9148-cb99ea01b6c8
macro name when the cursor is inside. The downside of the coin is that
you have to look into the statusbar to see which macro is used. But
some people prefer that than having the slight size change of macros
when the cursor enters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22650 a592a061-630c-0410-9148-cb99ea01b6c8
Test case:
"\newcommand{\foo}[2][a]{(#1,#2)} \foo[A]^1b" should give (a,_)^1b
This is implemented for non-optional parameters for long time for
cases like \foo ab^2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22646 a592a061-630c-0410-9148-cb99ea01b6c8
* LaTeXFeatures.cpp (getPackages): remove some specific spacing code;
move listings support to simplefeatures array.
* src/Spacing.cpp (writeEnvirBegin, writeEnvirEnd): code factorization
(writePreamble): new method containing former code from LaTeXFeatures;
use \setSpacing instead of \setSingleSpacing.
* src/BufferParams.cpp (validate, writeLaTeX): handle spacing here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22644 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferParams.cpp:
- always require hyperref if it's used.
- only call PDFOptions::writeLaTeX if hyperref is required
(and not provided by textclass).
* src/PDFOptions.{cpp,h}:
- (writeLaTeX): remove unneeded hyper_required argument
* src/LaTeXFeatures.cpp:
- special definition for pdflatex ct markup when hyperref is used
(fix bug 4504).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22629 a592a061-630c-0410-9148-cb99ea01b6c8
- fix bug 4496 ("Retry" and "Cancel" buttons were swapped in the error dialog)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22616 a592a061-630c-0410-9148-cb99ea01b6c8
- do a second latex run before bibtex if package clefval requests it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22612 a592a061-630c-0410-9148-cb99ea01b6c8
(No need to backport for 1.5, originated in 'polishing readability' in
http://www.lyx.org/trac/changeset/22519)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22591 a592a061-630c-0410-9148-cb99ea01b6c8
The main change is to support/ForkedCalls.{h,cpp}. We introduce a static variable IAmAChild and a corresponding accessor. This is set to true in a new fork() method, in the branch taken by the child. (Note: fork() is safe cross-platform, as it just returns -1 if we don't have fork().) This ForkedProcess::iAmAChild() method is then used to protect GuiView::message().
As Abdel has pointed out, there may be other such calls to be protected, e.g., the emission of the Buffer::changed() signal. Those are not addressed here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22587 a592a061-630c-0410-9148-cb99ea01b6c8
- do not update dialog when clicking in the main window without buffer change
(bug 4302).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22583 a592a061-630c-0410-9148-cb99ea01b6c8
though in this case the warning was "fixed" before it did its job.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22561 a592a061-630c-0410-9148-cb99ea01b6c8
directing to use memoir's capitalized latex macros.
* src/LaTeXFeatures.cpp (getPackages): act on feature "SetSpace".
* src/output_latex.cpp (TeXOnePar): ditto
* lib/layouts/memoir.layout: provide feature SetSpace, indicating that
memoir provides the setspace functionality, but with a different syntax.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22551 a592a061-630c-0410-9148-cb99ea01b6c8
- load xcolor.sty the same way than color.sty, and only load one of them
(xcolor, if requested, else color).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22548 a592a061-630c-0410-9148-cb99ea01b6c8
because in Qt 4.2 the current item has not been updated yet when
itemSelectionChanged() is emitted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22544 a592a061-630c-0410-9148-cb99ea01b6c8
- the package "pdfcolmk" must be loaded after [x]color.sty
(see package documentation).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22537 a592a061-630c-0410-9148-cb99ea01b6c8
I'd really prefer if people would not add unused code to critical
paths..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22534 a592a061-630c-0410-9148-cb99ea01b6c8
avoidable ~5% overhead when loading the UserGuide. This is an attempt on
rectifying the situation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22532 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/ui/BibtexUi.ui:
- add buttons to move databases up and down.
Patch from Horst Schirmeier (permission: http://marc.info/?l=lyx-devel&m=120009631506298&w=2)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22507 a592a061-630c-0410-9148-cb99ea01b6c8
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.
By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.
So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i) GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.
The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework.
I've also updated the module documenation to accord with this change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
- case ToolTip: don't forget to accept the event!
- Clean up the method in order to extend to other events.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22473 a592a061-630c-0410-9148-cb99ea01b6c8
The logic here is really kind of a mess. If anyone can make it
simpler, I'd be thrilled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22458 a592a061-630c-0410-9148-cb99ea01b6c8
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
The package ifthen needs to be added to LaTeXConfig.lyx. I'll do this when that file can be opened again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22419 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextClass{cpp,h}:
- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
- implement Requires tag for layouts.
- increase layouts format to 6.
* src/Paragraph.cpp:
- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
- add some packages needed by modules.
- remove Preamble method for InsetLayout. This is now done
in InsetFlex::validate.
* src/BufferParams.cpp (validate):
- request required features for the class.
* src/insets/InsetLayout.h:
- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
- implement validate method and request required features and preamble snippets.
* lib/layouts/*.{layout,module,inc}:
- increase layouts format to 6.
- use Requires tags in some modules (more can be done later).
* lib/doc/Customization.lyx:
- document Requires tag.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/InsetExternal.cpp: fix compiling. (Does not work yet)
* src/insets/InsetGraphics.cpp: use latexFilename to produce output.
* src/insets/InsetGraphicsParams.cpp: use availableFile to show preview.
* src/EmbeddedFiles.h|cpp: More things are moved from EmbeddedFiles to EmbeddedFile
* src/frontends/qt4/GuiGraphics.cpp: remove embeddable-related operations.
* src/support/FileName.h: make isReadableFile virtual
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22410 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMathHull.cpp (getStatus): disable LFUN_MATH_NUMBER and LFUN_MATH_NONUMBER
when the equation is not in display mode; add a checkbox as needed.
(doDispatch): no need to test for dispatch() anymore.
* InsetMathNest.cpp (getStatus): LFUN_MATH_NUMBER and LFUN_MATH_NONUMBER are not
handled by this class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22350 a592a061-630c-0410-9148-cb99ea01b6c8
and correctly match strings in order to coalesce translations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22337 a592a061-630c-0410-9148-cb99ea01b6c8