Mercurial > octave
view libgui/graphics/TextEdit.cc @ 33599:7f18c537e101
maint: Update Qt macros to avoid name collisions
It is a known problem with Qt that terms like "signals", "slots", and "emit"
can conflict with other libraries using those identifiers. So far, Octave
has not had that problem, but to allow for potential future use of third-party
libraries, especially the C++17 STL's parallelization functions, these terms
are being updated to their Qt-specific collision-safe versions.
Discussion: https://octave.discourse.group/t/updating-qt-macro-names-to-avoid-name-collisions/5627
and discussions linked therein.
This patch makes the following changes through the part of the Octave codebase
using Qt:
* signals --> Q_SIGNALS
* slots --> Q_SLOTS
* emit --> Q_EMIT
The above changes were guided and verified by passing "-DQT_NO_KEYWORDS"
to CXXFLAGS when building Octave.
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Fri, 17 May 2024 19:49:10 -0400 |
parents | 2e484f9f1f18 |
children |
line wrap: on
line source
//////////////////////////////////////////////////////////////////////// // // Copyright (C) 2011-2024 The Octave Project Developers // // See the file COPYRIGHT.md in the top-level directory of this // distribution or <https://octave.org/copyright/>. // // This file is part of Octave. // // Octave is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Octave is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Octave; see the file COPYING. If not, see // <https://www.gnu.org/licenses/>. // //////////////////////////////////////////////////////////////////////// #if defined (HAVE_CONFIG_H) # include "config.h" #endif #include <QKeyEvent> #include "TextEdit.h" OCTAVE_BEGIN_NAMESPACE(octave) void TextEdit::focusOutEvent (QFocusEvent *xevent) { QTextEdit::focusOutEvent (xevent); Q_EMIT editingFinished (); } void TextEdit::keyPressEvent (QKeyEvent *xevent) { QTextEdit::keyPressEvent (xevent); if ((xevent->key () == Qt::Key_Return || xevent->key () == Qt::Key_Enter) && xevent->modifiers () == Qt::ControlModifier) Q_EMIT returnPressed (); } OCTAVE_END_NAMESPACE(octave)