ofxLiteGroup::ofxLiteGroup(string name) : ofxLiteBox(name){ setSpacing(); setMaxHeight(); setHoverable(false); setDraggable(false); setSelectable(false); setTriggerable(false); setSortable(false, false); singleSelected = NULL; setSingleSelect(false); dragBox = NULL; }
void DockItem::showMenu(const QPoint &menuPos) { if (getMenuContent().isEmpty()) return; hidePreview(true); if (m_dbusMenuManager == nullptr) { m_dbusMenuManager = new DBusMenuManager(this); } QDBusPendingReply<QDBusObjectPath> pr = m_dbusMenuManager->RegisterMenu(); pr.waitForFinished(); if (pr.isValid()) { QDBusObjectPath op = pr.value(); if (m_dbusMenu != nullptr) { m_dbusMenu->deleteLater(); } m_dbusMenu = new DBusMenu(op.path(), this); connect(m_dbusMenu, &DBusMenu::ItemInvoked, this, &DockItem::invokeMenuItem); connect(m_dbusMenu, &DBusMenu::MenuUnregistered, [=] { setHoverable(true); }); QPoint pos = menuPos.isNull() ? QPoint(globalX() + width() / 2, globalY()) : menuPos; QJsonObject targetObj; targetObj.insert("x", QJsonValue(pos.x())); targetObj.insert("y", QJsonValue(pos.y())); targetObj.insert("isDockMenu", QJsonValue(true)); targetObj.insert("menuJsonContent", QJsonValue(getMenuContent())); m_dbusMenu->ShowMenu(QString(QJsonDocument(targetObj).toJson())); setHoverable(false); } }