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 #include "EscapeSequenceUrlFilterHotSpot.h"
0009 
0010 #include <KIO/JobUiDelegateFactory>
0011 #include <KIO/OpenUrlJob>
0012 
0013 #include <QApplication>
0014 #include <QDebug>
0015 #include <QMouseEvent>
0016 
0017 #include "terminalDisplay/TerminalDisplay.h"
0018 
0019 using namespace Konsole;
0020 
0021 EscapeSequenceUrlHotSpot::EscapeSequenceUrlHotSpot(int startLine, int startColumn, int endLine, int endColumn, const QString &text, const QString &url)
0022     : HotSpot(startLine, startColumn, endLine, endColumn)
0023     , _text(text)
0024     , _url(url)
0025 {
0026     setType(EscapedUrl);
0027 }
0028 
0029 void EscapeSequenceUrlHotSpot::activate(QObject *obj)
0030 {
0031     Q_UNUSED(obj)
0032 
0033     auto *job = new KIO::OpenUrlJob(QUrl(_url));
0034     job->setUiDelegate(KIO::createDefaultJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, QApplication::activeWindow()));
0035     job->start();
0036 }