Qt: Fix playtime datatype

This commit is contained in:
Megamouse 2020-09-21 20:54:14 +02:00
parent 0b42cf06f8
commit 34eff440eb
4 changed files with 12 additions and 12 deletions

View file

@ -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 note = m_persistent_settings->GetValue(gui::persistent::notes, serial, "").toString();
QString title = m_persistent_settings->GetValue(gui::persistent::titles, serial, "").toString().simplified(); 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(); 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). // Read deprecated gui_setting values first for backwards compatibility (older than January 12th 2020).
// Restrict this to empty persistent settings to keep continuity. // 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) 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 // Deprecated values older than August 2nd 2020
if (note.isEmpty()) if (note.isEmpty())
@ -1980,7 +1980,7 @@ void game_list_frame::PopulateGameList()
} }
// Playtimes // Playtimes
const qint64 elapsed_ms = m_persistent_settings->GetPlaytime(serial); const quint64 elapsed_ms = m_persistent_settings->GetPlaytime(serial);
// Last played (support outdated values) // Last played (support outdated values)
QDate last_played; QDate last_played;

View file

@ -406,7 +406,7 @@ void gui_application::UpdatePlaytime()
return; 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->SetPlaytime(serial, playtime);
m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format)); m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format));
} }
@ -425,7 +425,7 @@ void gui_application::StopPlaytime()
return; 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->SetPlaytime(serial, playtime);
m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format)); m_persistent_settings->SetLastPlayed(serial, QDate::currentDate().toString(gui::persistent::last_played_date_format));
m_timer_playtime.invalidate(); m_timer_playtime.invalidate();

View file

@ -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)); 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<qint64>(0, elapsed); m_playtime[serial] = elapsed;
SetValue(gui::persistent::playtime, serial, m_playtime[serial]); 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<qint64>(0, m_playtime[serial]); return m_playtime[serial];
} }
void persistent_settings::SetLastPlayed(const QString& serial, const QString& date) void persistent_settings::SetLastPlayed(const QString& serial, const QString& date)

View file

@ -37,12 +37,12 @@ public:
QString GetCurrentUser(const QString& fallback) const; QString GetCurrentUser(const QString& fallback) const;
public Q_SLOTS: public Q_SLOTS:
void SetPlaytime(const QString& serial, const qint64& elapsed); void SetPlaytime(const QString& serial, const quint64& elapsed);
qint64 GetPlaytime(const QString& serial); quint64 GetPlaytime(const QString& serial);
void SetLastPlayed(const QString& serial, const QString& date); void SetLastPlayed(const QString& serial, const QString& date);
QString GetLastPlayed(const QString& serial); QString GetLastPlayed(const QString& serial);
private: private:
QMap<QString, qint64> m_playtime; QMap<QString, quint64> m_playtime;
QMap<QString, QString> m_last_played; QMap<QString, QString> m_last_played;
}; };