mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-10-18 08:25:30 +02:00
Added ability to forward to Saved Messages on fast action with Ctrl.
This commit is contained in:
parent
1c1d13545b
commit
3549c00141
3 changed files with 29 additions and 0 deletions
|
@ -1935,6 +1935,29 @@ void FastShareMessage(
|
|||
}), Ui::LayerOption::CloseOther);
|
||||
}
|
||||
|
||||
void FastShareMessageToSelf(
|
||||
std::shared_ptr<Main::SessionShow> show,
|
||||
not_null<HistoryItem*> item) {
|
||||
const auto self = show->session().user();
|
||||
const auto donePhraseArgs = ChatHelpers::ForwardedMessagePhraseArgs{
|
||||
.toCount = 1,
|
||||
.singleMessage = true,
|
||||
.to1 = self,
|
||||
.to2 = nullptr,
|
||||
};
|
||||
auto sendAction = Api::SendAction(self->owner().history(self));
|
||||
sendAction.clearDraft = false;
|
||||
show->session().api().forwardMessages(
|
||||
Data::ResolvedForwardDraft{ .items = {item} },
|
||||
std::move(sendAction),
|
||||
[=] {
|
||||
auto phrase = rpl::variable<TextWithEntities>(
|
||||
ChatHelpers::ForwardedMessagePhrase(
|
||||
donePhraseArgs)).current();
|
||||
show->showToast(std::move(phrase));
|
||||
});
|
||||
}
|
||||
|
||||
void FastShareMessage(
|
||||
not_null<Window::SessionController*> controller,
|
||||
not_null<HistoryItem*> item,
|
||||
|
|
|
@ -71,6 +71,9 @@ struct ShareBoxStyleOverrides {
|
|||
};
|
||||
[[nodiscard]] ShareBoxStyleOverrides DarkShareBoxStyle();
|
||||
|
||||
void FastShareMessageToSelf(
|
||||
std::shared_ptr<Main::SessionShow> show,
|
||||
not_null<HistoryItem*> item);
|
||||
void FastShareMessage(
|
||||
std::shared_ptr<Main::SessionShow> show,
|
||||
not_null<HistoryItem*> item,
|
||||
|
|
|
@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "history/view/history_view_message.h"
|
||||
|
||||
#include "api/api_suggest_post.h"
|
||||
#include "base/qt/qt_key_modifiers.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "core/click_handler_types.h" // ClickHandlerContext
|
||||
#include "core/ui_integration.h"
|
||||
|
@ -4214,6 +4215,8 @@ ClickHandlerPtr Message::prepareRightActionLink() const {
|
|||
savedFromPeer,
|
||||
Window::SectionShow::Way::Forward,
|
||||
savedFromMsgId);
|
||||
} else if (base::IsCtrlPressed()) {
|
||||
FastShareMessageToSelf(controller->uiShow(), item);
|
||||
} else {
|
||||
FastShareMessage(controller, item);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue