@@ -233,12 +233,21 @@ void GWindow::event(CEvent& event)
233
233
if (m_keybind_mode) {
234
234
// If we're in keybind mode indicate widgets in m_potential_keybind_widgets
235
235
GPainter painter (*m_main_widget);
236
- painter.draw_text (Rect (20 ,20 ,20 ,20 ), m_entered_keybind.characters (), TextAlignment::TopLeft, Color::Green);
237
236
238
237
for (auto & keypair: m_hashed_potential_keybind_widgets) {
239
238
auto widget = keypair.value ;
240
239
auto rect = Rect (widget->x ()-5 , widget->y ()-5 , 12 , 12 );
241
- painter.draw_text (rect, keypair.key .characters (), TextAlignment::TopLeft, Color::Black);
240
+ bool could_be_keybind = true ;
241
+ for (size_t i = 0 ; i < m_entered_keybind.length (); i++) {
242
+ if (keypair.key .characters ()[i] != m_entered_keybind.characters ()[i]) {
243
+ could_be_keybind = false ;
244
+ }
245
+ }
246
+ if (could_be_keybind) {
247
+ painter.draw_text (rect, keypair.key .characters (), TextAlignment::TopLeft, Color::Black);
248
+ painter.draw_text (rect, m_entered_keybind.characters (), TextAlignment::TopLeft, Color::Green);
249
+ }
250
+
242
251
}
243
252
244
253
}
@@ -280,7 +289,6 @@ void GWindow::event(CEvent& event)
280
289
if (m_keybind_mode) {
281
290
if (event.type () == GEvent::KeyUp) {
282
291
StringBuilder builder;
283
- // Y u no work
284
292
builder.append (m_entered_keybind);
285
293
builder.append (keyevent.text ());
286
294
m_entered_keybind = builder.to_string ();
@@ -297,7 +305,6 @@ void GWindow::event(CEvent& event)
297
305
} else if (m_entered_keybind.length () >= m_max_keybind_length) {
298
306
m_keybind_mode = false ;
299
307
}
300
- // m_entered_keybind.append(keyevent.text());
301
308
update ();
302
309
}
303
310
} else {
0 commit comments