summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-08-16 16:28:03 +0200
committerLioncash <mathew1800@gmail.com>2018-08-16 16:28:06 +0200
commitaac807fd3a79432480f46520f228dd38ac97b54d (patch)
treed61ec09673910fc7c86cd328229d315ad75f3f59
parentMerge pull request #1005 from DarkLordZach/registered-fmt (diff)
downloadyuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar.gz
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar.bz2
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar.lz
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar.xz
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.tar.zst
yuzu-aac807fd3a79432480f46520f228dd38ac97b54d.zip
Diffstat (limited to '')
-rw-r--r--src/yuzu/main.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index f7eee7769..2e62135f4 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -634,18 +634,22 @@ void GMainWindow::OnMenuInstallToNAND() {
if (!dest->Resize(src->GetSize()))
return false;
+ std::array<u8, 0x1000> buffer{};
+ const int progress_maximum = static_cast<int>(src->GetSize() / buffer.size());
+
QProgressDialog progress(fmt::format("Installing file \"{}\"...", src->GetName()).c_str(),
- "Cancel", 0, src->GetSize() / 0x1000, this);
+ "Cancel", 0, progress_maximum, this);
progress.setWindowModality(Qt::WindowModal);
- std::array<u8, 0x1000> buffer{};
- for (size_t i = 0; i < src->GetSize(); i += 0x1000) {
+ for (size_t i = 0; i < src->GetSize(); i += buffer.size()) {
if (progress.wasCanceled()) {
dest->Resize(0);
return false;
}
- progress.setValue(i / 0x1000);
+ const int progress_value = static_cast<int>(i / buffer.size());
+ progress.setValue(progress_value);
+
const auto read = src->Read(buffer.data(), buffer.size(), i);
dest->Write(buffer.data(), read, i);
}