Adjust completion menu to fit its contents

This commit is contained in:
Konstantinos Sideris 2018-04-24 16:03:50 +03:00
parent 649d73a7bd
commit 4fd8eccece
5 changed files with 25 additions and 0 deletions

View file

@ -64,6 +64,9 @@ public slots:
//! Set hovering to the item in the given layout position. //! Set hovering to the item in the given layout position.
void setHovering(int pos); void setHovering(int pos);
protected:
void paintEvent(QPaintEvent *event) override;
signals: signals:
void itemSelected(const QString &user); void itemSelected(const QString &user);

View file

@ -22,6 +22,10 @@ QuickSwitcher {
background-color: #202228; background-color: #202228;
} }
SuggestionsPopup {
background-color: #202228;
}
PopupItem { PopupItem {
background-color: #202228; background-color: #202228;
qproperty-hoverColor: rgba(45, 49, 57, 120); qproperty-hoverColor: rgba(45, 49, 57, 120);

View file

@ -22,6 +22,10 @@ QuickSwitcher {
background-color: white; background-color: white;
} }
SuggestionsPopup {
background-color: white;
}
PopupItem { PopupItem {
background-color: white; background-color: white;
qproperty-hoverColor: rgba(192, 193, 195, 120); qproperty-hoverColor: rgba(192, 193, 195, 120);

View file

@ -25,6 +25,10 @@ QuickSwitcher {
background-color: palette(window); background-color: palette(window);
} }
SuggestionsPopup {
background-color: palette(window);
}
PopupItem { PopupItem {
background-color: palette(window); background-color: palette(window);
qproperty-hoverColor: rgba(192, 193, 195, 120); qproperty-hoverColor: rgba(192, 193, 195, 120);

View file

@ -106,6 +106,7 @@ SuggestionsPopup::addUsers(const QVector<SearchResult> &users)
} }
resetSelection(); resetSelection();
adjustSize();
resize(geometry().width(), 40 * users.size()); resize(geometry().width(), 40 * users.size());
} }
@ -171,3 +172,12 @@ SuggestionsPopup::selectHoveredSuggestion()
resetSelection(); resetSelection();
} }
void
SuggestionsPopup::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}