Changeset View
Changeset View
Standalone View
Standalone View
plugin/kquickstyleitem.cpp
Show First 20 Lines • Show All 325 Lines • ▼ Show 20 Line(s) | 318 | case ToolButton: { | |||
---|---|---|---|---|---|
326 | opt->activeSubControls = QStyle::SC_ToolButton; | 326 | opt->activeSubControls = QStyle::SC_ToolButton; | ||
327 | opt->text = text(); | 327 | opt->text = text(); | ||
328 | const QVariant icon = m_properties[QStringLiteral("icon")]; | 328 | const QVariant icon = m_properties[QStringLiteral("icon")]; | ||
329 | if (icon.canConvert<QIcon>()) { | 329 | if (icon.canConvert<QIcon>()) { | ||
330 | opt->icon = icon.value<QIcon>(); | 330 | opt->icon = icon.value<QIcon>(); | ||
331 | } else if (icon.canConvert<QString>()) { | 331 | } else if (icon.canConvert<QString>()) { | ||
332 | opt->icon = m_theme->iconFromTheme(icon.value<QString>(), m_properties[QStringLiteral("iconColor")].value<QColor>()); | 332 | opt->icon = m_theme->iconFromTheme(icon.value<QString>(), m_properties[QStringLiteral("iconColor")].value<QColor>()); | ||
333 | } | 333 | } | ||
334 | auto iconSize = QSize(m_properties[QStringLiteral("iconWidth")].toInt(), m_properties[QStringLiteral("iconHeight")].toInt()); | ||||
335 | if (iconSize.isEmpty()) { | ||||
336 | int e = KQuickStyleItem::style()->pixelMetric(QStyle::PM_ToolBarIconSize, m_styleoption, nullptr); | ||||
337 | if (iconSize.width() <= 0) { | ||||
338 | iconSize.setWidth(e); | ||||
339 | } | ||||
340 | if (iconSize.height() <= 0) { | ||||
341 | iconSize.setHeight(e); | ||||
342 | } | ||||
343 | } | ||||
344 | opt->iconSize = iconSize; | ||||
334 | 345 | | |||
335 | if (m_properties.value(QStringLiteral("menu")).toBool()) { | 346 | if (m_properties.value(QStringLiteral("menu")).toBool()) { | ||
336 | opt->subControls |= QStyle::SC_ToolButtonMenu; | 347 | opt->subControls |= QStyle::SC_ToolButtonMenu; | ||
337 | opt->features = QStyleOptionToolButton::HasMenu; | 348 | opt->features = QStyleOptionToolButton::HasMenu; | ||
338 | } | 349 | } | ||
339 | 350 | | |||
340 | const int toolButtonStyle = m_properties.value(QStringLiteral("toolButtonStyle")).toInt(); | 351 | const int toolButtonStyle = m_properties.value(QStringLiteral("toolButtonStyle")).toInt(); | ||
341 | 352 | | |||
342 | switch (toolButtonStyle) { | 353 | switch (toolButtonStyle) { | ||
343 | case Qt::ToolButtonIconOnly: | 354 | case Qt::ToolButtonIconOnly: | ||
344 | case Qt::ToolButtonTextOnly: | 355 | case Qt::ToolButtonTextOnly: | ||
345 | case Qt::ToolButtonTextBesideIcon: | 356 | case Qt::ToolButtonTextBesideIcon: | ||
346 | case Qt::ToolButtonTextUnderIcon: | 357 | case Qt::ToolButtonTextUnderIcon: | ||
347 | case Qt::ToolButtonFollowStyle: | 358 | case Qt::ToolButtonFollowStyle: | ||
348 | opt->toolButtonStyle = (Qt::ToolButtonStyle)toolButtonStyle; | 359 | opt->toolButtonStyle = (Qt::ToolButtonStyle)toolButtonStyle; | ||
349 | break; | 360 | break; | ||
350 | default: | 361 | default: | ||
351 | opt->toolButtonStyle = Qt::ToolButtonFollowStyle; | 362 | opt->toolButtonStyle = Qt::ToolButtonFollowStyle; | ||
352 | } | 363 | } | ||
353 | 364 | | |||
354 | int e = KQuickStyleItem::style()->pixelMetric(QStyle::PM_ToolBarIconSize, m_styleoption, nullptr); | | |||
355 | opt->iconSize = QSize(e, e); | | |||
356 | | ||||
357 | const QFont font = qApp->font("QToolButton"); | 365 | const QFont font = qApp->font("QToolButton"); | ||
358 | opt->font = font; | 366 | opt->font = font; | ||
359 | opt->fontMetrics = QFontMetrics(font); | 367 | opt->fontMetrics = QFontMetrics(font); | ||
360 | } | 368 | } | ||
361 | break; | 369 | break; | ||
362 | case ToolBar: { | 370 | case ToolBar: { | ||
363 | if (!m_styleoption) | 371 | if (!m_styleoption) | ||
364 | m_styleoption = new QStyleOptionToolBar(); | 372 | m_styleoption = new QStyleOptionToolBar(); | ||
▲ Show 20 Lines • Show All 1418 Lines • Show Last 20 Lines |