Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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()
Exemple #4
0
    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()
Exemple #5
0
    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())
Exemple #6
0
    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())
Exemple #7
0
        "<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(),
Exemple #8
0
 "<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(),