Qt: Add missing binding UI for PS Mouse

This commit is contained in:
Connor McLaughlin 2022-08-10 15:54:38 +10:00
parent ed3344c4ef
commit f3ec05f1ba
8 changed files with 234 additions and 0 deletions

View file

@ -34,6 +34,7 @@ set(SRCS
controllerbindingwidget_analog_joystick.ui controllerbindingwidget_analog_joystick.ui
controllerbindingwidget_digital_controller.ui controllerbindingwidget_digital_controller.ui
controllerbindingwidget_guncon.ui controllerbindingwidget_guncon.ui
controllerbindingwidget_mouse.ui
controllerbindingwidget_negcon.ui controllerbindingwidget_negcon.ui
controllerbindingwidgets.cpp controllerbindingwidgets.cpp
controllerbindingwidgets.h controllerbindingwidgets.h

View file

@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ControllerBindingWidget_Mouse</class>
<widget class="QWidget" name="ControllerBindingWidget_Mouse">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1100</width>
<height>500</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>1100</width>
<height>500</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>187</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>405</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Buttons</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Left</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="InputBindingWidget" name="Left">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="2" colspan="2">
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Right</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="InputBindingWidget" name="Right">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>405</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>187</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>InputBindingWidget</class>
<extends>QPushButton</extends>
<header>inputbindingwidgets.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="resources/resources.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -113,6 +113,9 @@ void ControllerBindingWidget::populateWidgets()
case ControllerType::NeGcon: case ControllerType::NeGcon:
m_bindings_widget = ControllerBindingWidget_NeGcon::createInstance(this); m_bindings_widget = ControllerBindingWidget_NeGcon::createInstance(this);
break; break;
case ControllerType::PlayStationMouse:
m_bindings_widget = ControllerBindingWidget_Mouse::createInstance(this);
break;
default: default:
m_bindings_widget = new ControllerBindingWidget_Base(this); m_bindings_widget = new ControllerBindingWidget_Base(this);
break; break;
@ -880,3 +883,24 @@ ControllerBindingWidget_Base* ControllerBindingWidget_GunCon::createInstance(Con
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
ControllerBindingWidget_Mouse::ControllerBindingWidget_Mouse(ControllerBindingWidget* parent)
: ControllerBindingWidget_Base(parent)
{
m_ui.setupUi(this);
initBindingWidgets();
}
ControllerBindingWidget_Mouse::~ControllerBindingWidget_Mouse() {}
QIcon ControllerBindingWidget_Mouse::getIcon() const
{
return QIcon::fromTheme(QStringLiteral("mouse-line"));
}
ControllerBindingWidget_Base* ControllerBindingWidget_Mouse::createInstance(ControllerBindingWidget* parent)
{
return new ControllerBindingWidget_Mouse(parent);
}
//////////////////////////////////////////////////////////////////////////

View file

@ -11,6 +11,7 @@
#include "ui_controllerbindingwidget_analog_joystick.h" #include "ui_controllerbindingwidget_analog_joystick.h"
#include "ui_controllerbindingwidget_digital_controller.h" #include "ui_controllerbindingwidget_digital_controller.h"
#include "ui_controllerbindingwidget_guncon.h" #include "ui_controllerbindingwidget_guncon.h"
#include "ui_controllerbindingwidget_mouse.h"
#include "ui_controllerbindingwidget_negcon.h" #include "ui_controllerbindingwidget_negcon.h"
#include "ui_controllermacroeditwidget.h" #include "ui_controllermacroeditwidget.h"
#include "ui_controllermacrowidget.h" #include "ui_controllermacrowidget.h"
@ -263,3 +264,21 @@ private:
}; };
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class ControllerBindingWidget_Mouse final : public ControllerBindingWidget_Base
{
Q_OBJECT
public:
ControllerBindingWidget_Mouse(ControllerBindingWidget* parent);
~ControllerBindingWidget_Mouse();
QIcon getIcon() const override;
static ControllerBindingWidget_Base* createInstance(ControllerBindingWidget* parent);
private:
Ui::ControllerBindingWidget_Mouse m_ui;
};
//////////////////////////////////////////////////////////////////////////

View file

@ -176,6 +176,9 @@
<QtUi Include="controllerbindingwidget_analog_joystick.ui"> <QtUi Include="controllerbindingwidget_analog_joystick.ui">
<FileType>Document</FileType> <FileType>Document</FileType>
</QtUi> </QtUi>
<QtUi Include="controllerbindingwidget_mouse.ui">
<FileType>Document</FileType>
</QtUi>
<QtUi Include="controllerbindingwidget_negcon.ui"> <QtUi Include="controllerbindingwidget_negcon.ui">
<FileType>Document</FileType> <FileType>Document</FileType>
</QtUi> </QtUi>

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.141 4c-1.582 0-2.387.169-3.128.565a3.453 3.453 0 0 0-1.448 1.448C6.169 6.753 6 7.559 6 9.14v5.718c0 1.582.169 2.387.565 3.128.337.63.818 1.111 1.448 1.448.74.396 1.546.565 3.128.565h1.718c1.582 0 2.387-.169 3.128-.565a3.453 3.453 0 0 0 1.448-1.448c.396-.74.565-1.546.565-3.128V9.14c0-1.582-.169-2.387-.565-3.128a3.453 3.453 0 0 0-1.448-1.448C15.247 4.169 14.441 4 12.86 4H11.14zm0-2h1.718c2.014 0 3.094.278 4.072.801a5.452 5.452 0 0 1 2.268 2.268c.523.978.801 2.058.801 4.072v5.718c0 2.014-.278 3.094-.801 4.072a5.452 5.452 0 0 1-2.268 2.268c-.978.523-2.058.801-4.072.801H11.14c-2.014 0-3.094-.278-4.072-.801a5.452 5.452 0 0 1-2.268-2.268C4.278 17.953 4 16.873 4 14.859V9.14c0-2.014.278-3.094.801-4.072A5.452 5.452 0 0 1 7.07 2.801C8.047 2.278 9.127 2 11.141 2zM11 6h2v5h-2V6z" fill="#000000"/></svg>

After

Width:  |  Height:  |  Size: 933 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.141 4c-1.582 0-2.387.169-3.128.565a3.453 3.453 0 0 0-1.448 1.448C6.169 6.753 6 7.559 6 9.14v5.718c0 1.582.169 2.387.565 3.128.337.63.818 1.111 1.448 1.448.74.396 1.546.565 3.128.565h1.718c1.582 0 2.387-.169 3.128-.565a3.453 3.453 0 0 0 1.448-1.448c.396-.74.565-1.546.565-3.128V9.14c0-1.582-.169-2.387-.565-3.128a3.453 3.453 0 0 0-1.448-1.448C15.247 4.169 14.441 4 12.86 4H11.14zm0-2h1.718c2.014 0 3.094.278 4.072.801a5.452 5.452 0 0 1 2.268 2.268c.523.978.801 2.058.801 4.072v5.718c0 2.014-.278 3.094-.801 4.072a5.452 5.452 0 0 1-2.268 2.268c-.978.523-2.058.801-4.072.801H11.14c-2.014 0-3.094-.278-4.072-.801a5.452 5.452 0 0 1-2.268-2.268C4.278 17.953 4 16.873 4 14.859V9.14c0-2.014.278-3.094.801-4.072A5.452 5.452 0 0 1 7.07 2.801C8.047 2.278 9.127 2 11.141 2zM11 6h2v5h-2V6z" fill="#ffffff"/></svg>

After

Width:  |  Height:  |  Size: 933 B

View file

@ -181,6 +181,7 @@
<file>icons/black/svg/keyboard-line.svg</file> <file>icons/black/svg/keyboard-line.svg</file>
<file>icons/black/svg/layout-grid-line.svg</file> <file>icons/black/svg/layout-grid-line.svg</file>
<file>icons/black/svg/list-check.svg</file> <file>icons/black/svg/list-check.svg</file>
<file>icons/black/svg/mouse-line.svg</file>
<file>icons/black/svg/paint-brush-line.svg</file> <file>icons/black/svg/paint-brush-line.svg</file>
<file>icons/black/svg/paint-fill.svg</file> <file>icons/black/svg/paint-fill.svg</file>
<file>icons/black/svg/pantone-line.svg</file> <file>icons/black/svg/pantone-line.svg</file>
@ -510,6 +511,7 @@
<file>icons/white/svg/keyboard-line.svg</file> <file>icons/white/svg/keyboard-line.svg</file>
<file>icons/white/svg/layout-grid-line.svg</file> <file>icons/white/svg/layout-grid-line.svg</file>
<file>icons/white/svg/list-check.svg</file> <file>icons/white/svg/list-check.svg</file>
<file>icons/white/svg/mouse-line.svg</file>
<file>icons/white/svg/paint-brush-line.svg</file> <file>icons/white/svg/paint-brush-line.svg</file>
<file>icons/white/svg/paint-fill.svg</file> <file>icons/white/svg/paint-fill.svg</file>
<file>icons/white/svg/pantone-line.svg</file> <file>icons/white/svg/pantone-line.svg</file>