// Copyright (C) 2024-2026 Petr Mironychev // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include namespace QodeAssist::Chat { class ChatView : public QQuickView { Q_OBJECT Q_PROPERTY(bool isPin READ isPin WRITE setIsPin NOTIFY isPinChanged FINAL) public: ChatView(QQmlEngine* engine); bool isPin() const; void setIsPin(bool newIsPin); signals: void isPinChanged(); protected: void closeEvent(QCloseEvent *event) override; private: void saveSettings(); void restoreSettings(); void bindCommandShortcut(Utils::Id commandId, const std::function &onActivated); bool m_isPin; }; } // namespace QodeAssist::Chat