Add and use QuickReplyManager::is_shortcut_list_changed.
This commit is contained in:
parent
bf825d76cb
commit
bf01eb3b91
@ -636,15 +636,7 @@ void QuickReplyManager::on_reload_quick_reply_shortcuts(
|
||||
new_shortcuts.push_back(std::move(shortcut));
|
||||
}
|
||||
}
|
||||
bool is_list_changed = !shortcuts_.are_inited_ || shortcuts_.shortcuts_.size() != new_shortcuts.size();
|
||||
if (!is_list_changed) {
|
||||
for (size_t i = 0; i < new_shortcuts.size(); i++) {
|
||||
if (shortcuts_.shortcuts_[i]->name_ != new_shortcuts[i]->name_) {
|
||||
is_list_changed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bool is_list_changed = is_shortcut_list_changed(new_shortcuts);
|
||||
shortcuts_.shortcuts_ = std::move(new_shortcuts);
|
||||
shortcuts_.are_inited_ = true;
|
||||
|
||||
@ -660,6 +652,18 @@ void QuickReplyManager::on_reload_quick_reply_shortcuts(
|
||||
on_load_quick_reply_success();
|
||||
}
|
||||
|
||||
bool QuickReplyManager::is_shortcut_list_changed(const vector<unique_ptr<Shortcut>> &new_shortcuts) const {
|
||||
if (!shortcuts_.are_inited_ || shortcuts_.shortcuts_.size() != new_shortcuts.size()) {
|
||||
return true;
|
||||
}
|
||||
for (size_t i = 0; i < new_shortcuts.size(); i++) {
|
||||
if (shortcuts_.shortcuts_[i]->name_ != new_shortcuts[i]->name_) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void QuickReplyManager::on_load_quick_reply_success() {
|
||||
set_promises(shortcuts_.load_queries_);
|
||||
}
|
||||
|
@ -170,6 +170,8 @@ class QuickReplyManager final : public Actor {
|
||||
|
||||
vector<unique_ptr<Shortcut>>::iterator get_shortcut_it(const string &name);
|
||||
|
||||
bool is_shortcut_list_changed(const vector<unique_ptr<Shortcut>> &new_shortcuts) const;
|
||||
|
||||
static void sort_quick_reply_messages(vector<unique_ptr<QuickReplyMessage>> &messages);
|
||||
|
||||
using QuickReplyMessageUniqueId = std::pair<MessageId, int32>;
|
||||
|
Loading…
Reference in New Issue
Block a user