Skip to content

Commit d6414c6

Browse files
committed
Lock the summary column. Parse raw ms.
1 parent 3be1ed4 commit d6414c6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

SerialPrograms/Source/NintendoSwitch/Controllers/Procon/NintendoSwitch_ProControllerTable.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ ProControllerStateRow::~ProControllerStateRow(){
8484
ProControllerStateRow::ProControllerStateRow(EditableTableOption& parent_table)
8585
: ControllerStateRow(parent_table)
8686
, DURATION(LockMode::LOCK_WHILE_RUNNING, "200 ms")
87+
, ACTION(false, LockMode::UNLOCK_WHILE_RUNNING, "", "")
8788
, BUTTONS(
8889
"",
8990
ProController_Button_Database(),
@@ -99,7 +100,6 @@ ProControllerStateRow::ProControllerStateRow(EditableTableOption& parent_table)
99100
, LEFT_JOYSTICK_Y(LockMode::UNLOCK_WHILE_RUNNING, 128, 0, 255)
100101
, RIGHT_JOYSTICK_X(LockMode::UNLOCK_WHILE_RUNNING, 128, 0, 255)
101102
, RIGHT_JOYSTICK_Y(LockMode::UNLOCK_WHILE_RUNNING, 128, 0, 255)
102-
, ACTION(false, LockMode::UNLOCK_WHILE_RUNNING, "", "")
103103
{
104104
PA_ADD_OPTION(DURATION);
105105
PA_ADD_OPTION(ACTION);
@@ -110,6 +110,8 @@ ProControllerStateRow::ProControllerStateRow(EditableTableOption& parent_table)
110110
PA_ADD_OPTION(RIGHT_JOYSTICK_X);
111111
PA_ADD_OPTION(RIGHT_JOYSTICK_Y);
112112

113+
ACTION.set_locked(true);
114+
113115
ProControllerStateRow::on_config_value_changed(this);
114116
DURATION.add_listener(*this);
115117
BUTTONS.add_listener(*this);
@@ -138,9 +140,14 @@ void ProControllerStateRow::load_json(const JsonValue& json){
138140
const JsonObject& obj = json.to_object_throw();
139141

140142
do{
141-
const std::string* duration = obj.get_string("ms");
142-
if (duration != nullptr){
143-
DURATION.load_json(*duration);
143+
uint64_t duration;
144+
if (obj.read_integer(duration, "ms")){
145+
DURATION.set(std::to_string(duration));
146+
break;
147+
}
148+
const std::string* duration_str = obj.get_string("ms");
149+
if (duration_str != nullptr){
150+
DURATION.load_json(*duration_str);
144151
break;
145152
}
146153
DURATION.set(std::to_string(obj.get_integer_throw("duration_in_ms")));

0 commit comments

Comments
 (0)