Ejemplo n.º 1
0
Archivo: Lic.py Proyecto: chriscl/lic
    def loadLicFile(self, filename):

        #startTime = time.time()
        progress = LicDialogs.LicProgressDialog(self, "Opening " + os.path.basename(filename))
        progress.setValue(2)  # Try and force dialog to show up right away

        loader = LicBinaryReader.loadLicFile(filename, self.instructions, FileVersion, MagicNumber)
        count = loader.next() + 3
        progress.setMaximum(count)  # First value yielded after load is # of progress steps, +3 because we start at 2, and have to load colors

        self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
        progress.incr()
        
        for unused in loader:
            if progress.wasCanceled():
                loader.close()
                self.fileClose()
                self.statusBar().showMessage("Open File aborted")
                return
            progress.incr()

        self.treeModel.root = self.instructions.mainModel
        self.scene.emit(SIGNAL("layoutChanged()"))

        self.filename = filename
        self.addRecentFile(filename)
        self.scene.selectPage(1)
        self.copySettingsToScene()
        progress.setValue(progress.maximum())
Ejemplo n.º 2
0
    def loadLicFile(self, filename):

        #startTime = time.time()
        progress = LicDialogs.LicProgressDialog(self, "Opening " + os.path.basename(filename))
        progress.setValue(2)  # Try and force dialog to show up right away

        loader = LicBinaryReader.loadLicFile(filename, self.instructions, FileVersion, MagicNumber)
        count = loader.next() + 3
        progress.setMaximum(count)  # First value yielded after load is # of progress steps, +3 because we start at 2, and have to load colors

        self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
        progress.incr()
        
        for unused in loader:
            if progress.wasCanceled():
                loader.close()
                self.fileClose()
                self.statusBar().showMessage("Open File aborted")
                return
            progress.incr()

        self.treeModel.root = self.instructions.mainModel
        self.scene.emit(SIGNAL("layoutChanged()"))

        self.filename = filename
        self.addRecentFile(filename)
        self.scene.selectPage(1)
        self.copySettingsToScene()
        progress.setValue(progress.maximum())
Ejemplo n.º 3
0
Archivo: Lic.py Proyecto: chriscl/lic
 def fileLoadTemplate(self):
     templateName = self.instructions.templateSettings.filename
     folder = os.path.dirname(templateName) if templateName != "" else "."  # TODO: Check what happens if templateName has no path
     newFilename = unicode(QFileDialog.getOpenFileName(self, "Lic - Load Template", folder, "Lic Template files (*.lit)"))
     if newFilename and os.path.basename(newFilename) != templateName:
         try:
             LicBinaryReader.loadLicTemplateSettings(newFilename, self.instructions, FileVersion, MagicNumber)
         except IOError, e:
             QMessageBox.warning(self, "Lic - Load Template Error", "Failed to open %s: %s" % (newFilename, e))
         else:
             #self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
             #self.scene.removeItem(self.instructions.template)
             #self.instructions.template = newTemplate
             #newTemplate.applyFullTemplate(True)
             #self.scene.emit(SIGNAL("layoutChanged()"))
             self.scene.update()
             self.setWindowModified(True)
Ejemplo n.º 4
0
 def fileLoadTemplate(self):
     templateName = self.instructions.templateSettings.filename
     folder = os.path.dirname(templateName) if templateName != "" else "."  # TODO: Check what happens if templateName has no path
     newFilename = unicode(QFileDialog.getOpenFileName(self, "Lic - Load Template", folder, "Lic Template files (*.lit)"))
     if newFilename and os.path.basename(newFilename) != templateName:
         try:
             LicBinaryReader.loadLicTemplateSettings(newFilename, self.instructions, FileVersion, MagicNumber)
         except IOError, e:
             QMessageBox.warning(self, "Lic - Load Template Error", "Failed to open %s: %s" % (newFilename, e))
         else:
             #self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
             #self.scene.removeItem(self.instructions.template)
             #self.instructions.template = newTemplate
             #newTemplate.applyFullTemplate(True)
             #self.scene.emit(SIGNAL("layoutChanged()"))
             self.scene.update()
             self.setWindowModified(True)
Ejemplo n.º 5
0
Archivo: Lic.py Proyecto: chriscl/lic
    def importModel(self, filename):

        if not self.fileClose():
            return

        #import time
        #startTime = time.time()
        progress = LicDialogs.LicProgressDialog(self, "Importing " + os.path.basename(filename))
        progress.setValue(2)  # Try and force dialog to show up right away

        loader = self.instructions.importModel(filename)
        try:
            progress.setMaximum(loader.next())  # First value yielded after load is # of progress steps
        except IOError as e:
            # Failed to import model.  Usually means a bad path to LDraw.  Signal user & abort.
            progress.cancel()
            loader.close()
            s = "Failed to import %s:\n%s\n\nThis could mean a corrupt Lic config file.\nDo you want to recreate it?" % (os.path.basename(filename), e)
            reply = QMessageBox.critical(self, "Lic - Import Error", s, QMessageBox.Yes | QMessageBox.No)
            if reply == QMessageBox.Yes:
                settings = self.getSettingsFile()
                settings.clear()
                settings.sync()
                exit(1)
            return

        for label in loader:
            if progress.wasCanceled():
                loader.close()
                self.fileClose()
                return
            progress.incr(label)

        self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
        self.treeModel.root = self.instructions.mainModel

        try:
            template = LicBinaryReader.loadLicTemplate(self.defaultTemplateFilename, self.instructions, FileVersion, MagicNumber)

#            import LicTemplate  # Use this to regenerate new default template from scratch, to add new stuff to it
#            template = LicTemplate.TemplatePage(self.instructions.mainModel, self.instructions)
#            template.createBlankTemplate(self.glWidget)
        except IOError, unused:
            # Could not load default template, so load template stored in resource bundle
            template = LicBinaryReader.loadLicTemplate(":/default_template", self.instructions, FileVersion, MagicNumber)
Ejemplo n.º 6
0
    def importModel(self, filename):

        if not self.fileClose():
            return

        #import time
        #startTime = time.time()
        progress = LicDialogs.LicProgressDialog(self, "Importing " + os.path.basename(filename))
        progress.setValue(2)  # Try and force dialog to show up right away

        loader = self.instructions.importModel(filename)
        try:
            progress.setMaximum(loader.next())  # First value yielded after load is # of progress steps
        except IOError as e:
            # Failed to import model.  Usually means a bad path to LDraw.  Signal user & abort.
            progress.cancel()
            loader.close()
            s = "Failed to import %s:\n%s\n\nThis could mean a corrupt Lic config file.\nDo you want to recreate it?" % (os.path.basename(filename), e)
            reply = QMessageBox.critical(self, "Lic - Import Error", s, QMessageBox.Yes | QMessageBox.No)
            if reply == QMessageBox.Yes:
                settings = self.getSettingsFile()
                settings.clear()
                settings.sync()
                exit(1)
            return

        for label in loader:
            if progress.wasCanceled():
                loader.close()
                self.fileClose()
                return
            progress.incr(label)

        self.scene.emit(SIGNAL("layoutAboutToBeChanged()"))
        self.treeModel.root = self.instructions.mainModel

        try:
            template = LicBinaryReader.loadLicTemplate(self.defaultTemplateFilename, self.instructions, FileVersion, MagicNumber)

#            import LicTemplate  # Use this to regenerate new default template from scratch, to add new stuff to it
#            template = LicTemplate.TemplatePage(self.instructions.mainModel, self.instructions)
#            template.createBlankTemplate(self.glWidget)
        except IOError, unused:
            # Could not load default template, so load template stored in resource bundle
            template = LicBinaryReader.loadLicTemplate(":/default_template", self.instructions, FileVersion, MagicNumber)
Ejemplo n.º 7
0
Archivo: Lic.py Proyecto: chriscl/lic
 def loadDefaultLicTemplateSettings(self):
     try:
         LicBinaryReader.loadLicTemplateSettings(self.defaultTemplateSettingsFilename, self.instructions, FileVersion, MagicNumber)
     except IOError, unused:
         self.instructions.resetTemplateSettings()
Ejemplo n.º 8
0
 def loadDefaultLicTemplateSettings(self):
     try:
         LicBinaryReader.loadLicTemplateSettings(self.defaultTemplateSettingsFilename, self.instructions, FileVersion, MagicNumber)
     except IOError, unused:
         self.instructions.resetTemplateSettings()