Index: tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java
===================================================================
--- tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java	(revision 1026)
+++ tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java	(revision 1027)
@@ -429,6 +429,9 @@
 		 */
 		protected TXMEditor<? extends TXMResult> editor;
 
+		protected Button deleteButton;
+		
+		
 		/**
 		 * 
 		 * @param parent
@@ -463,10 +466,10 @@
 			
 
 			// delete query button
-			Button minusButton = new Button(this, SWT.NONE);
-			minusButton.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false));
-			minusButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_DELETE));
-			minusButton.addListener(SWT.Selection, new Listener() {
+			deleteButton = new Button(this, SWT.NONE);
+			deleteButton.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false));
+			deleteButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_DELETE));
+			deleteButton.addListener(SWT.Selection, new Listener() {
 				@Override
 				public void handleEvent(Event event) {
 					if (queryWidgets.size() > 1) {
@@ -479,14 +482,37 @@
 						queriesFocusComposite.layout(true);
 						sc1.setMinSize(queriesFocusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
 					}
+					// delete button states
+					updateDeleteButtonStates();
 				}
 			});
 			// listener
-			minusButton.addSelectionListener(new ComputeSelectionListener(ProgressionEditor.this));
+			deleteButton.addSelectionListener(new ComputeSelectionListener(ProgressionEditor.this));
 			
+			// delete button states
+			this.updateDeleteButtonStates();
+			
 		}
 
+
 		/**
+		 * Updates the delete button states.
+		 */
+		public void updateDeleteButtonStates()	{
+			for (int i = 0; i < queryWidgets.size(); i++) {
+				queryWidgets.get(i).getDeleteButton().setEnabled(!(queryWidgets.size() == 1));
+			}
+		}
+		
+		/**
+		 * Gets the delete button.
+		 * @return
+		 */
+		public Button getDeleteButton()	{
+			return this.deleteButton;
+		}
+		
+		/**
 		 * 
 		 * @param query
 		 */
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java	(revision 1026)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java	(revision 1027)
@@ -31,40 +31,33 @@
 import java.util.HashMap;
 import java.util.List;
 
-import javax.swing.tree.TreePath;
-
 import org.eclipse.core.commands.Command;
 import org.eclipse.core.commands.common.NotDefinedException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
 import org.eclipse.jface.viewers.DecoratingLabelProvider;
 import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICellModifier;
 import org.eclipse.jface.viewers.IDoubleClickListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TextCellEditor;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerEditor;
 import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
 import org.eclipse.jface.viewers.ViewerSorter;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyAdapter;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Path;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.IWorkbenchPage;
@@ -73,9 +66,9 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.commands.ICommandService;
 import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.handlers.IHandlerService;
 import org.eclipse.ui.model.WorkbenchLabelProvider;
 import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.txm.Toolbox;
 import org.txm.core.results.TXMResult;
 import org.txm.objects.Project;
@@ -87,7 +80,6 @@
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.utils.JobHandler;
 import org.txm.searchengine.cqp.corpus.Corpus;
-import org.txm.searchengine.cqp.corpus.MainCorpus;
 import org.txm.searchengine.cqp.corpus.Partition;
 import org.txm.searchengine.cqp.corpus.Subcorpus;
 import org.txm.utils.logger.Log;
@@ -330,7 +322,7 @@
 		});
 
 
-		// FIXME: double click listener installation from commands 
+		// double click listener installation from commands 
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		ICommandService cmdService = (ICommandService)window.getService(ICommandService.class);
 		Command[] cmds = cmdService.getDefinedCommands();
