diff --git a/src/data/html/speeddial.html b/src/data/html/speeddial.html
index 516faba6f..888c719e9 100644
--- a/src/data/html/speeddial.html
+++ b/src/data/html/speeddial.html
@@ -129,7 +129,7 @@ function boxEdited() {
var box = document.getElementById('quickdial').getElementsByTagName('div')[editingId];
var a = box.getElementsByTagName('a')[0];
var originalUrl = a.getAttribute('href');
- setBoxUrl(editingId, $('#formUrl').attr("value"));
+ setBoxUrl(editingId, speeddial.urlFromUserInput($('#formUrl').attr("value")));
setBoxTitle(editingId, $('#formTitle').attr("value"));
var changedUrl = a.getAttribute('href');
var fetchTitleChecked = document.getElementById('fetchTitle').checked;
diff --git a/src/plugins/speeddial.cpp b/src/plugins/speeddial.cpp
index 80631af08..9f690faea 100644
--- a/src/plugins/speeddial.cpp
+++ b/src/plugins/speeddial.cpp
@@ -204,7 +204,7 @@ void SpeedDial::loadThumbnail(const QString &url, bool loadTitle)
}
PageThumbnailer* thumbnailer = new PageThumbnailer(this);
- thumbnailer->setUrl(QUrl::fromUserInput(url));
+ thumbnailer->setUrl(url);
thumbnailer->setLoadTitle(loadTitle);
connect(thumbnailer, SIGNAL(thumbnailCreated(QPixmap)), this, SLOT(thumbnailCreated(QPixmap)));
@@ -225,6 +225,11 @@ QString SpeedDial::getOpenFileName()
return QFileDialog::getOpenFileName(0, tr("Select image..."), QDir::homePath(), "(*.png *.jpg *.jpeg *.bmp *.gif *.tiff)");
}
+QString SpeedDial::urlFromUserInput(const QString &url)
+{
+ return QUrl::fromUserInput(url).toString();
+}
+
void SpeedDial::setBackgroundImage(const QString &image)
{
m_backgroundImage = image;
diff --git a/src/plugins/speeddial.h b/src/plugins/speeddial.h
index ae8cdc631..bcda59bd0 100644
--- a/src/plugins/speeddial.h
+++ b/src/plugins/speeddial.h
@@ -53,6 +53,7 @@ public slots:
Q_INVOKABLE void removeImageForUrl(const QString &url);
Q_INVOKABLE QString getOpenFileName();
+ Q_INVOKABLE QString urlFromUserInput(const QString &url);
Q_INVOKABLE void setBackgroundImage(const QString &image);
Q_INVOKABLE void setBackgroundImageSize(const QString &size);
Q_INVOKABLE void setPagesInRow(int count);