@ -2153,17 +2153,26 @@ void GMainWindow::OnToggleFilterBar() {
void GMainWindow : : OnCaptureScreenshot ( ) {
void GMainWindow : : OnCaptureScreenshot ( ) {
OnPauseGame ( ) ;
OnPauseGame ( ) ;
QFileDialog png_dialog ( this , tr ( " Capture Screenshot " ) , UISettings : : values . screenshot_path ,
const u64 title_id = Core : : System : : GetInstance ( ) . CurrentProcess ( ) - > GetTitleID ( ) ;
const auto screenshot_path = FileUtil : : GetUserPath ( FileUtil : : UserPath : : ScreenshotsDir ) ;
const auto date = QDateTime : : currentDateTime ( )
. toString ( QStringLiteral ( " yyyy-MM-dd_hh-mm-ss-zzz " ) )
. toStdString ( ) ;
QString filename = QString : : fromStdString ( screenshot_path + fmt : : format ( " {:016X} " , title_id ) +
" _ " + date + " .png " ) ;
# ifdef _WIN32
if ( UISettings : : values . enable_screenshot_save_as ) {
filename = QFileDialog : : getSaveFileName ( this , tr ( " Capture Screenshot " ) , filename ,
tr ( " PNG Image (*.png) " ) ) ;
tr ( " PNG Image (*.png) " ) ) ;
png_dialog . setAcceptMode ( QFileDialog : : AcceptSave ) ;
if ( filename . isEmpty ( ) ) {
png_dialog . setDefaultSuffix ( QStringLiteral ( " png " ) ) ;
OnStartGame ( ) ;
if ( png_dialog . exec ( ) ) {
return ;
const QString path = png_dialog . selectedFiles ( ) . first ( ) ;
if ( ! path . isEmpty ( ) ) {
UISettings : : values . screenshot_path = QFileInfo ( path ) . path ( ) ;
render_window - > CaptureScreenshot ( UISettings : : values . screenshot_resolution_factor , path ) ;
}
}
}
}
# endif
render_window - > CaptureScreenshot ( UISettings : : values . screenshot_resolution_factor , filename ) ;
OnStartGame ( ) ;
OnStartGame ( ) ;
}
}