File indexing completed on 2024-05-19 05:54:09

0001 /*
0002     SPDX-FileCopyrightText: 2007-2008 Robert Knight <robertknight@gmail.com>
0003     SPDX-FileCopyrightText: 2020 Tomaz Canabrava <tcanabrava@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef ESCAPE_SEQUENCE_URL_FILTER
0009 #define ESCAPE_SEQUENCE_URL_FILTER
0010 
0011 #include "Filter.h"
0012 
0013 #include <QPointer>
0014 
0015 namespace Konsole
0016 {
0017 class Session;
0018 class TerminalDisplay;
0019 
0020 /* This filter is different from the Url filter as there's no
0021  * URL's in the screen. Vt102Emulation will store a vector of
0022  * URL/Text, we need to match if this is in the screen. For that we need a pointer
0023  * for the Vt102Emulation or at least the data structure that holds the information
0024  * so we can create the hotspots.
0025  */
0026 class KONSOLEPRIVATE_EXPORT EscapeSequenceUrlFilter : public Filter
0027 {
0028 public:
0029     EscapeSequenceUrlFilter(Session *session, TerminalDisplay *display);
0030 
0031     void process() override;
0032 
0033 private:
0034     QPointer<Session> _session;
0035     QPointer<TerminalDisplay> _window;
0036 };
0037 }
0038 #endif