[developerteam getadooble] SF.net SVN: dooble:[1973] trunk/browser
Brought to you by:
textfield
|
From: <tex...@us...> - 2011-02-18 19:34:25
|
Revision: 1973
http://dooble.svn.sourceforge.net/dooble/?rev=1973&view=rev
Author: textfield
Date: 2011-02-18 19:34:18 +0000 (Fri, 18 Feb 2011)
Log Message:
-----------
Nasty bug... Nice fix.
Modified Paths:
--------------
trunk/browser/Include/dwebpage.h
trunk/browser/Source/dcookies.cc
trunk/browser/Source/ddownloadwindow.cc
trunk/browser/Source/dview.cc
trunk/browser/Source/dwebpage.cc
Modified: trunk/browser/Include/dwebpage.h
===================================================================
--- trunk/browser/Include/dwebpage.h 2011-02-18 17:36:49 UTC (rev 1972)
+++ trunk/browser/Include/dwebpage.h 2011-02-18 19:34:18 UTC (rev 1973)
@@ -72,6 +72,7 @@
bool acceptNavigationRequest(QWebFrame *frame,
const QNetworkRequest &request,
NavigationType type);
+ void javaScriptAlert(QWebFrame *frame, const QString &msg);
dooble *findDooble(void);
QString userAgentForUrl(const QUrl &url) const;
QWebPage *createWindow(WebWindowType type);
Modified: trunk/browser/Source/dcookies.cc
===================================================================
--- trunk/browser/Source/dcookies.cc 2011-02-18 17:36:49 UTC (rev 1972)
+++ trunk/browser/Source/dcookies.cc 2011-02-18 19:34:18 UTC (rev 1973)
@@ -287,6 +287,7 @@
{
QSqlQuery query(db);
+ query.exec("PRAGMA synchronous = OFF");
query.prepare("INSERT OR REPLACE INTO cookies "
"(domain, name, path, "
"expiration_date, http, secure, "
Modified: trunk/browser/Source/ddownloadwindow.cc
===================================================================
--- trunk/browser/Source/ddownloadwindow.cc 2011-02-18 17:36:49 UTC (rev 1972)
+++ trunk/browser/Source/ddownloadwindow.cc 2011-02-18 19:34:18 UTC (rev 1973)
@@ -218,11 +218,11 @@
void ddownloadwindow::closeEvent(QCloseEvent *event)
{
- dooble::s_settings["downloadwindow/geometry"] = geometry();
+ dooble::s_settings["downloadWindow/geometry"] = geometry();
QSettings settings;
- settings.setValue("downloadwindow/geometry", geometry());
+ settings.setValue("downloadWindow/geometry", geometry());
QMainWindow::closeEvent(event);
}
@@ -234,8 +234,8 @@
** Don't annoy the user.
*/
- if(dooble::s_settings.contains("downloadwindow/geometry"))
- setGeometry(dooble::s_settings.value("downloadwindow/geometry").
+ if(dooble::s_settings.contains("downloadWindow/geometry"))
+ setGeometry(dooble::s_settings.value("downloadWindow/geometry").
toRect());
}
Modified: trunk/browser/Source/dview.cc
===================================================================
--- trunk/browser/Source/dview.cc 2011-02-18 17:36:49 UTC (rev 1972)
+++ trunk/browser/Source/dview.cc 2011-02-18 19:34:18 UTC (rev 1973)
@@ -170,6 +170,8 @@
m_faviconManager = new QNetworkAccessManager(this);
directoryView->setVisible(false);
webView->setPage(new dwebpage(webView));
+ webView->page()->networkAccessManager()->setCookieJar(dooble::s_cookies);
+ dooble::s_cookies->setParent(0);
addWidget(webView);
addWidget(fileManager);
addWidget(ftpBrowser);
Modified: trunk/browser/Source/dwebpage.cc
===================================================================
--- trunk/browser/Source/dwebpage.cc 2011-02-18 17:36:49 UTC (rev 1972)
+++ trunk/browser/Source/dwebpage.cc 2011-02-18 19:34:18 UTC (rev 1973)
@@ -54,23 +54,34 @@
#include <QFile>
#include <QtDebug>
#include <QWebFrame>
+#include <QMessageBox>
dwebpage::dwebpage(QObject *parent):QWebPage(parent),
never_show_error_page_(false),
never_emit_error_signal_(false)
{
- /*
- ** This causes a segmentation fault with some pages.
- */
-
- networkAccessManager()->setCookieJar(dooble::s_cookies);
- dooble::s_cookies->setParent(0);
m_navigationSuggestedAction = DoobleNavigationType::NotSet;
connect(this, SIGNAL(unsupportedContent(QNetworkReply *)),
this, SLOT(handleUnsupportedContent(QNetworkReply *)));
setForwardUnsupportedContent(true);
}
+void dwebpage::javaScriptAlert(QWebFrame *frame, const QString &msg)
+{
+ /*
+ ** The default implementation of javaScriptAlert() causes
+ ** segmentation faults when viewing certain Web pages.
+ */
+
+ QMessageBox *mb = new QMessageBox(frame->page()->view());
+
+ mb->setIcon(QMessageBox::Information);
+ mb->setWindowModality(Qt::NonModal);
+ mb->setWindowTitle(tr("Dooble Web Browser: JavaScript Alert"));
+ mb->setText(msg);
+ mb->show();
+}
+
void dwebpage::handleUnsupportedContent(QNetworkReply *reply)
{
if(!reply) return; // Silent failure, if no reply.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|