QSize FancyTabBar::tabSizeHint() const { int spacing = sidebarSpacing(withText); if (withText) { QFontMetrics fm(font()); int maxTw=0; foreach (FancyTab *tab, tabs) { maxTw=qMax(maxTw, tab->sizeHint().width()); } return QSize(qMax(icnSize + spacing, maxTw), icnSize + spacing + fm.height()); } else {
QSize FancyTab::sizeHint() const { int iconSize = tabbar->iconSize(); bool withText = tabbar->showText(); int spacing = sidebarSpacing(withText); if (withText) { QFontMetrics fm(font()); int textWidth = fm.width(text)*1.1; int width = qMax(iconSize, qMin(3*iconSize, textWidth)) + spacing; return QSize(width, iconSize + spacing + fm.height()); } else { return QSize(iconSize + spacing, iconSize + spacing); } }
QSize FancyTab::sizeHint() const { int iconSize = tabbar->iconSize(); bool withText = tabbar->showText(); int spacing = sidebarSpacing(withText); int padding = FancyTabBar::Side==tabbar->position() ? Utils::scaleForDpi(12) : 0; if (withText) { QFontMetrics fm(font()); int textWidth = fm.width(text)*1.1; int width = qMax(iconSize, qMin(3*iconSize, textWidth)) + spacing; return QSize(width, iconSize + spacing + fm.height() + padding); } else { return QSize(iconSize + spacing + padding, iconSize + spacing); } }