@@ -257,26 +257,31 @@ struct SelectStyleMenu : public SPEC::MenuBase {
257257 uint16_t size () override {
258258 return NUM_BLADES * current_config->num_presets ;
259259 }
260- int blade () { return this ->pos_ / NUM_BLADES; }
261- int preset () { return this ->pos_ % NUM_BLADES; }
260+ int preset () { return this ->pos_ / NUM_BLADES; }
261+ int blade () { return this ->pos_ % NUM_BLADES; }
262262 void mode_activate (bool onreturn) override {
263+ int preset = -1 ;
264+ int blade = -1 ;
265+ style_parser.GetBuiltinPos (GetStyle (menu_current_blade), &preset, &blade);
266+ this ->pos_ = preset * NUM_BLADES + (blade - 1 );
267+ PVLOG_DEBUG
268+ << " PRESET = " << preset
269+ << " BLADE = " << blade
270+ << " POS = " << this ->pos_
271+ << " \n " ;
263272 SPEC::MenuBase::mode_activate (onreturn);
264- int preset;
265- int style;
266- style_parser.GetBuiltinPos (GetStyle (menu_current_blade), &preset, &style);
267- this ->pos_ = preset * NUM_BLADES + style;
268273 }
269274
270275 void say () override {
271- getSL<SPEC>()->SayBlade ();
272- getSL<SPEC>()->SayWhole (blade ());
273276 getSL<SPEC>()->SayPreset ();
274- getSL<SPEC>()->SayWhole (preset ());
277+ getSL<SPEC>()->SayWhole (preset () + 1 );
278+ getSL<SPEC>()->SayBlade ();
279+ getSL<SPEC>()->SayWhole (blade () + 1 );
275280 }
276281
277282 void select () override {
278- LSPtr<char > builtin (CurrentPreset::mk_builtin_str (preset (), blade ()));
279- SetStyle (menu_current_blade, style_parser.CopyArguments (builtin. get ( ), GetStyle (menu_current_blade )));
283+ LSPtr<char > builtin (CurrentPreset::mk_builtin_str (preset (), blade () + 1 ));
284+ SetStyle (menu_current_blade, style_parser.CopyArguments (GetStyle (menu_current_blade ), builtin. get ( )));
280285 SPEC::MenuBase::select ();
281286 }
282287};
0 commit comments