From 7187da9812bbe6ffb5bf272f18f8e74c8d23d3c7 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 8 Nov 2011 10:17:36 +0100 Subject: Application Shortcut Added an action to manage it in the tools menu, added initial code to manage icons, added kwebapp application --- kwebapp/webpage.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 kwebapp/webpage.cpp (limited to 'kwebapp/webpage.cpp') diff --git a/kwebapp/webpage.cpp b/kwebapp/webpage.cpp new file mode 100644 index 00000000..f1f3c38d --- /dev/null +++ b/kwebapp/webpage.cpp @@ -0,0 +1,63 @@ +/* + * This file is part of the KDE project. + * Copyright (C) 2011 by Andrea Diamantini + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 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 6 of version 3 of the license. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + */ + + +// Self Includes +#include "webpage.h" +#include "webpage.moc" + +// KDE Includes +#include + +// Qt Includes +#include + + +WebPage::WebPage(QObject *parent) + : KWebPage(parent) + , _selfLoading(false) +{ + connect(this, SIGNAL(loadFinished(bool)), this, SLOT(disableSelfLoading())); +} + + +bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type) +{ + if (_selfLoading) + { + return KWebPage::acceptNavigationRequest(frame, request, type); + } + + (void)new KRun(request.url(), view(), 0); + return false; +} + + +void WebPage::setSelfLoadingEnabled(bool b) +{ + _selfLoading = b; +} + + +void WebPage::disableSelfLoading() +{ + _selfLoading = false; +} -- cgit v1.2.1