QIconSet menuIconSet(const QString& icon) { QIconSet iconset; int iconSize = KickerSettings::menuEntryHeight(); if (iconSize < 0) { return iconset; } if (icon != "unknown") { if (iconSize > 0) { iconset = KGlobal::iconLoader()->loadIconSet(icon, KIcon::NoGroup, iconSize, true); } else if (iconSize == 0) { QPixmap normal = KGlobal::iconLoader()->loadIcon(icon, KIcon::Small, 0, KIcon::DefaultState, 0, true); QPixmap active = KGlobal::iconLoader()->loadIcon(icon, KIcon::Small, 0, KIcon::ActiveState, 0, true); // make sure they are not larger than 20x20 if (normal.width() > 20 || normal.height() > 20) { normal.convertFromImage(normal.convertToImage().smoothScale(20,20)); } if (active.width() > 20 || active.height() > 20) { active.convertFromImage(active.convertToImage().smoothScale(20,20)); } iconset.setPixmap(normal, QIconSet::Small, QIconSet::Normal); iconset.setPixmap(active, QIconSet::Small, QIconSet::Active); } } if (iconset.isNull()) { QPixmap pix(iconSize, iconSize); QBitmap map(iconSize, iconSize, true); pix.setMask(map); iconset = QIconSet(pix, pix); } return iconset; }
QSize QToolBoxButton::sizeHint() const { QSize iconSize(8, 8); if ( !icon.isNull() ) iconSize += icon.pixmap( QIconSet::Small, QIconSet::Normal ).size() + QSize( 2, 0 ); QSize textSize = fontMetrics().size( Qt::ShowPrefix, label ) + QSize(0, 8); QSize total(iconSize.width() + textSize.width(), QMAX(iconSize.height(), textSize.height())); return total.expandedTo(QApplication::globalStrut()); }
void SourceDirTreeNode::refreshIcon() { if (Settings::sourceDirTreeShowIcons()) { QIconSet iconSet = KGlobal::iconLoader()->loadIconSet(Constants::ICON_SOURCEDIR, KIcon::Small, Settings::sourceDirTreeIconSize(), true); if (iconSet.isNull()) { tracer->swarning(__func__) << "Could not load iconset with iconname: '" << Constants::ICON_SOURCEDIR << "'" << endl; this->setPixmap(SourceDirTree::COLUMN_TEXT, 0); } else { this->setPixmap(SourceDirTree::COLUMN_TEXT, iconSet.pixmap()); } } else { this->setPixmap(SourceDirTree::COLUMN_TEXT, 0); } }
QSize QToolBoxButton::minimumSizeHint() const { if ( icon.isNull() ) return QSize(); return QSize(8, 8) + icon.pixmap( QIconSet::Small, QIconSet::Normal ).size(); }