improved popup menu styles

This commit is contained in:
John Preston 2015-10-29 12:18:44 -04:00
parent 087e2970cd
commit a163686eef
2 changed files with 7 additions and 5 deletions

View File

@ -250,12 +250,12 @@ defaultPopupMenu: PopupMenu {
itemBgOver: overBg; itemBgOver: overBg;
itemFg: black; itemFg: black;
itemFgOver: black; itemFgOver: black;
itemPadding: margins(20px, 8px, 20px, 7px); itemPadding: margins(17px, 8px, 17px, 7px);
itemFont: normalFont; itemFont: normalFont;
duration: 120; duration: 120;
widthMin: 150px; widthMin: 160px;
widthMax: 300px; widthMax: 300px;
} }
almostTransparent: #ffffff0d; almostTransparent: #ffffff0d;

View File

@ -305,7 +305,8 @@ QAction *PopupMenu::addAction(const QString &text, const QObject *receiver, cons
connect(a, SIGNAL(triggered(bool)), receiver, member); connect(a, SIGNAL(triggered(bool)), receiver, member);
connect(a, SIGNAL(changed()), this, SLOT(actionChanged())); connect(a, SIGNAL(changed()), this, SLOT(actionChanged()));
int32 w = _st.widthMin, mw = _st.widthMax; int32 w = _padding.left() + _st.widthMin + _padding.right();
int32 mw = _padding.left() + _st.widthMax + _padding.right();
for (int32 i = 0, l = _actions.size(); i < l; ++i) { for (int32 i = 0, l = _actions.size(); i < l; ++i) {
int32 goodw = _padding.left() + _st.itemPadding.left() + _st.itemFont->width(_actions[i]->text()) + _st.itemPadding.right() + _padding.right(); int32 goodw = _padding.left() + _st.itemPadding.left() + _st.itemFont->width(_actions[i]->text()) + _st.itemPadding.right() + _padding.right();
w = snap(goodw, w, mw); w = snap(goodw, w, mw);
@ -321,7 +322,8 @@ PopupMenu::Actions &PopupMenu::actions() {
} }
void PopupMenu::actionChanged() { void PopupMenu::actionChanged() {
int32 w = _st.widthMin, mw = _st.widthMax; int32 w = _padding.left() + _st.widthMin + _padding.right();
int32 mw = _padding.left() + _st.widthMax + _padding.right();
for (int32 i = 0, l = _actions.size(); i < l; ++i) { for (int32 i = 0, l = _actions.size(); i < l; ++i) {
int32 goodw = _padding.left() + _st.itemPadding.left() + _st.itemFont->width(_actions[i]->text()) + _st.itemPadding.right() + _padding.right(); int32 goodw = _padding.left() + _st.itemPadding.left() + _st.itemFont->width(_actions[i]->text()) + _st.itemPadding.right() + _padding.right();
w = snap(goodw, w, mw); w = snap(goodw, w, mw);
@ -340,7 +342,7 @@ void PopupMenu::activeWindowChanged() {
void PopupMenu::resetActions() { void PopupMenu::resetActions() {
clearActions(); clearActions();
resize(_st.widthMin, _padding.top() + (_st.skip * 2) + _padding.bottom()); resize(_padding.left() + _st.widthMin + _padding.right(), _padding.top() + (_st.skip * 2) + _padding.bottom());
} }
void PopupMenu::clearActions() { void PopupMenu::clearActions() {