@@ -353,45 +345,11 @@
 			public void doubleClick(DoubleClickEvent event) {
 				TreeSelection selection = (TreeSelection) treeViewer.getSelection();
 				Object selectedItem = selection.getFirstElement();
-				//System.out.println("dbl click: "+selectedItem);
 				if (selectedItem != null) {
-
-					// FIXME: this code should be in conflict with the native RCP system based in EditorInput.equals(), see if we can remove it
-					//					if (selectedItem instanceof TXMResult) {
-					//
-					//						TXMResult txmResult = (TXMResult) selectedItem;
-					//						TXMResultEditorInput<TXMResult> input = new TXMResultEditorInput<TXMResult>(txmResult);
-					//
-					//						IWorkbenchWindow window = TXMWindows.getActiveWindow();
-					//						if (window != null) {
-					//							IWorkbenchPage page = window.getActivePage();
-					//							IEditorPart editor = page.findEditor(input);
-					//							if (editor != null) {
-					//								page.activate(editor);
-					//								return; // ok done
-					//							}
-					//						}
-					//					}
-
 					String commandId = doubleClickInstalledCommands.get(selectedItem.getClass().getName());
 					if (commandId != null) {
 						BaseAbstractHandler.executeCommand(commandId);
 					}
-
-//					// test if a double click listener has been set
-//					@Deprecated
-//					Class commandClass = managedDoubleClickClasses.get(selectedItem.getClass());
-//					//System.out.println("classes: "+managedDoubleClickClasses);
-//					if (commandClass != null) {
-//
-//						IHandlerService handlerService = (IHandlerService) getViewSite().getService(IHandlerService.class);
-//						try {
-//							handlerService.executeCommand(commandClass.getName(), null);
-//						} catch (Exception e) {
-//							System.out.println("Error while calling "+ commandClass.getName() + " command.");
-//							Log.printStackTrace(e);
-//						}
-//					}
 				}
 			}
 		});
@@ -437,6 +395,44 @@
 			}
 		});
 
+		// FIXME: show icon for results that are user persistable
+		
+		 	final int IMAGE_MARGIN = 2;
+		    final Image icon = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.cheatsheets","platform:/plugin/org.eclipse.ui.cheatsheets/icons/obj16/complete_status.gif").createImage();
+//		    final Image icon = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.gef","platform:/plugin/org.eclipse.gef/org/eclipse/gef/internal/icons/pinned.gif").createImage();
+//		    final Image icon = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.team.svn.help","platform:/plugin/org.eclipse.team.svn.help/images/lock.gif").createImage();
+		    
+		 	
+		 	
+//		 	treeViewer.getTree().addListener(SWT.MeasureItem, new Listener() {
+//		 	   public void handleEvent(Event event) {
+//		 	      TreeItem item = (TreeItem)event.item;
+//		 	      Image trailingImage = (Image)item.getImage();
+//		 	      if (trailingImage != null) {
+//		 	         event.width += trailingImage.getBounds().width + IMAGE_MARGIN;
+//		 	      }
+//		 	   }
+//		 	});
+		 	treeViewer.getTree().addListener(SWT.PaintItem, new Listener() {
+		 	   public void handleEvent(Event event) {
+		 		   if(event.item.getData() instanceof TXMResult && ((TXMResult)event.item.getData()).isUserPersistable())	{
+			 	      TreeItem item = (TreeItem)event.item;
+			 	      Image trailingImage = (Image)item.getImage();
+			 	      if (trailingImage != null) {
+			 	         //int x = event.x + event.width + IMAGE_MARGIN;
+			 	        int x = event.x - 20;
+			 	         int itemHeight = treeViewer.getTree().getItemHeight();
+			 	         int imageHeight = trailingImage.getBounds().height;
+			 	         int y = event.y + (itemHeight - imageHeight) / 2;
+			 	        
+			 	       event.gc.drawImage(icon, x, y); 
+			 	        //event.gc.drawImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_SAVE_EDIT_DISABLED), x, y);
+			 	      }
+		 		   }
+		 	   }
+		 	});
+		
+		
 		MenuManager menuManager = new MenuManager();
 		Menu menu = menuManager.createContextMenu(treeViewer.getTree());
 
@@ -529,6 +525,7 @@
 		CorporaView corporaView = getInstance();
 		if (corporaView != null) {
 			corporaView.treeViewer.refresh();
+			corporaView.treeViewer.getTree().redraw();
 			//corporaView.treeViewer.expandAll(); // FIXME
 		}
 	}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultPersistentState.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultPersistentState.java	(revision 1026)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultPersistentState.java	(revision 1027)
@@ -71,9 +71,6 @@
 		if(object instanceof TXMResult)	{
 			TXMResult result = ((TXMResult)object);
 			result.swapUserPersistableState();
-//			if(result.mustBePersisted())	{
-//				TXMPreferences.flush(result);
-//			}
 			CorporaView.refresh();
 			return null;
 		}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java	(revision 1026)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java	(revision 1027)
