def setMailData(self, d): ll = d['data'][0] data = d['data'][1] i = 0 for m in self.mails : if m.idx == d['number'] : break else : i += 1 fileName = None if d['type'] == 'html' : _data = changeImagePath(data, d['boundary']) ''' create temporary html-file ''' fileName = os.path.join(self.iconDatabasePath, randomString(24) + '.html') try : with open(fileName, 'w') as f : f.write(insertMetaData(_data)) except Exception, err : print dateStamp(), err with open(fileName, 'w') as f : f.write(str(err)) finally : pass wdg = QWebView() wdg.triggerPageAction(QWebPage.Reload, True) wdg.triggerPageAction(QWebPage.Stop, True) wdg.triggerPageAction(QWebPage.Back, True) wdg.triggerPageAction(QWebPage.Forward, True) wdg.settings().setAttribute(QWebSettings.AutoLoadImages, \ self.Parent.autoLoadImage) wdg.settings().setAttribute(QWebSettings.PrivateBrowsingEnabled, \ self.Parent.privateEnable) if wdg.settings().iconDatabasePath().isEmpty() : wdg.settings().setIconDatabasePath(self.iconDatabasePath) wdg.load(QUrl('file://' + fileName)) #print dateStamp(), QUrl('file://' + fileName), ' created' wdg.show() self.webViewWDGs.append(wdg)
class PopDownReport(QDialog): def __init__(self, parent): super(PopDownReport, self).__init__(parent) self.setLayout(QGridLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.web = QWebView() self.resize(400, 400) self.layout().addWidget(self.web) self.setWindowFlags(Qt.Tool | Qt.FramelessWindowHint | Qt.X11BypassWindowManagerHint) def updateHTML(self, html): self.web.setHtml(html) self.web.triggerPageAction(QWebPage.MoveToEndOfDocument) def clear(self): self.web.setHtml("No Sync in progress") def updatePosition(self): point = self.parent().rect().bottomRight() newpoint = self.parent().mapToGlobal(point - QPoint(self.size().width(),0)) self.move(newpoint) def showEvent(self, event): self.updatePosition()
def setMailData(self, d): ll = d['data'][0] data = d['data'][1] i = 0 for m in self.mails : if m.idx == d['number'] : break else : i += 1 fileName = None if d['type'] == 'html' : _data = changeImagePath(data, d['boundary']) ''' create temporary html-file ''' fileName = os.path.join(self.iconDatabasePath, randomString(24) + '.html') with open(fileName, 'w') as f : f.write(insertMetaData(_data)) wdg = QWebView() wdg.triggerPageAction(QWebPage.Reload, True) wdg.triggerPageAction(QWebPage.Stop, True) wdg.triggerPageAction(QWebPage.Back, True) wdg.triggerPageAction(QWebPage.Forward, True) wdg.settings().setAttribute(QWebSettings.AutoLoadImages, \ self.Parent.autoLoadImage) wdg.settings().setAttribute(QWebSettings.PrivateBrowsingEnabled, \ self.Parent.privateEnable) if wdg.settings().iconDatabasePath().isEmpty() : wdg.settings().setIconDatabasePath(self.iconDatabasePath) wdg.load(QUrl('file://' + fileName)) #print dateStamp(), QUrl('file://' + fileName), ' created' wdg.show() self.webViewWDGs.append(wdg) elif d['type'] in ('plain') : wdg = QTextBrowser() wdg.setAcceptRichText(True) wdg.setOpenExternalLinks(True) wdg.setOpenLinks(True) data = data.replace('<', '< ') data = data.replace('>', ' >') wdg.setHtml(changeLink(data)) elif d['type'] == 'header' : wdg = QLabel() wdg.setText(data) wdg.linkHovered.connect(self.linkDisplay) wdg.setAlignment(Qt.AlignLeft) else : ''' create temporary file ''' fileName = os.path.join(self.iconDatabasePath, d['data'][2]) with open(fileName, 'wb') as f : f.write(data) wdg = QLabel() wdg.setOpenExternalLinks(True) ins = self.tr._translate('Inserted:') wdg.setText(QString('<a href="%1">%2 %3</a>').arg(fileName).arg(ins).arg(d['type'])) wdg.linkHovered.connect(self.linkDisplay) wdg.setAlignment(Qt.AlignLeft) wdg.setToolTip(ll) splt = QSplitter() splt.setOrientation(Qt.Horizontal) splt.setChildrenCollapsible(True) if d['level'] : blank = QLabel() blank.setFixedWidth(d['level']*SIZE) splt.addWidget(blank) splt.addWidget(wdg) self.mails[i].mailField.addWidget(splt) self.mails[i].setLayout(self.mails[i].layout)