1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 18:35:18 +00:00
serenity/Userland/Applications/MouseSettings/MouseWidget.h
Ravi J 3a31f37b3d MouseSettings: Update "switch buttons" icon to reflect checkbox state
Using an additional "right button" variant of the graphic, it now
updates the icon based on the user's preference of primary button.
2022-12-30 09:20:42 -05:00

38 lines
1.1 KiB
C++

/*
* Copyright (c) 2021-2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "DoubleClickArrowWidget.h"
#include <LibGUI/CheckBox.h>
#include <LibGUI/SettingsWindow.h>
#include <LibGUI/Window.h>
class MouseWidget final : public GUI::SettingsWindow::Tab {
C_OBJECT(MouseWidget)
public:
virtual ~MouseWidget() override = default;
virtual void apply_settings() override;
virtual void reset_default_values() override;
private:
MouseWidget();
void update_speed_label();
void update_double_click_speed_label();
void update_switch_buttons_image_label();
RefPtr<GUI::HorizontalSlider> m_speed_slider;
RefPtr<GUI::Label> m_speed_label;
RefPtr<GUI::SpinBox> m_scroll_length_spinbox;
RefPtr<GUI::HorizontalSlider> m_double_click_speed_slider;
RefPtr<GUI::Label> m_double_click_speed_label;
RefPtr<GUI::CheckBox> m_switch_buttons_checkbox;
RefPtr<GUI::Label> m_switch_buttons_image_label;
RefPtr<GUI::CheckBox> m_natural_scroll_checkbox;
RefPtr<MouseSettings::DoubleClickArrowWidget> m_double_click_arrow_widget;
};