Skip to content

Commit abad7f2

Browse files
committed
SaveState Manager: Format specially close dates
1 parent c683b47 commit abad7f2

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

rpcs3/rpcs3qt/qt_utils.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -664,9 +664,22 @@ namespace gui
664664
return dateTime;
665665
}
666666

667-
QString format_datetime(const QDateTime& date, const QString& fmt)
667+
QString format_datetime(const QDateTime& date, const QString& fmt, bool is_relative, const QString& fmt_relative)
668668
{
669-
return date.toString(fmt);
669+
const qint64 exctrated_date = date.date().toJulianDay();
670+
const qint64 current_date = QDate::currentDate().toJulianDay();
671+
672+
if (!is_relative || exctrated_date > current_date || current_date - exctrated_date >= 3)
673+
{
674+
return date.toString(fmt);
675+
}
676+
677+
if (current_date == exctrated_date)
678+
{
679+
return QString("Today %1").arg(date.toString(fmt_relative));
680+
}
681+
682+
return QString("%1 days ago %2").arg(current_date - exctrated_date).arg(date.toString(fmt_relative));
670683
}
671684

672685
QString format_timestamp(s64 time, const QString& fmt)

rpcs3/rpcs3qt/qt_utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ namespace gui
161161
QDateTime datetime(s64 time);
162162

163163
// Convert a QDateTime to a readable string
164-
QString format_datetime(const QDateTime& date, const QString& fmt = "yyyy-MM-dd HH:mm:ss");
164+
QString format_datetime(const QDateTime& date, const QString& fmt = "yyyy-MM-dd HH:mm:ss", bool is_relative = false, const QString& fmt_relative = "HH:mm:ss");
165165

166166
// Convert a timestamp to a readable string
167167
QString format_timestamp(s64 time, const QString& fmt = "yyyy-MM-dd HH:mm:ss");

rpcs3/rpcs3qt/savestate_manager_dialog.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ void savestate_manager_dialog::PopulateSavestateTable()
686686
const savestate_data& savestate = savestates[i];
687687
m_savestate_table->setItem(i, static_cast<int>(gui::savestate_list_columns::name), new custom_table_widget_item(savestate.name));
688688
m_savestate_table->setItem(i, static_cast<int>(gui::savestate_list_columns::compatible), new custom_table_widget_item(savestate.is_compatible ? tr("Compatible") : tr("Not compatible"), Qt::UserRole, savestate.is_compatible));
689-
m_savestate_table->setItem(i, static_cast<int>(gui::savestate_list_columns::date), new custom_table_widget_item(gui::utils::format_datetime(savestate.date), Qt::UserRole, savestate.date));
689+
m_savestate_table->setItem(i, static_cast<int>(gui::savestate_list_columns::date), new custom_table_widget_item(gui::utils::format_datetime(savestate.date, "yyyy-MM-dd HH:mm", true, "HH:mm"), Qt::UserRole, savestate.date));
690690
m_savestate_table->setItem(i, static_cast<int>(gui::savestate_list_columns::path), new custom_table_widget_item(savestate.path));
691691
}
692692

0 commit comments

Comments
 (0)