@Action
	public void doSave() {
		System.out.println("doSave");
		if (!isValidSettings()) {
			return;
		}
		String jobName = userPanel.getAccountName() + "@" + userPanel.getHostName();
		Job jobToSave = this.job;
		Config c;
		if (jobToSave == null) {
			DavRepo davRepo = new DavRepo();
			List<Root> roots = new ArrayList<Root>();
			List<Repo> repos = new ArrayList<Repo>();
			repos.add(davRepo);
			jobToSave = new Job(jobName, repos, roots);
			jobToSave.setConfig(config);
			davRepo.setJob(jobToSave);

			config.getJobs().add(jobToSave);
			c = config;
		} else {
			c = jobToSave.getConfig();
		}
		scanService.cancelScan(); // if scanning, cancel it so new changes can take effect
		String accPath = c.getMediaLoungePath(userPanel.getAccountName());
		userPanel.save(accPath, jobToSave);
		backupLocations1.save("", jobToSave);
		jobToSave.getConfig().save();
		scanService.scan();
		_(QueueManager.class).setPaused(false);
		doClose();
	}