feat: media_async + media_index modules, media_files table, tests
- media_async: thread-per-task async engine with primitives (sha256, sign, copy, uuid, file_size) - media_index: media_files DB table with register_async for indexing chunks - chat_msg: async media submission via register_async, simplified chat_msg_submit fields - voice_recorder/attachment_sender: write single file (no chunk splitting on caller side) - inputbar/messagelist: updated to new simplified submit interface - test_media_async: 4-thread stress test (200K ops / 2 sec, 0 errors) - test_media_index: 9 cases covering commit edge cases + async flow - build: Makefile.am, CMakeLists.txt, utun_sources.cmake updated
This commit is contained in:
1 parent
ce5a84da24
commit
65dbfa6813
43 files changed
+1983
-391
No files matched your search
@@ -26,6 +26,7 @@ enum MessageDataRole {
|
||||
MsgVoiceNumBlocksRole = Qt::UserRole + 21,
|
||||
MsgVoiceSigsRole = Qt::UserRole + 22,
|
||||
MsgFileDisplayNameRole = Qt::UserRole + 23,
|
||||
MsgFileSizeRole = Qt::UserRole + 24,
|
||||
};
|
||||
|
||||
class MessageDelegate : public QStyledItemDelegate {
|
||||
@@ -61,6 +62,7 @@ private:
|
||||
QRect emojiArea;
|
||||
bool isOutgoing = false;
|
||||
bool isVoice = false;
|
||||
bool isFile = false;
|
||||
QRect voicePlayBtnRect;
|
||||
QRect voiceWaveformRect;
|
||||
QRect voiceDurationRect;
|
||||
|
||||
Reference in new issue
Block a user