diff --git a/rpcs3/rpcs3qt/game_list_frame.cpp b/rpcs3/rpcs3qt/game_list_frame.cpp index 986f63321a..58a495d857 100644 --- a/rpcs3/rpcs3qt/game_list_frame.cpp +++ b/rpcs3/rpcs3qt/game_list_frame.cpp @@ -576,7 +576,7 @@ void game_list_frame::Refresh(const bool from_drive, const bool scroll_after) QString note = m_persistent_settings->GetValue(gui::persistent::notes, serial, "").toString(); QString title = m_persistent_settings->GetValue(gui::persistent::titles, serial, "").toString().simplified(); QString last_played = m_persistent_settings->GetValue(gui::persistent::last_played, serial, "").toString(); - int playtime = m_persistent_settings->GetValue(gui::persistent::playtime, serial, 0).toInt(); + quint64 playtime = m_persistent_settings->GetValue(gui::persistent::playtime, serial, 0).toULongLong(); // Read deprecated gui_setting values first for backwards compatibility (older than January 12th 2020). // Restrict this to empty persistent settings to keep continuity. @@ -586,7 +586,7 @@ void game_list_frame::Refresh(const bool from_drive, const bool scroll_after) } if (playtime <= 0) { - playtime = m_gui_settings->GetValue(gui::persistent::playtime, serial, 0).toInt(); + playtime = m_gui_settings->GetValue(gui::persistent::playtime, serial, 0).toULongLong(); } // Deprecated values older than August 2nd 2020 if (note.isEmpty()) @@ -1980,7 +1980,7 @@ void game_list_frame::PopulateGameList() } // Playtimes - const qint64 elapsed_ms = m_persistent_settings->GetPlaytime(serial); + const quint64 elapsed_ms = m_persistent_settings->GetPlaytime(serial); // Last played (support outdated values) QDate last_played; diff --git a/rpcs3/rpcs3qt/gui_application.cpp b/rpcs3/rpcs3qt/gui_application.cpp index 9cbd06fdfe..6eeaa0a94d 100644 --- a/rpcs3/rpcs3qt/gui_application.cpp +++ b/rpcs3/rpcs3qt/gui_application.cpp @@ -406,7 +406,7 @@ void gui_application::UpdatePlaytime() return; } - const qint64 playtime = m_persistent_settings->GetPlaytime(serial) + m_timer_playtime.restart(); + const quint64 playtime = m_persistent_settings->GetPlaytime(serial) + m_timer_playtime.restart(); m_persistent_settings->SetPlaytime(serial, playtime); m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format)); } @@ -425,7 +425,7 @@ void gui_application::StopPlaytime() return; } - const qint64 playtime = m_persistent_settings->GetPlaytime(serial) + m_timer_playtime.elapsed(); + const quint64 playtime = m_persistent_settings->GetPlaytime(serial) + m_timer_playtime.elapsed(); m_persistent_settings->SetPlaytime(serial, playtime); m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format)); m_timer_playtime.invalidate(); diff --git a/rpcs3/rpcs3qt/persistent_settings.cpp b/rpcs3/rpcs3qt/persistent_settings.cpp index 1e81b17998..d8fef4aa5f 100644 --- a/rpcs3/rpcs3qt/persistent_settings.cpp +++ b/rpcs3/rpcs3qt/persistent_settings.cpp @@ -9,15 +9,15 @@ persistent_settings::persistent_settings(QObject* parent) : settings(parent) m_settings.reset(new QSettings(ComputeSettingsDir() + gui::persistent::persistent_file_name + ".dat", QSettings::Format::IniFormat, parent)); } -void persistent_settings::SetPlaytime(const QString& serial, const qint64& elapsed) +void persistent_settings::SetPlaytime(const QString& serial, const quint64& elapsed) { - m_playtime[serial] = std::max(0, elapsed); + m_playtime[serial] = elapsed; SetValue(gui::persistent::playtime, serial, m_playtime[serial]); } -qint64 persistent_settings::GetPlaytime(const QString& serial) +quint64 persistent_settings::GetPlaytime(const QString& serial) { - return std::max(0, m_playtime[serial]); + return m_playtime[serial]; } void persistent_settings::SetLastPlayed(const QString& serial, const QString& date) diff --git a/rpcs3/rpcs3qt/persistent_settings.h b/rpcs3/rpcs3qt/persistent_settings.h index eeae86af3d..302d62437d 100644 --- a/rpcs3/rpcs3qt/persistent_settings.h +++ b/rpcs3/rpcs3qt/persistent_settings.h @@ -37,12 +37,12 @@ public: QString GetCurrentUser(const QString& fallback) const; public Q_SLOTS: - void SetPlaytime(const QString& serial, const qint64& elapsed); - qint64 GetPlaytime(const QString& serial); + void SetPlaytime(const QString& serial, const quint64& elapsed); + quint64 GetPlaytime(const QString& serial); void SetLastPlayed(const QString& serial, const QString& date); QString GetLastPlayed(const QString& serial); private: - QMap m_playtime; + QMap m_playtime; QMap m_last_played; };