Simplified conditions for hiding hint for photo editor.

This commit is contained in:
23rd 2021-09-05 12:37:30 +03:00 committed by John Preston
parent 150dbef19f
commit ce7a3c354c
4 changed files with 21 additions and 10 deletions

View File

@ -399,10 +399,20 @@ void EditCaptionBox::setupEditEventHandler() {
}
void EditCaptionBox::setupPhotoEditorEventHandler() {
const auto openedOnce = lifetime().make_state<bool>(false);
_photoEditorOpens.events(
) | rpl::start_with_next([=, controller = _controller] {
const auto increment = [=] {
if (*openedOnce) {
return;
}
*openedOnce = true;
controller->session().settings().incrementPhotoEditorHintShown();
controller->session().saveSettings();
};
const auto previewWidth = st::sendMediaPreviewSize;
if (!_preparedList.files.empty()) {
increment();
Editor::OpenWithPreparedFile(
this,
controller,
@ -414,6 +424,7 @@ void EditCaptionBox::setupPhotoEditorEventHandler() {
if (!large) {
return;
}
increment();
auto callback = [=](const Editor::PhotoModifications &mods) {
if (!mods || !_photoMedia) {
return;
@ -663,10 +674,7 @@ void EditCaptionBox::save() {
action.options = options;
action.replaceMediaOf = item->fullId().msg;
if (Storage::ApplyModifications(_preparedList)) {
_controller->session().settings().incrementPhotoEditorHintShown();
_controller->session().saveSettings();
}
Storage::ApplyModifications(_preparedList);
_controller->session().api().editMedia(
std::move(_preparedList),

View File

@ -613,8 +613,14 @@ void SendFilesBox::pushBlock(int from, int till) {
crl::guard(this, callback));
}, widget->lifetime());
const auto openedOnce = widget->lifetime().make_state<bool>(false);
block.itemModifyRequest(
) | rpl::start_with_next([=, controller = _controller](int index) {
if (!(*openedOnce)) {
controller->session().settings().incrementPhotoEditorHintShown();
controller->session().saveSettings();
}
*openedOnce = true;
Editor::OpenWithPreparedFile(
this,
controller,
@ -1008,10 +1014,7 @@ void SendFilesBox::send(
block.applyAlbumOrder();
}
if (Storage::ApplyModifications(_list)) {
_controller->session().settings().incrementPhotoEditorHintShown();
_controller->session().saveSettings();
}
Storage::ApplyModifications(_list);
_confirmed = true;
if (_confirmedCallback) {

View File

@ -125,7 +125,7 @@ public:
private:
static constexpr auto kDefaultSupportChatsLimitSlice = 7 * 24 * 60 * 60;
static constexpr auto kPhotoEditorHintMaxShowsCount = 10;
static constexpr auto kPhotoEditorHintMaxShowsCount = 5;
ChatHelpers::SelectorTab _selectorTab; // per-window
base::flat_set<PeerId> _groupStickersSectionHidden;

View File

@ -50,6 +50,6 @@ enum class MimeDataState {
void PrepareDetails(Ui::PreparedFile &file, int previewWidth);
void UpdateImageDetails(Ui::PreparedFile &file, int previewWidth);
[[nodiscard]] bool ApplyModifications(Ui::PreparedList &list);
bool ApplyModifications(Ui::PreparedList &list);
} // namespace Storage