Merge pull request #1942 from DarkLordZach/profile-select-game-boot
qt: Add setting to prompt for user on game boot
This commit is contained in:
		
						commit
						a6aa710b84
					
				@ -470,6 +470,8 @@ void Config::ReadValues() {
 | 
				
			|||||||
        qt_config->value("enable_discord_presence", true).toBool();
 | 
					        qt_config->value("enable_discord_presence", true).toBool();
 | 
				
			||||||
    UISettings::values.screenshot_resolution_factor =
 | 
					    UISettings::values.screenshot_resolution_factor =
 | 
				
			||||||
        static_cast<u16>(qt_config->value("screenshot_resolution_factor", 0).toUInt());
 | 
					        static_cast<u16>(qt_config->value("screenshot_resolution_factor", 0).toUInt());
 | 
				
			||||||
 | 
					    UISettings::values.select_user_on_boot =
 | 
				
			||||||
 | 
					        qt_config->value("select_user_on_boot", false).toBool();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    qt_config->beginGroup("UIGameList");
 | 
					    qt_config->beginGroup("UIGameList");
 | 
				
			||||||
    UISettings::values.show_unknown = qt_config->value("show_unknown", true).toBool();
 | 
					    UISettings::values.show_unknown = qt_config->value("show_unknown", true).toBool();
 | 
				
			||||||
@ -693,6 +695,7 @@ void Config::SaveValues() {
 | 
				
			|||||||
    qt_config->setValue("enable_discord_presence", UISettings::values.enable_discord_presence);
 | 
					    qt_config->setValue("enable_discord_presence", UISettings::values.enable_discord_presence);
 | 
				
			||||||
    qt_config->setValue("screenshot_resolution_factor",
 | 
					    qt_config->setValue("screenshot_resolution_factor",
 | 
				
			||||||
                        UISettings::values.screenshot_resolution_factor);
 | 
					                        UISettings::values.screenshot_resolution_factor);
 | 
				
			||||||
 | 
					    qt_config->setValue("select_user_on_boot", UISettings::values.select_user_on_boot);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    qt_config->beginGroup("UIGameList");
 | 
					    qt_config->beginGroup("UIGameList");
 | 
				
			||||||
    qt_config->setValue("show_unknown", UISettings::values.show_unknown);
 | 
					    qt_config->setValue("show_unknown", UISettings::values.show_unknown);
 | 
				
			||||||
 | 
				
			|||||||
@ -30,6 +30,7 @@ ConfigureGeneral::~ConfigureGeneral() = default;
 | 
				
			|||||||
void ConfigureGeneral::setConfiguration() {
 | 
					void ConfigureGeneral::setConfiguration() {
 | 
				
			||||||
    ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan);
 | 
					    ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan);
 | 
				
			||||||
    ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
 | 
					    ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
 | 
				
			||||||
 | 
					    ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot);
 | 
				
			||||||
    ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
 | 
					    ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
 | 
				
			||||||
    ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit);
 | 
					    ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit);
 | 
				
			||||||
    ui->enable_nfc->setChecked(Settings::values.enable_nfc);
 | 
					    ui->enable_nfc->setChecked(Settings::values.enable_nfc);
 | 
				
			||||||
@ -42,6 +43,7 @@ void ConfigureGeneral::PopulateHotkeyList(const HotkeyRegistry& registry) {
 | 
				
			|||||||
void ConfigureGeneral::applyConfiguration() {
 | 
					void ConfigureGeneral::applyConfiguration() {
 | 
				
			||||||
    UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
 | 
					    UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
 | 
				
			||||||
    UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
 | 
					    UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
 | 
				
			||||||
 | 
					    UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked();
 | 
				
			||||||
    UISettings::values.theme =
 | 
					    UISettings::values.theme =
 | 
				
			||||||
        ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
 | 
					        ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -38,6 +38,13 @@
 | 
				
			|||||||
            </property>
 | 
					            </property>
 | 
				
			||||||
           </widget>
 | 
					           </widget>
 | 
				
			||||||
          </item>
 | 
					          </item>
 | 
				
			||||||
 | 
					          <item>
 | 
				
			||||||
 | 
					           <widget class="QCheckBox" name="toggle_user_on_boot">
 | 
				
			||||||
 | 
					            <property name="text">
 | 
				
			||||||
 | 
					             <string>Prompt for user on game boot</string>
 | 
				
			||||||
 | 
					            </property>
 | 
				
			||||||
 | 
					           </widget>
 | 
				
			||||||
 | 
					          </item>
 | 
				
			||||||
         </layout>
 | 
					         </layout>
 | 
				
			||||||
        </item>
 | 
					        </item>
 | 
				
			||||||
       </layout>
 | 
					       </layout>
 | 
				
			||||||
 | 
				
			|||||||
@ -687,10 +687,26 @@ bool GMainWindow::LoadROM(const QString& filename) {
 | 
				
			|||||||
    return true;
 | 
					    return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GMainWindow::SelectAndSetCurrentUser() {
 | 
				
			||||||
 | 
					    QtProfileSelectionDialog dialog(this);
 | 
				
			||||||
 | 
					    dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint |
 | 
				
			||||||
 | 
					                          Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint);
 | 
				
			||||||
 | 
					    dialog.setWindowModality(Qt::WindowModal);
 | 
				
			||||||
 | 
					    dialog.exec();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (dialog.GetStatus()) {
 | 
				
			||||||
 | 
					        Settings::values.current_user = static_cast<s32>(dialog.GetIndex());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void GMainWindow::BootGame(const QString& filename) {
 | 
					void GMainWindow::BootGame(const QString& filename) {
 | 
				
			||||||
    LOG_INFO(Frontend, "yuzu starting...");
 | 
					    LOG_INFO(Frontend, "yuzu starting...");
 | 
				
			||||||
    StoreRecentFile(filename); // Put the filename on top of the list
 | 
					    StoreRecentFile(filename); // Put the filename on top of the list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (UISettings::values.select_user_on_boot) {
 | 
				
			||||||
 | 
					        SelectAndSetCurrentUser();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!LoadROM(filename))
 | 
					    if (!LoadROM(filename))
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -128,6 +128,8 @@ private:
 | 
				
			|||||||
    void ShowTelemetryCallout();
 | 
					    void ShowTelemetryCallout();
 | 
				
			||||||
    void SetDiscordEnabled(bool state);
 | 
					    void SetDiscordEnabled(bool state);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void SelectAndSetCurrentUser();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Stores the filename in the recently loaded files list.
 | 
					     * Stores the filename in the recently loaded files list.
 | 
				
			||||||
     * The new filename is stored at the beginning of the recently loaded files list.
 | 
					     * The new filename is stored at the beginning of the recently loaded files list.
 | 
				
			||||||
 | 
				
			|||||||
@ -40,6 +40,8 @@ struct Values {
 | 
				
			|||||||
    bool confirm_before_closing;
 | 
					    bool confirm_before_closing;
 | 
				
			||||||
    bool first_start;
 | 
					    bool first_start;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool select_user_on_boot;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Discord RPC
 | 
					    // Discord RPC
 | 
				
			||||||
    bool enable_discord_presence;
 | 
					    bool enable_discord_presence;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user