String showDialog() {
   if (defaultDir == null) defaultDir = Menus.getMacrosPath();
   OpenDialog od = new OpenDialog("Install Macros", defaultDir, fileName);
   String name = od.getFileName();
   if (name == null) return null;
   String dir = od.getDirectory();
   if (!(name.endsWith(".txt") || name.endsWith(".ijm"))) {
     IJ.showMessage("Macro Installer", "File name must end with \".txt\" or \".ijm\" .");
     return null;
   }
   fileName = name;
   defaultDir = dir;
   return dir + name;
 }