diff options
Diffstat (limited to 'Swift/QtUI/QtChatView.cpp')
| -rw-r--r-- | Swift/QtUI/QtChatView.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp index 0a02591..12f6beb 100644 --- a/Swift/QtUI/QtChatView.cpp +++ b/Swift/QtUI/QtChatView.cpp @@ -1,10 +1,11 @@ #include "QtChatView.h" #include <QtDebug> #include <QFile> +#include <QDesktopServices> #include <QVBoxLayout> #include <QWebView> #include <QWebFrame> #include <QKeyEvent> #include <QStackedWidget> @@ -15,12 +16,13 @@ QtChatView::QtChatView(QWidget* parent) : QWidget(parent) { QVBoxLayout* mainLayout = new QVBoxLayout(this); mainLayout->setSpacing(0); mainLayout->setContentsMargins(0,0,0,0); webView_ = new QWebView(this); webView_->setFocusPolicy(Qt::NoFocus); + connect(webView_, SIGNAL(linkClicked(const QUrl&)), SLOT(handleLinkClicked(const QUrl&))); #ifdef Q_WS_X11 /* To give a border on Linux, where it looks bad without */ QStackedWidget* stack = new QStackedWidget(this); stack->addWidget(webView_); stack->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); stack->setLineWidth(2); @@ -85,7 +87,11 @@ bool QtChatView::isScrolledToBottom() const { } void QtChatView::scrollToBottom() { webPage_->mainFrame()->setScrollBarValue(Qt::Vertical, webPage_->mainFrame()->scrollBarMaximum(Qt::Vertical)); } +void QtChatView::handleLinkClicked(const QUrl& url) { + QDesktopServices::openUrl(url); +} + } |
Swift