From 3bbfba5e0757af9c02dc5cec637e51b67365a896 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 26 Jan 2010 02:09:05 +0100 Subject: MultiThreaded rekonq !! Yeah, you're reading well... rekonq is using multithreading for the loadUrl slot. This (in theory) should mean: "NO MORE UI FREEZES ON LOAD URLS" :D --- src/filterurljob.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/filterurljob.cpp (limited to 'src/filterurljob.cpp') diff --git a/src/filterurljob.cpp b/src/filterurljob.cpp new file mode 100644 index 00000000..00bdee36 --- /dev/null +++ b/src/filterurljob.cpp @@ -0,0 +1,67 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2010 by Andrea Diamantini +* +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License or (at your option) version 3 or any later version +* accepted by the membership of KDE e.V. (or its successor approved +* by the membership of KDE e.V.), which shall act as a proxy +* defined in Section 14 of version 3 of the license. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* ============================================================ */ + + +// Self Includes +#include "filterurljob.h" + +// KDE Includes +#include +#include + +// Qt Includes +#include + + +FilterUrlJob::FilterUrlJob(WebView *view, const QString &urlString, QObject *parent) + : Job(parent) + , _view(view) + , _urlString(urlString) +{ +} + + +WebView *FilterUrlJob::view() +{ + return _view; +} + + +KUrl FilterUrlJob::url() +{ + return _url; +} + + +void FilterUrlJob::run() +{ + // this should let rekonq filtering URI info and supporting + // 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 ); +} -- cgit v1.2.1