X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXSendto.C;h=5f672ac07bd0e4da087e725e2aaf06e06c7d0205;hb=5702f22ef0ea3d167fc5f327002d7006eef657b4;hp=c5134608fce29fa3e3c793e638fcec30a06311fb;hpb=e656d12d0bd2c82dfb64454fcdd0732cca6565b4;p=lyx.git diff --git a/src/LyXSendto.C b/src/LyXSendto.C index c5134608fc..5f672ac07b 100644 --- a/src/LyXSendto.C +++ b/src/LyXSendto.C @@ -10,8 +10,11 @@ #include "buffer.h" #include "lyx_gui_misc.h" #include "support/syscall.h" +#include "support/lstrings.h" #include "gettext.h" -#include "lyx_cb.h" +#include "bufferview_funcs.h" +#include "exporter.h" +#include "BufferView.h" extern FD_form_sendto * fd_form_sendto; extern BufferView * current_view; @@ -23,18 +26,19 @@ extern bool CreatePostscript(Buffer * buffer, bool wait); void MenuSendto() { - static int ow = -1, oh; + static int ow = -1; + static int oh; // do this only if the command is empty if (!fl_get_input(fd_form_sendto->input_cmd) && - !lyxrc->custom_export_command.empty()) + !lyxrc.custom_export_command.empty()) fl_set_input(fd_form_sendto->input_cmd, - lyxrc->custom_export_command.c_str()); + lyxrc.custom_export_command.c_str()); if (fd_form_sendto->form_sendto->visible) { fl_raise_form(fd_form_sendto->form_sendto); } else { fl_show_form(fd_form_sendto->form_sendto, - FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER, + FL_PLACE_MOUSE | FL_FREE_SIZE, FL_TRANSIENT, _("Send Document to Command")); if (ow < 0) { ow = fd_form_sendto->form_sendto->w; @@ -44,6 +48,7 @@ void MenuSendto() } } + void SendtoApplyCB(FL_OBJECT *, long) { if (!current_view->available()) @@ -53,16 +58,6 @@ void SendtoApplyCB(FL_OBJECT *, long) if (command.empty()) return; Buffer * buffer = current_view->buffer(); - if (fl_get_button(fd_form_sendto->radio_ftype_dvi) || - fl_get_button(fd_form_sendto->radio_ftype_ps)) { - ProhibitInput(); - // Generate dvi file and check if there are errors in the .lyx file - if (MakeLaTeXOutput(buffer) > 0) { - AllowInput(); - return; - } - AllowInput(); - } string ftypeext; if (fl_get_button(fd_form_sendto->radio_ftype_lyx)) ftypeext = ".lyx"; @@ -73,20 +68,20 @@ void SendtoApplyCB(FL_OBJECT *, long) else if (fl_get_button(fd_form_sendto->radio_ftype_ascii)) ftypeext = ".txt"; else { - ftypeext = ".ps_tmp"; - if (!CreatePostscript(buffer, true)) { - return; - } + ftypeext = ".ps"; + if (!Exporter::Export(buffer, "ps", true)) + return; } - string fname = ChangeExtension(buffer->getLatexName(), ftypeext, true); + string const fname = OnlyFilename(ChangeExtension(buffer->getLatexName(), + ftypeext)); if (!contains(command, "$$FName")) command = "( " + command + " ) <$$FName"; command = subst(command, "$$FName", fname); command += " &"; // execute in background // push directorypath, if necessary string path = OnlyPath(buffer->fileName()); - if (lyxrc->use_tempdir || (IsDirWriteable(path) < 1)){ + if (lyxrc.use_tempdir || !IsDirWriteable(path)){ path = buffer->tmppath; } Path p(path); @@ -99,16 +94,18 @@ void SendtoApplyCB(FL_OBJECT *, long) buffer->makeLaTeXFile(fname, path, false); // create the .txt file in tmp_dir if this filetype is requested if (fl_get_button(fd_form_sendto->radio_ftype_ascii)) - buffer->writeFileAscii(fname, lyxrc->ascii_linelen); + buffer->writeFileAscii(fname, lyxrc.ascii_linelen); Systemcalls one(Systemcalls::System, command); } + void SendtoCancelCB(FL_OBJECT *, long) { fl_hide_form(fd_form_sendto->form_sendto); } -void SendtoOKCB(FL_OBJECT *ob, long data) + +void SendtoOKCB(FL_OBJECT * ob, long data) { SendtoCancelCB(ob, data); SendtoApplyCB(ob, data);