Commit Graph

437 Commits

Author SHA1 Message Date
Richard Heck
5531b40c9b Simplify code a bit.
(cherry picked from commit 490506c45f)
2018-03-02 23:12:35 -05:00
Richard Heck
cec9edd34b Use pythonic syntax, as suggested by José. 2018-03-02 23:02:46 -05:00
Uwe Stöhr
64d1751f2f configure.py: fix bug #11053
- add quotes around the path to the python executable
2018-03-02 20:14:58 +01:00
Juergen Spitzmueller
dee1994451 Add LyX 2.3 format 2018-02-23 08:59:20 +01:00
Günter Milde
8caa9701b9 Use re.match to find regexp at begin of string/line.
Consistently use the re.match() or the match() method of a
regexp object to find a match at the begin of a line.
This is faster than re.find('^...').

Cf. https://stackoverflow.com/questions/180986/what-is-the-difference-between-re-search-and-re-match
(The subtle difference for multi-line strings is irrelevant for
configure.py, as we match line-wise.)
2018-02-04 10:08:07 +01:00
Richard Heck
16a6a98182 Harden a few of the other regexes, too.
I've tested this and get no difference of output.
2018-02-01 22:14:51 -05:00
Richard Heck
50676c782a Make module and citeengine regexes a little more discerning. 2018-02-01 22:11:45 -05:00
Richard Heck
0e3d209295 Double escape binary regexes in module and citeengine searches.
See previous commit for explanation.
2018-02-01 22:11:45 -05:00
Richard Heck
6b5a7116cd Double escape binary regex in lyx2lyx and fix line-ending problem.
When we switched from r'...' to b'...', this required strings used
as input to re.compile to be double-escaped. It's not an issue with
"\s", because "\s" has no special meaning in a string.

Also, printing in binary mode did not output a line ending.
2018-02-01 22:11:45 -05:00
Juergen Spitzmueller
65b44311f3 Split inkscape_cl (command line) from inkscape_gui (GUI program)
On Windows, these are two different binaries, and one fails to do the
tasks of the other. On all other OSes, the two are the same.

Fixes: #10805
2017-11-27 18:59:51 +01:00
Juergen Spitzmueller
731c9fb401 configure.py: read layout and module files in binary mode
This prevents encoding issues with Python3 that manifested for a user
on the Mac.

Fixes: #10671
2017-11-04 10:41:22 +01:00
Juergen Spitzmueller
891a7ef79f Collapsable -> Collapsible (part 5)
Preferences update and prefs2prefs routine.

This was forgotten in the process.
2017-11-02 16:26:45 +01:00
Juergen Spitzmueller
a47bc7f799 Remove wmf2eps as EMF > EPS converter
The program can only deal with WMF.
2017-10-29 16:09:12 +01:00
Juergen Spitzmueller
22125fa6de Only use full path for inkscape file arguments on Mac. 2017-10-29 08:52:15 +01:00
Juergen Spitzmueller
5383b67f8d configure.py: Be more explicit why file could not be removed. 2017-10-28 11:24:48 +02:00
Richard Heck
a089501b7d Use a variable to hold the list of text editors. 2017-10-27 23:19:32 -04:00
Scott Kostyshak
c4b4305fa2 configure.py: add LilyPond editor, Frescobaldi
Generic text editors are used as fallbacks, in case Frescobaldi is
not available. The list of text editors is the same as elsewhere in
configure.py. We might consider centralizing the list of text
editors in a variable.

Patch from Helge Hafting on ML at:.

