Configure WebPrintAction
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/SpecificationWebPrintAction.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/SpecificationWebPrintAction.java
index 415baa6..daf74c8 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/SpecificationWebPrintAction.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/SpecificationWebPrintAction.java
@@ -18,8 +18,11 @@
 import org.eclipse.jface.action.Action;

 import org.eclipse.jface.dialogs.MessageDialog;

 import org.eclipse.jface.dialogs.TitleAreaDialog;

+import org.eclipse.jface.preference.IPreferenceStore;

 import org.eclipse.jface.window.Window;

 import org.eclipse.rmf.reqif10.Specification;

+import org.eclipse.rmf.reqif10.pror.editor.preferences.PreferenceConstants;

+import org.eclipse.rmf.reqif10.pror.editor.presentation.Reqif10EditorPlugin;

 import org.eclipse.rmf.reqif10.pror.editor.presentation.ReqifSpecificationEditorInput;

 import org.eclipse.rmf.reqif10.pror.editor.util.HTMLPrinter;

 import org.eclipse.swt.SWT;

@@ -61,16 +64,34 @@
 		

 		Specification spec = ((ReqifSpecificationEditorInput)input).getSpec();

 		

-		HTMLExportDialog dialog = new HTMLExportDialog(spec);

-		if (dialog.open() != Window.OK){

-			return;

+		

+		boolean exportOutgoingLinks;

+		boolean exportIncomingLinks;

+		

+		boolean askUser = Reqif10EditorPlugin.getPlugin().getPreferenceStore().getBoolean(PreferenceConstants.P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS);

+		if (askUser){

+			HTMLExportDialog dialog = new HTMLExportDialog(spec);

+			if (dialog.open() != Window.OK){

+				return;

+			}

+			exportOutgoingLinks = dialog.isExportOutgoingSpecRelations();

+			exportIncomingLinks = dialog.isExportIncomingSpecRelations();

+		}else{

+			// we get the configuration directly from the preference store

+			exportOutgoingLinks = Reqif10EditorPlugin.getPlugin().getPreferenceStore()

+					.getBoolean(PreferenceConstants.P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS);

+			

+			exportIncomingLinks = Reqif10EditorPlugin.getPlugin().getPreferenceStore()

+					.getBoolean(PreferenceConstants.P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS);

 		}

 		

+		

+		

 		try {

 			HTMLPrinter htmlPrinter = new HTMLPrinter(spec, editingDomain, adapterFactory);

 			

-			htmlPrinter.setExportOutgoingSpecRelations(dialog.isExportOutgoingSpecRelations());

-			htmlPrinter.setExportIncomingSpecRelations(dialog.isExportIncomingSpecRelations());

+			htmlPrinter.setExportOutgoingSpecRelations(exportOutgoingLinks);

+			htmlPrinter.setExportIncomingSpecRelations(exportIncomingLinks);

 			

 			File htmlSpec = htmlPrinter.print();

 			Program.launch(htmlSpec.getAbsolutePath());

@@ -93,10 +114,22 @@
 		

 

 		private boolean exportIncomingSpecRelations;

+		private boolean askForSpecRelations;

+		private Button rememberSettingButton;

 

+		

 		public HTMLExportDialog(Specification spec) {

 			super(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());

 			this.spec = spec;

+			

+			exportOutgoingSpecRelations = Reqif10EditorPlugin.getPlugin().getPreferenceStore()

+					.getBoolean(PreferenceConstants.P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS);

+			

+			exportIncomingSpecRelations = Reqif10EditorPlugin.getPlugin().getPreferenceStore()

+					.getBoolean(PreferenceConstants.P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS);

+			

+			askForSpecRelations = Reqif10EditorPlugin.getPlugin().getPreferenceStore()

+					.getBoolean(PreferenceConstants.P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS);

 		}

 		

 		

@@ -117,15 +150,21 @@
 	        container.setLayout(layout);

 			

 	        exportOutgoingSpecRelationsButton = new Button(container, SWT.CHECK);

+	        exportOutgoingSpecRelationsButton.setSelection(exportOutgoingSpecRelations);

 	        new Label(container, SWT.NONE).setText("Print outgoing Links");        

 	        

 	        exportIncomingSpecRelationsButton = new Button(container, SWT.CHECK);

+	        exportIncomingSpecRelationsButton.setSelection(exportIncomingSpecRelations);

 	        new Label(container, SWT.NONE).setText("Print incoming Links");

 	        

 	        new Label(container, SWT.NONE).setText("");

 	        new Label(container, SWT.NONE).setText("");

 	        

-	        

+	        rememberSettingButton = new Button(container, SWT.CHECK);

+	        new Label(container, SWT.NONE).setText("Remember my descision and dont ask again.");

+	        new Label(container, SWT.NONE).setText("");

+	        new Label(container, SWT.NONE).setText("(Settings can be changed through ReqIF Settings.)");

+

 	        

 			return dialogArea;

 		}

@@ -135,6 +174,15 @@
 		protected void okPressed() {

 			this.exportOutgoingSpecRelations = exportOutgoingSpecRelationsButton.getSelection();

 			this.exportIncomingSpecRelations = exportIncomingSpecRelationsButton.getSelection();

+			

+			//update preferences:

+			if (rememberSettingButton.getSelection()){

+				IPreferenceStore store = Reqif10EditorPlugin.getPlugin().getPreferenceStore();

+				store.setValue(PreferenceConstants.P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS, false);

+				store.setValue(PreferenceConstants.P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS, exportOutgoingSpecRelations);

+				store.setValue(PreferenceConstants.P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS, exportIncomingSpecRelations);

+			}

+			

 			super.okPressed();

 		}

 		

diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/PreferenceConstants.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/PreferenceConstants.java
index ae4851a..500dc11 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/PreferenceConstants.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/PreferenceConstants.java
@@ -50,11 +50,10 @@
 			.getSimpleName();
 	public static final String P_DEFAULT_PRESENTATION_REAL = DatatypeDefinitionReal.class
 			.getSimpleName();
-	
-	
+
 	// Constants for SpecificationWebPrintAction
-	public static final String P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS = "Print outgoing Links";
-	public static final String P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS = "Print incoming Links";
-	public static final String P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS = "Always ask for if links should be printed";
-	
+	public static final String P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS = "p_web_export_print_outgoing_links";
+	public static final String P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS = "p_web_export_print_incoming_inks";
+	public static final String P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS = "p_web_export_always_ask_for_if_links_should_be_printed";
+
 }
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/ProRSpecificationWebPrintPreferencePage.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/ProRSpecificationWebPrintPreferencePage.java
index cca03f3..0d3a564 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/ProRSpecificationWebPrintPreferencePage.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/preferences/ProRSpecificationWebPrintPreferencePage.java
@@ -26,21 +26,23 @@
 		// Set preference store

 		setPreferenceStore(Reqif10EditorPlugin.getPlugin().getPreferenceStore());

 		setDescription("ReqIF Print / Web Export Settings");

+		

+		Reqif10EditorPlugin.getPlugin().getPreferenceStore().setDefault(PreferenceConstants.P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS, true);

 	}

 

 	@Override

 	protected void createFieldEditors() {

 		addField(new BooleanFieldEditor(

 				PreferenceConstants.P_WEB_EXPORT_INLUDE_OUTGOING_SPEC_RELATIONS,

-				"Print outgoing links.",

+				"Print outgoing links by default.",

 				getFieldEditorParent()));

-

+		

 		addField(new BooleanFieldEditor(PreferenceConstants.P_WEB_EXPORT_INLUDE_INCOMING_SPEC_RELATIONS,

-				"Print incoming Links.", getFieldEditorParent()));

+				"Print incoming Links ba default.", getFieldEditorParent()));

 

 		addField(new BooleanFieldEditor(

 				PreferenceConstants.P_WEB_EXPORT_ALWAYS_ASK_FOR_SPEC_RELATIONS,

-				"Always ask which if links should be printed.",

+				"Always ask if links should be printed.",

 				getFieldEditorParent()));

 	}