1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:17:35 +00:00

Base+WindowsServer+keymap: Store multiple keymaps in a config

This commit is contained in:
Timur Sultanov 2022-01-19 18:20:42 +03:00 committed by Andreas Kling
parent 5a31697bcf
commit c7bd47c87c
12 changed files with 405 additions and 100 deletions

View file

@ -6,11 +6,13 @@
#pragma once
#include <AK/Vector.h>
#include <LibGUI/Button.h>
#include <LibGUI/CheckBox.h>
#include <LibGUI/ComboBox.h>
#include <LibGUI/ListView.h>
#include <LibGUI/SettingsWindow.h>
#include <LibGUI/TextEditor.h>
#include <LibGUI/WindowManagerServerConnection.h>
class KeyboardSettingsWidget final : public GUI::SettingsWindow::Tab {
C_OBJECT(KeyboardSettingsWidget)
@ -19,16 +21,21 @@ public:
virtual void apply_settings() override;
void window_activated(bool is_active_window);
private:
KeyboardSettingsWidget();
void set_keymap(String const& keymap_filename);
void set_keymaps(Vector<String> const& keymaps);
Vector<String> m_initial_keymap_list;
String m_current_applied_keymap;
Vector<String> m_character_map_files;
RefPtr<GUI::ComboBox> m_character_map_file_combo;
RefPtr<GUI::ListView> m_selected_keymaps_listview;
RefPtr<GUI::CheckBox> m_num_lock_checkbox;
RefPtr<GUI::Button> m_add_keymap_button;
RefPtr<GUI::Button> m_remove_keymap_button;
RefPtr<GUI::TextEditor> m_test_typing_area;
RefPtr<GUI::Button> m_clear_test_typing_area_button;
RefPtr<GUI::CheckBox> m_num_lock_checkbox;
};