summaryrefslogtreecommitdiff
path: root/Userland/Applications/ClockSettings/ClockSettingsWidget.h
blob: 50db28840aa5bff0bc5bb2d8ed87f95b8c035900 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * Copyright (c) 2022, cflip <cflip@cflip.net>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <AK/RefPtr.h>
#include <LibGUI/SettingsWindow.h>

class ClockSettingsWidget final : public GUI::SettingsWindow::Tab {
    C_OBJECT(ClockSettingsWidget)

private:
    ClockSettingsWidget();

    virtual void apply_settings() override;
    virtual void reset_default_values() override;

    void update_time_format_string();
    void update_clock_preview();

    RefPtr<GUI::RadioButton> m_24_hour_radio;
    RefPtr<GUI::CheckBox> m_show_seconds_checkbox;
    RefPtr<GUI::TextBox> m_custom_format_input;
    RefPtr<GUI::Label> m_clock_preview;

    RefPtr<Core::Timer> m_clock_preview_update_timer;

    String m_time_format;
};