Merge pull request #5547 from ligfx/qthidecursor
DolphinQt2: support hiding cursor over render window
This commit is contained in:
commit
9994bee70b
|
@ -152,7 +152,6 @@ void SConfig::SaveInterfaceSettings(IniFile& ini)
|
||||||
interface->Set("UsePanicHandlers", bUsePanicHandlers);
|
interface->Set("UsePanicHandlers", bUsePanicHandlers);
|
||||||
interface->Set("OnScreenDisplayMessages", bOnScreenDisplayMessages);
|
interface->Set("OnScreenDisplayMessages", bOnScreenDisplayMessages);
|
||||||
interface->Set("HideCursor", bHideCursor);
|
interface->Set("HideCursor", bHideCursor);
|
||||||
interface->Set("AutoHideCursor", bAutoHideCursor);
|
|
||||||
interface->Set("MainWindowPosX", iPosX);
|
interface->Set("MainWindowPosX", iPosX);
|
||||||
interface->Set("MainWindowPosY", iPosY);
|
interface->Set("MainWindowPosY", iPosY);
|
||||||
interface->Set("MainWindowWidth", iWidth);
|
interface->Set("MainWindowWidth", iWidth);
|
||||||
|
@ -458,7 +457,6 @@ void SConfig::LoadInterfaceSettings(IniFile& ini)
|
||||||
interface->Get("UsePanicHandlers", &bUsePanicHandlers, true);
|
interface->Get("UsePanicHandlers", &bUsePanicHandlers, true);
|
||||||
interface->Get("OnScreenDisplayMessages", &bOnScreenDisplayMessages, true);
|
interface->Get("OnScreenDisplayMessages", &bOnScreenDisplayMessages, true);
|
||||||
interface->Get("HideCursor", &bHideCursor, false);
|
interface->Get("HideCursor", &bHideCursor, false);
|
||||||
interface->Get("AutoHideCursor", &bAutoHideCursor, false);
|
|
||||||
interface->Get("MainWindowPosX", &iPosX, INT_MIN);
|
interface->Get("MainWindowPosX", &iPosX, INT_MIN);
|
||||||
interface->Get("MainWindowPosY", &iPosY, INT_MIN);
|
interface->Get("MainWindowPosY", &iPosY, INT_MIN);
|
||||||
interface->Get("MainWindowWidth", &iWidth, -1);
|
interface->Get("MainWindowWidth", &iWidth, -1);
|
||||||
|
|
|
@ -132,7 +132,7 @@ struct SConfig : NonCopyable
|
||||||
|
|
||||||
// Interface settings
|
// Interface settings
|
||||||
bool bConfirmStop = false;
|
bool bConfirmStop = false;
|
||||||
bool bHideCursor = false, bAutoHideCursor = false;
|
bool bHideCursor = false;
|
||||||
bool bUsePanicHandlers = true;
|
bool bUsePanicHandlers = true;
|
||||||
bool bOnScreenDisplayMessages = true;
|
bool bOnScreenDisplayMessages = true;
|
||||||
std::string theme_name;
|
std::string theme_name;
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include "DolphinQt2/Host.h"
|
#include "DolphinQt2/Host.h"
|
||||||
#include "DolphinQt2/RenderWidget.h"
|
#include "DolphinQt2/RenderWidget.h"
|
||||||
|
#include "DolphinQt2/Settings.h"
|
||||||
|
|
||||||
RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
|
RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
|
@ -17,6 +18,15 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
|
||||||
connect(this, &RenderWidget::StateChanged, Host::GetInstance(), &Host::SetRenderFullscreen);
|
connect(this, &RenderWidget::StateChanged, Host::GetInstance(), &Host::SetRenderFullscreen);
|
||||||
connect(this, &RenderWidget::HandleChanged, Host::GetInstance(), &Host::SetRenderHandle);
|
connect(this, &RenderWidget::HandleChanged, Host::GetInstance(), &Host::SetRenderHandle);
|
||||||
emit HandleChanged((void*)winId());
|
emit HandleChanged((void*)winId());
|
||||||
|
|
||||||
|
connect(&Settings::Instance(), &Settings::HideCursorChanged, this,
|
||||||
|
&RenderWidget::OnHideCursorChanged);
|
||||||
|
OnHideCursorChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RenderWidget::OnHideCursorChanged()
|
||||||
|
{
|
||||||
|
setCursor(Settings::Instance().GetHideCursor() ? Qt::BlankCursor : Qt::ArrowCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RenderWidget::event(QEvent* event)
|
bool RenderWidget::event(QEvent* event)
|
||||||
|
|
|
@ -22,4 +22,7 @@ signals:
|
||||||
void HandleChanged(void* handle);
|
void HandleChanged(void* handle);
|
||||||
void FocusChanged(bool focus);
|
void FocusChanged(bool focus);
|
||||||
void StateChanged(bool fullscreen);
|
void StateChanged(bool fullscreen);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void OnHideCursorChanged();
|
||||||
};
|
};
|
||||||
|
|
|
@ -213,6 +213,17 @@ QSize Settings::GetRenderWindowSize() const
|
||||||
return value(QStringLiteral("Graphics/RenderWindowSize"), QSize(640, 480)).toSize();
|
return value(QStringLiteral("Graphics/RenderWindowSize"), QSize(640, 480)).toSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Settings::SetHideCursor(bool hide_cursor)
|
||||||
|
{
|
||||||
|
SConfig::GetInstance().bHideCursor = hide_cursor;
|
||||||
|
emit HideCursorChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Settings::GetHideCursor() const
|
||||||
|
{
|
||||||
|
return SConfig::GetInstance().bHideCursor;
|
||||||
|
}
|
||||||
|
|
||||||
bool& Settings::BannerVisible() const
|
bool& Settings::BannerVisible() const
|
||||||
{
|
{
|
||||||
return SConfig::GetInstance().m_showBannerColumn;
|
return SConfig::GetInstance().m_showBannerColumn;
|
||||||
|
|
|
@ -71,6 +71,8 @@ public:
|
||||||
bool GetRenderToMain() const;
|
bool GetRenderToMain() const;
|
||||||
bool GetFullScreen() const;
|
bool GetFullScreen() const;
|
||||||
QSize GetRenderWindowSize() const;
|
QSize GetRenderWindowSize() const;
|
||||||
|
void SetHideCursor(bool hide_cursor);
|
||||||
|
bool GetHideCursor() const;
|
||||||
|
|
||||||
// Columns
|
// Columns
|
||||||
bool& BannerVisible() const;
|
bool& BannerVisible() const;
|
||||||
|
@ -111,6 +113,7 @@ public:
|
||||||
signals:
|
signals:
|
||||||
void PathAdded(const QString&);
|
void PathAdded(const QString&);
|
||||||
void PathRemoved(const QString&);
|
void PathRemoved(const QString&);
|
||||||
|
void HideCursorChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Settings();
|
Settings();
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
#include "Common/StringUtil.h"
|
#include "Common/StringUtil.h"
|
||||||
#include "Core/ConfigManager.h"
|
#include "Core/ConfigManager.h"
|
||||||
|
|
||||||
|
#include "DolphinQt2/Settings.h"
|
||||||
|
|
||||||
InterfacePane::InterfacePane(QWidget* parent) : QWidget(parent)
|
InterfacePane::InterfacePane(QWidget* parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
CreateLayout();
|
CreateLayout();
|
||||||
|
@ -113,7 +115,8 @@ void InterfacePane::ConnectLayout()
|
||||||
connect(m_checkbox_use_panic_handlers, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
connect(m_checkbox_use_panic_handlers, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
||||||
connect(m_checkbox_enable_osd, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
connect(m_checkbox_enable_osd, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
||||||
connect(m_checkbox_pause_on_focus_lost, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
connect(m_checkbox_pause_on_focus_lost, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
||||||
connect(m_checkbox_hide_mouse, &QCheckBox::clicked, this, &InterfacePane::OnSaveConfig);
|
connect(m_checkbox_hide_mouse, &QCheckBox::clicked, &Settings::Instance(),
|
||||||
|
&Settings::SetHideCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterfacePane::LoadConfig()
|
void InterfacePane::LoadConfig()
|
||||||
|
@ -131,7 +134,7 @@ void InterfacePane::LoadConfig()
|
||||||
m_checkbox_enable_osd->setChecked(startup_params.bOnScreenDisplayMessages);
|
m_checkbox_enable_osd->setChecked(startup_params.bOnScreenDisplayMessages);
|
||||||
m_checkbox_show_active_title->setChecked(startup_params.m_show_active_title);
|
m_checkbox_show_active_title->setChecked(startup_params.m_show_active_title);
|
||||||
m_checkbox_pause_on_focus_lost->setChecked(startup_params.m_PauseOnFocusLost);
|
m_checkbox_pause_on_focus_lost->setChecked(startup_params.m_PauseOnFocusLost);
|
||||||
m_checkbox_hide_mouse->setChecked(startup_params.bAutoHideCursor);
|
m_checkbox_hide_mouse->setChecked(Settings::Instance().GetHideCursor());
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterfacePane::OnSaveConfig()
|
void InterfacePane::OnSaveConfig()
|
||||||
|
@ -148,7 +151,6 @@ void InterfacePane::OnSaveConfig()
|
||||||
settings.bOnScreenDisplayMessages = m_checkbox_enable_osd->isChecked();
|
settings.bOnScreenDisplayMessages = m_checkbox_enable_osd->isChecked();
|
||||||
settings.m_show_active_title = m_checkbox_show_active_title->isChecked();
|
settings.m_show_active_title = m_checkbox_show_active_title->isChecked();
|
||||||
settings.m_PauseOnFocusLost = m_checkbox_pause_on_focus_lost->isChecked();
|
settings.m_PauseOnFocusLost = m_checkbox_pause_on_focus_lost->isChecked();
|
||||||
settings.bAutoHideCursor = m_checkbox_hide_mouse->isChecked();
|
|
||||||
|
|
||||||
settings.SaveSettings();
|
settings.SaveSettings();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue