aboutsummaryrefslogtreecommitdiff
path: root/lib/addressbar/urllineedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/addressbar/urllineedit.cpp')
-rw-r--r--lib/addressbar/urllineedit.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/addressbar/urllineedit.cpp b/lib/addressbar/urllineedit.cpp
index ac311b3..79d7bf8 100644
--- a/lib/addressbar/urllineedit.cpp
+++ b/lib/addressbar/urllineedit.cpp
@@ -12,6 +12,8 @@
#include <QApplication>
#include <QClipboard>
+#include "addressbar.h"
+
UrlLineEdit::UrlLineEdit(QWidget *parent)
: QLineEdit(parent)
, m_listView(new Completer(this))
@@ -20,6 +22,8 @@ UrlLineEdit::UrlLineEdit(QWidget *parent)
setPlaceholderText(tr("Enter address"));
m_listView->setVisible(false);
+ auto *addressbar = qobject_cast<AddressBar *>(parent);
+ Q_CHECK_PTR(addressbar);
auto *copyAction = new QAction(tr("Copy URL"), this);
connect(copyAction, &QAction::triggered, this, [this]() {
@@ -42,9 +46,8 @@ UrlLineEdit::UrlLineEdit(QWidget *parent)
actions.append(loadAction);
auto *searchAction = new QAction(tr("Paste and search"), this);
- connect(searchAction, &QAction::triggered, this, [this]() {
- this->setText("#" + qApp->clipboard()->text());
- emit returnPressed();
+ connect(searchAction, &QAction::triggered, this, [=]() {
+ emit addressbar->search(qApp->clipboard()->text());
});
actions.append(searchAction);
@@ -106,8 +109,10 @@ void UrlLineEdit::focusInEvent(QFocusEvent *event)
void UrlLineEdit::focusOutEvent(QFocusEvent *event)
{
- if(!text().startsWith('#'))
- setUrl(QUrl::fromUserInput(text()));
+ const QUrl url = QUrl::fromUserInput(text());
+ if(url.isValid())
+ setUrl(url);
+
QLineEdit::focusOutEvent(event);
}