Esempio n. 1
0
void GeneralWidget::SaveSettings()
{
  // Video Backend
  for (const auto& backend : g_available_video_backends)
  {
    if (backend->GetDisplayName() == m_backend_combo->currentText().toStdString())
    {
      const auto current_backend = backend->GetName();
      if (SConfig::GetInstance().m_strVideoBackend != current_backend)
      {
        SConfig::GetInstance().m_strVideoBackend = current_backend;

        if (backend->GetName() == "Software Renderer")
        {
          QMessageBox confirm_sw;

          confirm_sw.setIcon(QMessageBox::Warning);
          confirm_sw.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
          confirm_sw.setText(
              tr("Software rendering is an order of magnitude slower than using the "
                 "other backends.\nIt's only useful for debugging purposes.\nDo you "
                 "really want to enable software rendering? If unsure, select 'No'."));

          if (confirm_sw.exec() != QMessageBox::Yes)
          {
            for (const auto& prv_backend : g_available_video_backends)
            {
              if (prv_backend->GetName() == SConfig::GetInstance().m_strVideoBackend)
              {
                m_backend_combo->setCurrentIndex(
                    m_backend_combo->findText(tr(prv_backend->GetDisplayName().c_str())));
                break;
              }
            }
            return;
          }
        }
        SConfig::GetInstance().m_strVideoBackend = current_backend;
        backend->InitBackendInfo();
        emit BackendChanged(QString::fromStdString(current_backend));
        break;
      }
    }
  }

  // Enable Fullscreen
  SConfig::GetInstance().bFullscreen = m_enable_fullscreen->isChecked();
  // Hide Cursor
  SConfig::GetInstance().bHideCursor = m_hide_cursor->isChecked();
  // Render to Main Window
  SConfig::GetInstance().bRenderToMain = m_render_main_window->isChecked();
  // Keep Window on Top
  Settings::Instance().SetKeepWindowOnTop(m_keep_window_top->isChecked());
  // Autoadjust windowsize
  SConfig::GetInstance().bRenderWindowAutoSize = m_autoadjust_window_size->isChecked();
}
Esempio n. 2
0
GeneralWidget::GeneralWidget(X11Utils::XRRConfiguration* xrr_config, GraphicsWindow* parent)
    : GraphicsWidget(parent), m_xrr_config(xrr_config)
{
  CreateWidgets();
  LoadSettings();
  ConnectWidgets();
  AddDescriptions();
  emit BackendChanged(QString::fromStdString(SConfig::GetInstance().m_strVideoBackend));

  connect(parent, &GraphicsWindow::BackendChanged, this, &GeneralWidget::OnBackendChanged);
  connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
          [=](Core::State state) { OnEmulationStateChanged(state != Core::State::Uninitialized); });
}
Esempio n. 3
0
void GraphicsWindow::OnBackendChanged(const QString& backend)
{
  setWindowTitle(tr("Dolphin %1 Graphics Configuration").arg(backend));
  if (backend == QStringLiteral("Software Renderer") && m_tab_widget->count() > 1)
  {
    m_tab_widget->clear();
    m_tab_widget->addTab(m_software_renderer, tr("Software Renderer"));
  }

  if (backend != QStringLiteral("Software Renderer") && m_tab_widget->count() == 1)
  {
    m_tab_widget->clear();
    m_tab_widget->addTab(m_general_widget, tr("General"));
    m_tab_widget->addTab(m_enhancements_widget, tr("Enhancements"));
    m_tab_widget->addTab(m_hacks_widget, tr("Hacks"));
    m_tab_widget->addTab(m_advanced_widget, tr("Advanced"));
  }

  emit BackendChanged(backend);
}
Esempio n. 4
0
void GraphicsWindow::OnBackendChanged(const QString& backend_name)
{
  SConfig::GetInstance().m_strVideoBackend = backend_name.toStdString();
  VideoBackendBase::PopulateBackendInfo();

  setWindowTitle(
      tr("%1 Graphics Configuration").arg(tr(g_video_backend->GetDisplayName().c_str())));
  if (backend_name == QStringLiteral("Software Renderer") && m_tab_widget->count() > 1)
  {
    m_tab_widget->clear();
    m_tab_widget->addTab(m_wrapped_software, tr("Software Renderer"));
  }

  if (backend_name != QStringLiteral("Software Renderer") && m_tab_widget->count() == 1)
  {
    m_tab_widget->clear();
    m_tab_widget->addTab(m_wrapped_general, tr("General"));
    m_tab_widget->addTab(m_wrapped_enhancements, tr("Enhancements"));
    m_tab_widget->addTab(m_wrapped_hacks, tr("Hacks"));
    m_tab_widget->addTab(m_wrapped_advanced, tr("Advanced"));
  }

  emit BackendChanged(backend_name);
}