| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | /*551:*/
#line 50 "./webview.w"
#include "webview.h"
/*552:*/
#line 57 "./webview.w"
TypicaWebView::TypicaWebView():QWebView()
{
page()->setLinkDelegationPolicy(QWebPage::DelegateExternalLinks);
connect(page(),SIGNAL(linkClicked(QUrl)),this,SLOT(linkDelegate(QUrl)));
}
/*:552*//*553:*/
#line 73 "./webview.w"
void TypicaWebView::linkDelegate(const QUrl&url)
{
if(url.scheme()=="typica")
{
QString address(url.toEncoded());
/*554:*/
#line 91 "./webview.w"
if(address=="typica://aboutqt")
{
QMessageBox::aboutQt(this);
return;
}
/*:554*/
#line 79 "./webview.w"
/*555:*/
#line 100 "./webview.w"
if(address.startsWith("typica://script/"))
{
emit scriptLinkClicked(address.remove(0,16));
return;
}
/*:555*/
#line 80 "./webview.w"
}
else
{
QDesktopServices::openUrl(url);
}
}
/*:553*//*556:*/
#line 112 "./webview.w"
void TypicaWebView::load(const QString&url)
{
QWebView::load(QUrl(url));
}
void TypicaWebView::print()
{
QPrinter*printer= new QPrinter(QPrinter::HighResolution);
QPrintDialog printDialog(printer,NULL);
if(printDialog.exec()==QDialog::Accepted)
{
QWebView::print(printer);
}
}
void TypicaWebView::setHtml(const QString&html,const QUrl&baseUrl)
{
QWebView::setHtml(html,baseUrl);
}
void TypicaWebView::setContent(QIODevice*device)
{
QSettings settings;
device->reset();
QByteArray content= device->readAll();
QUrl baseDir= QUrl("file://"+settings.value("config").toString()+"/");
QWebView::setContent(content,"application/xhtml+xml",baseDir);
}
QString TypicaWebView::saveXml()
{
return page()->currentFrame()->documentElement().toOuterXml();
}
/*:556*//*562:*/
#line 205 "./webview.w"
QWebElement TypicaWebView::documentElement()
{
return page()->mainFrame()->documentElement();
}
QWebElement TypicaWebView::findFirstElement(const QString&selector)
{
return page()->mainFrame()->findFirstElement(selector);
}
/*:562*/
#line 53 "./webview.w"
/*:551*/
 |