mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-22 08:07:51 -05:00
yuzu: Add ui files for multiplayer rooms
This commit is contained in:
@ -11,6 +11,7 @@
|
||||
#include "core/hle/service/acc/profile_manager.h"
|
||||
#include "core/hle/service/hid/controllers/npad.h"
|
||||
#include "input_common/main.h"
|
||||
#include "network/network.h"
|
||||
#include "yuzu/configuration/config.h"
|
||||
|
||||
namespace FS = Common::FS;
|
||||
@ -584,6 +585,48 @@ void Config::ReadMiscellaneousValues() {
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::ReadMultiplayerValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Multiplayer"));
|
||||
|
||||
UISettings::values.nickname = ReadSetting(QStringLiteral("nickname"), QString{}).toString();
|
||||
UISettings::values.ip = ReadSetting(QStringLiteral("ip"), QString{}).toString();
|
||||
UISettings::values.port =
|
||||
ReadSetting(QStringLiteral("port"), Network::DefaultRoomPort).toString();
|
||||
UISettings::values.room_nickname =
|
||||
ReadSetting(QStringLiteral("room_nickname"), QString{}).toString();
|
||||
UISettings::values.room_name = ReadSetting(QStringLiteral("room_name"), QString{}).toString();
|
||||
UISettings::values.room_port =
|
||||
ReadSetting(QStringLiteral("room_port"), QStringLiteral("24872")).toString();
|
||||
bool ok;
|
||||
UISettings::values.host_type = ReadSetting(QStringLiteral("host_type"), 0).toUInt(&ok);
|
||||
if (!ok) {
|
||||
UISettings::values.host_type = 0;
|
||||
}
|
||||
UISettings::values.max_player = ReadSetting(QStringLiteral("max_player"), 8).toUInt();
|
||||
UISettings::values.game_id = ReadSetting(QStringLiteral("game_id"), 0).toULongLong();
|
||||
UISettings::values.room_description =
|
||||
ReadSetting(QStringLiteral("room_description"), QString{}).toString();
|
||||
// Read ban list back
|
||||
int size = qt_config->beginReadArray(QStringLiteral("username_ban_list"));
|
||||
UISettings::values.ban_list.first.resize(size);
|
||||
for (int i = 0; i < size; ++i) {
|
||||
qt_config->setArrayIndex(i);
|
||||
UISettings::values.ban_list.first[i] =
|
||||
ReadSetting(QStringLiteral("username")).toString().toStdString();
|
||||
}
|
||||
qt_config->endArray();
|
||||
size = qt_config->beginReadArray(QStringLiteral("ip_ban_list"));
|
||||
UISettings::values.ban_list.second.resize(size);
|
||||
for (int i = 0; i < size; ++i) {
|
||||
qt_config->setArrayIndex(i);
|
||||
UISettings::values.ban_list.second[i] =
|
||||
ReadSetting(QStringLiteral("ip")).toString().toStdString();
|
||||
}
|
||||
qt_config->endArray();
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::ReadPathValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Paths"));
|
||||
|
||||
@ -794,6 +837,7 @@ void Config::ReadUIValues() {
|
||||
ReadPathValues();
|
||||
ReadScreenshotValues();
|
||||
ReadShortcutValues();
|
||||
ReadMultiplayerValues();
|
||||
|
||||
ReadBasicSetting(UISettings::values.single_window_mode);
|
||||
ReadBasicSetting(UISettings::values.fullscreen);
|
||||
@ -1161,6 +1205,40 @@ void Config::SaveMiscellaneousValues() {
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::SaveMultiplayerValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Multiplayer"));
|
||||
|
||||
WriteSetting(QStringLiteral("nickname"), UISettings::values.nickname, QString{});
|
||||
WriteSetting(QStringLiteral("ip"), UISettings::values.ip, QString{});
|
||||
WriteSetting(QStringLiteral("port"), UISettings::values.port, Network::DefaultRoomPort);
|
||||
WriteSetting(QStringLiteral("room_nickname"), UISettings::values.room_nickname, QString{});
|
||||
WriteSetting(QStringLiteral("room_name"), UISettings::values.room_name, QString{});
|
||||
WriteSetting(QStringLiteral("room_port"), UISettings::values.room_port,
|
||||
QStringLiteral("24872"));
|
||||
WriteSetting(QStringLiteral("host_type"), UISettings::values.host_type, 0);
|
||||
WriteSetting(QStringLiteral("max_player"), UISettings::values.max_player, 8);
|
||||
WriteSetting(QStringLiteral("game_id"), UISettings::values.game_id, 0);
|
||||
WriteSetting(QStringLiteral("room_description"), UISettings::values.room_description,
|
||||
QString{});
|
||||
// Write ban list
|
||||
qt_config->beginWriteArray(QStringLiteral("username_ban_list"));
|
||||
for (std::size_t i = 0; i < UISettings::values.ban_list.first.size(); ++i) {
|
||||
qt_config->setArrayIndex(static_cast<int>(i));
|
||||
WriteSetting(QStringLiteral("username"),
|
||||
QString::fromStdString(UISettings::values.ban_list.first[i]));
|
||||
}
|
||||
qt_config->endArray();
|
||||
qt_config->beginWriteArray(QStringLiteral("ip_ban_list"));
|
||||
for (std::size_t i = 0; i < UISettings::values.ban_list.second.size(); ++i) {
|
||||
qt_config->setArrayIndex(static_cast<int>(i));
|
||||
WriteSetting(QStringLiteral("ip"),
|
||||
QString::fromStdString(UISettings::values.ban_list.second[i]));
|
||||
}
|
||||
qt_config->endArray();
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::SavePathValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Paths"));
|
||||
|
||||
@ -1347,6 +1425,7 @@ void Config::SaveUIValues() {
|
||||
SavePathValues();
|
||||
SaveScreenshotValues();
|
||||
SaveShortcutValues();
|
||||
SaveMultiplayerValues();
|
||||
|
||||
WriteBasicSetting(UISettings::values.single_window_mode);
|
||||
WriteBasicSetting(UISettings::values.fullscreen);
|
||||
|
@ -89,6 +89,7 @@ private:
|
||||
void ReadUIGamelistValues();
|
||||
void ReadUILayoutValues();
|
||||
void ReadWebServiceValues();
|
||||
void ReadMultiplayerValues();
|
||||
|
||||
void SaveValues();
|
||||
void SavePlayerValue(std::size_t player_index);
|
||||
@ -118,6 +119,7 @@ private:
|
||||
void SaveUIGamelistValues();
|
||||
void SaveUILayoutValues();
|
||||
void SaveWebServiceValues();
|
||||
void SaveMultiplayerValues();
|
||||
|
||||
/**
|
||||
* Reads a setting from the qt_config.
|
||||
|
@ -29,9 +29,10 @@
|
||||
|
||||
ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
|
||||
InputCommon::InputSubsystem* input_subsystem,
|
||||
Core::System& system_)
|
||||
: QDialog(parent), ui{std::make_unique<Ui::ConfigureDialog>()}, registry{registry_},
|
||||
system{system_}, audio_tab{std::make_unique<ConfigureAudio>(system_, this)},
|
||||
Core::System& system_, bool enable_web_config)
|
||||
: QDialog(parent), ui{std::make_unique<Ui::ConfigureDialog>()},
|
||||
registry(registry_), system{system_}, audio_tab{std::make_unique<ConfigureAudio>(system_,
|
||||
this)},
|
||||
cpu_tab{std::make_unique<ConfigureCpu>(system_, this)},
|
||||
debug_tab_tab{std::make_unique<ConfigureDebugTab>(system_, this)},
|
||||
filesystem_tab{std::make_unique<ConfigureFilesystem>(this)},
|
||||
@ -64,6 +65,7 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
|
||||
ui->tabWidget->addTab(ui_tab.get(), tr("Game List"));
|
||||
ui->tabWidget->addTab(web_tab.get(), tr("Web"));
|
||||
|
||||
web_tab->SetWebServiceConfigEnabled(enable_web_config);
|
||||
hotkeys_tab->Populate(registry);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
|
||||
|
@ -41,7 +41,8 @@ class ConfigureDialog : public QDialog {
|
||||
|
||||
public:
|
||||
explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
|
||||
InputCommon::InputSubsystem* input_subsystem, Core::System& system_);
|
||||
InputCommon::InputSubsystem* input_subsystem, Core::System& system_,
|
||||
bool enable_web_config = true);
|
||||
~ConfigureDialog() override;
|
||||
|
||||
void ApplyConfiguration();
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
#include "common/settings.h"
|
||||
#include "core/core.h"
|
||||
#include "core/network/network_interface.h"
|
||||
#include "core/internal_network/network_interface.h"
|
||||
#include "ui_configure_network.h"
|
||||
#include "yuzu/configuration/configure_network.h"
|
||||
|
||||
|
@ -169,3 +169,8 @@ void ConfigureWeb::OnLoginVerified() {
|
||||
"correctly, and that your internet connection is working."));
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigureWeb::SetWebServiceConfigEnabled(bool enabled) {
|
||||
ui->label_disable_info->setVisible(!enabled);
|
||||
ui->groupBoxWebConfig->setEnabled(enabled);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ public:
|
||||
~ConfigureWeb() override;
|
||||
|
||||
void ApplyConfiguration();
|
||||
void SetWebServiceConfigEnabled(bool enabled);
|
||||
|
||||
private:
|
||||
void changeEvent(QEvent* event) override;
|
||||
|
@ -112,6 +112,16 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_disable_info">
|
||||
<property name="text">
|
||||
<string>Web Service configuration can only be changed when a public room isn't being hosted.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
|
Reference in New Issue
Block a user