diff options
Diffstat (limited to 'src/widgets/kernel/qformlayout.cpp')
-rw-r--r-- | src/widgets/kernel/qformlayout.cpp | 70 |
1 files changed, 24 insertions, 46 deletions
diff --git a/src/widgets/kernel/qformlayout.cpp b/src/widgets/kernel/qformlayout.cpp index 24bf80f16c..4500b5b25d 100644 --- a/src/widgets/kernel/qformlayout.cpp +++ b/src/widgets/kernel/qformlayout.cpp @@ -1,31 +1,37 @@ /**************************************************************************** ** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** 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:LGPL21$ +** $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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. +** 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 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** 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. ** -** As a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** 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$ ** @@ -59,12 +65,7 @@ public: T &operator()(int r, int c) { return m_storage[r * NumColumns + c]; } int rowCount() const { return m_storage.size() / NumColumns; } - void addRow(const T &value); void insertRow(int r, const T &value); - void removeRow(int r); - - bool find(const T &value, int *rowPtr, int *colPtr) const ; - int count(const T &value) const { return m_storage.count(value); } // Hmmpf.. Some things are faster that way. const Storage &storage() const { return m_storage; } @@ -76,13 +77,6 @@ private: }; template <class T, int NumColumns> -void FixedColumnMatrix<T, NumColumns>::addRow(const T &value) -{ - for (int i = 0; i < NumColumns; ++i) - m_storage.append(value); -} - -template <class T, int NumColumns> void FixedColumnMatrix<T, NumColumns>::insertRow(int r, const T &value) { typename Storage::iterator it = m_storage.begin(); @@ -91,22 +85,6 @@ void FixedColumnMatrix<T, NumColumns>::insertRow(int r, const T &value) } template <class T, int NumColumns> -void FixedColumnMatrix<T, NumColumns>::removeRow(int r) -{ - m_storage.remove(r * NumColumns, NumColumns); -} - -template <class T, int NumColumns> -bool FixedColumnMatrix<T, NumColumns>::find(const T &value, int *rowPtr, int *colPtr) const -{ - const int idx = m_storage.indexOf(value); - if (idx == -1) - return false; - storageIndexToPosition(idx, rowPtr, colPtr); - return true; -} - -template <class T, int NumColumns> void FixedColumnMatrix<T, NumColumns>::storageIndexToPosition(int idx, int *rowPtr, int *colPtr) { *rowPtr = idx / NumColumns; @@ -945,7 +923,7 @@ void QFormLayoutPrivate::setItem(int row, QFormLayout::ItemRole role, QLayoutIte { const bool fullRow = role == QFormLayout::SpanningRole; const int column = role == QFormLayout::SpanningRole ? 1 : static_cast<int>(role); - if (uint(row) >= uint(m_matrix.rowCount()) || uint(column) > 1U) { + if (Q_UNLIKELY(uint(row) >= uint(m_matrix.rowCount()) || uint(column) > 1U)) { qWarning("QFormLayoutPrivate::setItem: Invalid cell (%d, %d)", row, column); return; } @@ -953,7 +931,7 @@ void QFormLayoutPrivate::setItem(int row, QFormLayout::ItemRole role, QLayoutIte if (!item) return; - if (m_matrix(row, column)) { + if (Q_UNLIKELY(m_matrix(row, column))) { qWarning("QFormLayoutPrivate::setItem: Cell (%d, %d) already occupied", row, column); return; } @@ -1000,7 +978,7 @@ QLayoutItem* QFormLayoutPrivate::replaceAt(int index, QLayoutItem *newitem) if (!newitem) return 0; const int storageIndex = storageIndexFromLayoutItem(m_matrix, m_things.value(index)); - if (storageIndex == -1) { + if (Q_UNLIKELY(storageIndex == -1)) { // ### Qt6 - fix warning too when this class becomes public qWarning("QFormLayoutPrivate::replaceAt: Invalid index %d", index); return 0; @@ -1414,7 +1392,7 @@ QLayoutItem *QFormLayout::takeAt(int index) Q_D(QFormLayout); const int storageIndex = storageIndexFromLayoutItem(d->m_matrix, d->m_things.value(index)); - if (storageIndex == -1) { + if (Q_UNLIKELY(storageIndex == -1)) { qWarning("QFormLayout::takeAt: Invalid index %d", index); return 0; } |