def read(self, fileName): self.state = PluginState.Invalid self.hasError = False self.dependencies = [] specFile = QFile(fileName) if not specFile.exists(): msg = QCoreApplication.translate(None, "File does not exist: {name}") return self.__reportError(msg.format(name=specFile.fileName())) if not specFile.open(QIODevice.ReadOnly): msg = QCoreApplication.translate(None, "Could not open file for read: {name}") return self.__reportError(msg.format(name=specFile.fileName())) fileInfo = QFileInfo(specFile) self.location = fileInfo.absolutePath() self.filePath = fileInfo.absoluteFilePath() reader = QXmlStreamReader(specFile) while not reader.atEnd(): reader.readNext() tokenType = reader.tokenType() if tokenType is QXmlStreamReader.StartElement: self.__readPluginSpec(reader) else: pass if reader.hasError(): msg = QCoreApplication.translate(None, "Error parsing file {0}: {1}, at line {2}, column {3}") return self.__reportError(msg.format(specFile.fileName(), reader.errorString(), reader.lineNumber(), reader.columnNumber())) self.state = PluginState.Read return True
def render(self, fileName, width, height): self.setViewportSize(QSize(width, height)) fileInfo = QFileInfo(fileName) dir = QDir() dir.mkpath(fileInfo.absolutePath()) viewportSize = self.viewportSize() pageSize = self.mainFrame().contentsSize() if pageSize.isEmpty(): return False buffer = QImage(pageSize, QImage.Format_ARGB32) buffer.fill(qRgba(255, 255, 255, 0)) p = QPainter(buffer) p.setRenderHint( QPainter.Antialiasing, True) p.setRenderHint( QPainter.TextAntialiasing, True) p.setRenderHint( QPainter.SmoothPixmapTransform, True) self.setViewportSize(pageSize) self.mainFrame().render(p) p.end() self.setViewportSize(viewportSize) return buffer.save(fileName)
def setTitle(self,fullPath): traceLogger.debug("fullPath=%s" % fullPath) if fullPath is '': self.setWindowTitle("[*]" + self.tr("Untitled")) else: info = QFileInfo(fullPath) self.setWindowFilePath(info.absolutePath()) self.setWindowTitle("[*]" + info.fileName())