summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp
blob: 42bfe61ada31f92287a2b1db71c6a7f1be539d40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Copyright 2019 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h"

#include <QDialogButtonBox>
#include <QLabel>
#include <QTabWidget>
#include <QVBoxLayout>

#if defined(CIFACE_USE_DUALSHOCKUDPCLIENT)
#include "DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.h"
#endif

ControllerInterfaceWindow::ControllerInterfaceWindow(QWidget* parent) : QDialog(parent)
{
  CreateMainLayout();

  setWindowTitle(tr("Alternate Input Sources"));
}

void ControllerInterfaceWindow::CreateMainLayout()
{
  m_button_box = new QDialogButtonBox(QDialogButtonBox::Close);
  connect(m_button_box, &QDialogButtonBox::rejected, this, &QDialog::reject);

  m_tab_widget = new QTabWidget();
#if defined(CIFACE_USE_DUALSHOCKUDPCLIENT)
  m_dsuclient_widget = new DualShockUDPClientWidget();
  m_tab_widget->addTab(m_dsuclient_widget, tr("DSU Client"));  // TODO: use GetWrappedWidget()?
#endif

  auto* main_layout = new QVBoxLayout();
  if (m_tab_widget->count() > 0)
  {
    main_layout->addWidget(m_tab_widget);
  }
  else
  {
    main_layout->addWidget(new QLabel(tr("Nothing to configure")), 0,
                           Qt::AlignVCenter | Qt::AlignHCenter);
  }
  main_layout->addWidget(m_button_box);
  setLayout(main_layout);
}