77 lines
1.6 KiB
C++
77 lines
1.6 KiB
C++
|
#include "browserdialog.h"
|
||
|
#include "ui_browserdialog.h"
|
||
|
|
||
|
#include <QtWebKit/QWebHistory>
|
||
|
|
||
|
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);
|
||
|
}
|