Warning, file /graphics/glaxnimate/src/gui/style/dock_widget_style.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #include "dock_widget_style.hpp" 0008 0009 #include <QtGlobal> 0010 0011 void glaxnimate::gui::style::DockWidgetStyle::drawControl( 0012 ControlElement element, const QStyleOption* option, 0013 QPainter* painter, const QWidget* widget) const 0014 { 0015 if ( widget && element == QStyle::CE_DockWidgetTitle && !widget->windowIcon().isNull() ) 0016 { 0017 QStyleOptionDockWidget option_copy = *qstyleoption_cast<const QStyleOptionDockWidget *>(option); 0018 0019 int margin = baseStyle()->pixelMetric(QStyle::PM_DockWidgetTitleMargin); 0020 QRect title_rect = subElementRect(SE_DockWidgetTitleBarText, option, widget); 0021 int size = qMin(pixelMetric(QStyle::PM_ToolBarIconSize), title_rect.height()); 0022 int padding = (title_rect.height() - size) / 2; 0023 QPoint pos(margin + padding + title_rect.left(), title_rect.top() + padding); 0024 0025 #ifndef Q_OS_MACOS 0026 option_copy.rect = option->rect.adjusted(size+margin*2, 0, 0, 0); 0027 #endif 0028 QProxyStyle::drawControl(element, &option_copy, painter, widget); 0029 0030 painter->drawPixmap(pos, widget->windowIcon().pixmap(size, size)); 0031 0032 return; 0033 } 0034 QProxyStyle::drawControl(element, option, painter, widget); 0035 }