diff options
Diffstat (limited to 'src/widgets/widgets/qcheckbox.cpp')
-rw-r--r-- | src/widgets/widgets/qcheckbox.cpp | 80 |
1 files changed, 33 insertions, 47 deletions
diff --git a/src/widgets/widgets/qcheckbox.cpp b/src/widgets/widgets/qcheckbox.cpp index 2e9a404157..3c03e9efa5 100644 --- a/src/widgets/widgets/qcheckbox.cpp +++ b/src/widgets/widgets/qcheckbox.cpp @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** 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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://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.LGPL3 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-3.0.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 (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qcheckbox.h" #include "qapplication.h" @@ -45,7 +9,7 @@ #include "qstyle.h" #include "qstyleoption.h" #include "qevent.h" -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) #include "qaccessible.h" #endif @@ -64,7 +28,7 @@ public: uint tristate : 1; uint noChange : 1; uint hovering : 1; - uint publishedState : 2; + Qt::CheckState publishedState : 3; void init(); }; @@ -95,7 +59,7 @@ public: \endtable Whenever a checkbox is checked or cleared, it emits the signal - stateChanged(). Connect to this signal if you want to trigger an action + checkStateChanged(). Connect to this signal if you want to trigger an action each time the checkbox changes state. You can use isChecked() to query whether or not a checkbox is checked. @@ -120,14 +84,26 @@ public: setPixmap(), accel(), setAccel(), isToggleButton(), setDown(), isDown(), isOn(), checkState(), autoRepeat(), isExclusiveToggle(), group(), setAutoRepeat(), toggle(), pressed(), released(), clicked(), toggled(), - checkState(), and stateChanged(). + checkState(), and checkStateChanged(). - \sa QAbstractButton, QRadioButton, {fowler}{GUI Design Handbook: Check Box} + \sa QAbstractButton, QRadioButton */ /*! \fn void QCheckBox::stateChanged(int state) + \deprecated [6.9] Use checkStateChanged(Qt::CheckState) instead. + + This signal is emitted whenever the checkbox's state changes, i.e., + whenever the user checks or unchecks it. + + \a state contains the checkbox's new Qt::CheckState. +*/ + +/*! + \fn void QCheckBox::checkStateChanged(Qt::CheckState state) + \since 6.7 + This signal is emitted whenever the checkbox's state changes, i.e., whenever the user checks or unchecks it. @@ -247,7 +223,7 @@ Qt::CheckState QCheckBox::checkState() const void QCheckBox::setCheckState(Qt::CheckState state) { Q_D(QCheckBox); -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) bool noChange = d->noChange; #endif if (state == Qt::PartiallyChecked) { @@ -260,12 +236,17 @@ void QCheckBox::setCheckState(Qt::CheckState state) setChecked(state != Qt::Unchecked); d->blockRefresh = false; d->refresh(); - if ((uint)state != d->publishedState) { + if (state != d->publishedState) { d->publishedState = state; + emit checkStateChanged(state); +#if QT_DEPRECATED_SINCE(6, 9) + QT_IGNORE_DEPRECATIONS( emit stateChanged(state); + ) +#endif } -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) if (noChange != d->noChange) { QAccessible::State s; s.checkStateMixed = true; @@ -355,9 +336,14 @@ void QCheckBox::checkStateSet() Q_D(QCheckBox); d->noChange = false; Qt::CheckState state = checkState(); - if ((uint)state != d->publishedState) { + if (state != d->publishedState) { d->publishedState = state; + emit checkStateChanged(state); +#if QT_DEPRECATED_SINCE(6, 9) + QT_IGNORE_DEPRECATIONS( emit stateChanged(state); + ) +#endif } } |