diff options
| -rw-r--r-- | src/filterurljob.cpp | 11 | ||||
| -rw-r--r-- | src/urlbar/completionwidget.cpp | 6 | ||||
| -rw-r--r-- | src/urlbar/completionwidget.h | 3 | ||||
| -rw-r--r-- | src/urlbar/urlbar.cpp | 13 | ||||
| -rw-r--r-- | src/urlbar/urlbar.h | 2 | 
5 files changed, 26 insertions, 9 deletions
| diff --git a/src/filterurljob.cpp b/src/filterurljob.cpp index e74f8ec8..f94b7810 100644 --- a/src/filterurljob.cpp +++ b/src/filterurljob.cpp @@ -58,7 +58,12 @@ void FilterUrlJob::run()      // the beautiful KDE web browsing shortcuts      KUriFilterData data(_urlString);      data.setCheckForExecutables(false); // if true, queries like "rekonq" or "dolphin" are considered as executables -    _url = KUriFilter::self()->filterUri(data)  -        ? data.uri().pathOrUrl()  -        : QUrl::fromUserInput( _urlString ); + +    if(KUriFilter::self()->filterUri(data) && data.uriType() != KUriFilterData::Error) +    { +        QString tempUrlString = data.uri().url(); +        _url = KUrl(tempUrlString); +    } +    else +        _url = QUrl::fromUserInput( _urlString );  } 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); | 
