// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include "CalllogModel.hpp" #include "header/DeleteAction.hpp" #include #include #include namespace gui { class CallLogMainWindow : public AppWindow { std::shared_ptr calllogModel = nullptr; gui::ListView *list = nullptr; gui::VBox *emptyLayout = nullptr; bool isEmpty() const; header::DeleteAction *deleteAction = nullptr; public: explicit CallLogMainWindow(app::ApplicationCommon *app); // virtual methods void onBeforeShow(ShowMode mode, SwitchData *data) override; bool onInput(InputEvent const &inputEvent) override; void rebuild() override; void buildInterface() override; void destroyInterface() override; private: void buildInterfaceForEmptyState(); bool onDatabaseMessage(sys::Message *msg) override; void onEmptyList(); void onListFilled(); }; } /* namespace gui */