diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2009-10-28 00:18:01 +0100 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2009-10-28 00:18:01 +0100 |
commit | e1bfbc42e49b03504e9e8c2ad2afb6ac180e3659 (patch) | |
tree | 05563e087356f0b3d75c6d990c609c1a940ae76c | |
parent | Fixing (?) close tab action (diff) | |
parent | Shortcut in the URL bar to automatically add www. .com/.net/.org around a word (diff) | |
download | rekonq-e1bfbc42e49b03504e9e8c2ad2afb6ac180e3659.tar.xz |
Merge commit 'refs/merge-requests/1936' of git://gitorious.org/rekonq/mainline into mr1936
-rw-r--r-- | src/urlbar.cpp | 35 | ||||
-rw-r--r-- | src/urlbar.h | 1 |
2 files changed, 35 insertions, 1 deletions
diff --git a/src/urlbar.cpp b/src/urlbar.cpp index b6340fe7..d587fd80 100644 --- a/src/urlbar.cpp +++ b/src/urlbar.cpp @@ -140,7 +140,7 @@ void UrlBar::setUrl(const QUrl& url) } else m_currentUrl = url; - + slotUpdateUrl(); } @@ -303,3 +303,36 @@ bool UrlBar::isLoading() } return true; } + +void UrlBar::keyPressEvent(QKeyEvent *event) +{ + QString currentText = m_lineEdit->text().trimmed(); + if ((event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) + && !currentText.startsWith(QLatin1String("http://"), Qt::CaseInsensitive)) + { + QString append; + if (event->modifiers() == Qt::ControlModifier) + { + append = QLatin1String(".com"); + } + else if (event->modifiers() == (Qt::ControlModifier | Qt::ShiftModifier)) + { + append = QLatin1String(".org"); + } + else if (event->modifiers() == Qt::ShiftModifier) + { + append = QLatin1String(".net"); + } + + QUrl url(QLatin1String("http://www.") + currentText); + QString host = url.host(); + if (!host.endsWith(append, Qt::CaseInsensitive)) + { + host += append; + url.setHost(host); + m_lineEdit->setText(url.toString()); + } + } + + KHistoryComboBox::keyPressEvent(event); +}
\ No newline at end of file diff --git a/src/urlbar.h b/src/urlbar.h index 28b1dc08..787032fb 100644 --- a/src/urlbar.h +++ b/src/urlbar.h @@ -80,6 +80,7 @@ private slots: protected: virtual void paintEvent(QPaintEvent *event); virtual void focusOutEvent(QFocusEvent *event); + virtual void keyPressEvent(QKeyEvent *event); private: void setupLineEdit(); |