KeyboardSettings: Add icons

A calculator isn't the ideal icon for the Num-lock section, so hopefully
someone will produce a better one later.
This commit is contained in:
Sam Atkins 2021-11-20 16:32:03 +00:00 committed by Linus Groh
parent c6099eca5c
commit dc3fa1c2e5
Notes: sideshowbarker 2024-07-18 00:57:58 +09:00
2 changed files with 58 additions and 25 deletions

View File

@ -10,46 +10,66 @@
title: "Mapping"
fixed_height: 200
layout: @GUI::VerticalBoxLayout {
layout: @GUI::HorizontalBoxLayout {
margins: [16, 8, 8]
spacing: 2
spacing: 16
}
@GUI::Widget {
layout: @GUI::HorizontalBoxLayout {
spacing: 16
fixed_width: 32
layout: @GUI::VerticalBoxLayout {
}
@GUI::Label {
text: "Character mapping file:"
fixed_width: 130
text_alignment: "CenterLeft"
fixed_width: 32
fixed_height: 32
name: "character_map_image_label"
}
@GUI::ComboBox {
name: "character_map_file_combo"
}
@GUI::Widget
}
@GUI::Widget {
layout: @GUI::HorizontalBoxLayout {
spacing: 16
layout: @GUI::VerticalBoxLayout {
spacing: 2
}
@GUI::Label {
text: "Test your current keymap below"
text_alignment: "CenterLeft"
}
@GUI::Button {
text: "Clear"
name: "button_clear_test_typing_area"
fixed_width: 48
}
}
@GUI::Widget {
layout: @GUI::HorizontalBoxLayout {
spacing: 16
}
@GUI::TextEditor {
fixed_height: 100
name: "test_typing_area"
@GUI::Label {
text: "Character mapping file:"
fixed_width: 130
text_alignment: "CenterLeft"
}
@GUI::ComboBox {
name: "character_map_file_combo"
}
}
@GUI::Widget {
layout: @GUI::HorizontalBoxLayout {
spacing: 16
}
@GUI::Label {
text: "Test your current keymap below"
text_alignment: "CenterLeft"
}
@GUI::Button {
text: "Clear"
name: "button_clear_test_typing_area"
fixed_width: 48
}
}
@GUI::TextEditor {
fixed_height: 100
name: "test_typing_area"
}
}
}
@ -59,6 +79,13 @@
layout: @GUI::HorizontalBoxLayout {
margins: [16, 8, 8]
spacing: 16
}
@GUI::Label {
fixed_width: 32
fixed_height: 32
name: "num_lock_image_label"
}
@GUI::CheckBox {

View File

@ -14,6 +14,7 @@
#include <LibCore/File.h>
#include <LibGUI/Application.h>
#include <LibGUI/ItemListModel.h>
#include <LibGUI/Label.h>
#include <LibGUI/MessageBox.h>
#include <LibKeyboard/CharacterMap.h>
#include <spawn.h>
@ -51,6 +52,9 @@ KeyboardSettingsWidget::KeyboardSettingsWidget()
}
VERIFY(initial_keymap_index < m_character_map_files.size());
auto& character_map_image_label = *find_descendant_of_type_named<GUI::Label>("character_map_image_label");
character_map_image_label.set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/32x32/app-keyboard-mapper.png").release_value_but_fixme_should_propagate_errors());
m_character_map_file_combo = find_descendant_of_type_named<GUI::ComboBox>("character_map_file_combo");
m_character_map_file_combo->set_only_allow_values_from_model(true);
m_character_map_file_combo->set_model(*GUI::ItemListModel<String>::create(m_character_map_files));
@ -69,6 +73,8 @@ KeyboardSettingsWidget::KeyboardSettingsWidget()
m_test_typing_area->set_focus(true);
};
auto& num_lock_image_label = *find_descendant_of_type_named<GUI::Label>("num_lock_image_label");
num_lock_image_label.set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/32x32/app-calculator.png").release_value_but_fixme_should_propagate_errors());
m_num_lock_checkbox = find_descendant_of_type_named<GUI::CheckBox>("num_lock_checkbox");
m_num_lock_checkbox->set_checked(Config::read_bool("KeyboardSettings", "StartupEnable", "NumLock", true));
}