Merge pull request #8450 from jordan-woyak/mapping-button-fix

DolphinQt: Fix output mapping button spacebar activation and tooltip.
This commit is contained in:
Connor McLaughlin 2019-11-08 10:30:33 +10:00 committed by GitHub
commit 7c8a255ce1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 11 deletions

View File

@ -53,10 +53,17 @@ MappingButton::MappingButton(MappingWidget* parent, ControlReference* ref, bool
setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
if (IsInput())
{
setToolTip(
tr("Left-click to detect input.\nMiddle-click to clear.\nRight-click for more options."));
}
else
{
setToolTip(tr("Left/Right-click to configure output.\nMiddle-click to clear."));
}
connect(this, &MappingButton::clicked, this, &MappingButton::Detect);
connect(this, &MappingButton::clicked, this, &MappingButton::Clicked);
if (indicator)
connect(parent, &MappingWidget::Update, this, &MappingButton::UpdateIndicator);
@ -74,10 +81,13 @@ void MappingButton::AdvancedPressed()
m_parent->SaveSettings();
}
void MappingButton::Detect()
void MappingButton::Clicked()
{
if (!m_reference->IsInput())
{
AdvancedPressed();
return;
}
const auto default_device_qualifier = m_parent->GetController()->GetDefaultDevice();
@ -141,12 +151,6 @@ void MappingButton::mouseReleaseEvent(QMouseEvent* event)
{
switch (event->button())
{
case Qt::MouseButton::LeftButton:
if (m_reference->IsInput())
QPushButton::mouseReleaseEvent(event);
else
AdvancedPressed();
return;
case Qt::MouseButton::MidButton:
Clear();
return;
@ -154,6 +158,7 @@ void MappingButton::mouseReleaseEvent(QMouseEvent* event)
AdvancedPressed();
return;
default:
QPushButton::mouseReleaseEvent(event);
return;
}
}

View File

@ -18,7 +18,6 @@ class MappingButton : public ElidedButton
public:
MappingButton(MappingWidget* widget, ControlReference* ref, bool indicator);
void Detect();
bool IsInput() const;
private:
@ -27,6 +26,7 @@ private:
void ConfigChanged();
void AdvancedPressed();
void Clicked();
void mouseReleaseEvent(QMouseEvent* event) override;
MappingWidget* m_parent;