/* * Copyright (c) 2020-2021, Andreas Kling * Copyright (c) 2021, Julius Heijmen * Copyright (c) 2022, kleines Filmröllchen * Copyright (c) 2022-2023, Sam Atkins * Copyright (c) 2023, Karol Kosek * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include class MainWidget final : public GUI::Widget { C_OBJECT_ABSTRACT(MainWidget) public: static ErrorOr> try_create(GUI::Icon const&); ErrorOr initialize_menubar(GUI::Window&); GUI::Window::CloseRequestDecision request_close(); void load_file(FileSystemAccessClient::File); void update_title(); GUI::TextEditor& editor() const { return *m_editor; } private: MainWidget(); virtual void drag_enter_event(GUI::DragEvent&) override; virtual void drop_event(GUI::DropEvent&) override; RefPtr m_save_action; RefPtr m_save_as_action; RefPtr m_editor; RefPtr m_toolbar; RefPtr m_splitter; RefPtr m_statusbar; RefPtr m_preview_frame_widget; RefPtr m_preview_window; RefPtr m_preview_window_widget; GUI::Widget* m_preview; GUI::ActionGroup m_views_group; RefPtr m_view_frame_action; RefPtr m_view_window_action; GUI::Icon m_icon; ByteString m_file_path; };