def importFile(self, fromFileName, options): fs = KWord.mainFrameSet() if not fs: raise "No main frameset to import the content too." doc = fs.document() if not fs: raise "No document to import the content too." fileExt = os.path.splitext(fromFileName)[1].lower() if fileExt == '.txt' or fileExt == '.html': f = open(fromFileName, "r") if fileExt == '.txt': doc.setText(''.join(f.readlines())) else: doc.setHtml(' '.join(f.readlines())) f.close() else: #odt #TODO this crashes horrible :-( KWord.document().openUrl(fromFileName)
def importFile(self, fromFileName, options): fs = KWord.mainFrameSet() if not fs: raise "No main frameset to import the content too." doc = fs.document() if not fs: raise "No document to import the content too." fileExt = os.path.splitext(fromFileName)[1].lower() if fileExt == '.txt' or fileExt == '.html': f = open(fromFileName, "r") if fileExt == '.txt': doc.setText( ''.join(f.readlines()) ) else: doc.setHtml( ' '.join(f.readlines()) ) f.close() else: #odt #TODO this crashes horrible :-( KWord.document().openUrl(fromFileName)
def __init__(self, scriptaction): self.scriptaction = scriptaction #self.currentpath = self.scriptaction.currentPath() self.forms = Kross.module("forms") self.dialog = self.forms.createDialog("Execute Action") self.dialog.minimumWidth = 500 self.dialog.minimumHeight = 360 self.dialog.setButtons("Ok|Cancel") self.dialog.setFaceType("Plain") #Auto Plain List Tree Tabbed self.objects = [ ('application', KWord.application()), ('shell', KWord.shell()), ('mainwindow', KWord.mainWindow()), ('document', KWord.document()), ] self.actions = [] for obj in self.objects: for s in dir(obj[1]): if s.startswith('slot'): self.actions.append("%s.%s" % (obj[0], s)) page = self.dialog.addPage("", "") widget = self.forms.createWidgetFromUI( page, '<ui version="4.0" >' ' <class>Form</class>' ' <widget class="QWidget" name="Form" >' ' <layout class="QHBoxLayout" >' ' <item>' ' <widget class="QListWidget" name="List">' ' <property name="currentRow"><number>%i</number></property>' ' %s' ' </widget>' ' </item>' ' </layout>' ' </widget>' '</ui>' % (0, ''.join([ '<item><property name="text" ><string>%s</string></property></item>' % s for s in self.actions ]))) self.widgetlist = widget["List"] if self.dialog.exec_loop(): self.execAction()
def __init__(self, scriptaction): self.scriptaction = scriptaction #self.currentpath = self.scriptaction.currentPath() self.forms = Kross.module("forms") self.dialog = self.forms.createDialog("Execute Action") self.dialog.minimumWidth = 500 self.dialog.minimumHeight = 360 self.dialog.setButtons("Ok|Cancel") self.dialog.setFaceType("Plain") #Auto Plain List Tree Tabbed self.objects = [ ('application', KWord.application()), ('shell', KWord.shell()), ('mainwindow', KWord.mainWindow()), ('document', KWord.document()), ] self.actions = [] for obj in self.objects: for s in dir(obj[1]): if s.startswith('slot'): self.actions.append( "%s.%s" % (obj[0],s) ) page = self.dialog.addPage("", "") widget = self.forms.createWidgetFromUI(page, '<ui version="4.0" >' ' <class>Form</class>' ' <widget class="QWidget" name="Form" >' ' <layout class="QHBoxLayout" >' ' <item>' ' <widget class="QListWidget" name="List">' ' <property name="currentRow"><number>%i</number></property>' ' %s' ' </widget>' ' </item>' ' </layout>' ' </widget>' '</ui>' % ( 0, ''.join( [ '<item><property name="text" ><string>%s</string></property></item>' % s for s in self.actions ] ) ) ) self.widgetlist = widget["List"] if self.dialog.exec_loop(): self.execAction()
def __del__(self): self.dialog.delayedDestruct() config = MyConfig() try: # try to import KWord. If this fails we are not running embedded in KWord. import KWord config.showDialog = True except ImportError: # looks as we are not running embedded within KWord. So, let's use Kross to import the KWord library. KWord = Kross.module("kword") if config.readOdfFile: KWord.document().openUrl(config.readOdfFile) if not KWord.document().url(): # if KWord does not have a loaded document now we show a fileopen-dialog to let the user choose the odt file. forms = Kross.module("forms") dialog = forms.createDialog("ReportLab.org") dialog.setButtons("Ok|Cancel") dialog.setFaceType("Plain") openwidget = forms.createFileWidget(dialog.addPage("Open","Open ODT File")) openwidget.setMode("Opening") openwidget.setFilter("*.odt|ODT Files\n*|All Files") if not dialog.exec_loop(): raise Exception("Aborted.") if not KWord.document().openUrl(openwidget.selectedFile()): raise Exception("Failed to open file: %s" % openwidget.selectedFile())
"<blockquote>Some text in a blockquote-tag</blockquote>" "<p>Some more text in a paragraph...</p>" ) % ( time.strftime('%H:%M.%S'), ' '.join(os.uname()), sys.version, ','.join(KWord.application().getDocuments()), ','.join(KWord.application().getViews()), ','.join(KWord.application().getWindows()), KWord.pageCount(), KWord.frameSetCount(), KWord.frameCount(), KWord.document().url(), KWord.document().documentInfoTitle(), KWord.document().documentInfoSubject(), KWord.document().documentInfoKeywords(), KWord.document().documentInfoAbstract(), KWord.document().documentInfoAuthorName(), KWord.document().documentInfoCompanyName(), KWord.document().documentInfoAuthorPostion(), KWord.document().documentInfoEmail(), KWord.document().documentInfoTelephone(), KWord.document().documentInfoTelephoneWork(), KWord.document().documentInfoTelephoneHome(), KWord.document().documentInfoFax(), KWord.document().documentInfoCountry(),
"<li>Author Street: <b>%s</b></li>" "<li>Author Initial: <b>%s</b></li>" "</ul>" "<pre>Some text in a pre-tag</pre>" "<blockquote>Some text in a blockquote-tag</blockquote>" "<p>Some more text in a paragraph...</p>") % ( time.strftime('%H:%M.%S'), ' '.join(os.uname()), sys.version, ','.join(KWord.application().getDocuments()), ','.join(KWord.application().getViews()), ','.join(KWord.application().getWindows()), KWord.pageCount(), KWord.frameSetCount(), KWord.frameCount(), KWord.document().url(), KWord.document().documentInfoTitle(), KWord.document().documentInfoSubject(), KWord.document().documentInfoKeywords(), KWord.document().documentInfoAbstract(), KWord.document().documentInfoAuthorName(), KWord.document().documentInfoCompanyName(), KWord.document().documentInfoAuthorPostion(), KWord.document().documentInfoEmail(), KWord.document().documentInfoTelephone(), KWord.document().documentInfoTelephoneWork(), KWord.document().documentInfoTelephoneHome(), KWord.document().documentInfoFax(), KWord.document().documentInfoCountry(), KWord.document().documentInfoPostalCode(), KWord.document().documentInfoCity(),