Esempio n. 1
0
	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)
Esempio n. 2
0
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()
Esempio n. 3
0
	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('<', '&lt; ')
			data = data.replace('>', ' &gt;')
			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)