/* * Copyright (c) 2022, kleines Filmröllchen * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include "Presentation.h" #include #include #include #include // Title, Author constexpr StringView const title_template = "{} ({}) — Presenter"sv; class PresenterWidget : public GUI::Widget { C_OBJECT(PresenterWidget); public: PresenterWidget(); ErrorOr initialize_menubar(); virtual ~PresenterWidget() override = default; // Errors that happen here are directly displayed to the user. void set_file(StringView file_name); protected: virtual void paint_event(GUI::PaintEvent&) override; virtual void keydown_event(GUI::KeyEvent&) override; virtual void drag_enter_event(GUI::DragEvent&) override; virtual void drop_event(GUI::DropEvent&) override; private: OwnPtr m_current_presentation; RefPtr m_next_slide_action; RefPtr m_previous_slide_action; };