https://www.mail-archive.com/search?l=mid&q=f167276f-4f59-7bab-a832-cff56dddd670%40ntnu.no
2017-10-27 02:20:23 -04:00
Stephan Witt
350ef993e5 add inkscape wrapper script for Mac OS
The wrapper script is placed in the binary directory of the LyX bundle.
It tries to find the real inkscape command line converter in the
Inkscape.app bundle and starts it or reports an error.
The configure.py is changed for Mac OS to check the presence of
the real inkscape binary in the Inkscape.app bundle.
2017-09-24 11:55:20 +02:00
Juergen Spitzmueller
6dd66a15a5 configure.py: update lyxrc file format. 2017-09-10 17:19:12 +02:00
Jean-Marc Lasgouttes
3d590d3bd7 Merge remote-tracking branch 'features/properpaint'
Now painting the workarea is done at paint events as should be.
Explicit painting after updating metrics has been replaced by a much
lighter procedure (updatePosCache) to update the insets positions cache.

Expected benefits:
- better performance
- proper use of subpixel aliasing

The LyXRC variable use_qimage is not needed anymore and is therefore removed.
2017-09-08 17:05:13 +02:00
Jean-Marc Lasgouttes
4f4383cac5 remove LyXRC::use_qimage
This is not needed anymore now that we do not need a backup pixmap.

Update LyXRC format to 23 and add conversion.
2017-09-08 16:58:21 +02:00
Juergen Spitzmueller
a3eab36364 Add special chain for Modules with OutputFormat for pLaTeX (Japanese)
Fixes: #8823
2017-09-01 10:27:12 +02:00
Juergen Spitzmueller
933a7dee00 Improve the svg2*tex.py scripts.
The inkscape command was hardcoded, but it seems that we need the full
patch on Windows. Therefore we check in configure.py if inkscape is
installed and pass the proper name (and possibly path) to the scripts.

Should address problems mentioned in #10679
2017-08-28 08:05:29 +02:00
Enrico Forestieri
ae56167718 Use a combo box instead of a check box for selecting the listings package 2017-06-12 17:24:26 +02:00
Stephan Witt
c592fb58bb #10285 and #10542 - Add sips as a fallback converter for Mac to provide preview of PDF graphics in LyX when pdftops is not installed 2017-05-13 20:06:18 +02:00
Tommaso Cucinotta
47cd1e23c5 libreoffice converter: get rid of warnings about deprecated options syntax 2017-05-10 03:26:36 +02:00
Tommaso Cucinotta
b474aa5d4d Add needauth option to gnuplot->PDF converter introduced in [066edd3c/lyxgit]. 2017-05-04 00:49:18 +02:00
Tommaso Cucinotta
066edd3c30 Enable graphics generation from external gnuplot scripts. 2017-05-04 00:44:00 +02:00
Enrico Forestieri
8f70d55148 configure.py: Python 3 compatibility
Don't assume any encoding for the layout files and treat them in
the same way python 2 does. Thanks José for the idea.

This commit supersedes 50e21b71 and e19b2a71.
2017-04-13 15:34:54 +02:00
Jean-Marc Lasgouttes
e19b2a717e Set encoding correctly when reading layout files
Patch from Enrico.
2017-04-10 15:06:14 +02:00
Uwe Stöhr
50e21b7166 configure.py: add support for Python 3 on Windows
fixes the last missing part of bug #9006 (hopefully)
2017-04-04 22:35:49 +02:00
José Matos
dc7ac99d18 Get the file system encoding from sys instead of the locale 2017-03-29 14:24:34 +01:00
Juergen Spitzmueller
52019917f4 Split external_templates to individual *.xtemplate files
This makes it easier to add new templates or change existing ones
in the user directory.

Fixes: #3983

The CMake changes should be double-checked.
2017-03-26 15:32:01 +02:00
Günter Milde
fd14b6f5a3 Document changes to configure.py. 2017-01-14 22:44:46 +01:00
Juergen Spitzmueller
34943a4e5f Make Japanese Biblatex-aware
Biblatex can be used with Japanese, but then, biber (not pbibtex) should
be used as processor.

I this context, bring the jbibtex UI in line with bibtex, allowing for
a selection of alternatives.
2017-01-14 12:13:33 +01:00
Juergen Spitzmueller
90e2004fde Merge branch 'master' into biblatex2 2017-01-12 16:13:13 +01:00
Günter Milde
bd3e6033db configure.py: Add raster image viewers
Add common raster image viewing applications:

