feat: Improve list in agent settngs list

This commit is contained in:
Petr Mironychev
2026-06-30 11:52:59 +02:00
parent f688b53703
commit 714b1367b7
6 changed files with 256 additions and 15 deletions

View File

@@ -0,0 +1,45 @@
// Copyright (C) 2024-2026 Petr Mironychev
// SPDX-License-Identifier: GPL-3.0-or-later
// Additional attribution terms under GPLv3 §7(b) apply — see LICENSE
#pragma once
#include <QFrame>
class QLabel;
namespace QodeAssist::Settings {
class CollapsibleHeader : public QFrame
{
Q_OBJECT
public:
explicit CollapsibleHeader(const QString &title, int count, QWidget *parent = nullptr);
void setExpanded(bool expanded);
bool isExpanded() const { return m_expanded; }
void setClickable(bool clickable);
signals:
void toggled();
protected:
void mouseReleaseEvent(QMouseEvent *event) override;
void enterEvent(QEnterEvent *event) override;
void leaveEvent(QEvent *event) override;
void changeEvent(QEvent *event) override;
private:
void applyTheme();
void updateArrow();
bool m_expanded = false;
bool m_clickable = true;
bool m_hovered = false;
bool m_inApplyTheme = false;
QLabel *m_arrow = nullptr;
QLabel *m_title = nullptr;
QLabel *m_count = nullptr;
};
} // namespace QodeAssist::Settings