GWindow: Cleanup

This commit is contained in:
faissaloo 2019-06-16 16:55:39 +01:00
parent b635c3db54
commit 770907f90c
Notes: sideshowbarker 2024-07-19 13:34:29 +09:00
2 changed files with 18 additions and 20 deletions

View file

@ -3,6 +3,7 @@
#include "GEventLoop.h" #include "GEventLoop.h"
#include "GWidget.h" #include "GWidget.h"
#include <AK/HashMap.h> #include <AK/HashMap.h>
#include <AK/StringBuilder.h>
#include <LibC/stdio.h> #include <LibC/stdio.h>
#include <LibC/stdlib.h> #include <LibC/stdlib.h>
#include <LibC/unistd.h> #include <LibC/unistd.h>
@ -350,27 +351,26 @@ void GWindow::event(CEvent& event)
} }
void GWindow::paint_keybinds() { void GWindow::paint_keybinds() {
if (m_keybind_mode) { if (!m_keybind_mode) return;
GPainter painter(*m_main_widget); GPainter painter(*m_main_widget);
for (auto& keypair: m_hashed_potential_keybind_widgets) { for (auto& keypair: m_hashed_potential_keybind_widgets) {
auto widget = keypair.value; auto widget = keypair.value;
bool could_be_keybind = true; bool could_be_keybind = true;
for (size_t i = 0; i < m_entered_keybind.length(); i++) { for (size_t i = 0; i < m_entered_keybind.length(); i++) {
if (keypair.key.characters()[i] != m_entered_keybind.characters()[i]) { if (keypair.key.characters()[i] != m_entered_keybind.characters()[i]) {
could_be_keybind = false; could_be_keybind = false;
}
} }
}
if (could_be_keybind) { if (could_be_keybind) {
auto rect = Rect(widget->x()-5, widget->y()-5, 4+Font::default_font().width(keypair.key), 16); auto rect = Rect(widget->x()-5, widget->y()-5, 4+Font::default_font().width(keypair.key), 16);
auto highlight_rect = Rect(widget->x()-3, widget->y()-5, 0, 16); auto highlight_rect = Rect(widget->x()-3, widget->y()-5, 0, 16);
painter.fill_rect(rect, Color::LightGray); painter.fill_rect(rect, Color::LightGray);
painter.draw_rect(rect, Color::Black, false); painter.draw_rect(rect, Color::Black, false);
painter.draw_text(rect, keypair.key.characters(), TextAlignment::Center, Color::Black); painter.draw_text(rect, keypair.key.characters(), TextAlignment::Center, Color::Black);
painter.draw_text(highlight_rect, m_entered_keybind.characters(), TextAlignment::CenterLeft, Color::MidGray); painter.draw_text(highlight_rect, m_entered_keybind.characters(), TextAlignment::CenterLeft, Color::MidGray);
}
} }
} }
} }

View file

@ -2,14 +2,12 @@
#include <AK/AKString.h> #include <AK/AKString.h>
#include <AK/HashMap.h> #include <AK/HashMap.h>
#include <AK/StringBuilder.h>
#include <AK/WeakPtr.h> #include <AK/WeakPtr.h>
#include <LibCore/CObject.h> #include <LibCore/CObject.h>
#include <LibGUI/GWindowType.h> #include <LibGUI/GWindowType.h>
#include <SharedGraphics/GraphicsBitmap.h> #include <SharedGraphics/GraphicsBitmap.h>
#include <SharedGraphics/Rect.h> #include <SharedGraphics/Rect.h>
class GPainter;
class GWidget; class GWidget;
class GWMEvent; class GWMEvent;
@ -168,6 +166,6 @@ private:
bool m_show_titlebar { true }; bool m_show_titlebar { true };
bool m_keybind_mode { false }; bool m_keybind_mode { false };
String m_entered_keybind; String m_entered_keybind;
size_t m_max_keybind_length; size_t m_max_keybind_length { 0 };
HashMap<String, GWidget*> m_hashed_potential_keybind_widgets; HashMap<String, GWidget*> m_hashed_potential_keybind_widgets;
}; };