From eb52521b43669aab1c38ab9872a53386b776662d Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 13 Apr 2010 03:01:42 +0200 Subject: This commit is (quite) last in the urlbar encodings fix series. It fixes: BUG: 233159 BUG: 234168 Moreover it "cleans" road to fix (not yet, but we are near..) another bug CCBUG: 230771 at least from the rekonq side. Changes in there - cleaning and fixing filterurljob class (responsible for the encodings) - using urls instead of strings in the resolver class (work with right data..) - letting first box appearance without item selection and adding one signal to use the filterurljob class directly. --- src/urlbar/completionwidget.cpp | 6 ++++-- src/urlbar/completionwidget.h | 3 ++- src/urlbar/urlbar.cpp | 13 +++++++++++-- src/urlbar/urlbar.h | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) (limited to 'src/urlbar') diff --git a/src/urlbar/completionwidget.cpp b/src/urlbar/completionwidget.cpp index 740f1471..0733b1f0 100644 --- a/src/urlbar/completionwidget.cpp +++ b/src/urlbar/completionwidget.cpp @@ -97,7 +97,6 @@ void CompletionWidget::sizeAndPosition() void CompletionWidget::popup() { - down(); sizeAndPosition(); if (!isVisible()) show(); @@ -210,7 +209,10 @@ bool CompletionWidget::eventFilter( QObject *o, QEvent *e ) case Qt::Key_Enter: case Qt::Key_Return: hide(); - emit chosenUrl(_list.at(_currentIndex).url, Rekonq::CurrentTab); + if(_currentIndex >= 0) + emit chosenUrl(_list.at(_currentIndex).url, Rekonq::CurrentTab); + else + emit loadTypedUrl(); ev->accept(); return true; break; diff --git a/src/urlbar/completionwidget.h b/src/urlbar/completionwidget.h index ab78e489..57a8bed0 100644 --- a/src/urlbar/completionwidget.h +++ b/src/urlbar/completionwidget.h @@ -59,7 +59,8 @@ private slots: signals: void chosenUrl(const KUrl &, Rekonq::OpenType); - + void loadTypedUrl(); + private: void sizeAndPosition(); void up(); diff --git a/src/urlbar/urlbar.cpp b/src/urlbar/urlbar.cpp index 3b79b06b..5423e5d0 100644 --- a/src/urlbar/urlbar.cpp +++ b/src/urlbar/urlbar.cpp @@ -74,6 +74,7 @@ UrlBar::UrlBar(QWidget *parent) // suggestions installEventFilter(_box); connect(_box, SIGNAL(chosenUrl(const KUrl &, Rekonq::OpenType)), SLOT(activated(const KUrl &, Rekonq::OpenType))); + connect(_box, SIGNAL(loadTypedUrl()), this, SLOT(activated())); } @@ -108,8 +109,16 @@ void UrlBar::activated(const KUrl& url, Rekonq::OpenType type) disconnect(this, SIGNAL(textChanged(const QString &)), this, SLOT(suggestUrls(const QString &))); clearFocus(); - setUrl(url); - Application::instance()->loadUrl(url, type); + KUrl loadingUrl; + + if(url.isEmpty()) + loadingUrl = KUrl(text()); + else + loadingUrl = url; + + setUrl(loadingUrl); + + Application::instance()->loadUrl(loadingUrl, type); } diff --git a/src/urlbar/urlbar.h b/src/urlbar/urlbar.h index a473638b..684a205e 100644 --- a/src/urlbar/urlbar.h +++ b/src/urlbar/urlbar.h @@ -60,7 +60,7 @@ public: void setPrivateMode(bool on); private slots: - void activated(const KUrl& url, Rekonq::OpenType = Rekonq::CurrentTab); + void activated(const KUrl& url = KUrl(), Rekonq::OpenType = Rekonq::CurrentTab); void suggestUrls(const QString &editedText); void setQUrl(const QUrl &url); -- cgit v1.2.1