Example #1
0
 def PrintDocument(self, document, tofile=0):
     bbox = document.BoundingRect(visible=0, printable=1)
     if bbox is None:
         msgDialog(
             self.mw.root,
             title=_("Printing"),
             message=_(
                 "The document doesn't have \n any printable layers!\n"))
         return
     ############ --->
     if tofile:
         directory = config.preferences.dir_for_vector_export
         filename = document.meta.filename[:-4] + '.pdf'
         filename, pdffile = dialogman.getGenericSaveFilename(
             _("Print into PDF file"),
             pdf_types,
             initialdir=directory,
             initialfile=filename)
         if filename == '': return
         dlg = ProgressDialog(self.mw.root, 'PDF generation')
         dlg.RunDialog(self.print_tofile_callback, document, pdffile)
     else:
         dlg = ProgressDialog(self.mw.root, 'PDF generation')
         command, pdffile = dlg.RunDialog(self.print_callback, document)
         os.system(command)
Example #2
0
    def ImportVector(self, filename=None):
        was_exception = False

        if not filename:
            directory = config.preferences.dir_for_vector_import
            if directory == '~':
                directory = fs.gethome()
            if not os.path.isdir(directory):
                directory = fs.gethome()
            filename, sysfilename = dialogman.getImportFilename(
                initialdir=directory, initialfile=filename)
            if not filename:
                return
        try:
            if not os.path.isabs(filename):
                filename = os.path.join(os.getcwd(), filename)
            ############--->
            dlg = ProgressDialog(self.mw.root, 'File importing')
            doc = dlg.RunDialog(self.import_callback, filename)
            ############ <---			doc = load.load_drawing(filename)

        except SketchError, value:
            dlg.close_dlg()
            group = None
            msgDialog(self.mw.root,
                      title=_("Import vector"),
                      message=_("An error occurred:") + " " + str(value))
            self.mw.remove_mru_file(filename)
            was_exception = True
Example #3
0
 def OpenDocument(self, filename=None, directory=None):
     self.mw.root.update()
     if type(filename) == type(0):
         filename = config.preferences.mru_files[filename]
     if not filename:
         if not directory:
             directory = self.mw.document.meta.directory
         if not directory:
             directory = config.preferences.dir_for_open
         if directory == "~":
             directory = fs.gethome()
         if not os.path.isdir(directory):
             directory = fs.gethome()
         filename, sysfilename = dialogman.getOpenFilename(initialdir=directory, initialfile=filename)
         if filename == "":
             return
     try:
         if not os.path.isabs(filename):
             filename = os.path.join(os.getcwd(), filename)
         config.preferences.dir_for_open = os.path.dirname(filename)
         ############--->
         dlg = ProgressDialog(self.mw.root, "File opening")
         doc = dlg.RunDialog(self.open_callback, filename)
         ############ <---
         doc.meta.view = None
         self.SetActiveDocument(doc)
         self.mw.add_mru_file(filename)
         self.mw.canvas.ForceRedraw()
         if self.tabspanel:
             self.tabspanel.addNewTab(self.activedoc)
     except Exception, value:
         dlg.CloseDialog()
         msgDialog(self.mw.root, title=_("Open"), message=_("\nAn error occurred:\n\n") + str(value) + "\n")
         self.mw.remove_mru_file(filename)
Example #4
0
    def ImportVector(self, filename=None):
        was_exception = False

        if not filename:
            directory = config.preferences.dir_for_vector_import
            if directory == "~":
                directory = fs.gethome()
            if not os.path.isdir(directory):
                directory = fs.gethome()
            filename, sysfilename = dialogman.getImportFilename(initialdir=directory, initialfile=filename)
            if not filename:
                return
        try:
            if not os.path.isabs(filename):
                filename = os.path.join(os.getcwd(), filename)
                ############--->
            dlg = ProgressDialog(self.mw.root, "File importing")
            doc = dlg.RunDialog(self.import_callback, filename)
            ############ <---			doc = load.load_drawing(filename)

        except SketchError, value:
            dlg.close_dlg()
            group = None
            msgDialog(self.mw.root, title=_("Import vector"), message=_("An error occurred:") + " " + str(value))
            self.mw.remove_mru_file(filename)
            was_exception = True
