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()); QAction *act = qobject_cast<QAction *>(sender());
if (act) { if (act) {
auto exe = act->data().toString(); auto exe = act->data().toString();
QString datacmd = "write_data "; QString datacmd = "write_data '";
QDir datadir(QDir::tempPath()); QDir datadir(QDir::tempPath());
QFile datafile(datadir.absoluteFilePath(current_file + ".data")); QFile datafile(datadir.absoluteFilePath(current_file + ".data"));
datacmd += datafile.fileName(); datacmd += datafile.fileName() + "'";
if (exe == "vmd") { if (exe == "vmd") {
QStringList args; QStringList args;
QFile vmdfile(datadir.absoluteFilePath(current_file + ".vmd")); QFile vmdfile(datadir.absoluteFilePath("tmp-loader.vmd"));
vmdfile.open(QIODevice::WriteOnly); vmdfile.open(QIODevice::WriteOnly);
vmdfile.write("package require topotools\n"); vmdfile.write("package require topotools\n");
vmdfile.write("topo readlammpsdata "); vmdfile.write("topo readlammpsdata {");
vmdfile.write(datafile.fileName().toLocal8Bit()); vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write("\ntopo guessatom lammps data\n"); vmdfile.write("}\ntopo guessatom lammps data\n");
vmdfile.write("animate write psf "); vmdfile.write("animate write psf {");
vmdfile.write(datafile.fileName().toLocal8Bit()); vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".psf\nanimate write dcd "); vmdfile.write(".psf}\nanimate write dcd {");
vmdfile.write(datafile.fileName().toLocal8Bit()); 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(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(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(datafile.fileName().toLocal8Bit());
vmdfile.write(" "); vmdfile.write("} {");
vmdfile.write(vmdfile.fileName().toLocal8Bit()); vmdfile.write(vmdfile.fileName().toLocal8Bit());
vmdfile.write(" "); vmdfile.write("} {");
vmdfile.write(datafile.fileName().toLocal8Bit()); vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".dcd "); vmdfile.write(".dcd} {");
vmdfile.write(datafile.fileName().toLocal8Bit()); vmdfile.write(datafile.fileName().toLocal8Bit());
vmdfile.write(".psf\n"); vmdfile.write(".psf}\n");
vmdfile.close(); vmdfile.close();
args << "-e" << vmdfile.fileName(); args << "-e" << vmdfile.fileName();
lammps.command(datacmd.toLocal8Bit()); lammps.command(datacmd.toLocal8Bit());