gwenview: KDE image viewer,
eog: Eye of Gnome, the Gnome default viewer, 
xviewer:  Eye of Gnome successor for MATE and Cinnamon, 
ristretto:  XFCE image viewer,  
gpicview: LXDE image viewer, 
lximage-qt: QXDE image viewer,

xdg-open:    generic file handler
     
The problem with xdg-open is, that it calls the browser (firefox) as fallback. This is not good for DVI and PDF, but still better than an editor (Gimp) for raster images.

Kee Gimp as last option for viewing, and default choice for editing.
2017-01-12 16:08:03 +01:00
Günter Milde
8e65250110 configure.py: Make 'notepad' last in text editor list
Place "notepad" at the end of the text editor selection list.

* Under Linux, notepad comes with the Windows emulator "wine" 
but it is not a good choice for the default text editor.
 * Most Windows users will not have the Linux programs 
and not see any change.
* Windows users with the Windows version of "geany" 
will see this (syntax highlighting) editor preferred over notepad by default.
2017-01-12 16:08:03 +01:00
Günter Milde
95085724ec configure.py: Add 'xed' editor (gedit fork)
'xed' is the 'gedit/plume' successor by Linux-Mint.
It inherits gedit's functionaly and adds a traditional UI matching the
XFCE, MATE and Cinnamon desktop environments.
See: https://de.wikipedia.org/wiki/X-Apps
2017-01-12 16:08:03 +01:00
Günter Milde
bcf8a40a10 configure.py: Add 'xreader' document viewer (evince fork)
'xreader' is the successor of 'evince' by Linux-Mint.
It inherits evince's functionaly and adds a traditional UI
matching the XFCE, MATE and Cinnamon desktop environments.
See: https://de.wikipedia.org/wiki/X-Apps
2017-01-12 16:08:03 +01:00
Günter Milde
4d391443f5 configure.py: Add 'evince' as DVI viewer
The GNOME document viewer "evince" supports also DVI.
See https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats/
2017-01-12 16:08:03 +01:00
Juergen Spitzmueller
74f774d6cf Merge branch 'master' into biblatex2 2017-01-11 10:45:48 +01:00
Günter Milde
1b752275b0 Python formatting (no change to function).
* remove trailing whitespace,
* remove/replace NL-escaping backslashs,
* wrap long lines.
2017-01-11 10:43:38 +01:00
Juergen Spitzmueller
a04a2f9a8a Remove Requires and Excludes from CiteEngines
These are exclusive anyway.
2017-01-09 09:04:37 +01:00
Juergen Spitzmueller
dc9efe3d47 Add a CiteFramework tag
This is to distinguish the biblatex and bibtex paradigms
2017-01-01 08:07:04 +01:00
Juergen Spitzmueller
ff93aea509 Rework default bibliography style UI
* Use a combo with all available styles
* Correctly reset default on engine change
* Consider that EngineTypes might have different defaults
2017-01-01 08:07:03 +01:00
Juergen Spitzmueller
97aea7e5b1 Disentangle CiteEngines and Modules
These two are different beasts and thus should be handled differently.
2017-01-01 07:56:24 +01:00
Tommaso Cucinotta
cc653feb60 Bump up RC fileformat after [244de5d2/lyxgit] for the new 'needauth' options.
Addressing #10481.
2016-11-25 23:33:08 +01:00
Tommaso Cucinotta
244de5d2c1 Add 'needauth' option to converters that need explicit user authorization.
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.
2016-11-22 23:54:58 +01:00
Martin Vermeer
10c88aa58f Initial commit of Inkscape SVG LaTeX + PDF support
Based on Daniel Groger's work of five years ago, with minor changes

http://www.mail-archive.com/lyx-devel%40lists.lyx.org/msg169820.html

This extends the support for Xfig LaTeX + PDF to a more modern and
actively developed vector graphics editor. Embedded Objects manual
updated, also to include a workaround for an Inkscape 0.91 bug.
2016-10-04 00:01:18 +02:00