@ -198,6 +198,31 @@ static void RemoveCachedContents() {
Common : : FS : : RemoveDirRecursively ( offline_system_data ) ;
}
static QString PrettyProductName ( ) {
# ifdef _WIN32
// After Windows 10 Version 2004, Microsoft decided to switch to a different notation: 20H2
// With that notation change they changed the registry key used to denote the current version
QSettings windows_registry (
QStringLiteral ( " HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows NT \\ CurrentVersion " ) ,
QSettings : : NativeFormat ) ;
const QString release_id = windows_registry . value ( QStringLiteral ( " ReleaseId " ) ) . toString ( ) ;
if ( release_id = = QStringLiteral ( " 2009 " ) ) {
const u32 current_build = windows_registry . value ( QStringLiteral ( " CurrentBuild " ) ) . toUInt ( ) ;
const QString display_version =
windows_registry . value ( QStringLiteral ( " DisplayVersion " ) ) . toString ( ) ;
const u32 ubr = windows_registry . value ( QStringLiteral ( " UBR " ) ) . toUInt ( ) ;
u32 version = 10 ;
if ( current_build > = 22000 ) {
version = 11 ;
}
return QStringLiteral ( " Windows %1 Version %2 (Build %3.%4) " )
. arg ( QString : : number ( version ) , display_version , QString : : number ( current_build ) ,
QString : : number ( ubr ) ) ;
}
# endif
return QSysInfo : : prettyProductName ( ) ;
}
GMainWindow : : GMainWindow ( )
: ui { std : : make_unique < Ui : : MainWindow > ( ) } , system { std : : make_unique < Core : : System > ( ) } ,
input_subsystem { std : : make_shared < InputCommon : : InputSubsystem > ( ) } ,
@ -259,7 +284,7 @@ GMainWindow::GMainWindow()
}
LOG_INFO ( Frontend , " Host CPU: {} " , cpu_string ) ;
# endif
LOG_INFO ( Frontend , " Host OS: {} " , QSysInfo: : p rettyProductName( ) . toStdString ( ) ) ;
LOG_INFO ( Frontend , " Host OS: {} " , P rettyProductName( ) . toStdString ( ) ) ;
LOG_INFO ( Frontend , " Host RAM: {:.2f} GiB " ,
Common : : GetMemInfo ( ) . TotalPhysicalMemory / f64 { 1 _GiB } ) ;
LOG_INFO ( Frontend , " Host Swap: {:.2f} GiB " , Common : : GetMemInfo ( ) . TotalSwapMemory / f64 { 1 _GiB } ) ;