mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-09-11 12:05:51 +00:00
Merge pull request #23 from dolphin-emu/master
[pull] master from dolphin-emu:master
This commit is contained in:
commit
4d48aed93d
45 changed files with 298 additions and 112 deletions
|
@ -184,7 +184,10 @@ void GeneralWidget::SaveSettings()
|
|||
{
|
||||
// Video Backend
|
||||
const auto current_backend = m_backend_combo->currentData().toString().toStdString();
|
||||
if (Config::Get(Config::MAIN_GFX_BACKEND) != current_backend)
|
||||
if (Config::Get(Config::MAIN_GFX_BACKEND) == current_backend)
|
||||
return;
|
||||
|
||||
if (Config::GetActiveLayerForConfig(Config::MAIN_GFX_BACKEND) == Config::LayerType::Base)
|
||||
{
|
||||
auto warningMessage = VideoBackendBase::GetAvailableBackends()[m_backend_combo->currentIndex()]
|
||||
->GetWarningMessage();
|
||||
|
@ -205,8 +208,10 @@ void GeneralWidget::SaveSettings()
|
|||
return;
|
||||
}
|
||||
}
|
||||
emit BackendChanged(QString::fromStdString(current_backend));
|
||||
}
|
||||
|
||||
Config::SetBaseOrCurrent(Config::MAIN_GFX_BACKEND, current_backend);
|
||||
emit BackendChanged(QString::fromStdString(current_backend));
|
||||
}
|
||||
|
||||
void GeneralWidget::OnEmulationStateChanged(bool running)
|
||||
|
@ -217,6 +222,10 @@ void GeneralWidget::OnEmulationStateChanged(bool running)
|
|||
|
||||
const bool supports_adapters = !g_Config.backend_info.Adapters.empty();
|
||||
m_adapter_combo->setEnabled(!running && supports_adapters);
|
||||
|
||||
std::string current_backend = m_backend_combo->currentData().toString().toStdString();
|
||||
if (Config::Get(Config::MAIN_GFX_BACKEND) != current_backend)
|
||||
emit BackendChanged(QString::fromStdString(Config::Get(Config::MAIN_GFX_BACKEND)));
|
||||
}
|
||||
|
||||
void GeneralWidget::AddDescriptions()
|
||||
|
|
|
@ -67,7 +67,6 @@ void GraphicsWindow::CreateMainLayout()
|
|||
|
||||
void GraphicsWindow::OnBackendChanged(const QString& backend_name)
|
||||
{
|
||||
Config::SetBase(Config::MAIN_GFX_BACKEND, backend_name.toStdString());
|
||||
VideoBackendBase::PopulateBackendInfoFromUI(m_main_window->GetWindowSystemInfo());
|
||||
|
||||
setWindowTitle(
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "DolphinQt/Config/Mapping/MappingWidget.h"
|
||||
|
||||
#include <fmt/core.h>
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QFormLayout>
|
||||
|
@ -25,6 +27,7 @@
|
|||
#include "InputCommon/ControllerEmu/ControllerEmu.h"
|
||||
#include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
|
||||
#include "InputCommon/ControllerEmu/StickGate.h"
|
||||
#include "InputCommon/ControllerInterface/ControllerInterface.h"
|
||||
|
||||
MappingWidget::MappingWidget(MappingWindow* parent) : m_parent(parent)
|
||||
{
|
||||
|
@ -160,6 +163,26 @@ QGroupBox* MappingWidget::CreateGroupBox(const QString& name, ControllerEmu::Con
|
|||
[this, group] { ShowAdvancedControlGroupDialog(group); });
|
||||
}
|
||||
|
||||
if (group->type == ControllerEmu::GroupType::Cursor)
|
||||
{
|
||||
QPushButton* mouse_button = new QPushButton(tr("Use Mouse Controlled Pointing"));
|
||||
form_layout->insertRow(2, mouse_button);
|
||||
connect(mouse_button, &QCheckBox::clicked, [this, group] {
|
||||
std::string default_device = g_controller_interface.GetDefaultDeviceString() + ":";
|
||||
const std::string controller_device = GetController()->GetDefaultDevice().ToString() + ":";
|
||||
if (default_device == controller_device)
|
||||
{
|
||||
default_device.clear();
|
||||
}
|
||||
group->SetControlExpression(0, fmt::format("`{}Cursor Y-`", default_device));
|
||||
group->SetControlExpression(1, fmt::format("`{}Cursor Y+`", default_device));
|
||||
group->SetControlExpression(2, fmt::format("`{}Cursor X-`", default_device));
|
||||
group->SetControlExpression(3, fmt::format("`{}Cursor X+`", default_device));
|
||||
emit ConfigChanged();
|
||||
GetController()->UpdateReferences(g_controller_interface);
|
||||
});
|
||||
}
|
||||
|
||||
return group_box;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue