Преглед изворни кода

Merge pull request #9495 from german77/no_refresh

yuzu: Automatically refresh device list
bunnei пре 3 година
родитељ
комит
343c01b87a

+ 8 - 4
src/yuzu/configuration/configure_input_player.cpp

@@ -738,13 +738,10 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
 
     connect(ui->comboDevices, qOverload<int>(&QComboBox::activated), this,
             &ConfigureInputPlayer::UpdateMappingWithDefaults);
+    ui->comboDevices->installEventFilter(this);
 
     ui->comboDevices->setCurrentIndex(-1);
 
-    ui->buttonRefreshDevices->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh")));
-    connect(ui->buttonRefreshDevices, &QPushButton::clicked,
-            [this] { emit RefreshInputDevices(); });
-
     timeout_timer->setSingleShot(true);
     connect(timeout_timer.get(), &QTimer::timeout, [this] { SetPollingResult({}, true); });
 
@@ -1479,6 +1476,13 @@ void ConfigureInputPlayer::keyPressEvent(QKeyEvent* event) {
     }
 }
 
+bool ConfigureInputPlayer::eventFilter(QObject* object, QEvent* event) {
+    if (object == ui->comboDevices && event->type() == QEvent::MouseButtonPress) {
+        RefreshInputDevices();
+    }
+    return object->eventFilter(object, event);
+}
+
 void ConfigureInputPlayer::CreateProfile() {
     const auto profile_name =
         LimitableInputDialog::GetText(this, tr("New Profile"), tr("Enter a profile name:"), 1, 30,

+ 3 - 0
src/yuzu/configuration/configure_input_player.h

@@ -119,6 +119,9 @@ private:
     /// Handle key press events.
     void keyPressEvent(QKeyEvent* event) override;
 
+    /// Handle combobox list refresh
+    bool eventFilter(QObject* object, QEvent* event) override;
+
     /// Update UI to reflect current configuration.
     void UpdateUI();
 

+ 0 - 19
src/yuzu/configuration/configure_input_player.ui

@@ -122,25 +122,6 @@
             </property>
            </widget>
           </item>
-          <item>
-           <widget class="QPushButton" name="buttonRefreshDevices">
-            <property name="minimumSize">
-             <size>
-              <width>21</width>
-              <height>21</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>21</width>
-              <height>21</height>
-             </size>
-            </property>
-            <property name="styleSheet">
-             <string notr="true"/>
-            </property>
-           </widget>
-          </item>
          </layout>
         </widget>
        </item>