GWindow: Cleanup
This commit is contained in:
parent
b635c3db54
commit
770907f90c
Notes:
sideshowbarker
2024-07-19 13:34:29 +09:00
Author: https://github.com/faissaloo Commit: https://github.com/SerenityOS/serenity/commit/770907f90ca Pull-request: https://github.com/SerenityOS/serenity/pull/173 Reviewed-by: https://github.com/awesomekling
2 changed files with 18 additions and 20 deletions
|
@ -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);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue