示例#1
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)
示例#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
示例#3
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
示例#4
0
    def SaveDocument(self, document, use_dialog=SAVE_MODE):
        filename = document.meta.fullpathname
        native_format = document.meta.native_format
        compressed_file = document.meta.compressed_file
        compressed = document.meta.compressed
        if use_dialog or not filename or not native_format:
            directory = document.meta.directory

            if not directory:
                if use_dialog == SAVE_AS_MODE or use_dialog == SAVE_MODE:
                    directory = config.preferences.dir_for_save
                    filename = document.meta.filename
                if use_dialog == EXPORT_MODE:
                    directory = config.preferences.dir_for_vector_export

            if directory == "~":
                directory = fs.gethome()
            if not os.path.isdir(directory):
                directory = fs.gethome()

            if use_dialog == SAVE_MODE:
                extension = os.path.splitext(filename)[1].lower()
                if not extension == ".sk1":
                    if extension == "":
                        filename += ".sk1"
                    else:
                        filename = filename[: -1 * len(extension)] + ".sk1"
                filename, sysfilename = dialogman.getSaveFilename(initialdir=directory, initialfile=filename)
            if use_dialog == SAVE_AS_MODE:
                extension = os.path.splitext(filename)[1].lower()
                if not extension == ".sk1":
                    if extension == "":
                        filename += ".sk1"
                    else:
                        filename = filename[: -1 * len(extension)] + ".sk1"
                filename, sysfilename = dialogman.getSaveAsFilename(initialdir=directory, initialfile=filename)
            if use_dialog == EXPORT_MODE:
                filename, sysfilename = dialogman.getExportFilename(initialdir=directory, initialfile=filename)

            if not filename:
                return
            extension = os.path.splitext(filename)[1].lower()
            fileformat = filters.guess_export_plugin(extension)
            if not fileformat:
                fileformat = filters.NativeFormat
            compressed_file = ""  # guess compression from filename
            compressed = ""
        else:
            fileformat = filters.NativeFormat
        if use_dialog == SAVE_AS_MODE:
            config.preferences.dir_for_save = os.path.dirname(filename)
        if use_dialog == EXPORT_MODE:
            config.preferences.dir_for_vector_export = os.path.dirname(filename)
            ############ --->
        dlg = ProgressDialog(self.mw.root, "File saving")
        dlg.RunDialog(self.save_callback, document, filename, fileformat, compressed, compressed_file)
示例#5
0
    def __init__(self, master=None, base_dir="~", cnf={}, **kw):

        self.name = "sK1"
        self.sk_command = "sk1"
        self.version = "0.9.3"

        self.sk_dir = base_dir
        self.sk1_dir = os.path.join(self.sk_dir, "sk1")
        self.sk1sdk_dir = os.path.join(self.sk_dir, "sk1sdk")
        self.sk_share_dir = os.path.join(self.sk1_dir, "share")
        self.sk_palettes = os.path.join(self.sk_share_dir, "palettes")
        self.sk_ps = os.path.join(self.sk_share_dir, "ps_templates")

        self.user_home_dir = gethome()
        ucd = "%s-tk-%s" % (self.sk_command, self.version)
        self.user_config_dir = os.path.join(self.user_home_dir, ".config", ucd)
        ucd = self.user_config_dir
        self.user_palettes = os.path.join(ucd, "palettes")
        self.user_themes = os.path.join(ucd, "themes")
        self.user_icc = os.path.join(ucd, "icc")
        self.user_fonts = os.path.join(ucd, "fonts")
        self.user_plugins = os.path.join(ucd, "plugins")
        self.user_color_themes = os.path.join(ucd, "color_themes")
        self.user_icons = os.path.join(ucd, "icons")

        # Directories where sK1 searches for plugins.
        # The expanded plugin_dir is appended to this
        self.plugin_path = []

        self.user_preferences_file = os.path.join(ucd, "preferences.xml")

        # ============USER CONFIG==================='
        self.check_user_config()
        if os.path.isfile(self.user_preferences_file):
            prefs = Preferences()
            prefs.load(self.user_preferences_file)
            if prefs.sk1_version == self.version:
                self.preferences = prefs
            else:
                self.preferences = Preferences()
                self.preferences.sk1_version = self.version
        else:
            self.preferences = Preferences()
            self.preferences.sk1_version = self.version

            # ===============DEPRECATED VARIABLES===============
        self.std_res_dir = os.path.join(self.sk1_dir, "share/resources")
        # Subdirectory for the pixmaps. On startup it is expanded
        # to an absolute pathname.
        self.pixmap_dir = os.path.join(self.sk1_dir, "share/resources")
        # PostScript Prolog file
        self.postscript_prolog = os.path.join(self.sk_ps, "sk1-proc.ps")
    def __init__(self, master=None, base_dir='~', cnf={}, **kw):

        self.name = 'sK1'
        self.sk_command = 'sk1'
        self.version = '0.9.3'

        self.sk_dir = base_dir
        self.sk1_dir = os.path.join(self.sk_dir, 'sk1')
        self.sk1sdk_dir = os.path.join(self.sk_dir, 'sk1sdk')
        self.sk_share_dir = os.path.join(self.sk1_dir, 'share')
        self.sk_palettes = os.path.join(self.sk_share_dir, 'palettes')
        self.sk_ps = os.path.join(self.sk_share_dir, 'ps_templates')

        self.user_home_dir = gethome()
        ucd = '%s-tk-%s' % (self.sk_command, self.version)
        self.user_config_dir = os.path.join(self.user_home_dir, '.config', ucd)
        ucd = self.user_config_dir
        self.user_palettes = os.path.join(ucd, 'palettes')
        self.user_themes = os.path.join(ucd, 'themes')
        self.user_icc = os.path.join(ucd, 'icc')
        self.user_fonts = os.path.join(ucd, 'fonts')
        self.user_plugins = os.path.join(ucd, 'plugins')
        self.user_color_themes = os.path.join(ucd, 'color_themes')
        self.user_icons = os.path.join(ucd, 'icons')

        # Directories where sK1 searches for plugins.
        # The expanded plugin_dir is appended to this
        self.plugin_path = []

        self.user_preferences_file = os.path.join(ucd, 'preferences.xml')

        #============USER CONFIG==================='
        self.check_user_config()
        if os.path.isfile(self.user_preferences_file):
            prefs = Preferences()
            prefs.load(self.user_preferences_file)
            if prefs.sk1_version == self.version:
                self.preferences = prefs
            else:
                self.preferences = Preferences()
                self.preferences.sk1_version = self.version
        else:
            self.preferences = Preferences()
            self.preferences.sk1_version = self.version

        #===============DEPRECATED VARIABLES===============
        self.std_res_dir = os.path.join(self.sk1_dir, 'share/resources')
        # Subdirectory for the pixmaps. On startup it is expanded
        # to an absolute pathname.
        self.pixmap_dir = os.path.join(self.sk1_dir, 'share/resources')
        # PostScript Prolog file
        self.postscript_prolog = os.path.join(self.sk_ps, 'sk1-proc.ps')
示例#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)
示例#8
0
	def LoadPalette(self, filename=None):
		if not filename:
			directory = config.preferences.dir_for_palettes
			if not directory:
				directory = fs.gethome()
			from sk1.managers.dialogmanager import palette_types
			title = _("Load Palette")
			filename, sysfilename = dialogman.getGenericOpenFilename(title,
					palette_types, initialdir=directory, initialfile=filename)
			if not filename: return

		pal = palette.load_palette(filename)
		if not pal:
			msg = _("\nCannot load palette %(filename)s!\n")
			self.application.MessageBox(title=_("Load Palette"),
					message=msg % {'filename': filename})
		else:
			self.palette.SetPalette(pal)
			config.preferences.palette = filename
			config.preferences.dir_for_palettes = os.path.dirname(filename)
示例#9
0
    def SaveDocument(self, document, use_dialog=SAVE_MODE):
        filename = document.meta.fullpathname
        native_format = document.meta.native_format
        compressed_file = document.meta.compressed_file
        compressed = document.meta.compressed
        if use_dialog or not filename or not native_format:
            directory = document.meta.directory

            if not directory:
                if use_dialog == SAVE_AS_MODE or use_dialog == SAVE_MODE:
                    directory = config.preferences.dir_for_save
                    filename = document.meta.filename
                if use_dialog == EXPORT_MODE:
                    directory = config.preferences.dir_for_vector_export

            if directory == '~':
                directory = fs.gethome()
            if not os.path.isdir(directory):
                directory = fs.gethome()

            if use_dialog == SAVE_MODE:
                extension = os.path.splitext(filename)[1].lower()
                if not extension == '.sk1':
                    if extension == "":
                        filename += '.sk1'
                    else:
                        filename = filename[:-1 * len(extension)] + '.sk1'
                filename, sysfilename = dialogman.getSaveFilename(
                    initialdir=directory, initialfile=filename)
            if use_dialog == SAVE_AS_MODE:
                extension = os.path.splitext(filename)[1].lower()
                if not extension == '.sk1':
                    if extension == "":
                        filename += '.sk1'
                    else:
                        filename = filename[:-1 * len(extension)] + '.sk1'
                filename, sysfilename = dialogman.getSaveAsFilename(
                    initialdir=directory, initialfile=filename)
            if use_dialog == EXPORT_MODE:
                filename, sysfilename = dialogman.getExportFilename(
                    initialdir=directory, initialfile=filename)

            if not filename:
                return
            extension = os.path.splitext(filename)[1].lower()
            fileformat = filters.guess_export_plugin(extension)
            if not fileformat:
                fileformat = filters.NativeFormat
            compressed_file = ''  # guess compression from filename
            compressed = ''
        else:
            fileformat = filters.NativeFormat
        if use_dialog == SAVE_AS_MODE:
            config.preferences.dir_for_save = os.path.dirname(filename)
        if use_dialog == EXPORT_MODE:
            config.preferences.dir_for_vector_export = os.path.dirname(
                filename)
        ############ --->
        dlg = ProgressDialog(self.mw.root, 'File saving')
        dlg.RunDialog(self.save_callback, document, filename, fileformat,
                      compressed, compressed_file)