mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +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);
|
_aboveWidget = std::move(widget);
|
||||||
if (_aboveWidget) {
|
initDecorateWidget(_aboveWidget.data());
|
||||||
_aboveWidget->setParent(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PeerListContent::setAboveSearchWidget(object_ptr<TWidget> widget) {
|
void PeerListContent::setAboveSearchWidget(object_ptr<Ui::RpWidget> widget) {
|
||||||
_aboveSearchWidget = std::move(widget);
|
_aboveSearchWidget = std::move(widget);
|
||||||
if (_aboveSearchWidget) {
|
initDecorateWidget(_aboveSearchWidget.data());
|
||||||
_aboveSearchWidget->setParent(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PeerListContent::setHideEmpty(bool hide) {
|
void PeerListContent::setHideEmpty(bool hide) {
|
||||||
|
@ -1240,10 +1236,20 @@ void PeerListContent::setHideEmpty(bool hide) {
|
||||||
resizeToWidth(width());
|
resizeToWidth(width());
|
||||||
}
|
}
|
||||||
|
|
||||||
void PeerListContent::setBelowWidget(object_ptr<TWidget> widget) {
|
void PeerListContent::setBelowWidget(object_ptr<Ui::RpWidget> widget) {
|
||||||
_belowWidget = std::move(widget);
|
_belowWidget = std::move(widget);
|
||||||
if (_belowWidget) {
|
initDecorateWidget(_belowWidget.data());
|
||||||
_belowWidget->setParent(this);
|
}
|
||||||
|
|
||||||
|
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 peerListSetHideEmpty(bool hide) = 0;
|
||||||
virtual void peerListSetDescription(object_ptr<Ui::FlatLabel> description) = 0;
|
virtual void peerListSetDescription(object_ptr<Ui::FlatLabel> description) = 0;
|
||||||
virtual void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) = 0;
|
virtual void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) = 0;
|
||||||
virtual void peerListSetAboveWidget(object_ptr<TWidget> aboveWidget) = 0;
|
virtual void peerListSetAboveWidget(object_ptr<Ui::RpWidget> aboveWidget) = 0;
|
||||||
virtual void peerListSetAboveSearchWidget(object_ptr<TWidget> aboveWidget) = 0;
|
virtual void peerListSetAboveSearchWidget(object_ptr<Ui::RpWidget> aboveWidget) = 0;
|
||||||
virtual void peerListSetBelowWidget(object_ptr<TWidget> belowWidget) = 0;
|
virtual void peerListSetBelowWidget(object_ptr<Ui::RpWidget> belowWidget) = 0;
|
||||||
virtual void peerListMouseLeftGeometry() = 0;
|
virtual void peerListMouseLeftGeometry() = 0;
|
||||||
virtual void peerListSetSearchMode(PeerListSearchMode mode) = 0;
|
virtual void peerListSetSearchMode(PeerListSearchMode mode) = 0;
|
||||||
virtual void peerListAppendRow(std::unique_ptr<PeerListRow> row) = 0;
|
virtual void peerListAppendRow(std::unique_ptr<PeerListRow> row) = 0;
|
||||||
|
@ -618,9 +618,9 @@ public:
|
||||||
void setDescription(object_ptr<Ui::FlatLabel> description);
|
void setDescription(object_ptr<Ui::FlatLabel> description);
|
||||||
void setSearchLoading(object_ptr<Ui::FlatLabel> loading);
|
void setSearchLoading(object_ptr<Ui::FlatLabel> loading);
|
||||||
void setSearchNoResults(object_ptr<Ui::FlatLabel> noResults);
|
void setSearchNoResults(object_ptr<Ui::FlatLabel> noResults);
|
||||||
void setAboveWidget(object_ptr<TWidget> widget);
|
void setAboveWidget(object_ptr<Ui::RpWidget> widget);
|
||||||
void setAboveSearchWidget(object_ptr<TWidget> widget);
|
void setAboveSearchWidget(object_ptr<Ui::RpWidget> widget);
|
||||||
void setBelowWidget(object_ptr<TWidget> width);
|
void setBelowWidget(object_ptr<Ui::RpWidget> width);
|
||||||
void setHideEmpty(bool hide);
|
void setHideEmpty(bool hide);
|
||||||
void refreshRows();
|
void refreshRows();
|
||||||
|
|
||||||
|
@ -781,6 +781,7 @@ private:
|
||||||
void clearAllContent();
|
void clearAllContent();
|
||||||
void handleMouseMove(QPoint globalPosition);
|
void handleMouseMove(QPoint globalPosition);
|
||||||
void mousePressReleased(Qt::MouseButton button);
|
void mousePressReleased(Qt::MouseButton button);
|
||||||
|
void initDecorateWidget(Ui::RpWidget *widget);
|
||||||
|
|
||||||
const style::PeerList &_st;
|
const style::PeerList &_st;
|
||||||
not_null<PeerListController*> _controller;
|
not_null<PeerListController*> _controller;
|
||||||
|
@ -815,9 +816,9 @@ private:
|
||||||
int _aboveHeight = 0;
|
int _aboveHeight = 0;
|
||||||
int _belowHeight = 0;
|
int _belowHeight = 0;
|
||||||
bool _hideEmpty = false;
|
bool _hideEmpty = false;
|
||||||
object_ptr<TWidget> _aboveWidget = { nullptr };
|
object_ptr<Ui::RpWidget> _aboveWidget = { nullptr };
|
||||||
object_ptr<TWidget> _aboveSearchWidget = { nullptr };
|
object_ptr<Ui::RpWidget> _aboveSearchWidget = { nullptr };
|
||||||
object_ptr<TWidget> _belowWidget = { nullptr };
|
object_ptr<Ui::RpWidget> _belowWidget = { nullptr };
|
||||||
object_ptr<Ui::FlatLabel> _description = { nullptr };
|
object_ptr<Ui::FlatLabel> _description = { nullptr };
|
||||||
object_ptr<Ui::FlatLabel> _searchNoResults = { nullptr };
|
object_ptr<Ui::FlatLabel> _searchNoResults = { nullptr };
|
||||||
object_ptr<Ui::FlatLabel> _searchLoading = { nullptr };
|
object_ptr<Ui::FlatLabel> _searchLoading = { nullptr };
|
||||||
|
@ -901,13 +902,13 @@ public:
|
||||||
void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) override {
|
void peerListSetSearchNoResults(object_ptr<Ui::FlatLabel> noResults) override {
|
||||||
_content->setSearchNoResults(std::move(noResults));
|
_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));
|
_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));
|
_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));
|
_content->setBelowWidget(std::move(belowWidget));
|
||||||
}
|
}
|
||||||
void peerListSetSearchMode(PeerListSearchMode mode) override {
|
void peerListSetSearchMode(PeerListSearchMode mode) override {
|
||||||
|
|
Loading…
Add table
Reference in a new issue