| 24 | |
| 25 | |
| 26 | QString formatBytes(qint64 bytes) |
| 27 | { |
| 28 | QVector<QString> sizes; |
| 29 | sizes.push_back(TextureTab::tr(" GiB")); |
| 30 | sizes.push_back(TextureTab::tr(" MiB")); |
| 31 | sizes.push_back(TextureTab::tr(" KiB")); |
| 32 | sizes.push_back(TextureTab::tr(" B")); |
| 33 | static const qint64 startMultiplier = std::pow(1024.0f, sizes.size() - 1); |
| 34 | |
| 35 | qint64 multiplier = startMultiplier; |
| 36 | for (int i = 0; i < sizes.size(); ++i, multiplier /= 1024) { |
| 37 | if (bytes < multiplier) |
| 38 | continue; |
| 39 | else if (bytes % multiplier == 0) |
| 40 | return QString::number(bytes / multiplier) + sizes.at(i); |
| 41 | else |
| 42 | return QString::number(bytes / static_cast<qreal>(multiplier), 'f', 2) + sizes.at(i); |
| 43 | } |
| 44 | return TextureTab::tr("0 B"); |
| 45 | } |
| 46 | |
| 47 | TextureTab::TextureTab(PropertyWidget *parent) |
| 48 | : QWidget(parent) |