Addressing #10481.
This patch adds the new 'needauth' option for converters launching
external programs that are capable of running arbitrary code on behalf
of the user. These converters won't be run unless the user gives explicit
authorization, which is asked on-demand when the converter is about to
be run (question is not asked if the file is cached and calling the
converter is not needed).
The user prompt has a 3rd button so that he/she's not prompted again
for (any converter over) the same document (identified through
buffer->absFileName()).
Two preference options are added:
lyxrc.use_converter_needauth_forbidden disables any converter with
the 'needauth' option, which is meant to force user to an explicit
action via the preferences pane, before being able to use advanced
converters that can potentially bring security threats;
lyxrc.use_converter_needauth enables prompting the user for 'needauth'
converters, or bypasses the check if not enabled, falling back to the
previous behavior.
So, the first option is for maximum security, the second is for
maximum usability.
Ask the user for removing bindings when using the "restore" button (#9174).
Fix the already-bound-key detection logic.
Don't forget to trigger the search when initializing the search LineEdit with
its former value.
removeShortcut() restores default settings, therefore was used incorrectly. I
introduce deactivateShortcuts() which only removes assignments.
Clean up a bit the lack of view / model distinction (getting rid of the crashing
code at the same time).
Repair inconsistency of the selection in the "modify" case. (regression at
717d19d3c)
Make the test for existing bindings a bit more robust. (Not perfect yet.)
Focus on the item that has just been added/modified. (cosmetic)
Previews are now generated when previews are turned on in
preferences. This change ensures that when users activate previews
for the first time, they are not confused by no previews showing up
(a restart of LyX or a triggering of each individual preview would
be required).
There was a previously attempted fix for #9507 at 390ae054 which was
reverted at 358745d0 for performance reasons: it updated previews
after every preference change and updating previews is costly (even
if the cache signals there are no changes needed).
This implementation is consistent with what we do for updating the
system fonts in preferences.
This patch fixes a series of warnings like:
{{{
In file included from ../../master/src/mathed/InsetMathBoldSymbol.cpp:13:
In file included from ../../master/src/mathed/InsetMathBoldSymbol.h:15:
../../master/src/mathed/InsetMathNest.h:37:7: warning: 'lyx::InsetMathNest::metrics' hides overloaded virtual function [-Woverloaded-virtual]
void metrics(MetricsInfo const & mi) const;
^
../../master/src/insets/Inset.h:186:15: note: hidden overloaded virtual function 'lyx::Inset::metrics' declared here: different number of parameters
(2 vs 1)
virtual void metrics(MetricsInfo & mi, Dimension & dim) const = 0;
^
}}}
For a description of the problem, see for example:
http://stackoverflow.com/questions/18515183/c-overloaded-virtual-function-warning-by-clang
3 different strategies have been used:
* in frontend, some functions have been renamed.
* in InsetMath.h, Inset::write has been explicitly imported too
* in InsetMathNest.h, since a comment said that hiding Inset::metrics is intended, a special trick has bee used to silence the warning.
This is mostly unused private class members.
There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
Additionnal extensions are separated by commas (,) in lyxrc
preference files, while spaces are ignored, e.g. "jpg, jpeg".
Preference lyxrc file format incremented to 2.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39670 a592a061-630c-0410-9148-cb99ea01b6c8
- update screen font sizes in dialog after prefs change, since the localization of float values might have changed.
(fixes bug 6771).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37035 a592a061-630c-0410-9148-cb99ea01b6c8
- rename \language_package to \language_custom_package
- the bool \language_use_babel is replaced by a more fine-grained selection:
* chose language package automatically (later: babel or polyglossia)
* always use babel (also with XeTeX)
* custom (i.e. use \language_custom_package)
* none (equivalent to former \language_use_babel false)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36407 a592a061-630c-0410-9148-cb99ea01b6c8
ColorCache:
* method isSystem() allows to know whether a color can be overridden by system colors
* method get() has a variant that accepts a bool (system color or not)
* code simplifications
GuiPrefs:
* hide colors set from the system when they are inherited
* syncronize list of colors and checkbox
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35101 a592a061-630c-0410-9148-cb99ea01b6c8
rather than a vector. This helps deal with problems involving multiple
specifications of a single command. (Even after the previous commit,
we were still getting duplicates in the UI after every alteration of
the preferences.) It's also more natural, anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31654 a592a061-630c-0410-9148-cb99ea01b6c8
- implement an UI to specify the size of InstantPreview images
- change the default size to 1.0 because we've got many complaints that the former default size of 0.9 was too low
Both changes fix#6176.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31425 a592a061-630c-0410-9148-cb99ea01b6c8
There are two new rc preference:
* spellchecker: can now be "aspell" or "hunspell", this is selectable in the SpellChecker preference dialog
* hunspelldir_path: needed for hunspell dictionaries which are defined to be in a fixed location. This can be modified in the path preference dialog.
The SpellChecker classes could be instanciated on the fly whenerver they are needed if we want that.
Please test and help me finish this hunspell integration...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30927 a592a061-630c-0410-9148-cb99ea01b6c8
- add new method that records all available alternative programs
as opposed to only the first found one.
* LyXRC[cpp,h}:
* LyXFunc.cpp:
- new RCs \bibtex_alternatives and \index_alternatives, holding
alternative processors.
* GuiPrefs.{cpp, h}:
* PrefLatexUi.ui:
- UI to select from a list of preconfigures bibliography/index processors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29568 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os*.{cpp,h}:
- new function is_valid_strftime that validates strftime arguments,
OS dependant (win32 differs here)
* src/Text3.cpp:
- use is_valid_strftime in LFUN_DATE_INSERT status check.
* src/frontends/qt4/GuiPrefs.{cpp, h}:
- new GUI validator for strftime.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28932 a592a061-630c-0410-9148-cb99ea01b6c8
RegExp experts please have a look at the FIXMEs in GuiThesaurus.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27572 a592a061-630c-0410-9148-cb99ea01b6c8
- modifying a shortcut removes the previous one
(if it's not a system shortcut)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25789 a592a061-630c-0410-9148-cb99ea01b6c8
- add ability to remove a Key from the sequence
- add ability to modify a sequence without retyping it from scratch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25783 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/CustomizedWidgets{cpp,h}:
- rename ShortcutLineEdit to ShortcutWidget and build it on
top of QLabel instead of QLineEdit
* src/frontends/qt4/GuiPrefs.{cpp,h}:
* src/frontends/qt4/ui/ShortcutUi.ui:
- improve shortcut editing
- rename shortcutLE to shortcutWG
- add/improve tooltips
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25770 a592a061-630c-0410-9148-cb99ea01b6c8