Preserve panels state through visibility toggles.

Emoji/Stickers/GIFs panel saves all the state between activations.
This commit is contained in:
John Preston 2017-05-17 23:59:43 +03:00
parent 132d884600
commit bf0f956325
4 changed files with 12 additions and 10 deletions

View File

@ -75,7 +75,8 @@ EmojiListWidget::Footer::Footer(gsl::not_null<EmojiListWidget*> parent) : InnerF
}
void EmojiListWidget::Footer::processPanelHideFinished() {
setCurrentSectionIcon(Section::Recent);
// Preserve panel state through visibility toggles.
//setCurrentSectionIcon(Section::Recent);
}
void EmojiListWidget::Footer::setCurrentSectionIcon(Section section) {

View File

@ -116,7 +116,8 @@ void GifsListWidget::Footer::paintEvent(QPaintEvent *e) {
}
void GifsListWidget::Footer::processPanelHideFinished() {
_field->setText(QString());
// Preserve panel state through visibility toggles.
//_field->setText(QString());
}
GifsListWidget::GifsListWidget(QWidget *parent, gsl::not_null<Window::Controller*> controller) : Inner(parent, controller)
@ -407,7 +408,8 @@ void GifsListWidget::processPanelHideFinished() {
result->forget();
}
};
clearInlineRows(false);
// Preserve panel state through visibility toggles.
//clearInlineRows(false);
for_const (auto &item, _gifLayouts) {
itemForget(item.second);
}

View File

@ -1009,11 +1009,12 @@ void StickersListWidget::processHideFinished() {
void StickersListWidget::processPanelHideFinished() {
clearInstalledLocally();
// Reset to the recent stickers section.
if (_section == Section::Featured && (!_footer || !_footer->hasOnlyFeaturedSets())) {
_section = Section::Stickers;
validateSelectedIcon(ValidateIconAnimations::None);
}
// Preserve panel state through visibility toggles.
//// Reset to the recent stickers section.
//if (_section == Section::Featured && (!_footer || !_footer->hasOnlyFeaturedSets())) {
// _section = Section::Stickers;
// validateSelectedIcon(ValidateIconAnimations::None);
//}
}
void StickersListWidget::refreshStickers() {

View File

@ -461,8 +461,6 @@ void TabbedSelector::hideFinished() {
}
_a_slide.finish();
_slideAnimation.reset();
scrollToY(0);
}
void TabbedSelector::showStarted() {