diff options
Diffstat (limited to 'Tools/MiniBrowser/qt')
-rw-r--r-- | Tools/MiniBrowser/qt/BrowserWindow.cpp | 31 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/BrowserWindow.h | 5 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/MiniBrowser.pro | 6 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/MiniBrowser.qrc | 5 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/MiniBrowserApplication.cpp | 4 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/MiniBrowserApplication.h | 6 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/UrlLoader.cpp | 2 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/main.cpp | 6 | ||||
-rw-r--r-- | Tools/MiniBrowser/qt/useragentlist.txt | 11 |
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) |