QString KLocale::formatByteSize(double size, int precision, KLocale::BinaryUnitDialect dialect, KLocale::BinarySizeUnits specificUnit) const { return d->formatByteSize(size, precision, dialect, specificUnit); }
QString KLocale::formatByteSize(double size) const { return d->formatByteSize(size); }
void ListView::answerReceived(int id, const QList<QByteArray>& answer) { /* We received something, so the sensor is probably ok. */ sensorError(id, false); switch (id) { case 100: { /* We have received the answer to a '?' command that contains * the information about the table headers. */ if (answer.count() != 2) { kWarning(1215) << "wrong number of lines"; return; } KSGRD::SensorTokenizer headers(answer[0], '\t'); KSGRD::SensorTokenizer colTypes(answer[1], '\t'); /* add the new columns */ mModel.clear(); QStringList translatedHeaders; for (uint i = 0; i < headers.count(); i++) { translatedHeaders.append( i18nc("heading from daemon", headers[i]) ); } for(uint i =0 ; i < colTypes.count(); i++) { ColumnType type = convertColumnType(colTypes[i]); mColumnTypes.append(type); if (type == Text || type == DiskStat) mModel.addColumnAlignment(Qt::AlignLeft); else mModel.addColumnAlignment(Qt::AlignRight); } mModel.setHorizontalHeaderLabels(translatedHeaders); //If we have some header settings to restore, we can do so now if(!mHeaderSettings.isEmpty()) { mView->header()->restoreState(mHeaderSettings); mModel.sort( mView->header()->sortIndicatorSection(), mView->header()->sortIndicatorOrder() ); } break; } case 19: { for (int i = 0; i < answer.count(); i++) { KSGRD::SensorTokenizer records(answer[i], '\t'); for (uint j = 0; j < records.count() && j < mColumnTypes.count(); j++) { QStandardItem *item = new QStandardItem(); item->setEditable(false); switch( mColumnTypes[j] ) { case Int: item->setData(records[j].toLongLong(), Qt::UserRole); item->setText(records[j]); break; case Percentage: item->setData(records[j].toInt(), Qt::UserRole); item->setText(records[j] + "%"); break; case Float: item->setData(records[j].toFloat(), Qt::DisplayRole); item->setData(records[j].toFloat(), Qt::UserRole); break; case Time: item->setData(QTime::fromString(records[j]), Qt::DisplayRole); item->setData(QTime::fromString(records[j]), Qt::UserRole); break; case KByte: { item->setData(records[j].toInt(), Qt::UserRole); item->setText(formatByteSize(records[j].toLongLong(), mUnits)); break; } case DiskStat: case Text: default: item->setText(records[j]); item->setData(records[j], Qt::UserRole); } mModel.setItem(i, j, item); } } mModel.setRowCount(answer.count()); mModel.sort( mView->header()->sortIndicatorSection(), mView->header()->sortIndicatorOrder() ); break; } } }