]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/util/fmtwidgetitem.cpp
Tweak: fix compiler warning
[bacula/bacula] / bacula / src / qt-console / util / fmtwidgetitem.cpp
index f149d81cd9c1c797340cd8d45f0bc0e3ebcfc589..4551e8fa92b949a7f9d736f7a76f347832f47f4d 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2007-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -27,7 +27,6 @@
 */
  
 /*
- *   Version $Id$
  *
  *  Helper functions for tree widget formatting
  *
@@ -88,7 +87,7 @@ Freeze::~Freeze()
 
 ItemFormatterBase::BYTES_CONVERSION ItemFormatterBase::cnvFlag(BYTES_CONVERSION_IEC);
 
-QString ItemFormatterBase::convertBytesIEC(qint64 qfld)
+QString convertBytesIEC(qint64 qfld)
 {
    static const qint64 KB = Q_INT64_C(1024);
    static const qint64 MB = (KB * KB);
@@ -133,7 +132,7 @@ QString ItemFormatterBase::convertBytesIEC(qint64 qfld)
    return QString("%1 %2iB").arg(qfld / 1000.0, 0, 'f', 2).arg(suffix);
 }
 
-QString ItemFormatterBase::convertBytesSI(qint64 qfld)
+QString convertBytesSI(qint64 qfld)
 {
    static const qint64 KB = Q_INT64_C(1000);
    static const qint64 MB = (KB * KB);
@@ -192,6 +191,47 @@ ItemFormatterBase::~ItemFormatterBase()
 {
 }
 
+void ItemFormatterBase::setPercent(int index, float value)
+{
+   char buf[100];
+   bsnprintf(buf, sizeof(buf), "%.2f%%", value);
+   QString val = buf;
+   QString pix;
+   if (value < 8) {
+      pix = ":images/0p.png";
+   } else if (value < 24) {
+      pix = ":images/16p.png";
+   } else if (value < 40) {
+      pix = ":images/32p.png";
+   } else if (value < 56) {
+      pix = ":images/48p.png";
+   } else if (value < 72) {
+      pix = ":images/64p.png";
+   } else if (value < 88) {
+      pix = ":images/80p.png";
+   } else {
+      pix = ":images/96p.png";
+   }
+   setPixmap(index, QPixmap(pix), val);
+   //setSortValue(index, (int) value);
+   //setBackground(index, Qt::green);
+}
+
+/* By default, the setPixmap implementation with tooltip don't implement
+ * the tooltip stuff
+ */
+void ItemFormatterBase::setPixmap(int index, const QPixmap &pix, 
+                                  const QString & /* tip */)
+{
+   setPixmap(index, pix);
+}
+
+void ItemFormatterBase::setInChanger(int index, const QString &InChanger)
+{
+   setPixmap(index, QPixmap(":images/inflag"+InChanger+".png"));
+   //setSortValue(index, InChanger.toInt() );
+}
+
 void ItemFormatterBase::setTextFld(int index, const QString &fld, bool center)
 {
    setText(index, fld.trimmed());
@@ -268,11 +308,11 @@ void ItemFormatterBase::setDurationFld(int index, const QString &fld)
    char suffix = 's';
    if (dfld) {
       for (int pos = 0 ; sufs[pos] ; ++pos) {
-         if (dfld % divs[pos] == 0) {
-            dfld /= divs[pos];
-            suffix = sufs[pos];
-            break;
-         }
+          if (dfld % divs[pos] == 0) {
+             dfld /= divs[pos];
+             suffix = sufs[pos];
+             break;
+          }
       }
    }
    QString msg;
@@ -284,13 +324,13 @@ void ItemFormatterBase::setDurationFld(int index, const QString &fld)
       dfld = fld.trimmed().toLongLong();
       msg = "";
       for (int pos = 0 ; sufs[pos] ; ++pos) {
-         if (dfld / divs[pos] != 0) {
-            msg += QString(" %1%2").arg(dfld / divs[pos]).arg(sufs[pos]);
-            dfld %= divs[pos];
-         }
+          if (dfld / divs[pos] != 0) {
+             msg += QString(" %1%2").arg(dfld / divs[pos]).arg(sufs[pos]);
+             dfld %= divs[pos];
+          }
       }
       if (dfld)
-        msg += QString(" %1s").arg(dfld);
+         msg += QString(" %1s").arg(dfld);
    }
 
    setNumericFld(index, msg, fld.trimmed().toLongLong());
@@ -386,6 +426,11 @@ void TreeItemFormatter::setSortValue(int /* index */, const QVariant & /* value
 {
 }
 
+void TreeItemFormatter::setPixmap(int index, const QPixmap &pix)
+{
+   wdg->setIcon(index, QIcon(pix));
+}
+
 /***********************************************
  *
  * Specialized table widget used for sorting
@@ -433,6 +478,32 @@ last(NULL)
 {
 }
 
+void TableItemFormatter::setPixmap(int index, const QPixmap &pix)
+{
+// Centered, but not sortable !
+   QLabel *lbl = new QLabel();
+   lbl->setAlignment(Qt::AlignCenter);
+   lbl->setPixmap(pix);
+   parent->setCellWidget(row, index, lbl);
+}
+
+void TableItemFormatter::setPixmap(int index, const QPixmap &pix, 
+                                   const QString &tips)
+{
+// Centered, but not sortable !
+   QLabel *lbl = new QLabel();
+   lbl->setAlignment(Qt::AlignCenter);
+   lbl->setPixmap(pix);
+   if (!tips.isEmpty()) {
+      lbl->setToolTip(tips);
+   }
+   parent->setCellWidget(row, index, lbl);
+
+//   last = new BatSortingTableItem;
+//   parent->setItem(row, index, last);
+//   last->setIcon(pix);
+}
+
 void TableItemFormatter::setText(int col, const QString &fld)
 {
    last = new BatSortingTableItem;
@@ -464,4 +535,3 @@ const QTableWidgetItem *TableItemFormatter::widget(int col) const
 {
    return parent->item(row, col);
 }
-