mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
[poll-create] Changed default enabled settings.
This commit is contained in:
@@ -394,7 +394,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
|
||||
|
||||
case ButtonType::RequestPoll: {
|
||||
HideSingleUseKeyboard(controller, item);
|
||||
auto chosen = PollData::Flags();
|
||||
auto chosen = kDefaultPollCreateFlags;
|
||||
auto disabled = PollData::Flags();
|
||||
if (!button->data.isEmpty()) {
|
||||
disabled |= PollData::Flag::Quiz;
|
||||
|
||||
@@ -2752,11 +2752,19 @@ object_ptr<Ui::RpWidget> CreatePollBox::setupContent() {
|
||||
*handled = true;
|
||||
}, solution->lifetime());
|
||||
|
||||
const auto updateQuizDependentLocks = [=](bool checked) {
|
||||
const auto updateAddOptionsLocked = [=] {
|
||||
if (addOptions) {
|
||||
addOptions->setToggleLocked(
|
||||
(_disabled & PollData::Flag::OpenAnswers) || checked);
|
||||
const auto locked = (_disabled & PollData::Flag::OpenAnswers)
|
||||
|| quiz->toggled()
|
||||
|| (showWhoVoted && !showWhoVoted->toggled());
|
||||
addOptions->setToggleLocked(locked);
|
||||
if (locked) {
|
||||
state->addOptionsForceOff.fire(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
const auto updateQuizDependentLocks = [=](bool checked) {
|
||||
updateAddOptionsLocked();
|
||||
revoting->setToggleLocked(
|
||||
(_disabled & PollData::Flag::RevotingDisabled) || checked);
|
||||
};
|
||||
@@ -2788,19 +2796,11 @@ object_ptr<Ui::RpWidget> CreatePollBox::setupContent() {
|
||||
}, multiple->lifetime());
|
||||
|
||||
if (addOptions && showWhoVoted) {
|
||||
const auto updateShowWhoVotedLock = [=](bool openAnswers) {
|
||||
showWhoVoted->setToggleLocked(
|
||||
(_disabled & PollData::Flag::PublicVotes)
|
||||
|| openAnswers);
|
||||
if (openAnswers) {
|
||||
state->showWhoVotedForceOn.fire(true);
|
||||
}
|
||||
};
|
||||
updateShowWhoVotedLock(addOptions->toggled());
|
||||
addOptions->toggledChanges(
|
||||
) | rpl::on_next([=](bool checked) {
|
||||
updateShowWhoVotedLock(checked);
|
||||
}, addOptions->lifetime());
|
||||
updateAddOptionsLocked();
|
||||
showWhoVoted->toggledChanges(
|
||||
) | rpl::on_next([=](bool) {
|
||||
updateAddOptionsLocked();
|
||||
}, showWhoVoted->lifetime());
|
||||
}
|
||||
|
||||
const auto isValidQuestion = [=] {
|
||||
|
||||
@@ -131,6 +131,11 @@ private:
|
||||
|
||||
};
|
||||
|
||||
inline constexpr auto kDefaultPollCreateFlags = PollData::Flag::PublicVotes
|
||||
| PollData::Flag::MultiChoice
|
||||
| PollData::Flag::OpenAnswers
|
||||
| PollData::Flag::ShuffleAnswers;
|
||||
|
||||
[[nodiscard]] QByteArray PollOptionFromLink(const QString &value);
|
||||
[[nodiscard]] QString PollOptionToLink(const QByteArray &option);
|
||||
|
||||
|
||||
@@ -2751,14 +2751,14 @@ std::unique_ptr<Ui::DropdownMenu> MakeAttachBotsMenu(
|
||||
|| action.history->peer->starsPerMessageChecked())
|
||||
? SendMenu::Type::SilentOnly
|
||||
: SendMenu::Type::Scheduled;
|
||||
const auto flag = PollData::Flags();
|
||||
const auto chosen = kDefaultPollCreateFlags;
|
||||
Window::PeerMenuCreatePoll(
|
||||
controller,
|
||||
peer,
|
||||
action.replyTo,
|
||||
action.options.suggest,
|
||||
flag,
|
||||
flag,
|
||||
chosen,
|
||||
PollData::Flags(),
|
||||
source,
|
||||
{ sendMenuType });
|
||||
}, &st::menuIconCreatePoll);
|
||||
|
||||
@@ -43,7 +43,9 @@ DetailedSettingsButton::DetailedSettingsButton(
|
||||
false,
|
||||
[this] { rtlupdate(toggleRect()); });
|
||||
addClickHandler([=] {
|
||||
_toggle->setChecked(!_toggle->checked(), anim::type::normal);
|
||||
if (!_toggleLocked) {
|
||||
_toggle->setChecked(!_toggle->checked(), anim::type::normal);
|
||||
}
|
||||
});
|
||||
std::move(
|
||||
toggled
|
||||
@@ -88,6 +90,7 @@ DetailedSettingsButton::clickAreaEvents() const {
|
||||
}
|
||||
|
||||
void DetailedSettingsButton::setToggleLocked(bool locked) {
|
||||
_toggleLocked = locked;
|
||||
_toggle->setLocked(locked);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ private:
|
||||
int _descriptionWidth = 0;
|
||||
int _descriptionTop = 0;
|
||||
int _descriptionHeight = 0;
|
||||
bool _toggleLocked = false;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -1271,17 +1271,17 @@ void Filler::addCreatePoll() {
|
||||
|| _peer->starsPerMessageChecked())
|
||||
? SendMenu::Type::SilentOnly
|
||||
: SendMenu::Type::Scheduled;
|
||||
const auto flag = PollData::Flags();
|
||||
const auto replyTo = _request.currentReplyTo;
|
||||
const auto suggest = _request.currentSuggest;
|
||||
const auto chosen = kDefaultPollCreateFlags;
|
||||
auto callback = [=] {
|
||||
PeerMenuCreatePoll(
|
||||
controller,
|
||||
peer,
|
||||
replyTo,
|
||||
suggest,
|
||||
flag,
|
||||
flag,
|
||||
chosen,
|
||||
PollData::Flags(),
|
||||
source,
|
||||
{ sendMenuType });
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ void PeerMenuCreatePoll(
|
||||
not_null<PeerData*> peer,
|
||||
FullReplyTo replyTo = FullReplyTo(),
|
||||
SuggestOptions suggest = SuggestOptions(),
|
||||
PollData::Flags chosen = PollData::Flags(),
|
||||
PollData::Flags chosen = kDefaultPollCreateFlags,
|
||||
PollData::Flags disabled = PollData::Flags(),
|
||||
Api::SendType sendType = Api::SendType::Normal,
|
||||
SendMenu::Details sendMenuDetails = SendMenu::Details());
|
||||
|
||||
Reference in New Issue
Block a user