Add Android boot startup, lazy settings, emoji and DM calls

Add battery optimization controls and configurable boot startup. Keep message sounds in the application and render general settings lazily to avoid ANRs. Add animated emoji controls and live BGP availability for direct-message calls on Android and desktop.
This commit is contained in:
evgeny committed 2026-10-02 17:18:24 +03:00
1 parent 66afcc8625
commit 23368a5bbe
40 files changed
+1165 -180

No files matched your search

+5 -3
View File
@@ -48,6 +48,8 @@ void ChannelDelegate::paint(QPainter *painter, const QStyleOptionViewItem &optio
const int margin = 8;
const int iconSize = 32;
bool isDm = index.data(ChannelChannelIdRole).toString().startsWith(QStringLiteral("dm:"));
bool dmOnline = index.data(ChannelDmOnlineRole).toBool();
int peersOnline = index.data(ChannelPeersOnlineRole).toInt();
int autoActive = index.data(ChannelAutoConnectActiveRole).toInt();
@@ -79,11 +81,11 @@ void ChannelDelegate::paint(QPainter *painter, const QStyleOptionViewItem &optio
}
/* ── online count badge (top-left of avatar, above it) ── */
if (peersOnline > 0) {
if (isDm || peersOnline > 0) {
int badgeSize = 16;
QRect badgeRect(iconRect.left() - 4, iconRect.top() - 6, badgeSize, badgeSize);
painter->setRenderHint(QPainter::Antialiasing);
painter->setBrush(QColor("#4CAF50"));
painter->setBrush(QColor(isDm && !dmOnline ? "#E53935" : "#4CAF50"));
painter->setPen(QPen(Qt::white, 1.5));
painter->drawEllipse(badgeRect);
QFont badgeFont = option.font;
@@ -93,7 +95,7 @@ void ChannelDelegate::paint(QPainter *painter, const QStyleOptionViewItem &optio
painter->setPen(Qt::white);
QString num = QString::number(peersOnline);
if (peersOnline > 9) num = "9+";
painter->drawText(badgeRect, Qt::AlignCenter, num);
if (!isDm) painter->drawText(badgeRect, Qt::AlignCenter, num);
}
QRect textRect(iconRect.right() + margin, option.rect.top() + margin,