| Summary: | rekonq addressbar (url bar) has encoding problems (e.g. non-latin letters) | ||
|---|---|---|---|
| Product: | [Unmaintained] rekonq | Reporter: | Viesturs Zarins <viesturs.zarins> |
| Component: | general | Assignee: | Andrea Diamantini <adjam7> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | cgc281, konecny.ondrej, leonardo.la.malfa, oleg.atamanenko+kde, pano9000, skarn86junk, subscribe, tl |
| Priority: | NOR | ||
| Version First Reported In: | 0.4.0 | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Viesturs Zarins
2010-04-03 12:44:32 UTC
*** Bug 229694 has been marked as a duplicate of this bug. *** *** Bug 233325 has been marked as a duplicate of this bug. *** I can confirm this behaviour with rekonq 0.4.58 This also happens with "spanish characters" like á, é, í, ó and ú. I use Archlinux and Rekonq 4.0 *** Bug 233591 has been marked as a duplicate of this bug. *** commit eb52521b43669aab1c38ab9872a53386b776662d Author: Andrea Diamantini <adjam7@gmail.com> Date: Tue Apr 13 03:01:42 2010 +0200 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. diff --git a/src/filterurljob.cpp b/src/filterurljob.cpp index e74f8ec..f94b781 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 740f147..0733b1f 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 ab78e48..57a8bed 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 3b79b06..5423e5d 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 a473638..684a205 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); *** Bug 235007 has been marked as a duplicate of this bug. *** *** Bug 235336 has been marked as a duplicate of this bug. *** I have the same issue with cyrillic letters. *** Bug 237888 has been marked as a duplicate of this bug. *** |