Example #5
0
 def save_doc_if_edited(self, document, title=_("sK1 - Save Document...")):
     if document is not None and document.WasEdited():
         message = _("\nFile: <%s> has been changed ! \n\nDo you want to save it?\n") % document.meta.filename
         result = msgDialog(self.mw.root, title=title, message=message, buttons=msgdialog.SaveDontSaveCancel)
         self.mw.root.deiconify()
         if result == msgdialog.Save:
             self.SaveDocument(document)
         return result
     return msgdialog.No
Example #6
0
 def PrintDocument(self, document, tofile=0):
     bbox = document.BoundingRect(visible=0, printable=1)
     if bbox is None:
         msgDialog(
             self.mw.root, title=_("Printing"), message=_("The document doesn't have \n any printable layers!\n")
         )
         return
         ############ --->
     if tofile:
         directory = config.preferences.dir_for_vector_export
         filename = document.meta.filename[:-4] + ".pdf"
         filename, pdffile = dialogman.getGenericSaveFilename(
             _("Print into PDF file"), pdf_types, initialdir=directory, initialfile=filename
         )
         if filename == "":
             return
         dlg = ProgressDialog(self.mw.root, "PDF generation")
         dlg.RunDialog(self.print_tofile_callback, document, pdffile)
     else:
         dlg = ProgressDialog(self.mw.root, "PDF generation")
         command, pdffile = dlg.RunDialog(self.print_callback, document)
         os.system(command)
Example #7
0
 def OpenDocument(self, filename=None, directory=None):
     self.mw.root.update()
     if type(filename) == type(0):
         filename = config.preferences.mru_files[filename]
     if not filename:
         if not directory:
             directory = self.mw.document.meta.directory
         if not directory:
             directory = config.preferences.dir_for_open
         if directory == '~':
             directory = fs.gethome()
         if not os.path.isdir(directory):
             directory = fs.gethome()
         filename, sysfilename = dialogman.getOpenFilename(
             initialdir=directory, initialfile=filename)
         if filename == '':
             return
     try:
         if not os.path.isabs(filename):
             filename = os.path.join(os.getcwd(), filename)
         config.preferences.dir_for_open = os.path.dirname(filename)
         ############--->
         dlg = ProgressDialog(self.mw.root, 'File opening')
         doc = dlg.RunDialog(self.open_callback, filename)
         ############ <---
         doc.meta.view = None
         self.SetActiveDocument(doc)
         self.mw.add_mru_file(filename)
         self.mw.canvas.ForceRedraw()
         if self.tabspanel:
             self.tabspanel.addNewTab(self.activedoc)
     except Exception, value:
         dlg.CloseDialog()
         msgDialog(self.mw.root,
                   title=_("Open"),
                   message=_("\nAn error occurred:\n\n") + str(value) +
                   "\n")
         self.mw.remove_mru_file(filename)
Example #8
0
 def save_doc_if_edited(self, document, title=_("sK1 - Save Document...")):
     if document is not None and document.WasEdited():
         message = _(
             "\nFile: <%s> has been changed ! \n\nDo you want to save it?\n"
         ) % document.meta.filename
         result = msgDialog(self.mw.root,
                            title=title,
                            message=message,
                            buttons=msgdialog.SaveDontSaveCancel)
         self.mw.root.deiconify()
         if result == msgdialog.Save:
             self.SaveDocument(document)
         return result
     return msgdialog.No
Example #9
0
    def SaveToFile(self,
                   document,
                   filename,
                   fileformat=None,
                   compressed='',
                   compressed_file=''):
        sysname = filename
        try:
            if not document.meta.backup_created:
                try:
                    if compressed_file:
                        fs.make_backup(compressed_file)
                    else:
                        fs.make_backup(sysname)
                except fs.BackupError, value:
                    backupfile = value.filename
                    strerror = value.strerror
                    msg = (_("\nCannot create backup file %(filename)s:\n"
                             "%(message)s\n\n"
                             "Choose `continue' to try saving anyway,\n"
                             "or `cancel' to cancel saving.") % {
                                 'filename': ` backupfile `,
                                 'message': strerror
                             })
                    cancel = _("Cancel")
                    result = msgDialog(self.mw.root,
                                       title=_("Save To File"),
                                       message=msg,
                                       buttons=(_("Continue"), cancel))
                    if result == cancel:
                        return

                document.meta.backup_created = 1
            if fileformat is None:
                fileformat = filters.NativeFormat
            try:
                saver = filters.find_export_plugin(fileformat)
                if compressed:
                    # XXX there should be a plugin interface for this kind
                    # of post-processing
                    if compressed == "gzip":
                        cmd = 'gzip -c -9 > ' + utils.sh_quote(compressed_file)
                    elif compressed == "bzip2":
                        cmd = 'bzip2 > ' + utils.sh_quote(compressed_file)
                    file = os.popen(cmd, 'w')
                    saver(document, filename, file=file)
                else:
                    saver(document, sysname)
            finally:
                saver.UnloadPlugin()
