Index: trunk/BNC/bncwindow.cpp
===================================================================
--- trunk/BNC/bncwindow.cpp	(revision 1911)
+++ trunk/BNC/bncwindow.cpp	(revision 1912)
@@ -56,4 +56,73 @@
 using namespace std;
 
+// Begin new Perlt
+FWidget::FWidget(QWidget *parent)
+    : QWidget(parent)
+{
+  bncSettings settings;
+  QListIterator<QString> it(settings.value("mountPoints").toStringList());
+  while (it.hasNext()) {
+    QStringList hlp = it.next().split(" ");
+    QUrl    url(hlp[0]);
+    MPName.append(url.path().toAscii()); bytesMP.append(0);
+    }
+}
+
+FWidget::~FWidget() { };
+
+void FWidget::nextAnimationFrame(){update();}
+
+void FWidget::paintEvent(QPaintEvent *)
+{
+    QRectF rectangle(0, 0, 640, 180);
+    QBrush rBrush(Qt::white,Qt::SolidPattern);
+    QPainter painter(this);
+    painter.fillRect(rectangle,rBrush);
+    painter.drawRect(rectangle);
+    QLine line(50, 140, 630, 140);
+    painter.drawLine(line);
+
+    line.setLine(50, 105, 50, 10);
+    painter.drawLine(line);
+    line.setLine(50, 105, 400, 105);
+    painter.drawLine(line);
+
+    QPoint textP(40, 140);
+    painter.drawText(textP, tr("0"));
+    textP.setX(20);
+    textP.setY(25);
+    painter.drawText(textP, tr("3000"));
+    textP.setX(20);
+    textP.setY(40);
+    painter.drawText(textP, tr("bps"));
+
+    textP.setX(410);
+    textP.setY(105);
+    painter.drawText(textP, tr("Mountpoints"));
+
+    int anker=0;
+    textP.setY(160);
+    painter.drawText(textP, tr(QTime::currentTime().toString().toAscii()));
+    textP.setX(300);
+
+//  QString hlp = (QString("%1").arg(MPName.size()));
+//  if (MPName.isEmpty()) {painter.drawText(textP, tr("Empty"));} else {painter.drawText(textP, tr(hlp.toAscii()));}
+
+    QListIterator<QByteArray> it(MPName);
+    while (it.hasNext()) {
+    QByteArray hlp=it.next();
+    double bytesnew=bytesMP[MPName.lastIndexOf(hlp)];
+    double vv = bytesnew/30;
+      QRectF vrect((100+anker*40), (140-vv), (30), (vv));
+      QBrush xBrush(Qt::green,Qt::SolidPattern);
+      textP.setX(100+anker*40);
+      painter.fillRect(vrect,xBrush);
+      painter.drawRect(vrect);
+      painter.drawText(textP, hlp);
+      anker++;
+    }
+}
+// End new Perlt
+
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
@@ -61,4 +130,9 @@
 
   _caster = 0;
+
+// Begin new Perlt
+  // Figure
+  _Figure1 = new FWidget(this);
+// End new Perlt
 
   int ww = QFontMetrics(this->font()).width('w');
@@ -390,4 +464,26 @@
   aogroup->addTab(rgroup,tr("Miscellaneous"));
 
+// Begin new Perlt
+
+  loggroup = new QTabWidget();
+  QWidget* log1group = new QWidget();
+  QWidget* log2group = new QWidget();
+  loggroup->addTab(log1group,tr("Log"));
+  loggroup->addTab(log2group,tr("Status"));
+
+  // log Tab
+  // -------
+  QGridLayout* log1Layout = new QGridLayout;
+  log1Layout->addWidget(_log,                0,0);
+  log1group->setLayout(log1Layout);
+
+  // Status Tab
+  // ----------
+  QGridLayout* log2Layout = new QGridLayout;
+  log2Layout->addWidget(_Figure1,            0,0);
+  log2group->setLayout(log2Layout);
+
+// End new Perlt
+
   // Proxy Tab
   // ---------
@@ -708,6 +804,14 @@
   mLayout->addWidget(aogroup,             0,0);
   mLayout->addWidget(_mountPointsTable,   1,0);
-  mLayout->addWidget(new QLabel(" Logs:"),2,0);
-  mLayout->addWidget(_log,                3,0);
+
+// Begin new Perlt
+//  mLayout->addWidget(new QLabel(" Logs:"),2,0);
+//  mLayout->addWidget(_log,                3,0);
+  QTimer *timer = new QTimer(this);
+  connect(timer, SIGNAL(timeout()), _Figure1, SLOT(nextAnimationFrame()));
+  mLayout->addWidget(loggroup,            2,0);
+  timer->start(100);
+
+// End new Perlt
 
   _canvas->setLayout(mLayout);
@@ -1328,4 +1432,5 @@
   QColor lightGray(230, 230, 230);
   QColor white(255, 255, 255);
+
 
   // Proxy
@@ -1535,2 +1640,3 @@
   }
 }
+
Index: trunk/BNC/bncwindow.h
===================================================================
--- trunk/BNC/bncwindow.h	(revision 1911)
+++ trunk/BNC/bncwindow.h	(revision 1912)
@@ -32,4 +32,25 @@
 #include "bnccaster.h"
 
+// Begin new Perlt
+class FWidget : public QWidget
+{
+    Q_OBJECT
+
+public:
+    FWidget(QWidget *parent);
+    ~FWidget();
+
+public slots:
+    void nextAnimationFrame();
+
+protected:
+    void paintEvent(QPaintEvent *event);
+
+private:
+    QList<QByteArray> MPName;
+    QList<double> bytesMP;
+};
+// End new Perlt
+
   class bncAboutDlg : public QDialog {
   Q_OBJECT
@@ -56,5 +77,5 @@
     void CreateMenu();
     void AddToolbar();
-  
+
   public slots:  
     void slotMountPointsRead(QList<bncGetThread*>);
@@ -150,6 +171,11 @@
     QTextEdit*  _log;
 
-    QWidget*   _canvas;
+    QWidget*    _canvas;
     QTabWidget* aogroup;
+
+// neu Perlt
+    QTabWidget* loggroup;
+    FWidget*    _Figure1;
+// Ende neu Perlt
 
     bncCaster* _caster;
Index: trunk/BNC/todo.txt
===================================================================
--- trunk/BNC/todo.txt	(revision 1911)
+++ trunk/BNC/todo.txt	(revision 1912)
@@ -13,5 +13,8 @@
     We once saw a wrong date.
 (4) LM&JP: Bandwidth graphics: one column per stream showing the current bandwidth needed.
-    Please consider this as "nice to have". It's of course not a must.
+    Please consider this as "nice to have" - it's not a must.
+    What we have is marked with "Begin new Perlt" and "End new Perlt" in bncwindow.cpp 
+    and bncwindow.h. If you don't like it or if its to difficult to implement
+    it then: please delete it form the source code.
 (5) GW: Keep an eye on www.igs-ip.net/PENC0.
 
