diff options
Diffstat (limited to 'src/widgets/util/qundostack.cpp')
-rw-r--r-- | src/widgets/util/qundostack.cpp | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/src/widgets/util/qundostack.cpp b/src/widgets/util/qundostack.cpp index 5163783b0b..7f6a56e0ec 100644 --- a/src/widgets/util/qundostack.cpp +++ b/src/widgets/util/qundostack.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$ ** @@ -582,9 +588,9 @@ void QUndoStack::push(QUndoCommand *cmd) QUndoCommand *cur = 0; if (macro) { - QUndoCommand *macro_cmd = d->macro_stack.last(); + QUndoCommand *macro_cmd = d->macro_stack.constLast(); if (!macro_cmd->d->child_list.isEmpty()) - cur = macro_cmd->d->child_list.last(); + cur = macro_cmd->d->child_list.constLast(); } else { if (d->index > 0) cur = d->command_list.at(d->index - 1); @@ -610,7 +616,7 @@ void QUndoStack::push(QUndoCommand *cmd) } } else { if (macro) { - d->macro_stack.last()->d->child_list.append(cmd); + d->macro_stack.constLast()->d->child_list.append(cmd); } else { d->command_list.append(cmd); d->checkUndoLimit(); @@ -633,7 +639,7 @@ void QUndoStack::push(QUndoCommand *cmd) void QUndoStack::setClean() { Q_D(QUndoStack); - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::setClean(): cannot set clean in the middle of a macro"); return; } @@ -688,7 +694,7 @@ void QUndoStack::undo() if (d->index == 0) return; - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::undo(): cannot undo in the middle of a macro"); return; } @@ -714,7 +720,7 @@ void QUndoStack::redo() if (d->index == d->command_list.size()) return; - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::redo(): cannot redo in the middle of a macro"); return; } @@ -761,7 +767,7 @@ int QUndoStack::index() const void QUndoStack::setIndex(int idx) { Q_D(QUndoStack); - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::setIndex(): cannot set index in the middle of a macro"); return; } @@ -957,7 +963,7 @@ void QUndoStack::beginMacro(const QString &text) d->clean_index = -1; // we've deleted the clean state d->command_list.append(cmd); } else { - d->macro_stack.last()->d->child_list.append(cmd); + d->macro_stack.constLast()->d->child_list.append(cmd); } d->macro_stack.append(cmd); @@ -981,7 +987,7 @@ void QUndoStack::beginMacro(const QString &text) void QUndoStack::endMacro() { Q_D(QUndoStack); - if (d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(d->macro_stack.isEmpty())) { qWarning("QUndoStack::endMacro(): no matching beginMacro()"); return; } @@ -1049,7 +1055,7 @@ void QUndoStack::setUndoLimit(int limit) { Q_D(QUndoStack); - if (!d->command_list.isEmpty()) { + if (Q_UNLIKELY(!d->command_list.isEmpty())) { qWarning("QUndoStack::setUndoLimit(): an undo limit can only be set when the stack is empty"); return; } |