mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	applets/controller: Make 8 a static constexpr value of NUM_PLAYERS
Avoids repetitive usages of the int literal '8' or calls to player_widgets.size()
This commit is contained in:
		
							parent
							
								
									5ce3015945
								
							
						
					
					
						commit
						aeec0f8a38
					
				| @ -171,14 +171,14 @@ QtControllerSelectorDialog::QtControllerSelectorDialog( | ||||
|         ui->checkboxPlayer7Connected, ui->checkboxPlayer8Connected, | ||||
|     }; | ||||
| 
 | ||||
|     for (std::size_t i = 0; i < player_widgets.size(); ++i) { | ||||
|     for (std::size_t i = 0; i < NUM_PLAYERS; ++i) { | ||||
|         connect(player_groupboxes[i], &QGroupBox::toggled, [this, i](bool checked) { | ||||
|             if (checked) { | ||||
|                 for (std::size_t index = 0; index <= i; ++index) { | ||||
|                     connected_controller_checkboxes[index]->setChecked(checked); | ||||
|                 } | ||||
|             } else { | ||||
|                 for (std::size_t index = i; index < player_widgets.size(); ++index) { | ||||
|                 for (std::size_t index = i; index < NUM_PLAYERS; ++index) { | ||||
|                     connected_controller_checkboxes[index]->setChecked(checked); | ||||
|                 } | ||||
|             } | ||||
| @ -237,6 +237,11 @@ QtControllerSelectorDialog::QtControllerSelectorDialog( | ||||
| QtControllerSelectorDialog::~QtControllerSelectorDialog() = default; | ||||
| 
 | ||||
| void QtControllerSelectorDialog::ApplyConfiguration() { | ||||
|     // Update the controller state once more, just to be sure they are properly applied.
 | ||||
|     for (std::size_t index = 0; index < NUM_PLAYERS; ++index) { | ||||
|         UpdateControllerState(index); | ||||
|     } | ||||
| 
 | ||||
|     const bool pre_docked_mode = Settings::values.use_docked_mode; | ||||
|     Settings::values.use_docked_mode = ui->radioDocked->isChecked(); | ||||
|     OnDockedModeChanged(pre_docked_mode, Settings::values.use_docked_mode); | ||||
| @ -281,7 +286,7 @@ void QtControllerSelectorDialog::CheckIfParametersMet() { | ||||
| 
 | ||||
|     // Next, check against all connected controllers.
 | ||||
|     const auto all_controllers_compatible = [this] { | ||||
|         for (std::size_t index = 0; index < player_widgets.size(); ++index) { | ||||
|         for (std::size_t index = 0; index < NUM_PLAYERS; ++index) { | ||||
|             // Skip controllers that are not used, we only care about the currently connected ones.
 | ||||
|             if (!player_groupboxes[index]->isChecked() || !player_groupboxes[index]->isEnabled()) { | ||||
|                 continue; | ||||
| @ -535,7 +540,7 @@ void QtControllerSelectorDialog::DisableUnsupportedPlayers() { | ||||
|         break; | ||||
|     } | ||||
| 
 | ||||
|     for (std::size_t index = max_supported_players; index < player_widgets.size(); ++index) { | ||||
|     for (std::size_t index = max_supported_players; index < NUM_PLAYERS; ++index) { | ||||
|         // Disconnect any unsupported players here and disable or hide them if applicable.
 | ||||
|         Settings::values.players[index].connected = false; | ||||
|         UpdateController(Settings::values.players[index].controller_type, index, false); | ||||
| @ -553,7 +558,7 @@ void QtControllerSelectorDialog::DisableUnsupportedPlayers() { | ||||
| } | ||||
| 
 | ||||
| void QtControllerSelectorDialog::LoadConfiguration() { | ||||
|     for (std::size_t index = 0; index < player_widgets.size(); ++index) { | ||||
|     for (std::size_t index = 0; index < NUM_PLAYERS; ++index) { | ||||
|         const auto connected = Settings::values.players[index].connected || | ||||
|                                (index == 0 && Settings::values.players[8].connected); | ||||
|         player_groupboxes[index]->setChecked(connected); | ||||
|  | ||||
| @ -79,36 +79,38 @@ private: | ||||
|     InputCommon::InputSubsystem* input_subsystem; | ||||
| 
 | ||||
|     // This is true if and only if all parameters are met. Otherwise, this is false.
 | ||||
|     // This determines whether the "Ok" button can be clicked to exit the applet.
 | ||||
|     // This determines whether the "OK" button can be clicked to exit the applet.
 | ||||
|     bool parameters_met{false}; | ||||
| 
 | ||||
|     static constexpr std::size_t NUM_PLAYERS = 8; | ||||
| 
 | ||||
|     // Widgets encapsulating the groupboxes and comboboxes per player.
 | ||||
|     std::array<QWidget*, 8> player_widgets; | ||||
|     std::array<QWidget*, NUM_PLAYERS> player_widgets; | ||||
| 
 | ||||
|     // Groupboxes encapsulating the controller icons and LED patterns per player.
 | ||||
|     std::array<QGroupBox*, 8> player_groupboxes; | ||||
|     std::array<QGroupBox*, NUM_PLAYERS> player_groupboxes; | ||||
| 
 | ||||
|     // Icons for currently connected controllers/players.
 | ||||
|     std::array<QWidget*, 8> connected_controller_icons; | ||||
|     std::array<QWidget*, NUM_PLAYERS> connected_controller_icons; | ||||
| 
 | ||||
|     // Labels that represent the player numbers in place of the controller icons.
 | ||||
|     std::array<QLabel*, 8> player_labels; | ||||
|     std::array<QLabel*, NUM_PLAYERS> player_labels; | ||||
| 
 | ||||
|     // LED patterns for currently connected controllers/players.
 | ||||
|     std::array<std::array<QCheckBox*, 4>, 8> led_patterns_boxes; | ||||
|     std::array<std::array<QCheckBox*, 4>, NUM_PLAYERS> led_patterns_boxes; | ||||
| 
 | ||||
|     // Labels representing additional information known as "Explain Text" per player.
 | ||||
|     std::array<QLabel*, 8> explain_text_labels; | ||||
|     std::array<QLabel*, NUM_PLAYERS> explain_text_labels; | ||||
| 
 | ||||
|     // Comboboxes with a list of emulated controllers per player.
 | ||||
|     std::array<QComboBox*, 8> emulated_controllers; | ||||
|     std::array<QComboBox*, NUM_PLAYERS> emulated_controllers; | ||||
| 
 | ||||
|     // Labels representing the number of connected controllers
 | ||||
|     // above the "Connected Controllers" checkboxes.
 | ||||
|     std::array<QLabel*, 8> connected_controller_labels; | ||||
|     std::array<QLabel*, NUM_PLAYERS> connected_controller_labels; | ||||
| 
 | ||||
|     // Checkboxes representing the "Connected Controllers".
 | ||||
|     std::array<QCheckBox*, 8> connected_controller_checkboxes; | ||||
|     std::array<QCheckBox*, NUM_PLAYERS> connected_controller_checkboxes; | ||||
| }; | ||||
| 
 | ||||
| class QtControllerSelector final : public QObject, public Core::Frontend::ControllerApplet { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Morph
						Morph