diff options
author | Mitch Curtis <[email protected]> | 2021-08-12 14:39:51 +0200 |
---|---|---|
committer | Mitch Curtis <[email protected]> | 2021-08-16 12:52:59 +0200 |
commit | 809339d1484cf556512534367b8170bc26baf072 (patch) | |
tree | 12871313b658f36d058b5ef25af1e247e9c46ce9 /src/quicknativestyle/items/qquickstyleitemprogressbar.cpp | |
parent | b01b4f00eae8022c6a97d90f54dac395144ae095 (diff) |
Now that qtquickcontrols2 has been merged into qtdeclarative,
we should make it obvious that this repo should no longer be
used, by preventing it from being built.
Task-number: QTBUG-95173
Pick-to: 6.2
Change-Id: I95bd6a214f3d75a865ab163ee0a1f9ffbeb7a051
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'src/quicknativestyle/items/qquickstyleitemprogressbar.cpp')
-rw-r--r-- | src/quicknativestyle/items/qquickstyleitemprogressbar.cpp | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/src/quicknativestyle/items/qquickstyleitemprogressbar.cpp b/src/quicknativestyle/items/qquickstyleitemprogressbar.cpp deleted file mode 100644 index 480e8981..00000000 --- a/src/quicknativestyle/items/qquickstyleitemprogressbar.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qquickstyleitemprogressbar.h" - -QFont QQuickStyleItemProgressBar::styleFont(QQuickItem *control) const -{ - return style()->font(QStyle::CE_ProgressBarLabel, controlSize(control)); -} - -void QQuickStyleItemProgressBar::connectToControl() const -{ - QQuickStyleItem::connectToControl(); - auto progressBar = control<QQuickProgressBar>(); - connect(progressBar, &QQuickProgressBar::fromChanged, this, &QQuickStyleItem::markImageDirty); - connect(progressBar, &QQuickProgressBar::toChanged, this, &QQuickStyleItem::markImageDirty); - connect(progressBar, &QQuickProgressBar::positionChanged, this, &QQuickStyleItem::markImageDirty); -} - -StyleItemGeometry QQuickStyleItemProgressBar::calculateGeometry() -{ - QStyleOptionProgressBar styleOption; - initStyleOption(styleOption); - - StyleItemGeometry geometry; - geometry.minimumSize = style()->sizeFromContents(QStyle::CT_ProgressBar, &styleOption, QSize(0, 0)); - - // From qprogressbar.cpp in qtbase: - const int cw = style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &styleOption); - QFontMetrics fm(control<QQuickProgressBar>()->font()); - QSize size = QSize(qMax(9, cw) * 7 + fm.horizontalAdvance(QLatin1Char('0')) * 4, fm.height() + 8); - if (!(styleOption.state & QStyle::State_Horizontal)) - size = size.transposed(); - - geometry.implicitSize = style()->sizeFromContents(QStyle::CT_ProgressBar, &styleOption, size); - styleOption.rect = QRect(QPoint(0, 0), geometry.implicitSize); - geometry.contentRect = style()->subElementRect(QStyle::SE_ProgressBarContents, &styleOption); - geometry.layoutRect = style()->subElementRect(QStyle::SE_ProgressBarLayoutItem, &styleOption); - geometry.ninePatchMargins = style()->ninePatchMargins(QStyle::CE_ProgressBar, &styleOption, geometry.minimumSize); - - return geometry; -} - -void QQuickStyleItemProgressBar::paintEvent(QPainter *painter) const -{ - QStyleOptionProgressBar styleOption; - initStyleOption(styleOption); -#ifndef Q_OS_MACOS - const QRect r = styleOption.rect; -#endif - // Note: on macOS, the groove will paint both the background and the contents - styleOption.rect = style()->subElementRect(QStyle::SE_ProgressBarGroove, &styleOption); - style()->drawControl(QStyle::CE_ProgressBarGroove, &styleOption, painter); -#ifndef Q_OS_MACOS - styleOption.rect = r; - styleOption.rect = style()->subElementRect(QStyle::SE_ProgressBarContents, &styleOption); - style()->drawControl(QStyle::CE_ProgressBarContents, &styleOption, painter); -#endif -} - -void QQuickStyleItemProgressBar::initStyleOption(QStyleOptionProgressBar &styleOption) const -{ - initStyleOptionBase(styleOption); - auto progressBar = control<QQuickProgressBar>(); - - styleOption.state = QStyle::State_Horizontal; - - if (progressBar->isIndeterminate()) { - styleOption.minimum = 0; - styleOption.maximum = 0; - } else if (progressBar->to() - progressBar->from() < 100) { - // Add some range to support float numbers - styleOption.minimum = 0; - styleOption.maximum = (progressBar->to() - progressBar->from()) * 100; - styleOption.progress = (progressBar->value() - progressBar->from()) * 100; - } else { - styleOption.minimum = progressBar->from(); - styleOption.maximum = progressBar->to(); - styleOption.progress = progressBar->value(); - } -} |