static Plasma::IconWidget *createButton(QGraphicsWidget *parent) { Plasma::IconWidget *button = new Plasma::IconWidget(parent); button->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); button->setOrientation(Qt::Horizontal); button->setDrawBackground(true); button->setTextBackgroundColor(QColor(Qt::transparent)); return button; }
void NetToolBox::addTool(QAction *action) { Plasma::IconWidget *button = new Plasma::IconWidget(this); button->setOrientation(Qt::Horizontal); button->setTextBackgroundColor(QColor()); button->installEventFilter(m_toolContainer); button->setAction(action); qreal left, top, right, bottom; m_toolContainer->itemBackground()->getContentsMargins(&left, &top, &right, &bottom); button->setContentsMargins(left, top, right, bottom); if (m_location == Plasma::LeftEdge || m_location == Plasma::RightEdge) { button->setOrientation(Qt::Vertical); } else { button->setOrientation(Qt::Horizontal); } m_actionButtons[action] = button; if (action == m_containment->action("remove")) { m_toolContainerLayout->addItem(button); --m_newToolsPosition; } else if (action == m_containment->action("add page")) { m_toolContainerLayout->insertItem(m_newToolsPosition+1, button); --m_newToolsPosition; } else if (action == m_containment->action("add applications")) { m_toolContainerLayout->insertItem(1, button); --m_newToolsPosition; } else { m_toolContainerLayout->insertItem(m_newToolsPosition, button); } ++m_newToolsPosition; if (m_toolContainerLayout->count() == 1) { m_toolContainer->itemBackground()->setTargetItem(button); } }