Expose accepted sends and define history follow policy
This commit is contained in:
1 parent
3c40294d08
commit
39a9fe01a3
3 files changed
+6
-1
No files matched your search
@@ -516,6 +516,7 @@ void InputBar::submissionResult(quint64 request, bool success) {
|
||||
if (!pending.source.isEmpty() && pending.attachmentRevision == m_attachmentRevision) clearPendingAttachment();
|
||||
if (!submissionPending() && !m_submissionFailed && !m_clipboardPreparing &&
|
||||
m_input->toPlainText().isEmpty() && m_pendingAttachSrc.isEmpty()) clearReply();
|
||||
emit messageAccepted();
|
||||
}
|
||||
|
||||
/* Черновик и выбранный ответ восстанавливаются после сохранения/отмены. Вложения остаются в composer. */
|
||||
|
||||
@@ -68,6 +68,7 @@ public:
|
||||
void cancelEdit(); // Восстановить обычный черновик/reply/preview; late result edit игнорируется, запрос ядра не отменяется.
|
||||
|
||||
signals:
|
||||
void messageAccepted(); // Новая отправка текущего composer подтверждена ядром; правки/отказы/старый target не уведомляют.
|
||||
/* Текст текущего контекста; справа удалены только пробелы/табуляции. replyTo пуст либо ключ 32 байта.
|
||||
* request ненулевой для канала (включая обычный текст), 0 для PM; обработчик фиксирует текущую цель синхронно. */
|
||||
void sendMessage(const QString &text, const QByteArray& replyTo, quint64 request);
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
// Сохранить канал, сменить target; для dm:<id> зафиксировать generation и запросить снимок.
|
||||
void loadChannel(const QString& channelId);
|
||||
// Добавить отсутствующие сообщения (до 200); не вытеснять историческое окно цитаты.
|
||||
void refresh();
|
||||
void refresh(bool outgoing = false); // Новое своё сообщение возвращает к последним; входящее — только из близкой к низу позиции.
|
||||
// Перечитать имена, обновить авторов и превью цитат.
|
||||
void reloadLocalNicks();
|
||||
// Для CHAT поставить read/верхнюю позицию в ui_state; окно старой цитаты сохраняет свежий watermark. PM пропускается.
|
||||
@@ -176,6 +176,9 @@ private:
|
||||
void restoreScrollPosition(const QString& channelId);
|
||||
// Максимальный rowid полностью видимых строк; watermark меняется после принятия записи.
|
||||
void updateReadPosition();
|
||||
bool nearHistoryBottom() const; // До изменения модели: осталось не больше десяти строк текущего шрифта.
|
||||
void scrollHistoryToBottom(); // Синхронный layout и bottom, повтор после Qt layout с проверкой канала/поколения/окна.
|
||||
void showLatestMessages(); // Покинуть окно старой цитаты и прокрутить последние сообщения вниз.
|
||||
// Persistent index/QPointer защищают menu от замены модели/уничтожения UI.
|
||||
void onMessageContextMenu(const QPoint& pos);
|
||||
// Запросить выбранное поколение PM; ожидающее удаление блокирует запрос.
|
||||
|
||||
Reference in new issue
Block a user