mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-25 05:55:34 +00:00
Georg's add an editor to Formats / safe external_templates patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8645 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
b447408de2
commit
da61af2b8e
@ -1,3 +1,9 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* configure.m4: merge \viewer and \format. Add editor to \format
|
||||
* configure.m4: check for more viewers and editors
|
||||
* external_templates: remove EditCommand
|
||||
|
||||
2004-04-06 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* external_templates: use some new variables instead of $$Basename
|
||||
|
179
lib/configure.m4
179
lib/configure.m4
@ -237,6 +237,20 @@ fi
|
||||
test $latex_to_dvi != "none" && latex_to_dvi="$latex_to_dvi \$\$i"
|
||||
test $latex_to_pdf != "none" && latex_to_pdf="$latex_to_pdf \$\$i"
|
||||
|
||||
SEARCH_PROG([for a TGIF viewer and editor], TGIF_EDITOR, tgif)
|
||||
TGIF_VIEWER="$TGIF_EDITOR"
|
||||
|
||||
SEARCH_PROG([for a FIG viewer and editor], FIG_EDITOR, xfig)
|
||||
FIG_VIEWER="$FIG_EDITOR"
|
||||
|
||||
SEARCH_PROG([for a FEN viewer and editor], FEN_EDITOR, xboard)
|
||||
test "$FEN" = "xboard" && FEN_EDITOR="xboard -lpf \$\$i -mode EditPosition"
|
||||
FEN_VIEWER="$FEN_EDITOR"
|
||||
|
||||
SEARCH_PROG([for a raster image viewer], RASTERIMAGE_VIEWER, xv kview gimp)
|
||||
|
||||
SEARCH_PROG([for a raster image editor], RASTERIMAGE_EDITOR, gimp)
|
||||
|
||||
# Search for an installed reLyX or a ready-to-install one
|
||||
save_PATH=${PATH}
|
||||
PATH=${PATH}:./reLyX/
|
||||
@ -492,113 +506,102 @@ cat >$outfile <<EOF
|
||||
# want to customize LyX, make a copy of the file LYXDIR/lyxrc as
|
||||
# ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
|
||||
# override the values given here.
|
||||
\\Format asciichess asc "ASCII (chess output)" ""
|
||||
\\Format asciiimage asc "ASCII (image)" ""
|
||||
\\Format asciixfig asc "ASCII (xfig output)" ""
|
||||
\\Format agr agr GRACE ""
|
||||
\\Format bmp bmp BMP ""
|
||||
\\Format date "" "date command" ""
|
||||
\\Format dateout "tmp" "date (output)" ""
|
||||
\\Format docbook sgml DocBook B
|
||||
\\Format dvi dvi DVI D
|
||||
\\Format eps eps EPS ""
|
||||
\\Format fax "" Fax ""
|
||||
\\Format fen fen FEN ""
|
||||
\\Format fig fig XFig ""
|
||||
\\Format gif gif GIF ""
|
||||
\\Format html html HTML H
|
||||
\\Format jpg jpg JPG ""
|
||||
\\Format latex tex LaTeX L
|
||||
\\Format linuxdoc sgml LinuxDoc x
|
||||
\\Format lyx lyx LyX ""
|
||||
\\Format lyxpreview lyxpreview "LyX Preview" ""
|
||||
\\Format literate nw NoWeb N
|
||||
\\Format pbm pbm PBM ""
|
||||
\\Format pdf pdf "PDF (ps2pdf)" P
|
||||
\\Format pdf2 pdf "PDF (pdflatex)" F
|
||||
\\Format pdf3 pdf "PDF (dvipdfm)" m
|
||||
\\Format pdftex pdftex_t PDFTEX ""
|
||||
\\Format pgm pgm PGM ""
|
||||
\\Format png png PNG ""
|
||||
\\Format ppm ppm PPM ""
|
||||
\\Format program "" Program ""
|
||||
\\Format ps ps Postscript t
|
||||
\\Format pstex pstex_t PSTEX ""
|
||||
\\Format text txt ASCII A
|
||||
\\Format textparagraph txt ASCII(paragraphs) ""
|
||||
\\Format tgif obj TGIF ""
|
||||
\\Format tiff tif TIFF ""
|
||||
\\Format word doc Word W
|
||||
\\Format xbm xbm XBM ""
|
||||
\\Format xpm xpm XPM ""
|
||||
\\Format asciichess asc "ASCII (chess output)" "" "" ""
|
||||
\\Format asciiimage asc "ASCII (image)" "" "" ""
|
||||
\\Format asciixfig asc "ASCII (xfig output)" "" "" ""
|
||||
\\Format agr agr GRACE "" "" ""
|
||||
\\Format bmp bmp BMP "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format date "" "date command" "" "" ""
|
||||
\\Format dateout tmp "date (output)" "" "" ""
|
||||
\\Format docbook sgml DocBook B "" ""
|
||||
\\Format dvi dvi DVI D "$DVI_VIEWER" ""
|
||||
\\Format eps eps EPS "" "$EPS_VIEWER" ""
|
||||
\\Format fax "" Fax "" "" ""
|
||||
\\Format fen fen FEN "" "$FEN_VIEWER" "$FEN_EDITOR"
|
||||
\\Format fig fig XFig "" "$FIG_VIEWER" "$FIG_EDITOR"
|
||||
\\Format gif gif GIF "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format html html HTML H "$HTML_VIEWER" ""
|
||||
\\Format jpg jpg JPG "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format latex tex LaTeX L "" ""
|
||||
\\Format linuxdoc sgml LinuxDoc x "" ""
|
||||
\\Format lyx lyx LyX "" "" ""
|
||||
\\Format lyxpreview lyxpreview "LyX Preview" "" "" ""
|
||||
\\Format literate nw NoWeb N "" ""
|
||||
\\Format pbm pbm PBM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format pdf pdf "PDF (ps2pdf)" P "$PDF_VIEWER" ""
|
||||
\\Format pdf2 pdf "PDF (pdflatex)" F "$PDF_VIEWER" ""
|
||||
\\Format pdf3 pdf "PDF (dvipdfm)" m "$PDF_VIEWER" ""
|
||||
\\Format pdftex pdftex_t PDFTEX "" "" ""
|
||||
\\Format pgm pgm PGM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format png png PNG "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format ppm ppm PPM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format program "" Program "" "" ""
|
||||
\\Format ps ps Postscript t "$PS_VIEWER" ""
|
||||
\\Format pstex pstex_t PSTEX "" "" ""
|
||||
\\Format text txt ASCII A "" ""
|
||||
\\Format textparagraph txt "ASCII (paragraphs)" "" "" ""
|
||||
\\Format tgif obj TGIF "" "$TGIF_VIEWER" "$TGIF_EDITOR"
|
||||
\\Format tiff tif TIFF "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format word doc Word W "" ""
|
||||
\\Format xbm xbm XBM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
\\Format xpm xpm XPM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
|
||||
|
||||
\\converter date dateout "date +%d-%m-%Y > \$\$o" ""
|
||||
\\converter docbook dvi "$docbook_to_dvi_command" ""
|
||||
\\converter docbook html "$docbook_to_html_command" ""
|
||||
\\converter dvi pdf3 "$dvi_to_pdf_command" ""
|
||||
\\converter dvi ps "$dvi_to_ps_command" ""
|
||||
\\converter fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
|
||||
\\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
|
||||
\\converter fig pstex "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
|
||||
\\converter html latex "$html_to_latex_command" ""
|
||||
\\converter latex html "$latex_to_html_command" "originaldir,needaux"
|
||||
\\converter latex dvi "$latex_to_dvi" "latex"
|
||||
\\converter latex lyx "$tex_to_lyx_command" ""
|
||||
\\converter latex pdf2 "$latex_to_pdf" "latex"
|
||||
\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
|
||||
\\converter linuxdoc html "$linuxdoc_to_html_command" ""
|
||||
\\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
|
||||
\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
|
||||
\\converter literate latex "$literate_to_tex_command" ""
|
||||
\\converter literate lyx "$literate_to_lyx_command" ""
|
||||
\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
|
||||
\\converter ps fax "$fax_command" ""
|
||||
\\converter ps pdf "$ps_to_pdf_command" ""
|
||||
\\converter word latex "$word_to_latex_command" ""
|
||||
|
||||
\\viewer dvi "$DVI_VIEWER"
|
||||
\\viewer html "$HTML_VIEWER"
|
||||
\\viewer pdf "$PDF_VIEWER"
|
||||
\\viewer pdf2 "$PDF_VIEWER"
|
||||
\\viewer pdf3 "$PDF_VIEWER"
|
||||
\\viewer ps "$PS_VIEWER"
|
||||
\\viewer eps "$EPS_VIEWER"
|
||||
|
||||
$rc_entries
|
||||
\\font_encoding "$chk_fontenc"
|
||||
\\converter date dateout "date +%d-%m-%Y > \$\$o" ""
|
||||
\\converter docbook dvi "$docbook_to_dvi_command" ""
|
||||
\\converter docbook html "$docbook_to_html_command" ""
|
||||
\\converter dvi pdf3 "$dvi_to_pdf_command" ""
|
||||
\\converter dvi ps "$dvi_to_ps_command" ""
|
||||
\\converter fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
|
||||
\\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
|
||||
\\converter fig pstex "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
|
||||
\\converter html latex "$html_to_latex_command" ""
|
||||
\\converter latex html "$latex_to_html_command" "originaldir,needaux"
|
||||
\\converter latex dvi "$latex_to_dvi" "latex"
|
||||
\\converter latex lyx "$tex_to_lyx_command" ""
|
||||
\\converter latex pdf2 "$latex_to_pdf" "latex"
|
||||
\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
|
||||
\\converter linuxdoc html "$linuxdoc_to_html_command" ""
|
||||
\\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
|
||||
\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
|
||||
\\converter literate latex "$literate_to_tex_command" ""
|
||||
\\converter literate lyx "$literate_to_lyx_command" ""
|
||||
\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
|
||||
\\converter ps fax "$fax_command" ""
|
||||
\\converter ps pdf "$ps_to_pdf_command" ""
|
||||
\\converter word latex "$word_to_latex_command" ""
|
||||
EOF
|
||||
|
||||
### the graphic converter part with the predefined ones
|
||||
#### Search for tne nonstandard converting progs
|
||||
#### Search for the nonstandard converting progs
|
||||
#
|
||||
SEARCH_PROG([for an FIG -> EPS/PPM converter], FIG2DEV, fig2dev)
|
||||
if test "$FIG2DEV" = "fig2dev"; then
|
||||
cat >>$outfile <<EOF
|
||||
\\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
|
||||
\\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
|
||||
\\converter fig png "fig2dev -L png \$\$i \$\$o" ""
|
||||
\\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
|
||||
\\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
|
||||
\\converter fig png "fig2dev -L png \$\$i \$\$o" ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
SEARCH_PROG([for an TIFF -> PS converter], TIFF2PS, tiff2ps)
|
||||
if test "$TIFF2PS" = "tiff2ps"; then
|
||||
cat >>$outfile <<EOF
|
||||
\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
|
||||
\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
SEARCH_PROG([for an TGIF -> EPS/PPM converter], TGIF, tgif)
|
||||
if test "$TGIF" = "tgif"; then
|
||||
cat >>$outfile <<EOF
|
||||
\\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" ""
|
||||
\\converter tgif png "tgif -stdout -print -color -xpm \$\$i | xpmtoppm | pnmtopng > \$\$o" ""
|
||||
\\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" ""
|
||||
\\converter tgif pdf "tgif -stdout -print -color -pdf \$\$i > \$\$o" ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf)
|
||||
if test "$EPSTOPDF" = "epstopdf"; then
|
||||
cat >>$outfile <<EOF
|
||||
\\converter eps pdf "epstopdf --outfile=\$\$o \$\$i" ""
|
||||
\\converter eps pdf "epstopdf --outfile=\$\$o \$\$i" ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
@ -606,13 +609,19 @@ fi
|
||||
SEARCH_PROG([for a Grace -> Image converter], GRACE, gracebat)
|
||||
if test "$GRACE" = "gracebat"; then
|
||||
cat >>$outfile <<EOF
|
||||
\\converter agr eps "gracebat -hardcopy -printfile \$\$o -hdevice EPS \$\$i 2>/dev/null" ""
|
||||
\\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" ""
|
||||
\\converter agr jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" ""
|
||||
\\converter agr ppm "gracebat -hardcopy -printfile \$\$o -hdevice PNM \$\$i 2>/dev/null" ""
|
||||
\\converter agr eps "gracebat -hardcopy -printfile \$\$o -hdevice EPS \$\$i 2>/dev/null" ""
|
||||
\\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" ""
|
||||
\\converter agr jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" ""
|
||||
\\converter agr ppm "gracebat -hardcopy -printfile \$\$o -hdevice PNM \$\$i 2>/dev/null" ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat >>$outfile <<EOF
|
||||
|
||||
$rc_entries
|
||||
\\font_encoding "$chk_fontenc"
|
||||
EOF
|
||||
|
||||
######## X FONTS
|
||||
# create a fonts.dir file to make X fonts available to LyX
|
||||
echo "checking for TeX fonts"
|
||||
|
@ -38,11 +38,9 @@ Template RasterImage
|
||||
GuiName "Bitmap: $$AbsOrRelPathParent$$Basename"
|
||||
HelpText
|
||||
A bitmap file.
|
||||
This template uses Gimp for editing.
|
||||
HelpTextEnd
|
||||
InputFormat "*"
|
||||
FileFilter "*.{gif,png,jpg,bmp,pbm,ppm,tga,tif,xpm,xbm}"
|
||||
EditCommand "gimp $$Absname"
|
||||
AutomaticProduction true
|
||||
Transform Rotate
|
||||
Transform Resize
|
||||
@ -90,11 +88,9 @@ Template XFig
|
||||
GuiName "XFig: $$AbsOrRelPathParent$$Basename"
|
||||
HelpText
|
||||
An XFig figure.
|
||||
This template uses XFig for editing.
|
||||
HelpTextEnd
|
||||
InputFormat fig
|
||||
FileFilter "*.fig"
|
||||
EditCommand "xfig $$Absname"
|
||||
AutomaticProduction true
|
||||
Transform Rotate
|
||||
Transform Resize
|
||||
@ -157,7 +153,6 @@ Template ChessDiagram
|
||||
HelpTextEnd
|
||||
InputFormat fen
|
||||
FileFilter "*.fen"
|
||||
EditCommand "xboard -lpf $$Absname -mode EditPosition"
|
||||
AutomaticProduction true
|
||||
Format LaTeX
|
||||
Product "\\loadgame{$$AbsOrRelPathMaster$$Basename}\\showboard"
|
||||
|
@ -1,3 +1,8 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* format.[Ch]: add editor to Format
|
||||
* lyxrc.[Ch]: merge RC_FORMAT and RC_VIEWER. Add editor to Format
|
||||
* LyXAction.C, lfuns.h, lyxfunc.C: add lfun LFUN_GRAPHICS_EDIT
|
||||
|
||||
2004-04-08 André Pönitz <poenitz@gmx.net>
|
||||
|
||||
|
@ -325,6 +325,7 @@ void LyXAction::init()
|
||||
{ LFUN_PARAGRAPH_APPLY, "paragraph-params-apply", Noop },
|
||||
{ LFUN_PARAGRAPH_UPDATE, "", Noop },
|
||||
{ LFUN_EXTERNAL_EDIT, "external-edit", Noop },
|
||||
{ LFUN_GRAPHICS_EDIT, "graphics-edit", Noop },
|
||||
{ LFUN_REPEAT, "repeat", NoBuffer },
|
||||
{ LFUN_WORD_FIND, "word-find", Noop },
|
||||
{ LFUN_WORD_REPLACE, "word-replace", Noop },
|
||||
|
69
src/format.C
69
src/format.C
@ -27,6 +27,7 @@
|
||||
using lyx::support::bformat;
|
||||
using lyx::support::compare_ascii_no_case;
|
||||
using lyx::support::contains;
|
||||
using lyx::support::MakeDisplayPath;
|
||||
using lyx::support::OnlyFilename;
|
||||
using lyx::support::OnlyPath;
|
||||
using lyx::support::Path;
|
||||
@ -70,8 +71,8 @@ bool operator<(Format const & a, Format const & b)
|
||||
}
|
||||
|
||||
Format::Format(string const & n, string const & e, string const & p,
|
||||
string const & s, string const & v)
|
||||
: name_(n), extension_(e), prettyname_(p),shortcut_(s), viewer_(v)
|
||||
string const & s, string const & v, string const & ed)
|
||||
: name_(n), extension_(e), prettyname_(p), shortcut_(s), viewer_(v), editor_(ed)
|
||||
{}
|
||||
|
||||
|
||||
@ -124,23 +125,22 @@ int Formats::getNumber(string const & name) const
|
||||
void Formats::add(string const & name)
|
||||
{
|
||||
if (!getFormat(name))
|
||||
add(name, name, name, string());
|
||||
add(name, name, name, string(), string(), string());
|
||||
}
|
||||
|
||||
|
||||
void Formats::add(string const & name, string const & extension,
|
||||
string const & prettyname, string const & shortcut)
|
||||
string const & prettyname, string const & shortcut,
|
||||
string const & viewer, string const & editor)
|
||||
{
|
||||
FormatList::iterator it =
|
||||
find_if(formatlist.begin(), formatlist.end(),
|
||||
FormatNamesEqual(name));
|
||||
if (it == formatlist.end())
|
||||
formatlist.push_back(Format(name, extension, prettyname,
|
||||
shortcut, ""));
|
||||
else {
|
||||
string viewer = it->viewer();
|
||||
*it = Format(name, extension, prettyname, shortcut, viewer);
|
||||
}
|
||||
shortcut, viewer, editor));
|
||||
else
|
||||
*it = Format(name, extension, prettyname, shortcut, viewer, editor);
|
||||
}
|
||||
|
||||
|
||||
@ -172,7 +172,7 @@ void Formats::setViewer(string const & name, string const & command)
|
||||
|
||||
|
||||
bool Formats::view(Buffer const & buffer, string const & filename,
|
||||
string const & format_name) const
|
||||
string const & format_name) const
|
||||
{
|
||||
if (filename.empty())
|
||||
return false;
|
||||
@ -183,7 +183,7 @@ bool Formats::view(Buffer const & buffer, string const & filename,
|
||||
format = getFormat(format->parentFormat());
|
||||
if (!format || format->viewer().empty()) {
|
||||
// I believe this is the wrong place to show alerts, it should be done by
|
||||
// the caller (this should be "utility" code
|
||||
// the caller (this should be "utility" code)
|
||||
Alert::error(_("Cannot view file"),
|
||||
bformat(_("No information for viewing %1$s"),
|
||||
prettyName(format_name)));
|
||||
@ -220,7 +220,52 @@ bool Formats::view(Buffer const & buffer, string const & filename,
|
||||
if (res) {
|
||||
Alert::error(_("Cannot view file"),
|
||||
bformat(_("An error occurred whilst running %1$s"),
|
||||
command.substr(0, 50)));
|
||||
MakeDisplayPath(command, 50)));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Formats::edit(Buffer const & buffer, string const & filename,
|
||||
string const & format_name) const
|
||||
{
|
||||
if (filename.empty())
|
||||
return false;
|
||||
|
||||
Format const * format = getFormat(format_name);
|
||||
if (format && format->editor().empty() &&
|
||||
format->isChildFormat())
|
||||
format = getFormat(format->parentFormat());
|
||||
if (!format || format->editor().empty()) {
|
||||
// I believe this is the wrong place to show alerts, it should be done by
|
||||
// the caller (this should be "utility" code)
|
||||
Alert::error(_("Cannot edit file"),
|
||||
bformat(_("No information for editing %1$s"),
|
||||
prettyName(format_name)));
|
||||
return false;
|
||||
}
|
||||
|
||||
string command = format->editor();
|
||||
|
||||
if (!contains(command, token_from))
|
||||
command += ' ' + token_from;
|
||||
|
||||
command = subst(command, token_from,
|
||||
QuoteName(OnlyFilename(filename)));
|
||||
command = subst(command, token_path, QuoteName(OnlyPath(filename)));
|
||||
command = subst(command, token_socket, QuoteName(lyxsocket->address()));
|
||||
lyxerr[Debug::FILES] << "Executing command: " << command << std::endl;
|
||||
buffer.message(_("Executing command: ") + command);
|
||||
|
||||
Path p(OnlyPath(filename));
|
||||
Systemcall one;
|
||||
int const res = one.startscript(Systemcall::DontWait, command);
|
||||
|
||||
if (res) {
|
||||
Alert::error(_("Cannot edit file"),
|
||||
bformat(_("An error occurred whilst running %1$s"),
|
||||
MakeDisplayPath(command, 50)));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
14
src/format.h
14
src/format.h
@ -21,7 +21,7 @@ class Format {
|
||||
public:
|
||||
///
|
||||
Format(std::string const & n, std::string const & e, std::string const & p,
|
||||
std::string const & s, std::string const & v);
|
||||
std::string const & s, std::string const & v, std::string const & ed);
|
||||
///
|
||||
bool dummy() const;
|
||||
///
|
||||
@ -52,6 +52,10 @@ public:
|
||||
void setViewer(std::string const & v) {
|
||||
viewer_ = v;
|
||||
}
|
||||
///
|
||||
std::string const & editor() const {
|
||||
return editor_;
|
||||
}
|
||||
private:
|
||||
std::string name_;
|
||||
///
|
||||
@ -62,6 +66,8 @@ private:
|
||||
std::string shortcut_;
|
||||
///
|
||||
std::string viewer_;
|
||||
///
|
||||
std::string editor_;
|
||||
};
|
||||
|
||||
|
||||
@ -86,7 +92,8 @@ public:
|
||||
void add(std::string const & name);
|
||||
///
|
||||
void add(std::string const & name, std::string const & extension,
|
||||
std::string const & prettyname, std::string const & shortcut);
|
||||
std::string const & prettyname, std::string const & shortcut,
|
||||
std::string const & viewer, std::string const & editor);
|
||||
///
|
||||
void erase(std::string const & name);
|
||||
///
|
||||
@ -97,6 +104,9 @@ public:
|
||||
bool view(Buffer const & buffer, std::string const & filename,
|
||||
std::string const & format_name) const;
|
||||
///
|
||||
bool edit(Buffer const & buffer, std::string const & filename,
|
||||
std::string const & format_name) const;
|
||||
///
|
||||
std::string const prettyName(std::string const & name) const;
|
||||
///
|
||||
std::string const extension(std::string const & name) const;
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* ControlGraphics.[Ch] (editGraphics): new method
|
||||
|
||||
2004-04-07 Martin Vermeer <martin.vermeer@hut.fi>
|
||||
|
||||
* ControlDocument.C: 'assign' for opening/closing branch insets
|
||||
|
@ -133,6 +133,16 @@ bool ControlGraphics::isFilenameValid(string const & fname) const
|
||||
}
|
||||
|
||||
|
||||
void ControlGraphics::editGraphics()
|
||||
{
|
||||
BOOST_ASSERT(params_.get());
|
||||
|
||||
dialog().view().apply();
|
||||
string const lfun =
|
||||
InsetGraphicsMailer::params2string(params(), kernel().buffer());
|
||||
kernel().dispatch(FuncRequest(LFUN_GRAPHICS_EDIT, lfun));
|
||||
}
|
||||
|
||||
namespace frnt {
|
||||
|
||||
namespace {
|
||||
|
@ -51,6 +51,8 @@ public:
|
||||
bool bbChanged;
|
||||
/// test if file exist
|
||||
bool isFilenameValid(std::string const & fname) const;
|
||||
/// edit file
|
||||
void editGraphics();
|
||||
|
||||
private:
|
||||
///
|
||||
|
@ -1,3 +1,10 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* QPrefsDialog.C, ui/QPrefFileformatsModule.ui: add editor to format
|
||||
* QGraphics.[Ch]: add slotEdit()
|
||||
* QGraphicsDialog.[Ch]: add edit_clicked()
|
||||
* ui/QGraphicsDialogBase.ui: add Edit button
|
||||
|
||||
2004-04-07 Alfredo Braunstein <abraunst@lyx.org>
|
||||
|
||||
* QLPainter.[Ch]: adjust to changes in Painter.h
|
||||
|
@ -415,3 +415,9 @@ bool QGraphics::isValid()
|
||||
{
|
||||
return !dialog_->filename->text().isEmpty();
|
||||
}
|
||||
|
||||
|
||||
void QGraphics::slotEdit()
|
||||
{
|
||||
controller().editGraphics();
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ public:
|
||||
friend class QGraphicsDialog;
|
||||
///
|
||||
QGraphics(Dialog &);
|
||||
public slots:
|
||||
void slotEdit();
|
||||
protected:
|
||||
virtual bool isValid();
|
||||
private:
|
||||
|
@ -39,6 +39,8 @@ QGraphicsDialog::QGraphicsDialog(QGraphics * form)
|
||||
form, SLOT(slotClose()));
|
||||
connect(restorePB, SIGNAL(clicked()),
|
||||
form, SLOT(slotRestore()));
|
||||
connect(editPB, SIGNAL(clicked()),
|
||||
this, SLOT(edit_clicked()));
|
||||
}
|
||||
|
||||
|
||||
@ -93,3 +95,9 @@ void QGraphicsDialog::getBB_clicked()
|
||||
{
|
||||
form_->getBB();
|
||||
}
|
||||
|
||||
|
||||
void QGraphicsDialog::edit_clicked()
|
||||
{
|
||||
form_->controller().editGraphics();
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ protected slots:
|
||||
virtual void change_WUnit();
|
||||
virtual void browse_clicked();
|
||||
virtual void getBB_clicked();
|
||||
virtual void edit_clicked();
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent * e);
|
||||
private:
|
||||
|
@ -381,6 +381,7 @@ void QPrefsDialog::switch_format(int nr)
|
||||
fileformatsModule->extensionED->setText(toqstr(f.extension()));
|
||||
fileformatsModule->shortcutED->setText(toqstr(f.shortcut()));
|
||||
fileformatsModule->viewerED->setText(toqstr(f.viewer()));
|
||||
fileformatsModule->editorED->setText(toqstr(f.editor()));
|
||||
fileformatsModule->formatRemovePB->setEnabled(
|
||||
!form_->converters().formatIsUsed(f.name()));
|
||||
}
|
||||
@ -407,10 +408,10 @@ void QPrefsDialog::modify_format()
|
||||
string const extension = fromqstr(fileformatsModule->extensionED->text());
|
||||
string const shortcut = fromqstr(fileformatsModule->shortcutED->text());
|
||||
string const viewer = fromqstr(fileformatsModule->viewerED->text());
|
||||
string const editor = fromqstr(fileformatsModule->editorED->text());
|
||||
|
||||
form_->formats().add(name, extension, prettyname, shortcut);
|
||||
form_->formats().add(name, extension, prettyname, shortcut, viewer, editor);
|
||||
form_->formats().sort();
|
||||
form_->formats().setViewer(name, viewer);
|
||||
|
||||
fileformatsModule->formatsLB->setUpdatesEnabled(false);
|
||||
updateFormats();
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -159,6 +159,13 @@
|
||||
<cstring>viewerED</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget row="5" column="1" >
|
||||
<class>QLineEdit</class>
|
||||
<property stdset="1">
|
||||
<name>name</name>
|
||||
<cstring>editorED</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget row="2" column="1" >
|
||||
<class>QLineEdit</class>
|
||||
<property stdset="1">
|
||||
@ -218,6 +225,21 @@
|
||||
<cstring>viewerED</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget row="5" column="0" >
|
||||
<class>QLabel</class>
|
||||
<property stdset="1">
|
||||
<name>name</name>
|
||||
<cstring>editorLA</cstring>
|
||||
</property>
|
||||
<property stdset="1">
|
||||
<name>text</name>
|
||||
<string>Ed&itor:</string>
|
||||
</property>
|
||||
<property>
|
||||
<name>buddy</name>
|
||||
<cstring>editorED</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget row="0" column="1" >
|
||||
<class>QLineEdit</class>
|
||||
<property stdset="1">
|
||||
@ -347,5 +369,6 @@
|
||||
<tabstop>shortcutED</tabstop>
|
||||
<tabstop>extensionED</tabstop>
|
||||
<tabstop>viewerED</tabstop>
|
||||
<tabstop>editorED</tabstop>
|
||||
</tabstops>
|
||||
</UI>
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* FormPreferences.C, forms/form_preferences.fd: add editor to format
|
||||
* FormGraphics.C, forms/form_graphics.fd: add Edit button
|
||||
|
||||
2004-04-07 Alfredo Braunstein <abraunst@lyx.org>
|
||||
|
||||
|
@ -571,8 +571,12 @@ void FormGraphics::updateBB(string const & filename, string const & bb_inset)
|
||||
|
||||
ButtonPolicy::SMInput FormGraphics::input(FL_OBJECT * ob, long)
|
||||
{
|
||||
ButtonPolicy::SMInput activate = ButtonPolicy::SMI_VALID;
|
||||
|
||||
// the file section
|
||||
if (ob == file_->button_browse) {
|
||||
activate = ButtonPolicy::SMI_NOOP;
|
||||
|
||||
// Get the filename from the dialog
|
||||
string const in_name = getString(file_->input_filename);
|
||||
string const out_name = controller().browse(in_name);
|
||||
@ -642,7 +646,11 @@ ButtonPolicy::SMInput FormGraphics::input(FL_OBJECT * ob, long)
|
||||
setEnabled(extra_->input_subcaption,
|
||||
fl_get_button(extra_->check_subcaption));
|
||||
|
||||
} else if (ob == file_->button_edit) {
|
||||
activate = ButtonPolicy::SMI_NOOP;
|
||||
controller().editGraphics();
|
||||
}
|
||||
|
||||
return ButtonPolicy::SMI_VALID;
|
||||
|
||||
return activate;
|
||||
}
|
||||
|
@ -996,6 +996,7 @@ void FormPreferences::Formats::build()
|
||||
|
||||
fl_set_input_return(dialog_->input_format, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_viewer, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_editor, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_shrtcut, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_gui_name, FL_RETURN_CHANGED);
|
||||
fl_set_input_return(dialog_->input_extension, FL_RETURN_CHANGED);
|
||||
@ -1010,6 +1011,7 @@ void FormPreferences::Formats::build()
|
||||
setPrehandler(dialog_->button_add);
|
||||
setPrehandler(dialog_->input_extension);
|
||||
setPrehandler(dialog_->input_viewer);
|
||||
setPrehandler(dialog_->input_editor);
|
||||
setPrehandler(dialog_->input_shrtcut);
|
||||
}
|
||||
|
||||
@ -1036,6 +1038,9 @@ FormPreferences::Formats::feedback(FL_OBJECT const * const ob) const
|
||||
if (ob == dialog_->input_viewer)
|
||||
return _("The command used to launch the viewer application.");
|
||||
|
||||
if (ob == dialog_->input_editor)
|
||||
return _("The command used to launch the editor application.");
|
||||
|
||||
if (ob == dialog_->button_delete)
|
||||
return _("Remove the current format from the list of available "
|
||||
"formats. Note: you must then \"Apply\" the change.");
|
||||
@ -1062,7 +1067,8 @@ bool FormPreferences::Formats::input(FL_OBJECT const * const ob)
|
||||
|| ob == dialog_->input_gui_name
|
||||
|| ob == dialog_->input_shrtcut
|
||||
|| ob == dialog_->input_extension
|
||||
|| ob == dialog_->input_viewer)
|
||||
|| ob == dialog_->input_viewer
|
||||
|| ob == dialog_->input_editor)
|
||||
return Input();
|
||||
|
||||
if (ob == dialog_->button_add)
|
||||
@ -1109,11 +1115,11 @@ bool FormPreferences::Formats::Add()
|
||||
string const extension = fl_get_input(dialog_->input_extension);
|
||||
string const shortcut = fl_get_input(dialog_->input_shrtcut);
|
||||
string const viewer = fl_get_input(dialog_->input_viewer);
|
||||
string const editor = fl_get_input(dialog_->input_editor);
|
||||
|
||||
Format const * old = formats().getFormat(name);
|
||||
string const old_prettyname = old ? old->prettyname() : string();
|
||||
formats().add(name, extension, prettyname, shortcut);
|
||||
formats().setViewer(name, viewer);
|
||||
formats().add(name, extension, prettyname, shortcut, viewer, editor);
|
||||
if (!old || prettyname != old_prettyname) {
|
||||
UpdateBrowser();
|
||||
if (old)
|
||||
@ -1140,6 +1146,7 @@ bool FormPreferences::Formats::Browser()
|
||||
fl_set_input(dialog_->input_shrtcut, f.shortcut().c_str());
|
||||
fl_set_input(dialog_->input_extension, f.extension().c_str());
|
||||
fl_set_input(dialog_->input_viewer, f.viewer().c_str());
|
||||
fl_set_input(dialog_->input_editor, f.editor().c_str());
|
||||
|
||||
fl_set_object_label(dialog_->button_add,
|
||||
idex(_("Modify|#M")).c_str());
|
||||
|
@ -9,14 +9,14 @@ SnapGrid: 5
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_graphics
|
||||
Width: 395
|
||||
Height: 300
|
||||
Width: 490
|
||||
Height: 320
|
||||
Number of Objects: 6
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 395 300
|
||||
box: 0 0 490 320
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -34,7 +34,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_TABFOLDER
|
||||
type: TOP_TABFOLDER
|
||||
box: 0 5 395 260
|
||||
box: 0 5 490 280
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -52,7 +52,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 5 270 90 25
|
||||
box: 5 290 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -70,7 +70,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: RETURN_BUTTON
|
||||
box: 110 270 90 25
|
||||
box: 205 290 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -88,7 +88,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 300 270 90 25
|
||||
box: 395 290 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -106,7 +106,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 205 270 90 25
|
||||
box: 300 290 90 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -123,14 +123,14 @@ argument: 0
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_graphics_file
|
||||
Width: 395
|
||||
Height: 235
|
||||
Number of Objects: 15
|
||||
Width: 490
|
||||
Height: 255
|
||||
Number of Objects: 16
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 395 235
|
||||
box: 0 0 490 255
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -148,7 +148,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_LABELFRAME
|
||||
type: ENGRAVED_FRAME
|
||||
box: 5 125 385 105
|
||||
box: 5 145 480 105
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_BLACK FL_COL1
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -166,7 +166,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 60 10 225 25
|
||||
box: 60 10 320 25
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -184,7 +184,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 290 10 100 25
|
||||
box: 385 10 100 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -199,10 +199,28 @@ name: button_browse
|
||||
callback: C_FormDialogView_InputCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 385 40 100 25
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Edit|#E
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NorthEast FL_NorthEast
|
||||
name: button_edit
|
||||
callback: C_FormDialogView_InputCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_LABELFRAME
|
||||
type: ENGRAVED_FRAME
|
||||
box: 5 55 385 55
|
||||
box: 5 75 480 55
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_BLACK FL_COL1
|
||||
alignment: FL_ALIGN_TOP_LEFT
|
||||
@ -220,7 +238,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 250 140 125 25
|
||||
box: 250 160 125 25
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -238,7 +256,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 250 170 125 25
|
||||
box: 250 190 125 25
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -256,7 +274,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 85 70 70 25
|
||||
box: 85 90 70 25
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -274,7 +292,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 85 140 70 25
|
||||
box: 85 160 70 25
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -292,7 +310,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHOICE
|
||||
type: NORMAL_CHOICE
|
||||
box: 155 140 60 25
|
||||
box: 155 160 60 25
|
||||
boxtype: FL_FRAME_BOX
|
||||
colors: FL_COL1 FL_BLACK
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -310,7 +328,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHOICE
|
||||
type: NORMAL_CHOICE
|
||||
box: 155 170 60 25
|
||||
box: 155 190 60 25
|
||||
boxtype: FL_FRAME_BOX
|
||||
colors: FL_COL1 FL_BLACK
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -328,7 +346,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_CHECKBUTTON
|
||||
type: PUSH_BUTTON
|
||||
box: 70 200 190 25
|
||||
box: 70 220 190 25
|
||||
boxtype: FL_NO_BOX
|
||||
colors: FL_COL1 FL_YELLOW
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -346,7 +364,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 85 170 70 25
|
||||
box: 85 190 70 25
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -364,7 +382,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_TEXT
|
||||
type: NORMAL_TEXT
|
||||
box: 155 70 25 25
|
||||
box: 155 90 25 25
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE
|
||||
@ -382,7 +400,7 @@ argument:
|
||||
--------------------
|
||||
class: FL_CHOICE
|
||||
type: NORMAL_CHOICE
|
||||
box: 265 70 115 25
|
||||
box: 265 90 115 25
|
||||
boxtype: FL_FRAME_BOX
|
||||
colors: FL_COL1 FL_BLACK
|
||||
alignment: FL_ALIGN_LEFT
|
||||
@ -399,14 +417,14 @@ argument: 0
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_graphics_bbox
|
||||
Width: 395
|
||||
Width: 490
|
||||
Height: 235
|
||||
Number of Objects: 10
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 395 235
|
||||
box: 0 0 490 235
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -585,14 +603,14 @@ argument: 0
|
||||
|
||||
=============== FORM ===============
|
||||
Name: form_graphics_extra
|
||||
Width: 395
|
||||
Width: 490
|
||||
Height: 235
|
||||
Number of Objects: 8
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 395 235
|
||||
box: 0 0 490 235
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
|
@ -1705,13 +1705,13 @@ argument:
|
||||
=============== FORM ===============
|
||||
Name: form_preferences_formats
|
||||
Width: 450
|
||||
Height: 360
|
||||
Number of Objects: 9
|
||||
Height: 400
|
||||
Number of Objects: 10
|
||||
|
||||
--------------------
|
||||
class: FL_BOX
|
||||
type: FLAT_BOX
|
||||
box: 0 0 450 360
|
||||
box: 0 0 450 400
|
||||
boxtype: FL_FLAT_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1834,10 +1834,28 @@ name: input_viewer
|
||||
callback: C_FormDialogView_InputCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_INPUT
|
||||
type: NORMAL_INPUT
|
||||
box: 280 230 150 30
|
||||
boxtype: FL_DOWN_BOX
|
||||
colors: FL_COL1 FL_MCOL
|
||||
alignment: FL_ALIGN_LEFT
|
||||
style: FL_NORMAL_STYLE
|
||||
size: FL_NORMAL_SIZE
|
||||
lcol: FL_BLACK
|
||||
label: Editor:|#i
|
||||
shortcut:
|
||||
resize: FL_RESIZE_ALL
|
||||
gravity: FL_NoGravity FL_NoGravity
|
||||
name: input_editor
|
||||
callback: C_FormDialogView_InputCB
|
||||
argument: 0
|
||||
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 240 270 90 30
|
||||
box: 240 300 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
@ -1855,7 +1873,7 @@ argument: 0
|
||||
--------------------
|
||||
class: FL_BUTTON
|
||||
type: NORMAL_BUTTON
|
||||
box: 340 270 90 30
|
||||
box: 340 300 90 30
|
||||
boxtype: FL_UP_BOX
|
||||
colors: FL_COL1 FL_COL1
|
||||
alignment: FL_ALIGN_CENTER
|
||||
|
@ -1,3 +1,11 @@
|
||||
2004-04-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* ExternalTemplate.[Ch]: remove editCommand
|
||||
* ExternalSupport.C (editExternal): use formats.edit() instead of
|
||||
the removed editCommand template parameter
|
||||
* insetgraphics.C (priv_dispatch): handle LFUN_GRAPHICS_EDIT
|
||||
* insetgraphics.[Ch] (editGraphics): new method
|
||||
|
||||
2004-04-01 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* insetinclude.C (validate): set/reset features.buffer_ when
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "buffer.h"
|
||||
#include "converter.h"
|
||||
#include "debug.h"
|
||||
#include "format.h"
|
||||
|
||||
#include "support/filetools.h"
|
||||
#include "support/forkedcall.h"
|
||||
@ -51,23 +52,9 @@ Template const * getTemplatePtr(InsetExternalParams const & params)
|
||||
|
||||
void editExternal(InsetExternalParams const & params, Buffer const & buffer)
|
||||
{
|
||||
Template const * const et_ptr = getTemplatePtr(params);
|
||||
if (!et_ptr)
|
||||
return;
|
||||
Template const & et = *et_ptr;
|
||||
|
||||
if (et.editCommand.empty())
|
||||
return;
|
||||
|
||||
string const command = doSubstitution(params, buffer, et.editCommand);
|
||||
|
||||
support::Path p(buffer.filePath());
|
||||
support::Forkedcall call;
|
||||
if (lyxerr.debugging(Debug::EXTERNAL)) {
|
||||
lyxerr << "Executing '" << command << "' in '"
|
||||
<< buffer.filePath() << '\'' << endl;
|
||||
}
|
||||
call.startscript(support::Forkedcall::DontWait, command);
|
||||
string const file_with_path = params.filename.absFilename();
|
||||
formats.edit(buffer, file_with_path,
|
||||
support::getExtFromContents(file_with_path));
|
||||
}
|
||||
|
||||
|
||||
|
@ -101,7 +101,6 @@ public:
|
||||
<< "\tHelpTextEnd\n"
|
||||
<< "\tInputFormat " << et.inputFormat << '\n'
|
||||
<< "\tFileFilter " << et.fileRegExp << '\n'
|
||||
<< "\tEditCommand " << et.editCommand << '\n'
|
||||
<< "\tAutomaticProduction " << et.automaticProduction << '\n';
|
||||
|
||||
typedef vector<TransformID> IDs;
|
||||
@ -298,7 +297,6 @@ void Template::readTemplate(LyXLex & lex)
|
||||
TO_HELPTEXT,
|
||||
TO_INPUTFORMAT,
|
||||
TO_FILTER,
|
||||
TO_EDITCMD,
|
||||
TO_AUTOMATIC,
|
||||
TO_TRANSFORM,
|
||||
TO_FORMAT,
|
||||
@ -307,7 +305,6 @@ void Template::readTemplate(LyXLex & lex)
|
||||
|
||||
keyword_item templateoptiontags[] = {
|
||||
{ "automaticproduction", TO_AUTOMATIC },
|
||||
{ "editcommand", TO_EDITCMD },
|
||||
{ "filefilter", TO_FILTER },
|
||||
{ "format", TO_FORMAT },
|
||||
{ "guiname", TO_GUINAME },
|
||||
@ -340,11 +337,6 @@ void Template::readTemplate(LyXLex & lex)
|
||||
fileRegExp = lex.getString();
|
||||
break;
|
||||
|
||||
case TO_EDITCMD:
|
||||
lex.next(true);
|
||||
editCommand = lex.getString();
|
||||
break;
|
||||
|
||||
case TO_AUTOMATIC:
|
||||
lex.next();
|
||||
automaticProduction = lex.getBool();
|
||||
|
@ -54,8 +54,6 @@ struct Template {
|
||||
std::string inputFormat;
|
||||
/// A file extension regular expression for the file browser
|
||||
std::string fileRegExp;
|
||||
/// What command should be executed to edit the file?
|
||||
std::string editCommand;
|
||||
/// Should we do automatic production of the output?
|
||||
bool automaticProduction;
|
||||
/// A collection of transforms that we can use to transform the data.
|
||||
|
@ -190,6 +190,14 @@ void InsetGraphics::statusChanged() const
|
||||
void InsetGraphics::priv_dispatch(LCursor & cur, FuncRequest & cmd)
|
||||
{
|
||||
switch (cmd.action) {
|
||||
case LFUN_GRAPHICS_EDIT: {
|
||||
Buffer const & buffer = *cur.bv().buffer();
|
||||
InsetGraphicsParams p;
|
||||
InsetGraphicsMailer::string2params(cmd.argument, buffer, p);
|
||||
editGraphics(p, buffer);
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_INSET_MODIFY: {
|
||||
Buffer const & buffer = cur.buffer();
|
||||
InsetGraphicsParams p;
|
||||
@ -692,6 +700,13 @@ InsetGraphicsParams const & InsetGraphics::params() const
|
||||
}
|
||||
|
||||
|
||||
void InsetGraphics::editGraphics(InsetGraphicsParams const & p, Buffer const & buffer) const
|
||||
{
|
||||
string const file_with_path = p.filename.absFilename();
|
||||
formats.edit(buffer, file_with_path, getExtFromContents(file_with_path));
|
||||
}
|
||||
|
||||
|
||||
string const InsetGraphicsMailer::name_("graphics");
|
||||
|
||||
InsetGraphicsMailer::InsetGraphicsMailer(InsetGraphics & inset)
|
||||
|
@ -79,6 +79,8 @@ public:
|
||||
void draw(PainterInfo & pi, int x, int y) const;
|
||||
///
|
||||
void edit(LCursor & cur, bool left);
|
||||
///
|
||||
void editGraphics(InsetGraphicsParams const &, Buffer const &) const;
|
||||
protected:
|
||||
///
|
||||
void priv_dispatch(LCursor & cur, FuncRequest & cmd);
|
||||
|
@ -348,6 +348,7 @@ enum kb_action {
|
||||
LFUN_BUFFERPARAMS_APPLY,
|
||||
// 265
|
||||
LFUN_LYXRC_APPLY,
|
||||
LFUN_GRAPHICS_EDIT,
|
||||
|
||||
LFUN_LASTACTION // end of the table
|
||||
};
|
||||
|
@ -483,6 +483,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
|
||||
case LFUN_SET_COLOR:
|
||||
case LFUN_MESSAGE:
|
||||
case LFUN_EXTERNAL_EDIT:
|
||||
case LFUN_GRAPHICS_EDIT:
|
||||
case LFUN_ALL_INSETS_TOGGLE:
|
||||
case LFUN_LANGUAGE_BUFFER:
|
||||
case LFUN_TEXTCLASS_APPLY:
|
||||
@ -1260,6 +1261,12 @@ void LyXFunc::dispatch(FuncRequest const & cmd, bool verbose)
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_GRAPHICS_EDIT: {
|
||||
FuncRequest fr(action, argument);
|
||||
InsetGraphics().dispatch(view()->cursor(), fr);
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_ALL_INSETS_TOGGLE: {
|
||||
string action;
|
||||
string const name = split(argument, action, ' ');
|
||||
|
51
src/lyxrc.C
51
src/lyxrc.C
@ -161,6 +161,7 @@ keyword_item lyxrcTags[] = {
|
||||
{ "\\user_email", LyXRC::RC_USER_EMAIL },
|
||||
{ "\\user_name", LyXRC::RC_USER_NAME },
|
||||
{ "\\view_dvi_paper_option", LyXRC::RC_VIEWDVI_PAPEROPTION },
|
||||
// compatibility with versions older than 1.4.0 only
|
||||
{ "\\viewer" ,LyXRC::RC_VIEWER},
|
||||
{ "\\wheel_jump", LyXRC::RC_WHEEL_JUMP }
|
||||
};
|
||||
@ -979,6 +980,7 @@ int LyXRC::read(LyXLex & lexrc)
|
||||
}
|
||||
break;
|
||||
}
|
||||
// compatibility with versions older than 1.4.0 only
|
||||
case RC_VIEWER: {
|
||||
string format, command;
|
||||
if (lexrc.next()) {
|
||||
@ -1006,6 +1008,29 @@ int LyXRC::read(LyXLex & lexrc)
|
||||
if (lexrc.next()) {
|
||||
shortcut = lexrc.getString();
|
||||
}
|
||||
string viewer, editor;
|
||||
// Hack to ensure compatibility with versions older
|
||||
// than 1.4.0
|
||||
int le = lexrc.lex();
|
||||
if (le != LyXLex::LEX_FEOF && le != LyXLex::LEX_UNDEF) {
|
||||
viewer = lexrc.getString();
|
||||
if (le == LyXLex::LEX_DATA) {
|
||||
if (token(viewer, ' ', 0) == "none")
|
||||
viewer.erase();
|
||||
if (lexrc.next()) {
|
||||
editor = lexrc.getString();
|
||||
if (token(editor, ' ', 0) == "none")
|
||||
editor.erase();
|
||||
}
|
||||
} else {
|
||||
// We have got a known token.
|
||||
// Therefore this is an old style
|
||||
// format definition without
|
||||
// viewer and editor.
|
||||
lexrc.pushToken(viewer);
|
||||
viewer.erase();
|
||||
}
|
||||
}
|
||||
if (prettyname.empty()) {
|
||||
if (converters.formatIsUsed(format)) {
|
||||
lyxerr << "Can't delete format "
|
||||
@ -1015,7 +1040,7 @@ int LyXRC::read(LyXLex & lexrc)
|
||||
}
|
||||
} else {
|
||||
formats.add(format, extension, prettyname,
|
||||
shortcut);
|
||||
shortcut, viewer, editor);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1801,7 +1826,7 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
|
||||
<< "#\n\n";
|
||||
|
||||
case RC_FORMAT:
|
||||
// Look for deleted formats
|
||||
// New/modifed formats
|
||||
for (Formats::const_iterator cit = formats.begin();
|
||||
cit != formats.end(); ++cit) {
|
||||
Format const * format =
|
||||
@ -1809,29 +1834,25 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
|
||||
if (!format ||
|
||||
format->extension() != cit->extension() ||
|
||||
format->prettyname() != cit->prettyname() ||
|
||||
format->shortcut() != cit->shortcut())
|
||||
format->shortcut() != cit->shortcut() ||
|
||||
format->viewer() != cit->viewer() ||
|
||||
format->editor() != cit->editor())
|
||||
os << "\\format \"" << cit->name() << "\" \""
|
||||
<< cit->extension() << "\" \""
|
||||
<< cit->prettyname() << "\" \""
|
||||
<< cit->shortcut() << "\"\n";
|
||||
<< cit->shortcut() << "\" \""
|
||||
<< cit->viewer() << "\" \""
|
||||
<< cit->editor() << "\"\n";
|
||||
}
|
||||
|
||||
// New/modifed formats
|
||||
// Look for deleted formats
|
||||
for (Formats::const_iterator cit = system_formats.begin();
|
||||
cit != system_formats.end(); ++cit)
|
||||
if (!formats.getFormat(cit->name()))
|
||||
os << "\\format \"" << cit->name()
|
||||
<< "\" \"\" \"\" \"\"\n";
|
||||
<< "\" \"\" \"\" \"\" \"\" \"\"\n";
|
||||
case RC_VIEWER:
|
||||
for (Formats::const_iterator cit = formats.begin();
|
||||
cit != formats.end(); ++cit) {
|
||||
Format const * format =
|
||||
system_formats.getFormat(cit->name());
|
||||
if ((!format || format->viewer() != cit->viewer()) &&
|
||||
(format || !cit->viewer().empty()))
|
||||
os << "\\viewer \"" << cit->name() << "\" \""
|
||||
<< cit->viewer() << "\"\n";
|
||||
}
|
||||
// Ignore it
|
||||
|
||||
os << "\n#\n"
|
||||
<< "# CONVERTERS SECTION ##########################\n"
|
||||
|
Loading…
Reference in New Issue
Block a user