File indexing completed on 2024-04-21 05:51:37

0001 /*
0002  *  SPDX-FileCopyrightText: 2002-2003 Jesper K. Pedersen <blackie@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-only
0005  **/
0006 
0007 #include "errormap.h"
0008 
0009 #include <KLocalizedString>
0010 #include <KMessageBox>
0011 
0012 ErrorMap::ErrorMap()
0013     : _prevLineStartError(false)
0014     , _prevLineEndError(false)
0015     , _prevLookAHeadError(false)
0016 {
0017 }
0018 
0019 void ErrorMap::start()
0020 {
0021     _lineStartError = false;
0022     _lineEndError = false;
0023     _lookAHeadError = false;
0024 }
0025 
0026 void ErrorMap::end()
0027 {
0028     _prevLineStartError = _lineStartError;
0029     _prevLineEndError = _lineEndError;
0030     _prevLookAHeadError = _lookAHeadError;
0031 }
0032 
0033 void ErrorMap::lineStartError()
0034 {
0035     if (!_prevLineStartError) {
0036         KMessageBox::information(nullptr,
0037                                  i18n("Your regular expression is invalid, due to something preceding a 'line start'."),
0038                                  i18n("Regular Expression Error"),
0039                                  QStringLiteral("KRegExpEditorLineStartError"));
0040     }
0041     _lineStartError = true;
0042 }
0043 
0044 void ErrorMap::lineEndError()
0045 {
0046     if (!_prevLineEndError) {
0047         KMessageBox::information(nullptr,
0048                                  i18n("Your regular expression is invalid, due to something following a 'line end'."),
0049                                  i18n("Regular Expression Error"),
0050                                  QStringLiteral("KRegExpEditorLineEndError"));
0051     }
0052     _lineEndError = true;
0053 }
0054 
0055 void ErrorMap::lookAheadError()
0056 {
0057     if (!_prevLookAHeadError) {
0058         KMessageBox::information(nullptr,
0059                                  i18n("Your regular expression is invalid. 'Look Ahead' regular expression must be the last sub expression."),
0060                                  i18n("Regular Expression Error"),
0061                                  QStringLiteral("KRegExpEditorLookAHeadError"));
0062     }
0063     _lookAHeadError = true;
0064 }