summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorLillyJadeKatrin <lilly.kitty.1988@gmail.com>2024-06-12 06:25:26 -0400
committerLillyJadeKatrin <lilly.kitty.1988@gmail.com>2024-06-12 06:25:26 -0400
commit12467ffcfa8c6dfceb9e150f765cce312ea354ef (patch)
tree32ec9639a3a7ab0e8569fa511e3c0abdbac94548 /Source
parent6c5ceaa06d26eae901a6baff0efa869cb75415aa (diff)
Improved Achievement Progress Label
Label now appears atop the progress bar and reports the progress as the formatted text returned by rcheevos instead of a simple percentage.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt/Achievements/AchievementBox.cpp9
-rw-r--r--Source/Core/DolphinQt/Achievements/AchievementBox.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Achievements/AchievementBox.cpp b/Source/Core/DolphinQt/Achievements/AchievementBox.cpp
index 4b54851b39..6ecd87b8c7 100644
--- a/Source/Core/DolphinQt/Achievements/AchievementBox.cpp
+++ b/Source/Core/DolphinQt/Achievements/AchievementBox.cpp
@@ -18,6 +18,8 @@
#include "DolphinQt/QtUtils/FromStdString.h"
+static constexpr size_t PROGRESS_LENGTH = 24;
+
AchievementBox::AchievementBox(QWidget* parent, rc_client_achievement_t* achievement)
: QGroupBox(parent), m_achievement(achievement)
{
@@ -35,6 +37,8 @@ AchievementBox::AchievementBox(QWidget* parent, rc_client_achievement_t* achieve
QSizePolicy sp_retain = m_progress_bar->sizePolicy();
sp_retain.setRetainSizeWhenHidden(true);
m_progress_bar->setSizePolicy(sp_retain);
+ m_progress_label = new QLabel();
+ m_progress_label->setAlignment(Qt::AlignCenter);
QVBoxLayout* a_col_right = new QVBoxLayout();
a_col_right->addWidget(title);
@@ -42,6 +46,9 @@ AchievementBox::AchievementBox(QWidget* parent, rc_client_achievement_t* achieve
a_col_right->addWidget(points);
a_col_right->addWidget(m_status);
a_col_right->addWidget(m_progress_bar);
+ QVBoxLayout* a_prog_layout = new QVBoxLayout(m_progress_bar);
+ a_prog_layout->setContentsMargins(0, 0, 0, 0);
+ a_prog_layout->addWidget(m_progress_label);
QHBoxLayout* a_total = new QHBoxLayout();
a_total->addWidget(m_badge);
a_total->addLayout(a_col_right);
@@ -82,6 +89,8 @@ void AchievementBox::UpdateData()
{
m_progress_bar->setRange(0, 100);
m_progress_bar->setValue(m_achievement->measured_percent);
+ m_progress_bar->setTextVisible(false);
+ m_progress_label->setText(QString::fromUtf8(m_achievement->measured_progress, PROGRESS_LENGTH));
m_progress_bar->setVisible(true);
}
else
diff --git a/Source/Core/DolphinQt/Achievements/AchievementBox.h b/Source/Core/DolphinQt/Achievements/AchievementBox.h
index 1bb7ce56ad..596893b148 100644
--- a/Source/Core/DolphinQt/Achievements/AchievementBox.h
+++ b/Source/Core/DolphinQt/Achievements/AchievementBox.h
@@ -25,6 +25,7 @@ private:
QLabel* m_badge;
QLabel* m_status;
QProgressBar* m_progress_bar;
+ QLabel* m_progress_label;
rc_client_achievement_t* m_achievement;
};