mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Show toasts on reply / archive / unarchive.
This commit is contained in:
parent
ff835ec76c
commit
ad5b96b049
7 changed files with 49 additions and 17 deletions
|
@ -3811,6 +3811,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
"lng_stories_my_title" = "My Stories";
|
"lng_stories_my_title" = "My Stories";
|
||||||
"lng_stories_archive_button" = "Archive";
|
"lng_stories_archive_button" = "Archive";
|
||||||
"lng_stories_archive_title" = "Stories Archive";
|
"lng_stories_archive_title" = "Stories Archive";
|
||||||
|
"lng_stories_reply_sent" = "Message Sent";
|
||||||
|
"lng_stories_hidden_to_contacts" = "Those stories are now shown only in your Contacts list.";
|
||||||
|
"lng_stories_shown_in_chats" = "Those stories are now shown in your Chats list.";
|
||||||
|
|
||||||
"lng_stories_link_invalid" = "This link is broken or has expired.";
|
"lng_stories_link_invalid" = "This link is broken or has expired.";
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,8 @@ object_ptr<Ui::BoxContent> PrepareContactsBox(
|
||||||
) | rpl::start_with_next([=](Stories::ToggleShownRequest request) {
|
) | rpl::start_with_next([=](Stories::ToggleShownRequest request) {
|
||||||
sessionController->session().data().stories().toggleHidden(
|
sessionController->session().data().stories().toggleHidden(
|
||||||
PeerId(int64(request.id)),
|
PeerId(int64(request.id)),
|
||||||
!request.shown);
|
!request.shown,
|
||||||
|
sessionController->uiShow());
|
||||||
}, raw->lifetime());
|
}, raw->lifetime());
|
||||||
|
|
||||||
raw->loadMoreRequests(
|
raw->loadMoreRequests(
|
||||||
|
|
|
@ -16,16 +16,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_document.h"
|
#include "data/data_document.h"
|
||||||
#include "data/data_file_origin.h"
|
#include "data/data_file_origin.h"
|
||||||
#include "data/data_photo.h"
|
#include "data/data_photo.h"
|
||||||
#include "data/data_session.h"
|
|
||||||
#include "lang/lang_keys.h"
|
|
||||||
#include "main/main_session.h"
|
|
||||||
#include "ui/text/text_utilities.h"
|
|
||||||
|
|
||||||
// #TODO stories testing
|
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
|
#include "data/data_session.h"
|
||||||
|
#include "data/data_thread.h"
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "history/history_item.h"
|
#include "history/history_item.h"
|
||||||
#include "storage/storage_shared_media.h"
|
#include "lang/lang_keys.h"
|
||||||
|
#include "main/main_session.h"
|
||||||
|
#include "ui/layers/show.h"
|
||||||
|
#include "ui/text/text_utilities.h"
|
||||||
|
|
||||||
namespace Data {
|
namespace Data {
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -1140,7 +1139,10 @@ void Stories::markAsRead(FullStoryId id, bool viewed) {
|
||||||
_markReadTimer.callOnce(kMarkAsReadDelay);
|
_markReadTimer.callOnce(kMarkAsReadDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Stories::toggleHidden(PeerId peerId, bool hidden) {
|
void Stories::toggleHidden(
|
||||||
|
PeerId peerId,
|
||||||
|
bool hidden,
|
||||||
|
std::shared_ptr<Ui::Show> show) {
|
||||||
const auto user = _owner->peer(peerId)->asUser();
|
const auto user = _owner->peer(peerId)->asUser();
|
||||||
Assert(user != nullptr);
|
Assert(user != nullptr);
|
||||||
if (user->hasStoriesHidden() != hidden) {
|
if (user->hasStoriesHidden() != hidden) {
|
||||||
|
@ -1153,6 +1155,14 @@ void Stories::toggleHidden(PeerId peerId, bool hidden) {
|
||||||
)).send();
|
)).send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto guard = gsl::finally([&] {
|
||||||
|
if (show) {
|
||||||
|
show->showToast(hidden
|
||||||
|
? tr::lng_stories_hidden_to_contacts(tr::now)
|
||||||
|
: tr::lng_stories_shown_in_chats(tr::now));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const auto i = _all.find(peerId);
|
const auto i = _all.find(peerId);
|
||||||
if (i == end(_all)) {
|
if (i == end(_all)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -21,6 +21,10 @@ namespace Main {
|
||||||
class Session;
|
class Session;
|
||||||
} // namespace Main
|
} // namespace Main
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class Show;
|
||||||
|
} // namespace Ui
|
||||||
|
|
||||||
namespace Data {
|
namespace Data {
|
||||||
|
|
||||||
class Session;
|
class Session;
|
||||||
|
@ -251,7 +255,10 @@ public:
|
||||||
[[nodiscard]] bool isQuitPrevent();
|
[[nodiscard]] bool isQuitPrevent();
|
||||||
void markAsRead(FullStoryId id, bool viewed);
|
void markAsRead(FullStoryId id, bool viewed);
|
||||||
|
|
||||||
void toggleHidden(PeerId peerId, bool hidden);
|
void toggleHidden(
|
||||||
|
PeerId peerId,
|
||||||
|
bool hidden,
|
||||||
|
std::shared_ptr<Ui::Show> show);
|
||||||
|
|
||||||
static constexpr auto kViewsPerPage = 50;
|
static constexpr auto kViewsPerPage = 50;
|
||||||
void loadViewsSlice(
|
void loadViewsSlice(
|
||||||
|
|
|
@ -353,7 +353,8 @@ InnerWidget::InnerWidget(
|
||||||
) | rpl::start_with_next([=](Stories::ToggleShownRequest request) {
|
) | rpl::start_with_next([=](Stories::ToggleShownRequest request) {
|
||||||
session().data().stories().toggleHidden(
|
session().data().stories().toggleHidden(
|
||||||
PeerId(int64(request.id)),
|
PeerId(int64(request.id)),
|
||||||
!request.shown);
|
!request.shown,
|
||||||
|
_controller->uiShow());
|
||||||
}, lifetime());
|
}, lifetime());
|
||||||
|
|
||||||
_stories->loadMoreRequests(
|
_stories->loadMoreRequests(
|
||||||
|
|
|
@ -122,7 +122,7 @@ void ReplyArea::sendReaction(const Data::ReactionId &id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!message.textWithTags.empty()) {
|
if (!message.textWithTags.empty()) {
|
||||||
send(std::move(message), {});
|
send(std::move(message), {}, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,10 @@ void ReplyArea::send(Api::SendOptions options) {
|
||||||
send(std::move(message), options);
|
send(std::move(message), options);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplyArea::send(Api::MessageToSend message, Api::SendOptions options) {
|
void ReplyArea::send(
|
||||||
|
Api::MessageToSend message,
|
||||||
|
Api::SendOptions options,
|
||||||
|
bool skipToast) {
|
||||||
const auto error = GetErrorTextForSending(
|
const auto error = GetErrorTextForSending(
|
||||||
_data.user,
|
_data.user,
|
||||||
{
|
{
|
||||||
|
@ -151,7 +154,7 @@ void ReplyArea::send(Api::MessageToSend message, Api::SendOptions options) {
|
||||||
session().api().sendMessage(std::move(message));
|
session().api().sendMessage(std::move(message));
|
||||||
|
|
||||||
_controls->clear();
|
_controls->clear();
|
||||||
finishSending();
|
finishSending(skipToast);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplyArea::sendVoice(VoiceToSend &&data) {
|
void ReplyArea::sendVoice(VoiceToSend &&data) {
|
||||||
|
@ -256,9 +259,13 @@ void ReplyArea::sendInlineResult(
|
||||||
finishSending();
|
finishSending();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplyArea::finishSending() {
|
void ReplyArea::finishSending(bool skipToast) {
|
||||||
_controls->hidePanelsAnimated();
|
_controls->hidePanelsAnimated();
|
||||||
_controller->wrap()->setFocus();
|
_controller->wrap()->setFocus();
|
||||||
|
if (!skipToast) {
|
||||||
|
_controller->uiShow()->showToast(
|
||||||
|
tr::lng_stories_reply_sent(tr::now));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplyArea::uploadFile(
|
void ReplyArea::uploadFile(
|
||||||
|
|
|
@ -73,7 +73,10 @@ private:
|
||||||
[[nodiscard]] Main::Session &session() const;
|
[[nodiscard]] Main::Session &session() const;
|
||||||
[[nodiscard]] not_null<History*> history() const;
|
[[nodiscard]] not_null<History*> history() const;
|
||||||
|
|
||||||
void send(Api::MessageToSend message, Api::SendOptions options);
|
void send(
|
||||||
|
Api::MessageToSend message,
|
||||||
|
Api::SendOptions options,
|
||||||
|
bool skipToast = false);
|
||||||
|
|
||||||
void uploadFile(const QByteArray &fileContent, SendMediaType type);
|
void uploadFile(const QByteArray &fileContent, SendMediaType type);
|
||||||
bool confirmSendingFiles(
|
bool confirmSendingFiles(
|
||||||
|
@ -98,7 +101,7 @@ private:
|
||||||
TextWithTags &&caption,
|
TextWithTags &&caption,
|
||||||
Api::SendOptions options,
|
Api::SendOptions options,
|
||||||
bool ctrlShiftEnter);
|
bool ctrlShiftEnter);
|
||||||
void finishSending();
|
void finishSending(bool skipToast = false);
|
||||||
|
|
||||||
void sendExistingDocument(not_null<DocumentData*> document);
|
void sendExistingDocument(not_null<DocumentData*> document);
|
||||||
bool sendExistingDocument(
|
bool sendExistingDocument(
|
||||||
|
|
Loading…
Add table
Reference in a new issue