Provided size of big file to premium limit box.
This commit is contained in:
parent
f586ea3a75
commit
3959918fc5
|
@ -837,7 +837,8 @@ void CaptionLimitReachedBox(
|
|||
|
||||
void FileSizeLimitBox(
|
||||
not_null<Ui::GenericBox*> box,
|
||||
not_null<Main::Session*> session) {
|
||||
not_null<Main::Session*> session,
|
||||
uint64 fileSizeBytes) {
|
||||
const auto premium = session->premium();
|
||||
|
||||
const auto defaultLimit = Limit(
|
||||
|
@ -851,6 +852,12 @@ void FileSizeLimitBox(
|
|||
|
||||
const auto defaultGb = (defaultLimit + 999) / 2000;
|
||||
const auto premiumGb = (premiumLimit + 999) / 2000;
|
||||
const auto current = fileSizeBytes
|
||||
? std::clamp(
|
||||
float64(((fileSizeBytes / uint64(1024 * 1024)) + 999) / 1000),
|
||||
defaultGb,
|
||||
premiumGb)
|
||||
: defaultGb;
|
||||
const auto gb = [](int count) {
|
||||
return tr::lng_file_size_limit(tr::now, lt_count, count);
|
||||
};
|
||||
|
@ -876,7 +883,7 @@ void FileSizeLimitBox(
|
|||
"upload_max_fileparts",
|
||||
{
|
||||
defaultGb,
|
||||
defaultGb,
|
||||
current,
|
||||
premiumGb,
|
||||
&st::premiumIconFiles,
|
||||
tr::lng_file_size_limit
|
||||
|
|
|
@ -48,7 +48,8 @@ void CaptionLimitReachedBox(
|
|||
int remove);
|
||||
void FileSizeLimitBox(
|
||||
not_null<Ui::GenericBox*> box,
|
||||
not_null<Main::Session*> session);
|
||||
not_null<Main::Session*> session,
|
||||
uint64 fileSizeBytes);
|
||||
void AccountsLimitBox(
|
||||
not_null<Ui::GenericBox*> box,
|
||||
not_null<Main::Session*> session);
|
||||
|
|
|
@ -4913,7 +4913,8 @@ bool HistoryWidget::showSendingFilesError(
|
|||
if (text.isEmpty()) {
|
||||
return false;
|
||||
} else if (text == u"(premium)"_q) {
|
||||
controller()->show(Box(FileSizeLimitBox, &session()));
|
||||
const auto fileSize = list.files.back().size;
|
||||
controller()->show(Box(FileSizeLimitBox, &session(), fileSize));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -948,7 +948,8 @@ bool RepliesWidget::showSendingFilesError(
|
|||
if (text.isEmpty()) {
|
||||
return false;
|
||||
} else if (text == u"(premium)"_q) {
|
||||
controller()->show(Box(FileSizeLimitBox, &session()));
|
||||
const auto fileSize = list.files.back().size;
|
||||
controller()->show(Box(FileSizeLimitBox, &session(), fileSize));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -568,7 +568,8 @@ bool ScheduledWidget::showSendingFilesError(
|
|||
if (text.isEmpty()) {
|
||||
return false;
|
||||
} else if (text == u"(premium)"_q) {
|
||||
controller()->show(Box(FileSizeLimitBox, &session()));
|
||||
const auto fileSize = list.files.back().size;
|
||||
controller()->show(Box(FileSizeLimitBox, &session(), fileSize));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -223,10 +223,12 @@ PreparedList PrepareMediaList(
|
|||
file
|
||||
};
|
||||
} else if (filesize > kFileSizeLimit && !premium) {
|
||||
return {
|
||||
auto errorResult = PreparedList(
|
||||
PreparedList::Error::PremiumRequired,
|
||||
file
|
||||
};
|
||||
QString());
|
||||
errorResult.files.emplace_back(file);
|
||||
errorResult.files.back().size = filesize;
|
||||
return errorResult;
|
||||
}
|
||||
if (result.files.size() < Ui::MaxAlbumItems()) {
|
||||
result.files.emplace_back(file);
|
||||
|
|
Loading…
Reference in New Issue