Index: Evidence/Edd/Edd.cc
===================================================================
--- Evidence/Edd/Edd.cc	(revision 159)
+++ Evidence/Edd/Edd.cc	(revision 164)
@@ -22,4 +22,20 @@
 class GUI *Handler;
 
+
+// History chooser function (opens plot for numeric data, TextHist for all other)
+QWidget *OpenHistory(char *Service) {
+
+  char *Name, *Format;
+  DimBrowser Browser;
+  
+  //if (Browser.getServices(Service) == 0) return NULL;
+  Browser.getServices(Service);
+  if (Browser.getNextService(Name, Format) != DimSERVICE) return NULL;
+  
+  if (strlen(Format) == 1 && *Format != 'C') return new Edd_Plot(Service);
+  else return new Edd_TextHist(Service);
+}
+
+
 //////////////////////////////////////////
 // Text display for arbitary DIM service//
@@ -41,5 +57,5 @@
   // Context menu
   Menu = new QMenu(this);
-  Menu->addAction("Open history", this, SLOT(MenuOpenHistory()));
+  Menu->addAction("Open new history", this, SLOT(MenuOpenHistory()));
   Menu->addAction("Copy service", this, SLOT(MenuCopyService()));
   Menu->addAction("Copy data", this, SLOT(MenuCopyData()));
@@ -135,6 +151,6 @@
 void Edd_Indicator::MenuOpenHistory() {
   
-  LastPlot = new Edd_Plot(Data->getName());
-  LastPlot->show();
+  LastPlot = OpenHistory(Data->getName());
+  if (LastPlot != NULL) LastPlot->show();
 }
 
@@ -165,8 +181,6 @@
   // Graph properties
   setAutoReplot(false);
-  QwtText XAxisTitle("Time (RJD-55200)");
-  XAxisTitle.setFont(QFont("Helvetica", 10));
-  setAxisTitle(QwtPlot::xBottom, XAxisTitle);
   setCanvasBackground(QColor(Qt::yellow));
+  setAxisScaleDraw(QwtPlot::xBottom, new TimeScale());
 
   Zoomer = new QwtPlotZoomer(QwtPlot::xBottom,QwtPlot::yLeft,canvas());
@@ -347,14 +361,10 @@
     else Items[ItemNo].Signal->setSymbol(Sym1);
 
-    int DataPoints = Items[ItemNo].x.size();
-	
+    int DataPoints = Items[ItemNo].x.size();	
 	if (DataPoints == 0) continue;
-   
-    double *x = new double [DataPoints];
+ 
+    // Normalize y scale if requested
     double *y = new double [DataPoints];
- 
-    // Adapt time scale and normalize y scale if requested
     for (int i=0; i<DataPoints; i++) {
-      x[i] = Items[ItemNo].x[i] / 86400.0 + 40587.5 - 55200;
       y[i] = Items[ItemNo].y[i];
 
@@ -368,9 +378,8 @@
 
     // Plot data
-    Items[ItemNo].Signal->setData(x, y, DataPoints);
+    Items[ItemNo].Signal->setData(Items[ItemNo].x.data(), y, DataPoints);
     Items[ItemNo].Signal->show();
     Zoomer->setZoomBase(Items[ItemNo].Signal->boundingRect());
 
-    delete[] x;
     delete[] y;
   }
@@ -825,6 +834,6 @@
     Result = Result.trimmed();
     if (Result.endsWith(".hist")) Result.chop(5);
-    Edd_Plot *Plot = new Edd_Plot(Result);
-    Plot->show();
+    QWidget *Hist = OpenHistory(Result.toAscii().data());
+    if (Hist != NULL) Hist->show();
   }
 }
Index: Evidence/Edd/Edd.h
===================================================================
--- Evidence/Edd/Edd.h	(revision 159)
+++ Evidence/Edd/Edd.h	(revision 164)
@@ -24,4 +24,17 @@
 
 #define SVN_REVISION "$Revision$"
+
+QWidget *OpenHistory(char *);
+
+// Time scale for axis
+class TimeScale: public QwtScaleDraw {
+  public:
+    TimeScale() { }
+    virtual QwtText label(double v) const {
+      QDateTime t = QDateTime::fromTime_t((int) v);
+      return t.toString("dMMM'\n'h:m:s");
+    }
+};
+
 		  
 // General indicator for DIM service
@@ -31,5 +44,6 @@
     QMenu *Menu;
     QPoint dragStart;
-    QwtPlot *LastPlot;
+    //QwtPlot *LastPlot;
+    QWidget *LastPlot;
 	
     DimStampedInfo *Data;
