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 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;

View file

@ -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();

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));
}
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]);
}
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)

View file

@ -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<QString, qint64> m_playtime;
QMap<QString, quint64> m_playtime;
QMap<QString, QString> m_last_played;
};