14 changed files with 200 additions and 190 deletions
-
2src/core/frontend/applets/cabinet.cpp
-
7src/core/frontend/applets/cabinet.h
-
16src/core/hle/service/am/applets/applet_cabinet.cpp
-
11src/core/hle/service/am/applets/applet_cabinet.h
-
4src/core/hle/service/nfp/nfp_device.cpp
-
2src/input_common/drivers/virtual_amiibo.cpp
-
2src/input_common/drivers/virtual_amiibo.h
-
6src/yuzu/CMakeLists.txt
-
93src/yuzu/applets/qt_amiibo_manager.h
-
127src/yuzu/applets/qt_amiibo_settings.cpp
-
83src/yuzu/applets/qt_amiibo_settings.h
-
17src/yuzu/applets/qt_amiibo_settings.ui
-
14src/yuzu/main.cpp
-
6src/yuzu/main.h
@ -1,93 +0,0 @@ |
|||||
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project |
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
|
|
||||
#pragma once |
|
||||
|
|
||||
#include <array> |
|
||||
#include <memory> |
|
||||
#include <QDialog> |
|
||||
#include "core/frontend/applets/cabinet.h" |
|
||||
|
|
||||
class GMainWindow; |
|
||||
class QCheckBox; |
|
||||
class QComboBox; |
|
||||
class QDialogButtonBox; |
|
||||
class QGroupBox; |
|
||||
class QLabel; |
|
||||
|
|
||||
class InputProfiles; |
|
||||
|
|
||||
namespace InputCommon { |
|
||||
class InputSubsystem; |
|
||||
} |
|
||||
|
|
||||
namespace Ui { |
|
||||
class QtAmiiboManagerDialog; |
|
||||
} |
|
||||
|
|
||||
namespace Core { |
|
||||
class System; |
|
||||
} |
|
||||
|
|
||||
namespace Core::HID { |
|
||||
class HIDCore; |
|
||||
enum class NpadStyleIndex : u8; |
|
||||
} // namespace Core::HID |
|
||||
|
|
||||
namespace Service::NFP { |
|
||||
class NfpDevice; |
|
||||
} // namespace Service::NFP |
|
||||
|
|
||||
class QtAmiiboManagerDialog final : public QDialog { |
|
||||
Q_OBJECT |
|
||||
|
|
||||
public: |
|
||||
explicit QtAmiiboManagerDialog(QWidget* parent, Core::Frontend::CabinetParameters parameters_, |
|
||||
InputCommon::InputSubsystem* input_subsystem_, |
|
||||
std::shared_ptr<Service::NFP::NfpDevice> nfp_device_); |
|
||||
~QtAmiiboManagerDialog() override; |
|
||||
|
|
||||
int exec() override; |
|
||||
|
|
||||
std::string GetName(); |
|
||||
|
|
||||
private: |
|
||||
void LoadInfo(); |
|
||||
void LoadAmiiboApiInfo(std::string amiibo_id); |
|
||||
void LoadAmiiboData(); |
|
||||
void LoadAmiiboGameInfo(); |
|
||||
void SetGameDataName(u32 application_area_id); |
|
||||
void SetManagerDescription(); |
|
||||
|
|
||||
std::unique_ptr<Ui::QtAmiiboManagerDialog> ui; |
|
||||
|
|
||||
InputCommon::InputSubsystem* input_subsystem; |
|
||||
std::shared_ptr<Service::NFP::NfpDevice> nfp_device; |
|
||||
|
|
||||
// Parameters sent in from the backend HLE applet. |
|
||||
Core::Frontend::CabinetParameters parameters; |
|
||||
|
|
||||
// If false amiibo manager failed to load |
|
||||
bool is_initalized{}; |
|
||||
}; |
|
||||
|
|
||||
class QtAmiiboManager final : public QObject, public Core::Frontend::CabinetApplet { |
|
||||
Q_OBJECT |
|
||||
|
|
||||
public: |
|
||||
explicit QtAmiiboManager(GMainWindow& parent); |
|
||||
~QtAmiiboManager() override; |
|
||||
|
|
||||
void ShowCabinetApplet(std::function<void(bool, const std::string&)> callback_, |
|
||||
const Core::Frontend::CabinetParameters& parameters, |
|
||||
std::shared_ptr<Service::NFP::NfpDevice> nfp_device) const override; |
|
||||
|
|
||||
signals: |
|
||||
void MainWindowShowAmiiboManager(const Core::Frontend::CabinetParameters& parameters, |
|
||||
std::shared_ptr<Service::NFP::NfpDevice> nfp_device) const; |
|
||||
|
|
||||
private: |
|
||||
void MainWindowFinished(bool is_success, std::string name); |
|
||||
|
|
||||
mutable std::function<void(bool, const std::string&)> callback; |
|
||||
}; |
|
||||
@ -0,0 +1,83 @@ |
|||||
|
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project |
||||
|
// SPDX-License-Identifier: GPL-2.0-or-later |
||||
|
|
||||
|
#pragma once |
||||
|
|
||||
|
#include <array> |
||||
|
#include <memory> |
||||
|
#include <QDialog> |
||||
|
#include "core/frontend/applets/cabinet.h" |
||||
|
|
||||
|
class GMainWindow; |
||||
|
class QCheckBox; |
||||
|
class QComboBox; |
||||
|
class QDialogButtonBox; |
||||
|
class QGroupBox; |
||||
|
class QLabel; |
||||
|
|
||||
|
namespace InputCommon { |
||||
|
class InputSubsystem; |
||||
|
} |
||||
|
|
||||
|
namespace Ui { |
||||
|
class QtAmiiboSettingsDialog; |
||||
|
} |
||||
|
|
||||
|
namespace Service::NFP { |
||||
|
class NfpDevice; |
||||
|
} // namespace Service::NFP |
||||
|
|
||||
|
class QtAmiiboSettingsDialog final : public QDialog { |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
explicit QtAmiiboSettingsDialog(QWidget* parent, Core::Frontend::CabinetParameters parameters_, |
||||
|
InputCommon::InputSubsystem* input_subsystem_, |
||||
|
std::shared_ptr<Service::NFP::NfpDevice> nfp_device_); |
||||
|
~QtAmiiboSettingsDialog() override; |
||||
|
|
||||
|
int exec() override; |
||||
|
|
||||
|
std::string GetName() const; |
||||
|
|
||||
|
private: |
||||
|
void LoadInfo(); |
||||
|
void LoadAmiiboInfo(); |
||||
|
void LoadAmiiboApiInfo(std::string_view amiibo_id); |
||||
|
void LoadAmiiboData(); |
||||
|
void LoadAmiiboGameInfo(); |
||||
|
void SetGameDataName(u32 application_area_id); |
||||
|
void SetSettingsDescription(); |
||||
|
|
||||
|
std::unique_ptr<Ui::QtAmiiboSettingsDialog> ui; |
||||
|
|
||||
|
InputCommon::InputSubsystem* input_subsystem; |
||||
|
std::shared_ptr<Service::NFP::NfpDevice> nfp_device; |
||||
|
|
||||
|
// Parameters sent in from the backend HLE applet. |
||||
|
Core::Frontend::CabinetParameters parameters; |
||||
|
|
||||
|
// If false amiibo settings failed to load |
||||
|
bool is_initalized{}; |
||||
|
}; |
||||
|
|
||||
|
class QtAmiiboSettings final : public QObject, public Core::Frontend::CabinetApplet { |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
explicit QtAmiiboSettings(GMainWindow& parent); |
||||
|
~QtAmiiboSettings() override; |
||||
|
|
||||
|
void ShowCabinetApplet(const Core::Frontend::CabinetCallback& callback_, |
||||
|
const Core::Frontend::CabinetParameters& parameters, |
||||
|
std::shared_ptr<Service::NFP::NfpDevice> nfp_device) const override; |
||||
|
|
||||
|
signals: |
||||
|
void MainWindowShowAmiiboSettings(const Core::Frontend::CabinetParameters& parameters, |
||||
|
std::shared_ptr<Service::NFP::NfpDevice> nfp_device) const; |
||||
|
|
||||
|
private: |
||||
|
void MainWindowFinished(bool is_success, const std::string& name); |
||||
|
|
||||
|
mutable Core::Frontend::CabinetCallback callback; |
||||
|
}; |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue