/*
 * menuitem.c: A plugin for the Video Disk Recorder
 *
 * See the README file for copyright information and how to reach the author.
 *
 * $Id: cProjektBearbeitenItem.c,v 1.4 2004/10/20 20:59:54 torsten Exp $
 */

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif

#define SPEICHERPLATZERMITTLUNG "/usr/bin/du -s %s 2>/dev/null|/usr/bin/cut -f 1"

#include <string.h>

#include <vdr/eit.h>
#include <vdr/channels.h>
#include <vdr/font.h>

#include "cProjektBearbeitenItem.h"
#include "cUntermenuVdrconvert.h"


// --- cProjektBearbeitenItem -----------------------------------------------

cProjektBearbeitenItem::cProjektBearbeitenItem( char *myDateiname) {
  char *cmd;
  char *titel;

  asprintf(&dateiname,"%s", myDateiname);

  asprintf(&cmd, SPEICHERPLATZERMITTLUNG, dateiname);

  printf("%s\n",cmd);
  FILE *p = popen(cmd, "r");
#if VDRVERSNUM >= 10318
        cReadLine r;
  groesse=atoi(r.Read(p)); //Problemr...
#else
  groesse=atoi(readline(p));//Probleme...
#endif
  pclose(p);

  asprintf(&titel,"%s (%s)",dateiname,gibMenschenlesbareGroesse());
  SetText(titel);//TODO noch kürzen

  free (cmd);
  free (titel);
}


char * cProjektBearbeitenItem::gibMenschenlesbareGroesse(){
  char *rc;
  if (groesse>=1000000){
    asprintf(&rc,"%3.3f GB",((groesse*1.0)/1000000));
  }else if (groesse>=1000){
    asprintf(&rc,"%3.3f MB",((groesse*1.0)/1000));
  }else{
    asprintf(&rc,"%i B",groesse);
  }
  return rc;
}

int cProjektBearbeitenItem::gibGroesse(){
  return groesse;
}

cProjektBearbeitenItem::~cProjektBearbeitenItem(){

}
