2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-05 00:55:12 +00:00

Added option to open chat on click

This commit is contained in:
RadRussianRus
2020-07-09 11:42:10 +03:00
parent ab2ef61a0e
commit 11d72d6bd5
11 changed files with 41 additions and 5 deletions

View File

@@ -51,6 +51,7 @@ public:
void setPeerSelectedChangedCallback(
Fn<void(PeerData *peer, bool selected)> callback);
void setSubmitRequest(Fn<void()> callback);
void setGoToChatRequest(Fn<void()> callback);
void peerUnselected(not_null<PeerData*> peer);
std::vector<not_null<PeerData*>> selected() const;
@@ -143,6 +144,7 @@ private:
Fn<void(PeerData *peer, bool selected)> _peerSelectedChangedCallback;
Fn<void()> _submitRequest;
Fn<void()> _goToChatRequest;
bool _searching = false;
QString _lastQuery;
@@ -276,6 +278,13 @@ void ShareBox::prepare() {
submit({});
});
if (_goToChatCallback) {
_inner->setGoToChatRequest([=] {
const auto singleChat = _inner->selected().at(0);
goToChat(singleChat);
});
}
Ui::Emoji::SuggestionsController::Init(
getDelegate()->outerContainer(),
_comment->entity(),
@@ -931,11 +940,14 @@ void ShareBox::Inner::mousePressEvent(QMouseEvent *e) {
updateUpon(e->pos());
changeCheckState(getChatAtIndex(_upon));
if (!_hadSelection
&& _submitRequest
&& !(e->modifiers() & Qt::ControlModifier)
&& _selected.size() == 1
&& _selected.front()->isSelf()) {
_submitRequest();
&& _selected.size() == 1) {
if (_submitRequest && _selected.front()->isSelf()) {
_submitRequest();
} else if (_goToChatRequest && cForwardChatOnClick()) {
_goToChatRequest();
}
_hadSelection = true;
} else if (!_hadSelection) {
_hadSelection = true;
}
@@ -990,6 +1002,10 @@ void ShareBox::Inner::setSubmitRequest(Fn<void()> callback) {
_submitRequest = std::move(callback);
}
void ShareBox::Inner::setGoToChatRequest(Fn<void()> callback) {
_goToChatRequest = std::move(callback);
}
void ShareBox::Inner::changePeerCheckState(
not_null<Chat*> chat,
bool checked,