Example #10
0
    def SaveToFile(self, document, filename, fileformat=None, compressed="", compressed_file=""):
        sysname = filename
        try:
            if not document.meta.backup_created:
                try:
                    if compressed_file:
                        fs.make_backup(compressed_file)
                    else:
                        fs.make_backup(sysname)
                except fs.BackupError, value:
                    backupfile = value.filename
                    strerror = value.strerror
                    msg = _(
                        "\nCannot create backup file %(filename)s:\n"
                        "%(message)s\n\n"
                        "Choose `continue' to try saving anyway,\n"
                        "or `cancel' to cancel saving."
                    ) % {"filename": ` backupfile `, "message": strerror}
                    cancel = _("Cancel")
                    result = msgDialog(
                        self.mw.root, title=_("Save To File"), message=msg, buttons=(_("Continue"), cancel)
                    )
                    if result == cancel:
                        return

                document.meta.backup_created = 1
            if fileformat is None:
                fileformat = filters.NativeFormat
            try:
                saver = filters.find_export_plugin(fileformat)
                if compressed:
                    # XXX there should be a plugin interface for this kind
                    # of post-processing
                    if compressed == "gzip":
                        cmd = "gzip -c -9 > " + utils.sh_quote(compressed_file)
                    elif compressed == "bzip2":
                        cmd = "bzip2 > " + utils.sh_quote(compressed_file)
                    file = os.popen(cmd, "w")
                    saver(document, filename, file=file)
                else:
                    saver(document, sysname)
            finally:
                saver.UnloadPlugin()
Example #11
0
            self.mw.add_mru_file(filename)
            self.mw.canvas.ForceRedraw()
            if self.tabspanel:
                self.tabspanel.addNewTab(self.activedoc)
        except Exception, value:
            dlg.CloseDialog()
            msgDialog(self.mw.root,
                      title=_("Open"),
                      message=_("\nAn error occurred:\n\n") + str(value) +
                      "\n")
            self.mw.remove_mru_file(filename)
        else:
            messages = doc.meta.load_messages
            if messages:
                msgDialog(self.mw.root,
                          title=_("Open"),
                          message=_("\nWarnings from the import filter:\n\n") +
                          messages + "\n")
            doc.meta.load_messages = ''

    def open_callback(self, arg):
        app.updateInfo(inf1=_('Document parsing'),
                       inf2=_('Start document processing'),
                       inf3=3)
        filename = arg[0]
        doc = load.load_drawing(filename)
        app.updateInfo(inf1=_('Document parsing'),
                       inf2=_('Document has been loaded'),
                       inf3=100)
        time.sleep(.1)
        return doc
Example #12
0
            ############ <---
            doc.meta.view = None
            self.SetActiveDocument(doc)
            self.mw.add_mru_file(filename)
            self.mw.canvas.ForceRedraw()
            if self.tabspanel:
                self.tabspanel.addNewTab(self.activedoc)
        except Exception, value:
            dlg.CloseDialog()
            msgDialog(self.mw.root, title=_("Open"), message=_("\nAn error occurred:\n\n") + str(value) + "\n")
            self.mw.remove_mru_file(filename)
        else:
            messages = doc.meta.load_messages
            if messages:
                msgDialog(
                    self.mw.root, title=_("Open"), message=_("\nWarnings from the import filter:\n\n") + messages + "\n"
                )
            doc.meta.load_messages = ""

    def open_callback(self, arg):
        app.updateInfo(inf1=_("Document parsing"), inf2=_("Start document processing"), inf3=3)
        filename = arg[0]
        doc = load.load_drawing(filename)
        app.updateInfo(inf1=_("Document parsing"), inf2=_("Document has been loaded"), inf3=100)
        time.sleep(0.1)
        return doc

    def SaveDocument(self, document, use_dialog=SAVE_MODE):
        filename = document.meta.fullpathname
        native_format = document.meta.native_format
        compressed_file = document.meta.compressed_file