/* * Copyright (c) 2018-2021, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include #include #include namespace Taskbar { class ClockWidget final : public GUI::Frame { C_OBJECT(ClockWidget); public: virtual ~ClockWidget() override; private: ClockWidget(); virtual void paint_event(GUI::PaintEvent&) override; virtual void mousedown_event(GUI::MouseEvent&) override; void tick_clock() { update(); } void open(); void close(); void position_calendar_window(); void jump_to_current_date(); RefPtr m_calendar_window; RefPtr m_calendar; RefPtr m_next_date; RefPtr m_prev_date; RefPtr m_selected_calendar_button; RefPtr m_jump_to_button; RefPtr m_calendar_launcher; RefPtr m_timer; int m_time_width { 0 }; }; }