#include "lyx_main.h"
#include "lyxrc.h"
#include "LString.h"
-#include "filetools.h"
-#include "pathstack.h"
+#include "support/filetools.h"
+#include "support/path.h"
#include "buffer.h"
#include "lyx_gui_misc.h"
-#include "syscall.h"
+#include "support/syscall.h"
#include "gettext.h"
#include "lyx_cb.h"
-// $Id: LyXSendto.C,v 1.1 1999/09/27 18:44:36 larsbj Exp $
-
-#if !defined(lint) && !defined(WITH_WARNINGS)
-static char vcid[] = "$Id: LyXSendto.C,v 1.1 1999/09/27 18:44:36 larsbj Exp $";
-#endif /* lint */
-
-/* Prototypes */
extern FD_form_sendto *fd_form_sendto;
extern BufferView *current_view;
extern int MakeDVIOutput(Buffer *buffer);
void MenuSendto()
{
+ static int ow = -1, oh;
+
// do this only if the command is empty
if (!fl_get_input(fd_form_sendto->input_cmd) &&
!lyxrc->custom_export_command.empty())
fl_show_form(fd_form_sendto->form_sendto,
FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER,
_("Send Document to Command"));
+ if (ow < 0) {
+ ow = fd_form_sendto->form_sendto->w;
+ oh = fd_form_sendto->form_sendto->h;
+ }
+ fl_set_form_minsize(fd_form_sendto->form_sendto, ow, oh);
}
}
if (!current_view->available())
return;
- LString command = fl_get_input(fd_form_sendto->input_cmd);
+ string command = fl_get_input(fd_form_sendto->input_cmd);
if (command.empty())
return;
Buffer *buffer = current_view->currentBuffer();
}
AllowInput();
}
- LString ftypeext;
+ string ftypeext;
if (fl_get_button(fd_form_sendto->radio_ftype_lyx))
ftypeext = ".lyx";
else if (fl_get_button(fd_form_sendto->radio_ftype_latex))
return;
}
}
- LString fname = SpaceLess(ChangeExtension(buffer->getFileName(),
+ string fname = SpaceLess(ChangeExtension(buffer->getFileName(),
ftypeext, true));
- if (!command.contains("$$FName"))
+ if (!contains(command, "$$FName"))
command = "( " + command + " ) <$$FName";
- command.subst("$$FName",fname);
+ subst(command, "$$FName",fname);
command += " &"; // execute in background
// push directorypath, if necessary
- LString path = OnlyPath(buffer->getFileName());
+ string path = OnlyPath(buffer->getFileName());
if (lyxrc->use_tempdir || (IsDirWriteable(path) < 1)){
path = buffer->tmppath;
}
- PathPush(path);
+ Path p(path);
// save the .lyx file in tmp_dir if this filetype is requested
if (fl_get_button(fd_form_sendto->radio_ftype_lyx))
buffer->writeFile(fname,true);
if (fl_get_button(fd_form_sendto->radio_ftype_ascii))
buffer->writeFileAscii(fname, lyxrc->ascii_linelen);
Systemcalls one(Systemcalls::System, command);
- PathPop();
}
void SendtoCancelCB(FL_OBJECT *, long)