// return the icon size that would be used if the panel were proposed_size // if proposed_size==-1, use the current panel size instead int PanelButton::preferredIconSize(int proposed_size) const { // (re)calculates the icon sizes and report true if they have changed. // Get sizes from icontheme. We assume they are sorted. KIconTheme *ith = KGlobal::iconLoader()->theme(); if (!ith) { return -1; // unknown icon size } QValueList<int> sizes = ith->querySizes(KIcon::Panel); int sz = ith->defaultSize(KIcon::Panel); if (proposed_size < 0) { proposed_size = (orientation() == Horizontal) ? height() : width(); } // determine the upper limit on the size. Normally, this is panelSize, // but if conserve space is requested, the max button size is used instead. int upperLimit = proposed_size; if (proposed_size > KickerLib::maxButtonDim() && KickerSettings::conserveSpace()) { upperLimit = KickerLib::maxButtonDim(); } //kdDebug()<<endl<<endl<<flush; QValueListConstIterator<int> i = sizes.constBegin(); while (i != sizes.constEnd()) { if ((*i) + (2 * KickerSettings::iconMargin()) > upperLimit) { break; } sz = *i; // get the largest size under the limit ++i; } //kdDebug()<<"Using icon sizes: "<<sz<<" "<<zoom_sz<<endl<<flush; return sz; }
void Akregator::SubscriptionListDelegate::recalculateRowHeight() { KIconTheme *iconTheme = KIconLoader::global()->theme(); m_viewIconHeight = ( iconTheme != NULL ) ? iconTheme->defaultSize( KIconLoader::Small ) : 0; kDebug() << "icon height" << m_viewIconHeight; }