Qt: reset screenshot toggle in gs_frame desctructor

This commit is contained in:
Megamouse 2022-11-05 10:47:44 +01:00
parent 0e73c4598e
commit 89de913e95

View file

@ -157,6 +157,8 @@ gs_frame::~gs_frame()
#elif HAVE_QTDBUS #elif HAVE_QTDBUS
UpdateProgress(0, false); UpdateProgress(0, false);
#endif #endif
screenshot_toggle = false;
} }
void gs_frame::paintEvent(QPaintEvent *event) void gs_frame::paintEvent(QPaintEvent *event)
@ -220,6 +222,7 @@ void gs_frame::keyPressEvent(QKeyEvent *keyEvent)
switch (keyEvent->key()) switch (keyEvent->key())
{ {
case Qt::Key_L: case Qt::Key_L:
{
if (keyEvent->modifiers() == Qt::AltModifier) if (keyEvent->modifiers() == Qt::AltModifier)
{ {
static int count = 0; static int count = 0;
@ -232,21 +235,27 @@ void gs_frame::keyPressEvent(QKeyEvent *keyEvent)
return; return;
} }
break; break;
}
case Qt::Key_Return: case Qt::Key_Return:
{
if (keyEvent->modifiers() == Qt::AltModifier) if (keyEvent->modifiers() == Qt::AltModifier)
{ {
toggle_fullscreen(); toggle_fullscreen();
return; return;
} }
break; break;
}
case Qt::Key_Escape: case Qt::Key_Escape:
{
if (visibility() == FullScreen) if (visibility() == FullScreen)
{ {
toggle_fullscreen(); toggle_fullscreen();
return; return;
} }
break; break;
}
case Qt::Key_P: case Qt::Key_P:
{
if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys) if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys)
{ {
switch (Emu.GetStatus()) switch (Emu.GetStatus())
@ -269,14 +278,18 @@ void gs_frame::keyPressEvent(QKeyEvent *keyEvent)
} }
} }
break; break;
}
case Qt::Key_S: case Qt::Key_S:
{
if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys) if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys)
{ {
Emu.Kill(false, true); Emu.Kill(false, true);
return; return;
} }
break; break;
}
case Qt::Key_R: case Qt::Key_R:
{
if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys) if (keyEvent->modifiers() == Qt::ControlModifier && !m_disable_kb_hotkeys)
{ {
if (Emu.IsStopped()) if (Emu.IsStopped())
@ -289,14 +302,18 @@ void gs_frame::keyPressEvent(QKeyEvent *keyEvent)
boot_last_savestate(); boot_last_savestate();
} }
break; break;
}
case Qt::Key_C: case Qt::Key_C:
{
if (keyEvent->modifiers() == Qt::AltModifier && !m_disable_kb_hotkeys) if (keyEvent->modifiers() == Qt::AltModifier && !m_disable_kb_hotkeys)
{ {
g_user_asked_for_frame_capture = true; g_user_asked_for_frame_capture = true;
return; return;
} }
break; break;
}
case Qt::Key_F10: case Qt::Key_F10:
{
if (keyEvent->modifiers() == Qt::ControlModifier) if (keyEvent->modifiers() == Qt::ControlModifier)
{ {
g_disable_frame_limit = !g_disable_frame_limit; g_disable_frame_limit = !g_disable_frame_limit;
@ -304,9 +321,12 @@ void gs_frame::keyPressEvent(QKeyEvent *keyEvent)
return; return;
} }
break; break;
}
case Qt::Key_F12: case Qt::Key_F12:
{
screenshot_toggle = true; screenshot_toggle = true;
break; break;
}
default: default:
break; break;
} }
@ -569,7 +589,7 @@ void gs_frame::take_screenshot(std::vector<u8> data, const u32 sshot_width, cons
if (!id.empty()) if (!id.empty())
{ {
screen_path += id + "/"; screen_path += id + "/";
}; }
if (!fs::create_path(screen_path) && fs::g_tls_error != fs::error::exist) if (!fs::create_path(screen_path) && fs::g_tls_error != fs::error::exist)
{ {
@ -581,7 +601,7 @@ void gs_frame::take_screenshot(std::vector<u8> data, const u32 sshot_width, cons
if (!id.empty()) if (!id.empty())
{ {
filename += id + "_"; filename += id + "_";
}; }
filename += "screenshot_" + date_time::current_time_narrow<'_'>() + ".png"; filename += "screenshot_" + date_time::current_time_narrow<'_'>() + ".png";