diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | src/yuzu/applets/qt_software_keyboard.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.h | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure.ui | 10 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_dialog.cpp | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player_widget.cpp | 34 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_network.cpp (renamed from src/yuzu/configuration/configure_service.cpp) | 39 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_network.h (renamed from src/yuzu/configuration/configure_service.h) | 10 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_network.ui (renamed from src/yuzu/configuration/configure_service.ui) | 63 | 
10 files changed, 107 insertions, 69 deletions
| diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index cb4bdcc7e..cf68a95b5 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -102,9 +102,9 @@ add_executable(yuzu      configuration/configure_profile_manager.cpp      configuration/configure_profile_manager.h      configuration/configure_profile_manager.ui -    configuration/configure_service.cpp -    configuration/configure_service.h -    configuration/configure_service.ui +    configuration/configure_network.cpp +    configuration/configure_network.h +    configuration/configure_network.ui      configuration/configure_system.cpp      configuration/configure_system.h      configuration/configure_system.ui diff --git a/src/yuzu/applets/qt_software_keyboard.cpp b/src/yuzu/applets/qt_software_keyboard.cpp index 848801cec..8fc0c5a36 100644 --- a/src/yuzu/applets/qt_software_keyboard.cpp +++ b/src/yuzu/applets/qt_software_keyboard.cpp @@ -438,7 +438,7 @@ void QtSoftwareKeyboardDialog::ShowInlineKeyboard(      initialize_parameters.key_disable_flags = appear_parameters.key_disable_flags;      initialize_parameters.enable_backspace_button = appear_parameters.enable_backspace_button;      initialize_parameters.enable_return_button = appear_parameters.enable_return_button; -    initialize_parameters.disable_cancel_button = initialize_parameters.disable_cancel_button; +    initialize_parameters.disable_cancel_button = appear_parameters.disable_cancel_button;      SetKeyboardType();      SetControllerImage(); diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 380379eb4..377795326 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -692,6 +692,7 @@ void Config::ReadServiceValues() {      qt_config->beginGroup(QStringLiteral("Services"));      ReadBasicSetting(Settings::values.bcat_backend);      ReadBasicSetting(Settings::values.bcat_boxcat_local); +    ReadBasicSetting(Settings::values.network_interface);      qt_config->endGroup();  } @@ -1144,7 +1145,7 @@ void Config::SaveValues() {          SaveDataStorageValues();          SaveDebuggingValues();          SaveDisabledAddOnValues(); -        SaveServiceValues(); +        SaveNetworkValues();          SaveUIValues();          SaveWebServiceValues();          SaveMiscellaneousValues(); @@ -1238,11 +1239,12 @@ void Config::SaveDebuggingValues() {      qt_config->endGroup();  } -void Config::SaveServiceValues() { +void Config::SaveNetworkValues() {      qt_config->beginGroup(QStringLiteral("Services"));      WriteBasicSetting(Settings::values.bcat_backend);      WriteBasicSetting(Settings::values.bcat_boxcat_local); +    WriteBasicSetting(Settings::values.network_interface);      qt_config->endGroup();  } diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index c1d7feb9f..9555f4498 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -88,7 +88,7 @@ private:      void SaveCoreValues();      void SaveDataStorageValues();      void SaveDebuggingValues(); -    void SaveServiceValues(); +    void SaveNetworkValues();      void SaveDisabledAddOnValues();      void SaveMiscellaneousValues();      void SavePathValues(); diff --git a/src/yuzu/configuration/configure.ui b/src/yuzu/configuration/configure.ui index fca9aed5f..6258dcf20 100644 --- a/src/yuzu/configuration/configure.ui +++ b/src/yuzu/configuration/configure.ui @@ -147,12 +147,12 @@           <string>Web</string>          </attribute>         </widget> -       <widget class="ConfigureService" name="serviceTab"> +       <widget class="ConfigureNetwork" name="networkTab">          <property name="accessibleName"> -         <string>Services</string> +         <string>Network</string>          </property>          <attribute name="title"> -         <string>Services</string> +         <string>Network</string>          </attribute>         </widget>        </widget> @@ -242,9 +242,9 @@     <container>1</container>    </customwidget>    <customwidget> -   <class>ConfigureService</class> +   <class>ConfigureNetwork</class>     <extends>QWidget</extends> -   <header>configuration/configure_service.h</header> +   <header>configuration/configure_network.h</header>     <container>1</container>    </customwidget>    <customwidget> diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp index bc009b6b3..fe4186157 100644 --- a/src/yuzu/configuration/configure_dialog.cpp +++ b/src/yuzu/configuration/configure_dialog.cpp @@ -67,7 +67,7 @@ void ConfigureDialog::ApplyConfiguration() {      ui->audioTab->ApplyConfiguration();      ui->debugTab->ApplyConfiguration();      ui->webTab->ApplyConfiguration(); -    ui->serviceTab->ApplyConfiguration(); +    ui->networkTab->ApplyConfiguration();      Core::System::GetInstance().ApplySettings();      Settings::LogSettings();  } @@ -103,7 +103,7 @@ Q_DECLARE_METATYPE(QList<QWidget*>);  void ConfigureDialog::PopulateSelectionList() {      const std::array<std::pair<QString, QList<QWidget*>>, 6> items{          {{tr("General"), {ui->generalTab, ui->hotkeysTab, ui->uiTab, ui->webTab, ui->debugTab}}, -         {tr("System"), {ui->systemTab, ui->profileManagerTab, ui->serviceTab, ui->filesystemTab}}, +         {tr("System"), {ui->systemTab, ui->profileManagerTab, ui->networkTab, ui->filesystemTab}},           {tr("CPU"), {ui->cpuTab}},           {tr("Graphics"), {ui->graphicsTab, ui->graphicsAdvancedTab}},           {tr("Audio"), {ui->audioTab}}, diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp index cd633e45f..9c890ed5d 100644 --- a/src/yuzu/configuration/configure_input_player_widget.cpp +++ b/src/yuzu/configuration/configure_input_player_widget.cpp @@ -647,18 +647,18 @@ void PlayerControlPreview::DrawHandheldController(QPainter& p, const QPointF cen      // Face buttons      p.setPen(colors.outline);      button_color = colors.button; -    DrawCircleButton(p, face_center + QPoint(face_distance, 0), button_values[A], face_radius); -    DrawCircleButton(p, face_center + QPoint(0, face_distance), button_values[B], face_radius); -    DrawCircleButton(p, face_center + QPoint(0, -face_distance), button_values[X], face_radius); -    DrawCircleButton(p, face_center + QPoint(-face_distance, 0), button_values[Y], face_radius); +    DrawCircleButton(p, face_center + QPointF(face_distance, 0), button_values[A], face_radius); +    DrawCircleButton(p, face_center + QPointF(0, face_distance), button_values[B], face_radius); +    DrawCircleButton(p, face_center + QPointF(0, -face_distance), button_values[X], face_radius); +    DrawCircleButton(p, face_center + QPointF(-face_distance, 0), button_values[Y], face_radius);      // Face buttons text      p.setPen(colors.transparent);      p.setBrush(colors.font); -    DrawSymbol(p, face_center + QPoint(face_distance, 0), Symbol::A, text_size); -    DrawSymbol(p, face_center + QPoint(0, face_distance), Symbol::B, text_size); -    DrawSymbol(p, face_center + QPoint(0, -face_distance), Symbol::X, text_size); -    DrawSymbol(p, face_center + QPoint(-face_distance, 1), Symbol::Y, text_size); +    DrawSymbol(p, face_center + QPointF(face_distance, 0), Symbol::A, text_size); +    DrawSymbol(p, face_center + QPointF(0, face_distance), Symbol::B, text_size); +    DrawSymbol(p, face_center + QPointF(0, -face_distance), Symbol::X, text_size); +    DrawSymbol(p, face_center + QPointF(-face_distance, 1), Symbol::Y, text_size);      // D-pad constants      const QPointF dpad_center = center + QPoint(-171, 8); @@ -669,18 +669,20 @@ void PlayerControlPreview::DrawHandheldController(QPainter& p, const QPointF cen      // D-pad buttons      p.setPen(colors.outline);      button_color = colors.button; -    DrawCircleButton(p, dpad_center + QPoint(dpad_distance, 0), button_values[DRight], dpad_radius); -    DrawCircleButton(p, dpad_center + QPoint(0, dpad_distance), button_values[DDown], dpad_radius); -    DrawCircleButton(p, dpad_center + QPoint(0, -dpad_distance), button_values[DUp], dpad_radius); -    DrawCircleButton(p, dpad_center + QPoint(-dpad_distance, 0), button_values[DLeft], dpad_radius); +    DrawCircleButton(p, dpad_center + QPointF(dpad_distance, 0), button_values[DRight], +                     dpad_radius); +    DrawCircleButton(p, dpad_center + QPointF(0, dpad_distance), button_values[DDown], dpad_radius); +    DrawCircleButton(p, dpad_center + QPointF(0, -dpad_distance), button_values[DUp], dpad_radius); +    DrawCircleButton(p, dpad_center + QPointF(-dpad_distance, 0), button_values[DLeft], +                     dpad_radius);      // D-pad arrows      p.setPen(colors.font2);      p.setBrush(colors.font2); -    DrawArrow(p, dpad_center + QPoint(dpad_distance, 0), Direction::Right, dpad_arrow_size); -    DrawArrow(p, dpad_center + QPoint(0, dpad_distance), Direction::Down, dpad_arrow_size); -    DrawArrow(p, dpad_center + QPoint(0, -dpad_distance), Direction::Up, dpad_arrow_size); -    DrawArrow(p, dpad_center + QPoint(-dpad_distance, 0), Direction::Left, dpad_arrow_size); +    DrawArrow(p, dpad_center + QPointF(dpad_distance, 0), Direction::Right, dpad_arrow_size); +    DrawArrow(p, dpad_center + QPointF(0, dpad_distance), Direction::Down, dpad_arrow_size); +    DrawArrow(p, dpad_center + QPointF(0, -dpad_distance), Direction::Up, dpad_arrow_size); +    DrawArrow(p, dpad_center + QPointF(-dpad_distance, 0), Direction::Left, dpad_arrow_size);      // ZL and ZR buttons      p.setPen(colors.outline); diff --git a/src/yuzu/configuration/configure_service.cpp b/src/yuzu/configuration/configure_network.cpp index 4aa424803..ae22f1018 100644 --- a/src/yuzu/configuration/configure_service.cpp +++ b/src/yuzu/configuration/configure_network.cpp @@ -5,9 +5,11 @@  #include <QGraphicsItem>  #include <QtConcurrent/QtConcurrent>  #include "common/settings.h" +#include "core/core.h"  #include "core/hle/service/bcat/backend/boxcat.h" -#include "ui_configure_service.h" -#include "yuzu/configuration/configure_service.h" +#include "core/network/network_interface.h" +#include "ui_configure_network.h" +#include "yuzu/configuration/configure_network.h"  #ifdef YUZU_ENABLE_BOXCAT  namespace { @@ -35,8 +37,8 @@ QString FormatEventStatusString(const Service::BCAT::EventStatus& status) {  } // Anonymous namespace  #endif -ConfigureService::ConfigureService(QWidget* parent) -    : QWidget(parent), ui(std::make_unique<Ui::ConfigureService>()) { +ConfigureNetwork::ConfigureNetwork(QWidget* parent) +    : QWidget(parent), ui(std::make_unique<Ui::ConfigureNetwork>()) {      ui->setupUi(this);      ui->bcat_source->addItem(QStringLiteral("None")); @@ -47,29 +49,42 @@ ConfigureService::ConfigureService(QWidget* parent)      ui->bcat_source->addItem(QStringLiteral("Boxcat"), QStringLiteral("boxcat"));  #endif +    ui->network_interface->addItem(tr("None")); +    for (const auto& iface : Network::GetAvailableNetworkInterfaces()) { +        ui->network_interface->addItem(QString::fromStdString(iface.name)); +    } +      connect(ui->bcat_source, QOverload<int>::of(&QComboBox::currentIndexChanged), this, -            &ConfigureService::OnBCATImplChanged); +            &ConfigureNetwork::OnBCATImplChanged);      this->SetConfiguration();  } -ConfigureService::~ConfigureService() = default; +ConfigureNetwork::~ConfigureNetwork() = default; -void ConfigureService::ApplyConfiguration() { +void ConfigureNetwork::ApplyConfiguration() {      Settings::values.bcat_backend = ui->bcat_source->currentText().toLower().toStdString(); +    Settings::values.network_interface = ui->network_interface->currentText().toStdString();  } -void ConfigureService::RetranslateUi() { +void ConfigureNetwork::RetranslateUi() {      ui->retranslateUi(this);  } -void ConfigureService::SetConfiguration() { +void ConfigureNetwork::SetConfiguration() { +    const bool runtime_lock = !Core::System::GetInstance().IsPoweredOn(); +      const int index =          ui->bcat_source->findData(QString::fromStdString(Settings::values.bcat_backend.GetValue()));      ui->bcat_source->setCurrentIndex(index == -1 ? 0 : index); + +    const std::string& network_interface = Settings::values.network_interface.GetValue(); + +    ui->network_interface->setCurrentText(QString::fromStdString(network_interface)); +    ui->network_interface->setEnabled(runtime_lock);  } -std::pair<QString, QString> ConfigureService::BCATDownloadEvents() { +std::pair<QString, QString> ConfigureNetwork::BCATDownloadEvents() {  #ifdef YUZU_ENABLE_BOXCAT      std::optional<std::string> global;      std::map<std::string, Service::BCAT::EventStatus> map; @@ -114,7 +129,7 @@ std::pair<QString, QString> ConfigureService::BCATDownloadEvents() {  #endif  } -void ConfigureService::OnBCATImplChanged() { +void ConfigureNetwork::OnBCATImplChanged() {  #ifdef YUZU_ENABLE_BOXCAT      const auto boxcat = ui->bcat_source->currentText() == QStringLiteral("Boxcat");      ui->bcat_empty_header->setHidden(!boxcat); @@ -133,7 +148,7 @@ void ConfigureService::OnBCATImplChanged() {  #endif  } -void ConfigureService::OnUpdateBCATEmptyLabel(std::pair<QString, QString> string) { +void ConfigureNetwork::OnUpdateBCATEmptyLabel(std::pair<QString, QString> string) {  #ifdef YUZU_ENABLE_BOXCAT      const auto boxcat = ui->bcat_source->currentText() == QStringLiteral("Boxcat");      if (boxcat) { diff --git a/src/yuzu/configuration/configure_service.h b/src/yuzu/configuration/configure_network.h index f5c1b703a..442b68e6b 100644 --- a/src/yuzu/configuration/configure_service.h +++ b/src/yuzu/configuration/configure_network.h @@ -9,15 +9,15 @@  #include <QWidget>  namespace Ui { -class ConfigureService; +class ConfigureNetwork;  } -class ConfigureService : public QWidget { +class ConfigureNetwork : public QWidget {      Q_OBJECT  public: -    explicit ConfigureService(QWidget* parent = nullptr); -    ~ConfigureService() override; +    explicit ConfigureNetwork(QWidget* parent = nullptr); +    ~ConfigureNetwork() override;      void ApplyConfiguration();      void RetranslateUi(); @@ -29,6 +29,6 @@ private:      void OnBCATImplChanged();      void OnUpdateBCATEmptyLabel(std::pair<QString, QString> string); -    std::unique_ptr<Ui::ConfigureService> ui; +    std::unique_ptr<Ui::ConfigureNetwork> ui;      QFutureWatcher<std::pair<QString, QString>> watcher{this};  }; diff --git a/src/yuzu/configuration/configure_service.ui b/src/yuzu/configuration/configure_network.ui index 9668dd557..5f9b7e97b 100644 --- a/src/yuzu/configuration/configure_service.ui +++ b/src/yuzu/configuration/configure_network.ui @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="UTF-8"?>  <ui version="4.0"> - <class>ConfigureService</class> - <widget class="QWidget" name="ConfigureService"> + <class>ConfigureNetwork</class> + <widget class="QWidget" name="ConfigureNetwork">    <property name="geometry">     <rect>      <x>0</x> @@ -17,21 +17,37 @@     <item>      <layout class="QVBoxLayout" name="verticalLayout_3">       <item> +      <widget class="QGroupBox" name="groupBox_2"> +       <property name="title"> +        <string>General</string> +       </property> +       <layout class="QGridLayout" name="gridLayout_2"> +        <item row="1" column="1"> +         <widget class="QComboBox" name="network_interface"/> +        </item> +        <item row="1" column="0"> +         <widget class="QLabel" name="label_4"> +          <property name="text"> +           <string>Network Interface</string> +          </property> +         </widget> +        </item> +       </layout> +      </widget> +     </item> +     <item>        <widget class="QGroupBox" name="groupBox">         <property name="title">          <string>BCAT</string>         </property>         <layout class="QGridLayout" name="gridLayout"> -        <item row="1" column="1" colspan="2"> -         <widget class="QLabel" name="label_2"> -          <property name="maximumSize"> -           <size> -            <width>260</width> -            <height>16777215</height> -           </size> -          </property> +        <item row="3" column="0"> +         <widget class="QLabel" name="bcat_empty_header">            <property name="text"> -           <string>BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content.</string> +           <string/> +          </property> +          <property name="alignment"> +           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>            </property>            <property name="wordWrap">             <bool>true</bool> @@ -51,11 +67,8 @@            </property>           </widget>          </item> -        <item row="3" column="1" colspan="2"> -         <widget class="QLabel" name="bcat_empty_label"> -          <property name="enabled"> -           <bool>true</bool> -          </property> +        <item row="1" column="1" colspan="2"> +         <widget class="QLabel" name="label_2">            <property name="maximumSize">             <size>              <width>260</width> @@ -63,10 +76,7 @@             </size>            </property>            <property name="text"> -           <string/> -          </property> -          <property name="alignment"> -           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> +           <string>BCAT is Nintendo's way of sending data to games to engage its community and unlock additional content.</string>            </property>            <property name="wordWrap">             <bool>true</bool> @@ -86,8 +96,17 @@          <item row="0" column="1" colspan="2">           <widget class="QComboBox" name="bcat_source"/>          </item> -        <item row="3" column="0"> -         <widget class="QLabel" name="bcat_empty_header"> +        <item row="3" column="1" colspan="2"> +         <widget class="QLabel" name="bcat_empty_label"> +          <property name="enabled"> +           <bool>true</bool> +          </property> +          <property name="maximumSize"> +           <size> +            <width>260</width> +            <height>16777215</height> +           </size> +          </property>            <property name="text">             <string/>            </property> | 
