void KeyboardApplet::updateTooltip() { LayoutUnit layoutUnit = X11Helper::getCurrentLayout(); if( layoutUnit.isEmpty() ) return; const QIcon icon(getFlag(layoutUnit.layout)); Plasma::ToolTipContent data(name(), flags.getLongText(layoutUnit, rules), icon); Plasma::ToolTipManager::self()->setContent(this, data); }
QString Flags::getShortText(const LayoutUnit& layoutUnit, const KeyboardConfig& keyboardConfig) { if( layoutUnit.isEmpty() ) return QString("--"); QString layoutText = layoutUnit.layout; foreach(const LayoutUnit& lu, keyboardConfig.layouts) { if( layoutUnit.layout == lu.layout && layoutUnit.variant == lu.variant ) { layoutText = lu.getDisplayName(); break; } } //TODO: good autolabel // if( layoutText == layoutUnit.layout && layoutUnit.getDisplayName() != layoutUnit.layout ) { // layoutText = layoutUnit.getDisplayName(); // } return layoutText; }
void KeyboardApplet::paintInterface(QPainter *p, const QStyleOptionGraphicsItem */*option*/, const QRect &contentsRect) { LayoutUnit layoutUnit = X11Helper::getCurrentLayout(); if( layoutUnit.isEmpty() ) return; const QIcon icon(getFlag(layoutUnit.layout)); if( ! icon.isNull() ) { p->save(); p->setRenderHint(QPainter::SmoothPixmapTransform); p->setRenderHint(QPainter::Antialiasing); QPixmap pixmap = icon.pixmap(contentsRect.size()); p->drawPixmap(contentsRect, pixmap); p->restore(); } if( icon.isNull() || keyboardConfig->isLabelShown() ) { QRect finalRect(m_pixmap.rect()); finalRect.moveCenter(contentsRect.center()); p->drawPixmap(finalRect, m_pixmap); } }