mirror of https://github.com/procxx/kepka.git
improved popup menu styles
This commit is contained in:
parent
087e2970cd
commit
a163686eef
|
@ -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;
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
Loading…
Reference in New Issue