@@ -72,19 +72,19 @@
 
 	@Override
     public RGB getBackground(Object element) {
-		if(element instanceof TXMResult && ((TXMResult)element).isUserPersistable())	{
-	    	Display display = Display.getCurrent();
-	    	Color color = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-
-	    	// FIXME: random color tests
-//	    	Random rnd = new Random();
-//	    	int r = rnd.nextInt(128) + 128; // 128 ... 255
-//	    	int g = rnd.nextInt(128) + 128; // 128 ... 255
-//	    	int b = rnd.nextInt(128) + 128; // 128 ... 255
-//	    	Color blue = new Color(display, r, g, b);
-	    	
-	    	return color.getRGB();
-		}
+//		if(element instanceof TXMResult && ((TXMResult)element).isUserPersistable())	{
+//	    	Display display = Display.getCurrent();
+//	    	Color color = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
+//
+//	    	// FIXME: random color tests
+////	    	Random rnd = new Random();
+////	    	int r = rnd.nextInt(128) + 128; // 128 ... 255
+////	    	int g = rnd.nextInt(128) + 128; // 128 ... 255
+////	    	int b = rnd.nextInt(128) + 128; // 128 ... 255
+////	    	Color blue = new Color(display, r, g, b);
+//	    	
+//	    	return color.getRGB();
+//		}
 		return null;
     }
 
Index: tmp/org.txm.rcp/plugin.xml
===================================================================
--- tmp/org.txm.rcp/plugin.xml	(revision 1026)
+++ tmp/org.txm.rcp/plugin.xml	(revision 1027)
@@ -941,61 +941,41 @@
                   name="menu.corpus.manage"
                   visible="true">
             </separator>
-            
             <command
-                  commandId="org.txm.rcp.commands.base.DeleteObject"
+                  commandId="org.txm.rcp.handlers.results.DeleteObject"
                   icon="icons/functions/Delete.png"
                   style="push">
                <visibleWhen
                      checkEnabled="false">
-                 
-                     <or>
-                        <reference
-                              definitionId="OneBaseSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneCASelected">
-                        </reference>
-                        <reference
-                              definitionId="OneConcordanceSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneCorpusSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneLexicalTableSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneLexiconSelected">
-                        </reference>
-                        <reference
-                              definitionId="OnePartitionSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneSpecificitiesResultSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneTxmObjectSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneIndexSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneCooccurrenceSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneReferencerSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneProgressionSelected">
-                        </reference>
-                        <reference
-                              definitionId="OneCAHSelected">
-                        </reference>
-                     </or>
-                 
+                  <or>
+                     <reference
+                           definitionId="OneBaseSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneConcordanceSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneCorpusSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneLexicalTableSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneLexiconSelected">
+                     </reference>
+                     <reference
+                           definitionId="OnePartitionSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneTxmObjectSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneTXMResultSelected">
+                     </reference>
+                  </or>
                </visibleWhen>
             </command>
+            
             <separator
                   name="menu.corpus.build"
                   visible="true">
@@ -1405,6 +1385,27 @@
                      checkEnabled="false">
                   <or>
                      <reference
+                           definitionId="OneBaseSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneConcordanceSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneCorpusSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneLexicalTableSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneLexiconSelected">
+                     </reference>
+                     <reference
+                           definitionId="OnePartitionSelected">
+                     </reference>
+                     <reference
+                           definitionId="OneTxmObjectSelected">
+                     </reference>
+                     <reference
                            definitionId="OneTXMResultSelected">
                      </reference>
                   </or>
@@ -2024,6 +2025,7 @@
             </command>
             <command
                   commandId="org.txm.rcp.handlers.results.SetTXMResultPersistentState"
+                  icon="platform:/plugin/org.eclipse.ui.cheatsheets/icons/obj16/complete_status.gif"
                   style="toggle">
                <visibleWhen
                      checkEnabled="false">
Index: tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java	(revision 1026)
+++ tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java	(revision 1027)
@@ -48,7 +48,6 @@
 			// freeze rendering
 			chart.setNotify(false);
 
-			
 			// applying full theme 
 			if(applyTheme)	{
 				this.getChartsEngine().getJFCTheme().applyThemeToChart(result);
