X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fqt-console%2Futil%2Ffmtwidgetitem.cpp;h=4551e8fa92b949a7f9d736f7a76f347832f47f4d;hb=3ab03977b6f357b8c039dcfb868a50bcc37260e9;hp=f149d81cd9c1c797340cd8d45f0bc0e3ebcfc589;hpb=263987014ca29ee85fd605529db7b3cd4ca05871;p=bacula%2Fbacula diff --git a/bacula/src/qt-console/util/fmtwidgetitem.cpp b/bacula/src/qt-console/util/fmtwidgetitem.cpp index f149d81cd9..4551e8fa92 100644 --- a/bacula/src/qt-console/util/fmtwidgetitem.cpp +++ b/bacula/src/qt-console/util/fmtwidgetitem.cpp @@ -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); } -