mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-14 02:33:51 +02:00
Unify internal units
This commit is contained in:
parent
3ee91ca9dc
commit
4024a44b7e
@ -65,12 +65,9 @@ bool CModEntry::compareVersions(QString lesser, QString greater)
|
|||||||
|
|
||||||
QString CModEntry::sizeToString(double size)
|
QString CModEntry::sizeToString(double size)
|
||||||
{
|
{
|
||||||
static const QString sizes[] =
|
static const std::array<QString, 5> sizes { "%1 B", "%1 KiB", "%1 MiB", "%1 GiB", "%1 TiB" };
|
||||||
{
|
|
||||||
/*"%1 B", */ "%1 KiB", "%1 MiB", "%1 GiB", "%1 TiB"
|
|
||||||
};
|
|
||||||
size_t index = 0;
|
size_t index = 0;
|
||||||
while(size > 1024 && index < 4)
|
while(size > 1024 && index < sizes.size())
|
||||||
{
|
{
|
||||||
size /= 1024;
|
size /= 1024;
|
||||||
index++;
|
index++;
|
||||||
|
@ -26,6 +26,11 @@
|
|||||||
#include "../../lib/CConfigHandler.h"
|
#include "../../lib/CConfigHandler.h"
|
||||||
#include "../../lib/Languages.h"
|
#include "../../lib/Languages.h"
|
||||||
|
|
||||||
|
inline double mbToBytes(double mb)
|
||||||
|
{
|
||||||
|
return mb * 1024 * 1024;
|
||||||
|
}
|
||||||
|
|
||||||
void CModListView::setupModModel()
|
void CModListView::setupModModel()
|
||||||
{
|
{
|
||||||
modModel = new CModListModel(this);
|
modModel = new CModListModel(this);
|
||||||
@ -246,7 +251,7 @@ QString CModListView::genModInfoText(CModEntry & mod)
|
|||||||
if(mod.getValue("localSize").isValid())
|
if(mod.getValue("localSize").isValid())
|
||||||
result += replaceIfNotEmpty(CModEntry::sizeToString(mod.getValue("localSize").toDouble()), lineTemplate.arg(tr("Size")));
|
result += replaceIfNotEmpty(CModEntry::sizeToString(mod.getValue("localSize").toDouble()), lineTemplate.arg(tr("Size")));
|
||||||
if((mod.isAvailable() || mod.isUpdateable()) && mod.getValue("size").isValid())
|
if((mod.isAvailable() || mod.isUpdateable()) && mod.getValue("size").isValid())
|
||||||
result += replaceIfNotEmpty(CModEntry::sizeToString(mod.getValue("size").toDouble() * 1024.0), lineTemplate.arg(tr("Download size")));
|
result += replaceIfNotEmpty(CModEntry::sizeToString(mbToBytes(mod.getValue("size").toDouble())), lineTemplate.arg(tr("Download size")));
|
||||||
|
|
||||||
result += replaceIfNotEmpty(mod.getValue("author"), lineTemplate.arg(tr("Authors")));
|
result += replaceIfNotEmpty(mod.getValue("author"), lineTemplate.arg(tr("Authors")));
|
||||||
|
|
||||||
@ -538,7 +543,7 @@ void CModListView::on_updateButton_clicked()
|
|||||||
auto mod = modModel->getMod(name);
|
auto mod = modModel->getMod(name);
|
||||||
// update required mod, install missing (can be new dependency)
|
// update required mod, install missing (can be new dependency)
|
||||||
if(mod.isUpdateable() || !mod.isInstalled())
|
if(mod.isUpdateable() || !mod.isInstalled())
|
||||||
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mod.getValue("size").toDouble() * 1024 * 1024);
|
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("size").toDouble()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -568,7 +573,7 @@ void CModListView::on_installButton_clicked()
|
|||||||
{
|
{
|
||||||
auto mod = modModel->getMod(name);
|
auto mod = modModel->getMod(name);
|
||||||
if(!mod.isInstalled())
|
if(!mod.isInstalled())
|
||||||
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mod.getValue("size").toDouble() * 1024 * 1024);
|
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("size").toDouble()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -588,7 +593,7 @@ void CModListView::downloadFile(QString file, QString url, QString description,
|
|||||||
connect(modModel, &CModListModel::dataChanged, filterModel, &QAbstractItemModel::dataChanged);
|
connect(modModel, &CModListModel::dataChanged, filterModel, &QAbstractItemModel::dataChanged);
|
||||||
|
|
||||||
|
|
||||||
QString progressBarFormat = "Downloading %s%. %p% (%v KB out of %m KB) finished";
|
QString progressBarFormat = tr("Downloading %s%. %p% (%v MB out of %m MB) finished");
|
||||||
|
|
||||||
progressBarFormat.replace("%s%", description);
|
progressBarFormat.replace("%s%", description);
|
||||||
ui->progressBar->setFormat(progressBarFormat);
|
ui->progressBar->setFormat(progressBarFormat);
|
||||||
@ -599,16 +604,16 @@ void CModListView::downloadFile(QString file, QString url, QString description,
|
|||||||
|
|
||||||
void CModListView::downloadProgress(qint64 current, qint64 max)
|
void CModListView::downloadProgress(qint64 current, qint64 max)
|
||||||
{
|
{
|
||||||
// display progress, in kilobytes
|
// display progress, in megabytes
|
||||||
ui->progressBar->setMaximum(max / 1024);
|
ui->progressBar->setMaximum(max / (1024 * 1024));
|
||||||
ui->progressBar->setValue(current / 1024);
|
ui->progressBar->setValue(current / (1024 * 1024));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModListView::downloadFinished(QStringList savedFiles, QStringList failedFiles, QStringList errors)
|
void CModListView::downloadFinished(QStringList savedFiles, QStringList failedFiles, QStringList errors)
|
||||||
{
|
{
|
||||||
QString title = "Download failed";
|
QString title = tr("Download failed");
|
||||||
QString firstLine = "Unable to download all files.\n\nEncountered errors:\n\n";
|
QString firstLine = tr("Unable to download all files.\n\nEncountered errors:\n\n");
|
||||||
QString lastLine = "\n\nInstall successfully downloaded?";
|
QString lastLine = tr("\n\nInstall successfully downloaded?");
|
||||||
bool doInstallFiles = false;
|
bool doInstallFiles = false;
|
||||||
|
|
||||||
// if all files were d/loaded there should be no errors. And on failure there must be an error
|
// if all files were d/loaded there should be no errors. And on failure there must be an error
|
||||||
@ -791,8 +796,8 @@ void CModListView::checkManagerErrors()
|
|||||||
QString errors = manager->getErrors().join('\n');
|
QString errors = manager->getErrors().join('\n');
|
||||||
if(errors.size() != 0)
|
if(errors.size() != 0)
|
||||||
{
|
{
|
||||||
QString title = "Operation failed";
|
QString title = tr("Operation failed");
|
||||||
QString description = "Encountered errors:\n" + errors;
|
QString description = tr("Encountered errors:\n") + errors;
|
||||||
QMessageBox::warning(this, title, description, QMessageBox::Ok, QMessageBox::Ok);
|
QMessageBox::warning(this, title, description, QMessageBox::Ok, QMessageBox::Ok);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -858,7 +863,7 @@ void CModListView::doInstallMod(const QString & modName)
|
|||||||
{
|
{
|
||||||
auto mod = modModel->getMod(name);
|
auto mod = modModel->getMod(name);
|
||||||
if(!mod.isInstalled())
|
if(!mod.isInstalled())
|
||||||
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mod.getValue("size").toDouble() * 1024 * 1024);
|
downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("size").toDouble()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,13 +94,12 @@ void CModManager::loadMods()
|
|||||||
{
|
{
|
||||||
for(QDirIterator iter(QString::fromStdString(CResourceHandler::get()->getResourceName(resDir)->string()), QDirIterator::Subdirectories); iter.hasNext(); iter.next())
|
for(QDirIterator iter(QString::fromStdString(CResourceHandler::get()->getResourceName(resDir)->string()), QDirIterator::Subdirectories); iter.hasNext(); iter.next())
|
||||||
total += iter.fileInfo().size();
|
total += iter.fileInfo().size();
|
||||||
total /= 1024; //to Kb
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::filesystem::path name = *CResourceHandler::get()->getResourceName(resID);
|
boost::filesystem::path name = *CResourceHandler::get()->getResourceName(resID);
|
||||||
auto mod = JsonUtils::JsonFromFile(pathToQString(name));
|
auto mod = JsonUtils::JsonFromFile(pathToQString(name));
|
||||||
auto json = JsonUtils::toJson(mod);
|
auto json = JsonUtils::toJson(mod);
|
||||||
json["localSize"].Integer() = total;
|
json["localSize"].Float() = total;
|
||||||
if(!name.is_absolute())
|
if(!name.is_absolute())
|
||||||
json["storedLocaly"].Bool() = true;
|
json["storedLocaly"].Bool() = true;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user