mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-15 21:57:10 +02:00
Improve peer list decorate widgets.
This commit is contained in:
parent
1ffbc122e1
commit
09de881036
2 changed files with 30 additions and 23 deletions
|
@ -1221,18 +1221,14 @@ void PeerListContent::setSearchNoResults(object_ptr<Ui::FlatLabel> noResults) {
|
|||
}
|
||||
}
|
||||
|
||||
void PeerListContent::setAboveWidget(object_ptr<TWidget> widget) {
|
||||
void PeerListContent::setAboveWidget(object_ptr<Ui::RpWidget> widget) {
|
||||
_aboveWidget = std::move(widget);
|
||||
if (_aboveWidget) {
|
||||
_aboveWidget->setParent(this);
|
||||
}
|
||||
initDecorateWidget(_aboveWidget.data());
|
||||
}
|
||||
|
||||
void PeerListContent::setAboveSearchWidget(object_ptr<TWidget> widget) {
|
||||
void PeerListContent::setAboveSearchWidget(object_ptr<Ui::RpWidget> widget) {
|
||||
_aboveSearchWidget = std::move(widget);
|
||||
if (_aboveSearchWidget) {
|
||||
_aboveSearchWidget->setParent(this);
|
||||
}
|
||||
initDecorateWidget(_aboveSearchWidget.data());
|
||||
}
|
||||
|
||||
void PeerListContent::setHideEmpty(bool hide) {
|
||||
|
@ -1240,10 +1236,20 @@ void PeerListContent::setHideEmpty(bool hide) {
|
|||
resizeToWidth(width());
|
||||
}
|
||||
|
||||
void PeerListContent::setBelowWidget(object_ptr<TWidget> widget) {
|
||||
void PeerListContent::setBelowWidget(object_ptr<Ui::RpWidget> widget) {
|
||||
_belowWidget = std::move(widget);
|
||||
if (_belowWidget) {
|
||||
_belowWidget->setParent(this);
|
||||
initDecorateWidget(_belowWidget.data());
|
||||
}
|
||||
|
||||
void PeerListContent::initDecorateWidget(Ui::RpWidget *widget) {
|
||||
if (widget) {
|
||||
widget->setParent(this);
|
||||
widget->events(
|
||||
) | rpl::filter([=](not_null<QEvent*> e) {
|
||||
return (e->type() == QEvent::Enter) && widget->isVisible();
|
||||
}) | rpl::start_with_next([=] {
|
||||
mouseLeftGeometry();
|
||||
}, widget->lifetime());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -298,9 +298,9 @@ public:
|
|||
virtual void peerListSetHideEmpty(bool hide) = 0;
|
||||
virtual void peerListSetDescription(object_ptr<Ui::FlatLabel> description) = 0;
|
||||
virtual void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) = 0;
|
||||
virtual void peerListSetAboveWidget(object_ptr<TWidget> aboveWidget) = 0;
|
||||
virtual void peerListSetAboveSearchWidget(object_ptr<TWidget> aboveWidget) = 0;
|
||||
virtual void peerListSetBelowWidget(object_ptr<TWidget> belowWidget) = 0;
|
||||
virtual void peerListSetAboveWidget(object_ptr<Ui::RpWidget> aboveWidget) = 0;
|
||||
virtual void peerListSetAboveSearchWidget(object_ptr<Ui::RpWidget> aboveWidget) = 0;
|
||||
virtual void peerListSetBelowWidget(object_ptr<Ui::RpWidget> belowWidget) = 0;
|
||||
virtual void peerListMouseLeftGeometry() = 0;
|
||||
virtual void peerListSetSearchMode(PeerListSearchMode mode) = 0;
|
||||
virtual void peerListAppendRow(std::unique_ptr<PeerListRow> row) = 0;
|
||||
|
@ -618,9 +618,9 @@ public:
|
|||
void setDescription(object_ptr<Ui::FlatLabel> description);
|
||||
void setSearchLoading(object_ptr<Ui::FlatLabel> loading);
|
||||
void setSearchNoResults(object_ptr<Ui::FlatLabel> noResults);
|
||||
void setAboveWidget(object_ptr<TWidget> widget);
|
||||
void setAboveSearchWidget(object_ptr<TWidget> widget);
|
||||
void setBelowWidget(object_ptr<TWidget> width);
|
||||
void setAboveWidget(object_ptr<Ui::RpWidget> widget);
|
||||
void setAboveSearchWidget(object_ptr<Ui::RpWidget> widget);
|
||||
void setBelowWidget(object_ptr<Ui::RpWidget> width);
|
||||
void setHideEmpty(bool hide);
|
||||
void refreshRows();
|
||||
|
||||
|
@ -781,6 +781,7 @@ private:
|
|||
void clearAllContent();
|
||||
void handleMouseMove(QPoint globalPosition);
|
||||
void mousePressReleased(Qt::MouseButton button);
|
||||
void initDecorateWidget(Ui::RpWidget *widget);
|
||||
|
||||
const style::PeerList &_st;
|
||||
not_null<PeerListController*> _controller;
|
||||
|
@ -815,9 +816,9 @@ private:
|
|||
int _aboveHeight = 0;
|
||||
int _belowHeight = 0;
|
||||
bool _hideEmpty = false;
|
||||
object_ptr<TWidget> _aboveWidget = { nullptr };
|
||||
object_ptr<TWidget> _aboveSearchWidget = { nullptr };
|
||||
object_ptr<TWidget> _belowWidget = { nullptr };
|
||||
object_ptr<Ui::RpWidget> _aboveWidget = { nullptr };
|
||||
object_ptr<Ui::RpWidget> _aboveSearchWidget = { nullptr };
|
||||
object_ptr<Ui::RpWidget> _belowWidget = { nullptr };
|
||||
object_ptr<Ui::FlatLabel> _description = { nullptr };
|
||||
object_ptr<Ui::FlatLabel> _searchNoResults = { nullptr };
|
||||
object_ptr<Ui::FlatLabel> _searchLoading = { nullptr };
|
||||
|
@ -901,13 +902,13 @@ public:
|
|||
void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) override {
|
||||
_content->setSearchNoResults(std::move(noResults));
|
||||
}
|
||||
void peerListSetAboveWidget(object_ptr<TWidget> aboveWidget) override {
|
||||
void peerListSetAboveWidget(object_ptr<Ui::RpWidget> aboveWidget) override {
|
||||
_content->setAboveWidget(std::move(aboveWidget));
|
||||
}
|
||||
void peerListSetAboveSearchWidget(object_ptr<TWidget> aboveWidget) override {
|
||||
void peerListSetAboveSearchWidget(object_ptr<Ui::RpWidget> aboveWidget) override {
|
||||
_content->setAboveSearchWidget(std::move(aboveWidget));
|
||||
}
|
||||
void peerListSetBelowWidget(object_ptr<TWidget> belowWidget) override {
|
||||
void peerListSetBelowWidget(object_ptr<Ui::RpWidget> belowWidget) override {
|
||||
_content->setBelowWidget(std::move(belowWidget));
|
||||
}
|
||||
void peerListSetSearchMode(PeerListSearchMode mode) override {
|
||||
|
|
Loading…
Add table
Reference in a new issue