Skip to content

Commit fb6a5f6

Browse files
committed
Fix controller interface dropdown broken for sbb.
1 parent 5d7b2b6 commit fb6a5f6

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

SerialPrograms/Source/Controllers/ControllerSelectorWidget.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ ControllerSelectorWidget::ControllerSelectorWidget(QWidget& parent, ControllerSe
4949
interface_dropdown = new NoWheelCompactComboBox(this);
5050
m_dropdowns->addWidget(interface_dropdown);
5151

52-
interface_dropdown->addItem(QString::fromStdString(CONTROLLER_INTERFACE_STRINGS.get_string(ControllerInterface::SerialPABotBase)));
52+
m_interface_list.emplace_back(ControllerInterface::SerialPABotBase);
5353
if (PreloadSettings::instance().DEVELOPER_MODE){
54-
interface_dropdown->addItem(QString::fromStdString(CONTROLLER_INTERFACE_STRINGS.get_string(ControllerInterface::SerialPABotBase2)));
54+
m_interface_list.emplace_back(ControllerInterface::SerialPABotBase2);
55+
}
56+
m_interface_list.emplace_back(ControllerInterface::TcpSysbotBase);
57+
// m_interface_list.emplace_back(ControllerInterface::UsbSysbotBase);
58+
59+
for (ControllerInterface item : m_interface_list){
60+
interface_dropdown->addItem(QString::fromStdString(CONTROLLER_INTERFACE_STRINGS.get_string(item)));
5561
}
56-
interface_dropdown->addItem(QString::fromStdString(CONTROLLER_INTERFACE_STRINGS.get_string(ControllerInterface::TcpSysbotBase)));
57-
// interface_dropdown->addItem(QString::fromStdString(CONTROLLER_INTERFACE_STRINGS.get_string(ControllerInterface::UsbSysbotBase)));
5862

5963
// interface_dropdown->setHidden(true);
6064

@@ -107,7 +111,7 @@ ControllerSelectorWidget::ControllerSelectorWidget(QWidget& parent, ControllerSe
107111
index = std::max(index, 0);
108112
// index = std::min(index, (int)m_device_list.size() - 1);
109113

110-
ControllerInterface incoming = (ControllerInterface)(index + 1);
114+
ControllerInterface incoming = m_interface_list[index];
111115
ControllerInterface existing = m_session.descriptor()->interface_type;
112116
// cout << "incoming = " << (int)incoming << endl;
113117
// cout << "existing = " << (int)existing << endl;
@@ -152,7 +156,12 @@ void ControllerSelectorWidget::refresh_selection(ControllerInterface interface_t
152156
if (interface_type == ControllerInterface::None){
153157
interface_type = ControllerInterface::SerialPABotBase;
154158
}
155-
interface_dropdown->setCurrentIndex((int)interface_type - 1);
159+
for (size_t index = 0; index < m_interface_list.size(); index++){
160+
if (interface_type == m_interface_list[index]){
161+
interface_dropdown->setCurrentIndex((int)index);
162+
break;
163+
}
164+
}
156165

157166
delete m_selector;
158167
m_selector = nullptr;

SerialPrograms/Source/Controllers/ControllerSelectorWidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class ControllerSelectorWidget : public QWidget, private ControllerSession::List
6767
QPushButton* m_reset_button = nullptr;
6868

6969
// bool m_shift_held = false;
70+
std::vector<ControllerInterface> m_interface_list;
7071

7172
std::vector<std::shared_ptr<const ControllerDescriptor>> m_device_list;
7273
};

0 commit comments

Comments
 (0)