private void newFileInProject() {
		FileDialog dialog;

		if (isCurrentItemLocal())
			dialog = new FileDialog(shell, FileDialog.Mode.SAVE, getCurrentTreeDir());
		else
			dialog = new FileDialog(shell, FileDialog.Mode.SAVE, getCurrentTreeSym());

		ArrayList<SymitarFile> files = dialog.open();

		if (files.size() > 0) {
			SymitarFile file = files.get(0);

			TreeItem[] selection = tree.getSelection();
			if (selection.length != 1)
				return;

			TreeItem cur = selection[0];
			while (cur != null && !(cur.getData() instanceof Project))
				cur = cur.getParentItem();

			if (cur == null)
				return;

			Project proj = (Project) cur.getData();

			SessionError error = file.saveFile("");

			if (error == SessionError.NONE) {
				if (!proj.hasFile(file)) {
					proj.addFile(file);
					TreeItem item = new TreeItem(cur, SWT.NONE);
					item.setText(file.getName());
					item.setData(file);
					item.setImage(getFileImage(file));

					if (proj.isLocal())
						ProjectManager.saveProjects(proj.getDir());
					else
						ProjectManager.saveProjects(proj.getSym());
				}

				openFile(file);
				tree.notifyListeners(SWT.Selection, null);
			}

		}
	}