From 79c5ae121b4f4de24fe3edc57bf3f0e3a8fccfe4 Mon Sep 17 00:00:00 2001 From: Orochimarufan Date: Wed, 13 Feb 2013 00:35:35 +0100 Subject: add first iteration of the integrated browser --- gui/browserdialog.cpp | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 gui/browserdialog.cpp (limited to 'gui/browserdialog.cpp') diff --git a/gui/browserdialog.cpp b/gui/browserdialog.cpp new file mode 100644 index 00000000..58f185ce --- /dev/null +++ b/gui/browserdialog.cpp @@ -0,0 +1,76 @@ +#include "browserdialog.h" +#include "ui_browserdialog.h" + +#include + +BrowserDialog::BrowserDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::BrowserDialog), + m_pageTitleInWindowTitle(true), + m_windowTitleFormat("%1") +{ + ui->setupUi(this); + ui->webView->setPage(new QWebPage()); + refreshWindowTitle(); + resize(800, 600); +} + +BrowserDialog::~BrowserDialog() +{ + delete ui; +} + +// Navigation Buttons +void BrowserDialog::on_btnBack_clicked() +{ + ui->webView->back(); +} + +void BrowserDialog::on_btnForward_clicked() +{ + ui->webView->forward(); +} + +void BrowserDialog::on_webView_urlChanged(const QUrl &url) +{ + Q_UNUSED(url); + qDebug("urlChanged"); + ui->btnBack->setEnabled(ui->webView->history()->canGoBack()); + ui->btnForward->setEnabled(ui->webView->history()->canGoForward()); +} + +// Window Title Magic +void BrowserDialog::refreshWindowTitle() +{ + qDebug("refreshTitle"); + if (m_pageTitleInWindowTitle) + setWindowTitle(m_windowTitleFormat.arg(ui->webView->title())); + else + setWindowTitle(m_windowTitleFormat); +} + +void BrowserDialog::setPageTitleInWindowTitle(bool enable) +{ + m_pageTitleInWindowTitle = enable; + refreshWindowTitle(); +} + +void BrowserDialog::setWindowTitleFormat(QString format) +{ + m_windowTitleFormat = format; + refreshWindowTitle(); +} + +void BrowserDialog::on_webView_titleChanged(const QString &title) +{ + qDebug("titleChanged"); + if (m_pageTitleInWindowTitle) + setWindowTitle(m_windowTitleFormat.arg(title)); +} + +// Public access Methods +void BrowserDialog::load(const QUrl &url) +{ + qDebug("load"); + ui->webView->setUrl(url); +} -- cgit v1.2.3 From 369b1c55c99aa8bdcd2d57ab4aad3633343f1417 Mon Sep 17 00:00:00 2001 From: Orochimarufan Date: Wed, 13 Feb 2013 04:03:15 +0100 Subject: implement desktop shortcut creation. windows code not tested. --- gui/browserdialog.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gui/browserdialog.cpp') diff --git a/gui/browserdialog.cpp b/gui/browserdialog.cpp index 58f185ce..40c50c3f 100644 --- a/gui/browserdialog.cpp +++ b/gui/browserdialog.cpp @@ -34,7 +34,7 @@ void BrowserDialog::on_btnForward_clicked() void BrowserDialog::on_webView_urlChanged(const QUrl &url) { Q_UNUSED(url); - qDebug("urlChanged"); + //qDebug("urlChanged"); ui->btnBack->setEnabled(ui->webView->history()->canGoBack()); ui->btnForward->setEnabled(ui->webView->history()->canGoForward()); } @@ -42,7 +42,7 @@ void BrowserDialog::on_webView_urlChanged(const QUrl &url) // Window Title Magic void BrowserDialog::refreshWindowTitle() { - qDebug("refreshTitle"); + //qDebug("refreshTitle"); if (m_pageTitleInWindowTitle) setWindowTitle(m_windowTitleFormat.arg(ui->webView->title())); else @@ -63,7 +63,7 @@ void BrowserDialog::setWindowTitleFormat(QString format) void BrowserDialog::on_webView_titleChanged(const QString &title) { - qDebug("titleChanged"); + //qDebug("titleChanged"); if (m_pageTitleInWindowTitle) setWindowTitle(m_windowTitleFormat.arg(title)); } @@ -71,6 +71,6 @@ void BrowserDialog::on_webView_titleChanged(const QString &title) // Public access Methods void BrowserDialog::load(const QUrl &url) { - qDebug("load"); + //qDebug("load"); ui->webView->setUrl(url); } -- cgit v1.2.3