chatgui: значок владельца канала (🔑) в шапке блока мемберов при наличии private key

This commit is contained in:
evgeny committed 2026-09-05 15:23:45 +03:00
1 parent 7817bb96aa
commit 7c95ddb09b
3 files changed
+18 -4

No files matched your search

+15 -4
View File
@@ -65,15 +65,16 @@ AccountList::AccountList(DbManager* db, QWidget *parent)
, m_model(new MemberListModel(this))
, m_db(db)
, m_detailPanel(nullptr)
, m_header(nullptr)
{
auto *layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
auto *header = new QLabel("Members", this);
header->setAlignment(Qt::AlignCenter);
header->setStyleSheet("font-weight: bold; padding: 8px; background: palette(window);");
layout->addWidget(header);
m_header = new QLabel("Members", this);
m_header->setAlignment(Qt::AlignCenter);
m_header->setStyleSheet("font-weight: bold; padding: 8px; background: palette(window);");
layout->addWidget(m_header);
m_listView->setModel(m_model);
m_listView->setItemDelegate(new AccountDelegate(m_listView));
@@ -154,6 +155,16 @@ void AccountList::setChannel(const QString& channelId) {
m_detailNodeId = 0;
m_detailHeader->setText("Select a member");
m_detailText->clear();
bool isOwner = false;
if (m_db && m_db->isOpen()) {
const auto chs = m_db->getChannels();
for (const auto& ch : chs) {
if (ch.channelId == channelId) { isOwner = (ch.ed25519_privkey.size() == 32); break; }
}
}
m_header->setText(isOwner ? QStringLiteral("Members \xF0\x9F\x94\x91") : QStringLiteral("Members"));
m_header->setToolTip(isOwner ? QStringLiteral("Channel owner (has private key)") : QString());
}
void AccountList::refresh() { m_model->refresh(); }