mirror of https://github.com/procxx/kepka.git
Fix export messages pagination.
Also fix reply highlight. Also fix channel service messages. Also improve single chat export progress display.
This commit is contained in:
parent
f852813734
commit
95eab45108
|
@ -275,7 +275,7 @@ div.selected {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
.default.joined {
|
.default.joined {
|
||||||
padding-top: 0;
|
margin-top: -10px;
|
||||||
}
|
}
|
||||||
.default .from_name {
|
.default .from_name {
|
||||||
color: #3892db;
|
color: #3892db;
|
||||||
|
|
|
@ -958,6 +958,9 @@ auto HtmlWriter::Wrap::pushMessage(
|
||||||
return wrapMessageLink(message.replyToMsgId, text);
|
return wrapMessageLink(message.replyToMsgId, text);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using DialogType = Data::DialogInfo::Type;
|
||||||
|
const auto isChannel = (dialog.type == DialogType::PrivateChannel)
|
||||||
|
|| (dialog.type == DialogType::PublicChannel);
|
||||||
const auto serviceFrom = peers.wrapUserName(message.fromId);
|
const auto serviceFrom = peers.wrapUserName(message.fromId);
|
||||||
const auto serviceText = message.action.content.match(
|
const auto serviceText = message.action.content.match(
|
||||||
[&](const ActionChatCreate &data) {
|
[&](const ActionChatCreate &data) {
|
||||||
|
@ -967,14 +970,20 @@ auto HtmlWriter::Wrap::pushMessage(
|
||||||
? QByteArray()
|
? QByteArray()
|
||||||
: " with members " + peers.wrapUserNames(data.userIds));
|
: " with members " + peers.wrapUserNames(data.userIds));
|
||||||
}, [&](const ActionChatEditTitle &data) {
|
}, [&](const ActionChatEditTitle &data) {
|
||||||
return serviceFrom
|
return isChannel
|
||||||
+ " changed group title to «" + data.title + "»";
|
? ("Channel title changed to «" + data.title + "»")
|
||||||
|
: (serviceFrom
|
||||||
|
+ " changed group title to «"
|
||||||
|
+ data.title
|
||||||
|
+ "»");
|
||||||
}, [&](const ActionChatEditPhoto &data) {
|
}, [&](const ActionChatEditPhoto &data) {
|
||||||
return serviceFrom
|
return isChannel
|
||||||
+ " changed group photo";
|
? QByteArray("Channel photo changed")
|
||||||
|
: (serviceFrom + " changed group photo");
|
||||||
}, [&](const ActionChatDeletePhoto &data) {
|
}, [&](const ActionChatDeletePhoto &data) {
|
||||||
return serviceFrom
|
return isChannel
|
||||||
+ " deleted group photo";
|
? QByteArray("Channel photo removed")
|
||||||
|
: (serviceFrom + " removed group photo");
|
||||||
}, [&](const ActionChatAddUser &data) {
|
}, [&](const ActionChatAddUser &data) {
|
||||||
return serviceFrom
|
return serviceFrom
|
||||||
+ " invited "
|
+ " invited "
|
||||||
|
@ -2263,7 +2272,9 @@ Result HtmlWriter::writeDialogSlice(const Data::MessagesSlice &data) {
|
||||||
const auto messageLinkWrapper = [&](int messageId, QByteArray text) {
|
const auto messageLinkWrapper = [&](int messageId, QByteArray text) {
|
||||||
return wrapMessageLink(messageId, text);
|
return wrapMessageLink(messageId, text);
|
||||||
};
|
};
|
||||||
auto oldIndex = (_messagesCount / kMessagesInFile);
|
auto oldIndex = (_messagesCount > 0)
|
||||||
|
? ((_messagesCount - 1) / kMessagesInFile)
|
||||||
|
: 0;
|
||||||
auto previous = _lastMessageInfo.get();
|
auto previous = _lastMessageInfo.get();
|
||||||
auto saved = base::optional<MessageInfo>();
|
auto saved = base::optional<MessageInfo>();
|
||||||
auto block = QByteArray();
|
auto block = QByteArray();
|
||||||
|
|
|
@ -41,10 +41,16 @@ Content ContentFromState(const ProcessingState &state) {
|
||||||
const auto done = state.substepsPassed;
|
const auto done = state.substepsPassed;
|
||||||
const auto add = state.substepsNow;
|
const auto add = state.substepsNow;
|
||||||
const auto doneProgress = done / float64(substepsTotal);
|
const auto doneProgress = done / float64(substepsTotal);
|
||||||
const auto addProgress = (state.entityCount > 0)
|
const auto addPart = [&](int index, int count) {
|
||||||
? ((float64(add) * state.entityIndex)
|
return (count > 0)
|
||||||
/ (float64(substepsTotal) * state.entityCount))
|
? ((float64(add) * index)
|
||||||
: 0.;
|
/ (float64(substepsTotal) * count))
|
||||||
|
: 0.;
|
||||||
|
};
|
||||||
|
const auto addProgress = (state.entityCount == 1
|
||||||
|
&& !state.entityIndex)
|
||||||
|
? addPart(state.itemIndex, state.itemCount)
|
||||||
|
: addPart(state.entityIndex, state.entityCount);
|
||||||
push("main", label, info, doneProgress + addProgress);
|
push("main", label, info, doneProgress + addProgress);
|
||||||
};
|
};
|
||||||
const auto pushBytes = [&](const QString &id, const QString &label) {
|
const auto pushBytes = [&](const QString &id, const QString &label) {
|
||||||
|
|
Loading…
Reference in New Issue