summaryrefslogtreecommitdiffstats
path: root/Tools/MiniBrowser/qt
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/MiniBrowser/qt')
-rw-r--r--Tools/MiniBrowser/qt/BrowserWindow.cpp31
-rw-r--r--Tools/MiniBrowser/qt/BrowserWindow.h5
-rw-r--r--Tools/MiniBrowser/qt/MiniBrowser.pro6
-rw-r--r--Tools/MiniBrowser/qt/MiniBrowser.qrc5
-rw-r--r--Tools/MiniBrowser/qt/MiniBrowserApplication.cpp4
-rw-r--r--Tools/MiniBrowser/qt/MiniBrowserApplication.h6
-rw-r--r--Tools/MiniBrowser/qt/UrlLoader.cpp2
-rw-r--r--Tools/MiniBrowser/qt/main.cpp6
-rw-r--r--Tools/MiniBrowser/qt/useragentlist.txt11
9 files changed, 63 insertions, 13 deletions
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.cpp b/Tools/MiniBrowser/qt/BrowserWindow.cpp
index 53f7de9..a8a2226 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.cpp
+++ b/Tools/MiniBrowser/qt/BrowserWindow.cpp
@@ -28,6 +28,7 @@
#include "BrowserWindow.h"
+#include "UrlLoader.h"
#include "qwkpreferences.h"
static QWKPage* newPageFunction(QWKPage* page)
@@ -41,6 +42,7 @@ QVector<qreal> BrowserWindow::m_zoomLevels;
BrowserWindow::BrowserWindow(QWKContext* context, WindowOptions* options)
: m_isZoomTextOnly(false)
, m_currentZoom(1)
+ , m_urlLoader(0)
, m_context(context)
{
if (options)
@@ -106,6 +108,8 @@ BrowserWindow::BrowserWindow(QWKContext* context, WindowOptions* options)
toggleFrameFlattening->setChecked(false);
toolsMenu->addSeparator();
toolsMenu->addAction("Change User Agent", this, SLOT(showUserAgentDialog()));
+ toolsMenu->addSeparator();
+ toolsMenu->addAction("Load URLs from file", this, SLOT(loadURLListFromFile()));
QMenu* settingsMenu = menuBar()->addMenu("&Settings");
QAction* toggleAutoLoadImages = settingsMenu->addAction("Disable Auto Load Images", this, SLOT(toggleAutoLoadImages(bool)));
@@ -137,7 +141,10 @@ BrowserWindow::BrowserWindow(QWKContext* context, WindowOptions* options)
m_zoomLevels << 1.1 << 1.2 << 1.33 << 1.5 << 1.7 << 2 << 2.4 << 3;
}
- resize(800, 600);
+ if (m_windowOptions.startMaximized)
+ setWindowState(windowState() | Qt::WindowMaximized);
+ else
+ resize(800, 600);
show();
}
@@ -294,10 +301,9 @@ void BrowserWindow::toggleZoomTextOnly(bool b)
void BrowserWindow::toggleFullScreenMode(bool enable)
{
- if (enable)
- setWindowState(Qt::WindowFullScreen);
- else
- setWindowState(Qt::WindowNoState);
+ bool alreadyEnabled = windowState() & Qt::WindowFullScreen;
+ if (enable ^ alreadyEnabled)
+ setWindowState(windowState() ^ Qt::WindowFullScreen);
}
void BrowserWindow::toggleFrameFlattening(bool toggle)
@@ -335,6 +341,20 @@ void BrowserWindow::showUserAgentDialog()
page()->setCustomUserAgent(combo->currentText());
}
+void BrowserWindow::loadURLListFromFile()
+{
+ QString selectedFile;
+#ifndef QT_NO_FILEDIALOG
+ selectedFile = QFileDialog::getOpenFileName(this, tr("Load URL list from file")
+ , QString(), tr("Text Files (*.txt);;All Files (*)"));
+#endif
+ if (selectedFile.isEmpty())
+ return;
+
+ m_urlLoader = new UrlLoader(this, selectedFile, 0, 0);
+ m_urlLoader->loadNext();
+}
+
void BrowserWindow::printURL(const QUrl& url)
{
QTextStream output(stdout);
@@ -380,6 +400,7 @@ void BrowserWindow::applyZoom()
BrowserWindow::~BrowserWindow()
{
+ delete m_urlLoader;
delete m_addressBar;
delete m_browser;
}
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.h b/Tools/MiniBrowser/qt/BrowserWindow.h
index 6ad8f27..06da2a2 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.h
+++ b/Tools/MiniBrowser/qt/BrowserWindow.h
@@ -35,6 +35,8 @@
#include <QStringList>
#include <QtGui>
+class UrlLoader;
+
class BrowserWindow : public QMainWindow {
Q_OBJECT
@@ -69,6 +71,8 @@ protected slots:
void toggleFrameFlattening(bool);
void showUserAgentDialog();
+ void loadURLListFromFile();
+
void printURL(const QUrl&);
void toggleAutoLoadImages(bool);
@@ -83,6 +87,7 @@ private:
bool m_isZoomTextOnly;
qreal m_currentZoom;
+ UrlLoader* m_urlLoader;
QWKContext* m_context;
WindowOptions m_windowOptions;
BrowserView* m_browser;
diff --git a/Tools/MiniBrowser/qt/MiniBrowser.pro b/Tools/MiniBrowser/qt/MiniBrowser.pro
index 809c934..7836e53 100644
--- a/Tools/MiniBrowser/qt/MiniBrowser.pro
+++ b/Tools/MiniBrowser/qt/MiniBrowser.pro
@@ -58,7 +58,5 @@ contains(QT_CONFIG, opengl) {
DEFINES -= QT_ASCII_CAST_WARNINGS
-# We copy the resource file to the build directory.
-# The copier is defined in Tools/MiniBrowser/DerivedSources.pro.
-RESOURCES += \
- $$OUTPUT_DIR/MiniBrowser/qt/MiniBrowser.qrc
+# Use the MiniBrowser.qrc file from the sources.
+RESOURCES += MiniBrowser.qrc
diff --git a/Tools/MiniBrowser/qt/MiniBrowser.qrc b/Tools/MiniBrowser/qt/MiniBrowser.qrc
new file mode 100644
index 0000000..ffe77b0
--- /dev/null
+++ b/Tools/MiniBrowser/qt/MiniBrowser.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>useragentlist.txt</file>
+ </qresource>
+</RCC>
diff --git a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp
index f40c870..912419b 100644
--- a/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp
+++ b/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp
@@ -55,6 +55,7 @@ void MiniBrowserApplication::handleUserOptions()
if (args.contains("-help")) {
qDebug() << "Usage:" << programName.toLatin1().data()
+ << "[-maximize]"
<< "[-r list]"
<< "[-robot-timeout seconds]"
<< "[-robot-extra-time seconds]"
@@ -65,6 +66,9 @@ void MiniBrowserApplication::handleUserOptions()
appQuit(0);
}
+ if (args.contains("-maximize"))
+ m_windowOptions.startMaximized = true;
+
int robotIndex = args.indexOf("-r");
if (robotIndex != -1) {
QString listFile = takeOptionValue(&args, robotIndex);
diff --git a/Tools/MiniBrowser/qt/MiniBrowserApplication.h b/Tools/MiniBrowser/qt/MiniBrowserApplication.h
index 5a78820..2eba9b5 100644
--- a/Tools/MiniBrowser/qt/MiniBrowserApplication.h
+++ b/Tools/MiniBrowser/qt/MiniBrowserApplication.h
@@ -37,12 +37,18 @@ struct WindowOptions {
: useTiledBackingStore(true)
, useSeparateWebProcessPerWindow(false)
, printLoadedUrls(false)
+#if defined(Q_OS_SYMBIAN)
+ , startMaximized(true)
+#else
+ , startMaximized(false)
+#endif
{
}
bool useTiledBackingStore;
bool useSeparateWebProcessPerWindow;
bool printLoadedUrls;
+ bool startMaximized;
};
class MiniBrowserApplication : public QApplication {
diff --git a/Tools/MiniBrowser/qt/UrlLoader.cpp b/Tools/MiniBrowser/qt/UrlLoader.cpp
index 600d477..54854c8 100644
--- a/Tools/MiniBrowser/qt/UrlLoader.cpp
+++ b/Tools/MiniBrowser/qt/UrlLoader.cpp
@@ -47,7 +47,7 @@ UrlLoader::UrlLoader(BrowserWindow* browserWindow, const QString& inputFileName,
if (timeoutSeconds) {
m_timeoutTimer.setInterval(timeoutSeconds * 1000);
m_timeoutTimer.setSingleShot(true);
- connect(m_browserWindow, SIGNAL(loadStarted()), &m_timeoutTimer, SLOT(start()));
+ connect(m_browserWindow->page(), SIGNAL(loadStarted()), &m_timeoutTimer, SLOT(start()));
connect(&m_timeoutTimer, SIGNAL(timeout()), this, SLOT(loadNext()));
}
if (extraTimeSeconds) {
diff --git a/Tools/MiniBrowser/qt/main.cpp b/Tools/MiniBrowser/qt/main.cpp
index 8f4c1ea..8b38912 100644
--- a/Tools/MiniBrowser/qt/main.cpp
+++ b/Tools/MiniBrowser/qt/main.cpp
@@ -51,9 +51,9 @@ int main(int argc, char** argv)
QStringList urls = app.urls();
if (urls.isEmpty()) {
- QString defaultUrl = QString("file://%1/%2").arg(QDir::homePath()).arg(QLatin1String("index.html"));
- if (QDir(defaultUrl).exists())
- urls.append(defaultUrl);
+ QString defaultIndexFile = QString("%1/%2").arg(QDir::homePath()).arg(QLatin1String("index.html"));
+ if (QFile(defaultIndexFile).exists())
+ urls.append(QString("file://") + defaultIndexFile);
else
urls.append("http://www.google.com");
}
diff --git a/Tools/MiniBrowser/qt/useragentlist.txt b/Tools/MiniBrowser/qt/useragentlist.txt
new file mode 100644
index 0000000..0b29d40
--- /dev/null
+++ b/Tools/MiniBrowser/qt/useragentlist.txt
@@ -0,0 +1,11 @@
+Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/533.3 (KHTML, like Gecko) QtTestBrowser/0.1 Safari/533.3
+Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0; en-GB) AppleWebKit/533.3 (KHTML, like Gecko) QtTestBrowser/0.1 Mobile Safari/533.3
+Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8
+Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2
+Mozilla/5.0 (Unknown; like Android 2.2; U; Intel Mac OS X 10_6; en-gb) AppleWebKit/533.3 (KHTML, like Gecko) Version/4.0.3 Mobile Safari/533.3
+Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
+Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
+Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10
+Opera/9.25 (Windows NT 6.0; U; en)
+Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1b/20.2.014; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
+Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)