Changeset View
Changeset View
Standalone View
Standalone View
src/decorationbutton.cpp
Show First 20 Lines • Show All 71 Lines • ▼ Show 20 Line(s) | 71 | [this](bool enabled) { | |||
---|---|---|---|---|---|
72 | doubleClickEnabled = enabled; | 72 | doubleClickEnabled = enabled; | ||
73 | setPressAndHold(enabled); | 73 | setPressAndHold(enabled); | ||
74 | }, Qt::QueuedConnection | 74 | }, Qt::QueuedConnection | ||
75 | ); | 75 | ); | ||
76 | doubleClickEnabled = settings->isCloseOnDoubleClickOnMenu(); | 76 | doubleClickEnabled = settings->isCloseOnDoubleClickOnMenu(); | ||
77 | setPressAndHold(settings->isCloseOnDoubleClickOnMenu()); | 77 | setPressAndHold(settings->isCloseOnDoubleClickOnMenu()); | ||
78 | setAcceptedButtons(Qt::LeftButton | Qt::RightButton); | 78 | setAcceptedButtons(Qt::LeftButton | Qt::RightButton); | ||
79 | break; | 79 | break; | ||
80 | case DecorationButtonType::ApplicationMenu: | ||||
81 | setVisible(c->hasApplicationMenu()); | ||||
82 | setCheckable(true); // will be "checked" whilst the menu is opened | ||||
83 | // FIXME TODO connect directly and figure out the button geometry/offset stuff | ||||
84 | QObject::connect(q, &DecorationButton::clicked, decoration.data(), [this] { | ||||
85 | decoration->requestShowApplicationMenu(q->geometry().toRect(), 0 /* actionId */); | ||||
86 | }, Qt::QueuedConnection); //&Decoration::requestShowApplicationMenu, Qt::QueuedConnection); | ||||
87 | QObject::connect(c, &DecoratedClient::hasApplicationMenuChanged, q, &DecorationButton::setVisible); | ||||
88 | QObject::connect(c, &DecoratedClient::applicationMenuActiveChanged, q, &DecorationButton::setChecked); | ||||
89 | break; | ||||
80 | case DecorationButtonType::OnAllDesktops: | 90 | case DecorationButtonType::OnAllDesktops: | ||
81 | setVisible(settings->isOnAllDesktopsAvailable()); | 91 | setVisible(settings->isOnAllDesktopsAvailable()); | ||
82 | setCheckable(true); | 92 | setCheckable(true); | ||
83 | setChecked(c->isOnAllDesktops()); | 93 | setChecked(c->isOnAllDesktops()); | ||
84 | QObject::connect(q, &DecorationButton::clicked, decoration.data(), &Decoration::requestToggleOnAllDesktops, Qt::QueuedConnection); | 94 | QObject::connect(q, &DecorationButton::clicked, decoration.data(), &Decoration::requestToggleOnAllDesktops, Qt::QueuedConnection); | ||
85 | QObject::connect(settings.data(), &DecorationSettings::onAllDesktopsAvailableChanged, q, &DecorationButton::setVisible); | 95 | QObject::connect(settings.data(), &DecorationSettings::onAllDesktopsAvailableChanged, q, &DecorationButton::setVisible); | ||
86 | QObject::connect(c, &DecoratedClient::onAllDesktopsChanged, q, &DecorationButton::setChecked); | 96 | QObject::connect(c, &DecoratedClient::onAllDesktopsChanged, q, &DecorationButton::setChecked); | ||
87 | break; | 97 | break; | ||
▲ Show 20 Lines • Show All 402 Lines • Show Last 20 Lines |