more fixes for file and pathnames with blanks

This commit is contained in:
Axel Kohlmeyer
2023-08-21 15:55:47 -04:00
parent 532e365331
commit eaedc60396

View File

@ -325,35 +325,35 @@ void LammpsGui::start_exe()
QAction *act = qobject_cast<QAction *>(sender());
if (act) {
auto exe = act->data().toString();
QString datacmd = "write_data ";
QString datacmd = "write_data '";
QDir datadir(QDir::tempPath());
QFile datafile(datadir.absoluteFilePath(current_file + ".data"));
datacmd += datafile.fileName();
datacmd += datafile.fileName() + "'";
if (exe == "vmd") {
QStringList args;
QFile vmdfile(datadir.absoluteFilePath(current_file + ".vmd"));
QFile vmdfile(datadir.absoluteFilePath("tmp-loader.vmd"));
vmdfile.open(QIODevice::WriteOnly);
vmdfile.write("package require topotools\n");
vmdfile.write("topo readlammpsdata ");
vmdfile.write("topo readlammpsdata {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write("\ntopo guessatom lammps data\n");
vmdfile.write("animate write psf ");
vmdfile.write("}\ntopo guessatom lammps data\n");
vmdfile.write("animate write psf {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".psf\nanimate write dcd ");
vmdfile.write(".psf}\nanimate write dcd {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".dcd\nmol delete top\nmol new ");
vmdfile.write(".dcd}\nmol delete top\nmol new {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".psf type psf waitfor all\nmol addfile ");
vmdfile.write(".psf} type psf waitfor all\nmol addfile {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".dcd type dcd waitfor all\nfile delete ");
vmdfile.write(".dcd} type dcd waitfor all\nfile delete {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(" ");
vmdfile.write("} {");
vmdfile.write(vmdfile.fileName().toLocal8Bit());
vmdfile.write(" ");
vmdfile.write("} {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".dcd ");
vmdfile.write(".dcd} {");
vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".psf\n");
vmdfile.write(".psf}\n");
vmdfile.close();
args << "-e" << vmdfile.fileName();
lammps.command(datacmd.toLocal8Bit());