diff options
-rw-r--r-- | src/application.cpp | 13 | ||||
-rw-r--r-- | src/bookmarks/bookmarkowner.cpp | 2 | ||||
-rw-r--r-- | src/bookmarks/bookmarkprovider.cpp | 16 | ||||
-rw-r--r-- | src/data/rekonq.desktop | 3 | ||||
-rw-r--r-- | src/history/historymanager.cpp | 14 | ||||
-rw-r--r-- | src/newtabpage.cpp | 11 | ||||
-rw-r--r-- | src/protocolhandler.cpp | 5 | ||||
-rw-r--r-- | src/urlbar/listitem.cpp | 17 | ||||
-rw-r--r-- | src/urlbar/urlresolver.cpp | 2 | ||||
-rw-r--r-- | src/websnap.cpp | 13 | ||||
-rw-r--r-- | src/webtab.cpp | 38 | ||||
-rw-r--r-- | src/webtab.h | 8 |
12 files changed, 96 insertions, 46 deletions
diff --git a/src/application.cpp b/src/application.cpp index e5677a0d..df4c3d51 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -341,18 +341,19 @@ KIcon Application::icon(const KUrl &url) if (url.isEmpty()) return KIcon("text-html"); + QByteArray encodedUrl = url.toEncoded(); // rekonq icons.. - if (url == KUrl("about:home")) + if (encodedUrl == QByteArray("about:home")) return KIcon("go-home"); - if (url == KUrl("about:closedTabs")) + if (encodedUrl == QByteArray("about:closedTabs")) return KIcon("tab-close"); - if (url == KUrl("about:history")) + if (encodedUrl == QByteArray("about:history")) return KIcon("view-history"); - if (url == KUrl("about:bookmarks")) + if (encodedUrl == QByteArray("about:bookmarks")) return KIcon("bookmarks"); - if (url == KUrl("about:favorites")) + if (encodedUrl == QByteArray("about:favorites")) return KIcon("emblem-favorite"); - if (url == KUrl("about:downloads")) + if (encodedUrl == QByteArray("about:downloads")) return KIcon("download"); KIcon icon = KIcon(QWebSettings::iconForUrl(url)); diff --git a/src/bookmarks/bookmarkowner.cpp b/src/bookmarks/bookmarkowner.cpp index 862a7de4..530ad199 100644 --- a/src/bookmarks/bookmarkowner.cpp +++ b/src/bookmarks/bookmarkowner.cpp @@ -341,7 +341,7 @@ void BookmarkOwner::setupActions() createAction(NEW_FOLDER, i18n("New Folder"), "folder-new", i18n("Create a new bookmark folder"), SLOT(newBookmarkFolder())); createAction(NEW_SEPARATOR, i18n("New Separator"), "edit-clear", - i18n("Create a new bookmark separatork"), SLOT(newSeparator())); + i18n("Create a new bookmark separator"), SLOT(newSeparator())); createAction(COPY, i18n("Copy Link"), "edit-copy", i18n("Copy the bookmark's link address"), SLOT(copyLink())); createAction(EDIT, i18n("Edit"), "configure", diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp index f07c5164..ec02ed31 100644 --- a/src/bookmarks/bookmarkprovider.cpp +++ b/src/bookmarks/bookmarkprovider.cpp @@ -253,9 +253,21 @@ void BookmarkProvider::find(QList<KBookmark> *list, const KBookmark &bookmark, c for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm)) find(list, bm, text); } - else if (bookmark.url().url().contains(text) || bookmark.fullText().contains(text)) + else { - *list << bookmark; + QStringList words = text.split(" "); + bool matches = true; + foreach (const QString &word, words) + { + if (!bookmark.url().url().contains(word, Qt::CaseInsensitive) + && !bookmark.fullText().contains(word, Qt::CaseInsensitive)) + { + matches = false; + break; + } + } + if (matches) + *list << bookmark; } } diff --git a/src/data/rekonq.desktop b/src/data/rekonq.desktop index 7c45af77..3c2db7ee 100644 --- a/src/data/rekonq.desktop +++ b/src/data/rekonq.desktop @@ -4,6 +4,7 @@ Name[bg]=rekonq Name[cs]=rekonq Name[da]=rekonq Name[de]=rekonq +Name[el]=rekonq Name[en_GB]=rekonq Name[es]=rekonq Name[et]=rekonq @@ -31,10 +32,12 @@ Name[zh_TW]=rekonq GenericName=Web Browser GenericName[da]=Webbrowser GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής ιστού GenericName[en_GB]=Web Browser GenericName[es]=Navegador web GenericName[fr]=Navigateur web GenericName[it]=Browser Web +GenericName[nds]=Nettkieker GenericName[pt]=Navegador Web GenericName[pt_BR]=Navegador Web GenericName[ru]=Веб-браузер diff --git a/src/history/historymanager.cpp b/src/history/historymanager.cpp index 5cd85cd7..4a3039f3 100644 --- a/src/history/historymanager.cpp +++ b/src/history/historymanager.cpp @@ -239,8 +239,18 @@ QList<HistoryItem> HistoryManager::find(const QString &text) { int index = m_historyFilterModel->historyLocation(url); HistoryItem item = m_history.at(index); - - if(url.contains(text) || item.title.contains(text)) + + QStringList words = text.split(" "); + bool matches = true; + foreach (const QString &word, words) + { + if (!url.contains(word, Qt::CaseInsensitive) + && !item.title.contains(word, Qt::CaseInsensitive)) { + matches = false; + break; + } + } + if (matches) list << item; } diff --git a/src/newtabpage.cpp b/src/newtabpage.cpp index 44b76e11..51081816 100644 --- a/src/newtabpage.cpp +++ b/src/newtabpage.cpp @@ -134,27 +134,28 @@ void NewTabPage::generate(const KUrl &url) browsingMenu(url); QString title; - if (url == KUrl("about:favorites")) + QByteArray encodedUrl = url.toEncoded(); + if (encodedUrl == QByteArray("about:favorites")) { favoritesPage(); title = i18n("Favorites"); } - else if (url == KUrl("about:closedTabs")) + else if (encodedUrl == QByteArray("about:closedTabs")) { closedTabsPage(); title = i18n("Closed Tabs"); } - else if (url == KUrl("about:history")) + else if (encodedUrl == QByteArray("about:history")) { historyPage(); title = i18n("History"); } - else if (url == KUrl("about:bookmarks")) + else if (encodedUrl == QByteArray("about:bookmarks")) { bookmarksPage(); title = i18n("Bookmarks"); } - else if (url == KUrl("about:downloads")) + else if (encodedUrl == QByteArray("about:downloads")) { downloadsPage(); title = i18n("Downloads"); diff --git a/src/protocolhandler.cpp b/src/protocolhandler.cpp index 1f84b420..5cc09f44 100644 --- a/src/protocolhandler.cpp +++ b/src/protocolhandler.cpp @@ -145,13 +145,14 @@ bool ProtocolHandler::preHandling(const QNetworkRequest &request, QWebFrame *fra // "about" handling if (_url.protocol() == QL1S("about")) { + QByteArray encodedUrl = _url.toEncoded(); // let webkit manage the about:blank url... - if (_url == KUrl("about:blank")) + if (encodedUrl == QByteArray("about:blank")) { return false; } - if (_url == KUrl("about:home")) + if (encodedUrl == QByteArray("about:home")) { switch (ReKonfig::newTabStartPage()) { diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp index e9bb6fbb..5bd2253f 100644 --- a/src/urlbar/listitem.cpp +++ b/src/urlbar/listitem.cpp @@ -200,8 +200,17 @@ TextLabel::TextLabel(const QString &text, const QString &textToPointOut, QWidget : QLabel(parent) { QString t = text; - if (!textToPointOut.isEmpty()) - t = t.replace(QRegExp('(' + textToPointOut + ')', Qt::CaseInsensitive), "<b>\\1</b>"); + const bool wasItalic = t.startsWith("<i>"); + if (wasItalic) + t.remove(QRegExp("<[/ib]*>")); + t = Qt::escape(t); + QStringList words = textToPointOut.split(" "); + foreach (const QString &wordToPointOut, words) { + if (!wordToPointOut.isEmpty()) + t.replace(QRegExp('(' + wordToPointOut + ')', Qt::CaseInsensitive), "<b>\\1</b>"); + } + if (wasItalic) + t = QL1S("<i>") + t + QL1S("</i>"); setText(t); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); @@ -286,7 +295,7 @@ SearchListItem::SearchListItem(const UrlSearchItem &item, const QString &text, Q m_url = SearchEngine::buildQuery(engine, query); m_iconLabel = new IconLabel("edit-find", this); //TODO: get the default engine icon (will be easy in KDE SC 4.5) - m_titleLabel = new TextLabel(searchItemTitle(engine->name(), query), QString(), this); + m_titleLabel = new TextLabel(searchItemTitle(engine->name(), query), query, this); m_engineBar = new EngineBar(engine, parent); QHBoxLayout *hLayout = new QHBoxLayout; @@ -312,7 +321,7 @@ QString SearchListItem::text() QString SearchListItem::searchItemTitle(QString engine, QString text) { - return QString(i18nc("%1=search engine, e.g. Google, Wikipedia %2=text to search for", "Search %1 for <b>%2</b>", engine, Qt::escape(text))); + return QString(i18nc("%1=search engine, e.g. Google, Wikipedia %2=text to search for", "Search %1 for %2", engine, Qt::escape(text))); } diff --git a/src/urlbar/urlresolver.cpp b/src/urlbar/urlresolver.cpp index d60dc563..84c9e20b 100644 --- a/src/urlbar/urlresolver.cpp +++ b/src/urlbar/urlresolver.cpp @@ -71,7 +71,7 @@ UrlResolver::UrlResolver(const QString &typedUrl) { kDebug() << "browse regexp empty. Setting value.."; - QString protocol = "^(http://|https://|file://|ftp://|man:|info:|apt:)"; + QString protocol = "^(http://|https://|file://|ftp://|man:|info:|apt:|about:)"; QString localhost = "^localhost"; diff --git a/src/websnap.cpp b/src/websnap.cpp index 1405fb6e..afa08c64 100644 --- a/src/websnap.cpp +++ b/src/websnap.cpp @@ -185,18 +185,7 @@ QString WebSnap::imagePathFromUrl(const KUrl &url) { QUrl temp = QUrl(url.url()); QString name = temp.toString(QUrl::RemoveScheme | QUrl::RemoveUserInfo | QUrl::StripTrailingSlash); - - // TODO learn Regular Expressions :) - // and implement something better here.. - name.remove('/'); - name.remove('&'); - name.remove('.'); - name.remove('-'); - name.remove('_'); - name.remove('?'); - name.remove('='); - name.remove('+'); - + name.remove(QRegExp(QL1S("[&+=_?./-]"))); return KStandardDirs::locateLocal("cache", QString("thumbs/") + name + ".png", true); } diff --git a/src/webtab.cpp b/src/webtab.cpp index 0b58d7c5..d5c5b478 100644 --- a/src/webtab.cpp +++ b/src/webtab.cpp @@ -92,6 +92,8 @@ WebTab::WebTab(QWidget *parent) WebTab::~WebTab() { + _walletBar.clear(); + _previewSelectorBar.clear(); } @@ -131,6 +133,12 @@ void WebTab::updateProgress(int p) void WebTab::loadFinished(bool) { m_progress = 0; + if(_walletBar.isNull()) + { + kDebug() << "OK, it's null"; + } + else + kDebug() << "NO, it's NOT null"; } @@ -142,27 +150,35 @@ void WebTab::createWalletBar(const QString &key, const QUrl &url) if (blackList.contains(urlString)) return; + if(!_walletBar.isNull()) + { + _walletBar.clear(); + } KWebWallet *wallet = page()->wallet(); - WalletBar *walletBar = new WalletBar(this); - walletBar->onSaveFormData(key, url); - qobject_cast<QVBoxLayout *>(layout())->insertWidget(0, walletBar); + _walletBar = new WalletBar(this); + _walletBar.data()->onSaveFormData(key, url); + qobject_cast<QVBoxLayout *>(layout())->insertWidget(0, _walletBar.data() ); - connect(walletBar, SIGNAL(saveFormDataAccepted(const QString &)), + connect(_walletBar.data(), SIGNAL(saveFormDataAccepted(const QString &)), wallet, SLOT(acceptSaveFormDataRequest(const QString &))); - connect(walletBar, SIGNAL(saveFormDataRejected(const QString &)), + connect(_walletBar.data(), SIGNAL(saveFormDataRejected(const QString &)), wallet, SLOT(rejectSaveFormDataRequest(const QString &))); } void WebTab::createPreviewSelectorBar(int index) { - PreviewSelectorBar *bar = new PreviewSelectorBar(index, this); - qobject_cast<QVBoxLayout *>(layout())->insertWidget(0, bar); + if(!_previewSelectorBar.isNull()) + { + _previewSelectorBar.clear(); + } + _previewSelectorBar = new PreviewSelectorBar(index, this); + qobject_cast<QVBoxLayout *>(layout())->insertWidget(0, _previewSelectorBar.data()); - connect(page(), SIGNAL(loadStarted()), bar, SLOT(loadProgress())); - connect(page(), SIGNAL(loadProgress(int)), bar, SLOT(loadProgress())); - connect(page(), SIGNAL(loadFinished(bool)), bar, SLOT(loadFinished())); - connect(page()->mainFrame(), SIGNAL(urlChanged(QUrl)), bar, SLOT(verifyUrl())); + connect(page(), SIGNAL(loadStarted()), _previewSelectorBar.data(), SLOT(loadProgress())); + connect(page(), SIGNAL(loadProgress(int)), _previewSelectorBar.data(), SLOT(loadProgress())); + connect(page(), SIGNAL(loadFinished(bool)), _previewSelectorBar.data(), SLOT(loadFinished())); + connect(page()->mainFrame(), SIGNAL(urlChanged(QUrl)), _previewSelectorBar.data(), SLOT(verifyUrl())); } diff --git a/src/webtab.h b/src/webtab.h index e34bbccf..a24418ef 100644 --- a/src/webtab.h +++ b/src/webtab.h @@ -41,6 +41,11 @@ // Qt Includes #include <QWidget> +#include <QWeakPointer> + +// Forward Declarations +class WalletBar; +class PreviewSelectorBar; class REKONQ_TESTS_EXPORT WebTab : public QWidget @@ -74,6 +79,9 @@ private: WebView *_view; int m_progress; + + QWeakPointer<WalletBar> _walletBar; + QWeakPointer<PreviewSelectorBar> _previewSelectorBar; }; #endif |