void warning(QString const &, QString const &) {}
void toggleWarning(QString const &, QString const &, QString const &) {}
- void error(QString const &, QString const &) {}
+ void error(QString const &, QString const &, QString const &) {}
void information(QString const &, QString const &) {}
int prompt(docstring const &, docstring const &, int default_but, int,
docstring const &, docstring const &) { return default_but; }
};
-static ProgressInterface* progress_instance = 0;
+static ProgressInterface * progress_instance = 0;
void ProgressInterface::setInstance(ProgressInterface* p)
{
}
-ProgressInterface* ProgressInterface::instance()
+ProgressInterface * ProgressInterface::instance()
{
if (!progress_instance) {
static ProgressDummy dummy;
int Systemcall::startscript(Starttype how, string const & what,
std::string const & path, bool /*process_events*/)
{
- string const python_call = "python -tt";
- string command = to_filesystem8bit(from_utf8(latexEnvCmdPrefix(path)));
-
- if (prefixIs(what, python_call))
- command += os::python() + what.substr(python_call.length());
- else
- command += what;
+ string command = to_filesystem8bit(from_utf8(latexEnvCmdPrefix(path)))
+ + commandPrep(what);
if (how == DontWait) {
switch (os::shell()) {
int Systemcall::startscript(Starttype how, string const & what,
string const & path, bool process_events)
{
- LYXERR(Debug::INFO,"Running: " << what);
+ string const what_ss = commandPrep(what);
+ LYXERR(Debug::INFO,"Running: " << what_ss);
string infile;
string outfile;
string errfile;
QString const cmd = QString::fromLocal8Bit(
- parsecmd(what, infile, outfile, errfile).c_str());
+ parsecmd(what_ss, infile, outfile, errfile).c_str());
SystemcallPrivate d(infile, outfile, errfile);
#ifdef Q_OS_WIN32
+ // QProcess::startDetached cannot provide environment variables. When the
+ // environment variables are set using the latexEnvCmdPrefix and the process
+ // is started with QProcess::startDetached, a console window is shown every
+ // time a viewer is started. To avoid this, we fall back on Windows to the
+ // original implementation that creates a QProcess object.
d.startProcess(cmd, path, false);
if (!d.waitWhile(SystemcallPrivate::Starting, process_events, -1)) {
LYXERR0("Systemcall: '" << cmd << "' did not start!");