Merge pull request #11601 from Dentomologist/bluetooth_adapter_missing_message

Config: Restore Bluetooth adapter missing message in Controller Settings
This commit is contained in:
Admiral H. Curtiss 2023-03-09 16:10:14 +01:00 committed by GitHub
commit 8c7997d6ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 28 additions and 0 deletions

View File

@ -131,6 +131,11 @@ void ProcessWiimotePool()
}
}
bool IsScannerReady()
{
return s_wiimote_scanner.IsReady();
}
void AddWiimoteToPool(std::unique_ptr<Wiimote> wiimote)
{
// Our real wiimote class requires an index.

View File

@ -223,4 +223,5 @@ void InitAdapterClass();
void HandleWiimotesInControllerInterfaceSettingChange();
void PopulateDevices();
void ProcessWiimotePool();
bool IsScannerReady();
} // namespace WiimoteReal

View File

@ -23,6 +23,12 @@ ControllersWindow::ControllersWindow(QWidget* parent) : QDialog(parent)
ConnectWidgets();
}
void ControllersWindow::showEvent(QShowEvent* event)
{
QDialog::showEvent(event);
m_wiimote_controllers->UpdateBluetoothAvailableStatus();
}
void ControllersWindow::CreateMainLayout()
{
auto* layout = new QVBoxLayout();

View File

@ -8,6 +8,7 @@
class CommonControllersWidget;
class GamecubeControllersWidget;
class QDialogButtonBox;
class QShowEvent;
class WiimoteControllersWidget;
class ControllersWindow final : public QDialog
@ -16,6 +17,9 @@ class ControllersWindow final : public QDialog
public:
explicit ControllersWindow(QWidget* parent);
protected:
void showEvent(QShowEvent* event) override;
private:
void CreateMainLayout();
void ConnectWidgets();

View File

@ -50,6 +50,11 @@ WiimoteControllersWidget::WiimoteControllersWidget(QWidget* parent) : QWidget(pa
LoadSettings(Core::GetState());
}
void WiimoteControllersWidget::UpdateBluetoothAvailableStatus()
{
m_bluetooth_unavailable->setHidden(WiimoteReal::IsScannerReady());
}
static int GetRadioButtonIndicatorWidth()
{
const QStyle* style = QApplication::style();
@ -151,6 +156,10 @@ void WiimoteControllersWidget::CreateLayout()
m_wiimote_layout->addWidget(m_wiimote_continuous_scanning, continuous_scanning_row, 0, 1, 3);
m_wiimote_layout->addWidget(m_wiimote_refresh, continuous_scanning_row, 3);
m_bluetooth_unavailable = new QLabel(tr("A supported Bluetooth device could not be found.\n"
"You must manually connect your Wii Remote."));
m_wiimote_layout->addWidget(m_bluetooth_unavailable, m_wiimote_layout->rowCount(), 1, 1, -1);
auto* layout = new QVBoxLayout;
layout->setContentsMargins(0, 0, 0, 0);
layout->setAlignment(Qt::AlignTop);

View File

@ -27,6 +27,8 @@ class WiimoteControllersWidget final : public QWidget
public:
explicit WiimoteControllersWidget(QWidget* parent);
void UpdateBluetoothAvailableStatus();
private:
void SaveSettings();
void OnBluetoothPassthroughSyncPressed();
@ -55,4 +57,5 @@ private:
QCheckBox* m_wiimote_speaker_data;
QCheckBox* m_wiimote_ciface;
QPushButton* m_wiimote_refresh;
QLabel* m_bluetooth_unavailable;
};