Пример #1
0
    def makeSideColumn2(self):
        def showCacheDir():
            try:
                os.mkdir(directories.getCacheDir())
            except OSError:
                pass
            platform_open(directories.getCacheDir())

        def showScreenshotsDir():
            try:
                os.mkdir(os.path.join(directories.getCacheDir(), "screenshots"))
            except OSError:
                pass
            platform_open(os.path.join(directories.getCacheDir(), "screenshots"))

        hotkeys = ([("",
                     "Config Files",
                     showCacheDir,
                     directories.getCacheDir()),
                    ("",
                     "Screenshots",
                     showScreenshotsDir,
                     os.path.join(directories.getCacheDir(), "screenshots"))
                    ])

        c = albow.HotkeyColumn(hotkeys)

        return c
Пример #2
0
    def makeSideColumn1(self):
        def showLicense():
            platform_open(os.path.join(directories.getDataDir(),
                                       "LICENSE.txt"))

        def refresh():
            PlayerCache().force_refresh()

        hotkeys = ([
            ("", "Controls", self.showKeyConfig),
            ("", "Graphics", self.showGraphicOptions),
            ("", "Options", self.showOptions),
            ("", "Homepage",
             lambda: platform_open("http://www.mcedit-unified.net"),
             "http://www.mcedit-unified.net"),
            ("", "About MCEdit",
             lambda: platform_open("http://www.mcedit-unified.net/about.html"),
             "http://www.mcedit-unified.net/about.html"),
            ("", "License", showLicense,
             os.path.join(directories.getDataDir(), "LICENSE.txt")),
            ("", "Refresh Player Names", refresh)
        ])

        c = albow.HotkeyColumn(hotkeys)

        return c
Пример #3
0
    def makeSideColumn1(self):
        def showLicense():
            #platform_open(os.path.join(directories.getDataDir(), "LICENSE.txt"))
            platform_open(directories.getDataFile('LICENSE.txt'))

        def refresh():
            PlayerCache().force_refresh()

        def update_mcver():
            num = mcver_updater.run()
            if num is None:
                albow.alert("Error Updating")
            elif num:
                albow.alert("Version Definitions have been updated!\n\nPlease restart MCEdit-Unified to apply the changes")
            else:
                albow.alert("Version Definitions are already up-to-date!")

        hotkeys = ([("",
                     "Controls",
                     self.showKeyConfig),
                    ("",
                     "Graphics",
                     self.showGraphicOptions),
                    ("",
                     "Options",
                     self.showOptions),
                    ("",
                     "Homepage",
                     lambda: platform_open("http://www.mcedit-unified.net"),
                     "http://www.mcedit-unified.net"),
                    ("",
                     "About MCEdit",
                     lambda: platform_open("http://www.mcedit-unified.net/about.html"),
                     "http://www.mcedit-unified.net/about.html"),
                    ("",
                     "License",
                     showLicense,
                     #os.path.join(directories.getDataDir(), "LICENSE.txt")),
                     directories.getDataFile('LICENSE.txt')),
                    ("",
                     "Refresh Player Names",
                     refresh),
                    ("",
                     "Update Version Definitions",
                     update_mcver)
                    ])

        c = albow.HotkeyColumn(hotkeys)

        return c
Пример #4
0
class FileOpener(albow.Widget):
    is_gl_container = True

    def __init__(self, mcedit, *args, **kwargs):
        kwargs['rect'] = mcedit.rect
        albow.Widget.__init__(self, *args, **kwargs)
        self.anchor = 'tlbr'
        self.mcedit = mcedit
        self.root = self.get_root()

    #-# Translation live update
        self.buildWidgets()

    def buildWidgets(self):
        for w in self.subwidgets:
            w.set_parent(None)

        helpColumn = []

        self.root.movementLabel = label = albow.Label(_("{0}/{1}/{2}/{3}/{4}/{5} to move").format(
            _(config.keys.forward.get()),
            _(config.keys.left.get()),
            _(config.keys.back.get()),
            _(config.keys.right.get()),
            _(config.keys.up.get()),
            _(config.keys.down.get()),
        ), doNotTranslate=True)
        label.anchor = 'whrt'
        label.align = 'r'
        helpColumn.append(label)

        def addHelp(text, dnt=False):
            label = albow.Label(text, doNotTranslate=dnt)
            label.anchor = 'whrt'
            label.align = "r"
            helpColumn.append(label)
            return label

        self.root.slowDownLabel = addHelp(_("{0} to slow down").format(_(config.keys.brake.get())), dnt=True)
        self.camCont = addHelp("Right-click to toggle camera control")
        self.toolDist = addHelp("Mousewheel to control tool distance")
        self.root.detailsLabel = addHelp(_("Hold {0} for details").format(_(config.keys.showBlockInfo.get())), dnt=True)

        self.helpColumn = helpColumn = albow.Column(helpColumn, align="r")
        helpColumn.topright = self.topright
        helpColumn.anchor = "whrt"
        # helpColumn.is_gl_container = True
        self.add(helpColumn)

        keysColumn = [albow.Label("")]
        buttonsColumn = [panels.ControlPanel.getHeader()]

        shortnames = []
        for world in self.mcedit.recentWorlds():
            shortname = os.path.basename(world)
            try:
                if pymclevel.MCInfdevOldLevel.isLevel(world):
                    lev = pymclevel.MCInfdevOldLevel(world, readonly=True)
                    shortname = lev.LevelName
                    if lev.LevelName != lev.displayName:
                        shortname = u"{0} ({1})".format(lev.LevelName, lev.displayName)
            except Exception, e:
                logging.warning(
                    'Couldn\'t get name from recent world: {0!r}'.format(e))

            if shortname == "level.dat":
                shortname = os.path.basename(os.path.dirname(world))

            if len(shortname) > 40:
                shortname = shortname[:37] + "..."
            shortnames.append(shortname)

        hotkeys = ([(config.keys.newWorld.get(), 'Create New World', self.createNewWorld),
                    (config.keys.quickLoad.get(), 'Quick Load', self.mcedit.editor.askLoadWorld),
                    (config.keys.open.get(), 'Open...', self.promptOpenAndLoad)] + [
                       ('F{0}'.format(i + 1), shortnames[i], self.createLoadButtonHandler(world))
                       for i, world in enumerate(self.mcedit.recentWorlds())])

        self.root.commandRow = commandRow = albow.HotkeyColumn(hotkeys, keysColumn, buttonsColumn)
        commandRow.anchor = 'lrh'

        sideColumn1 = self.mcedit.makeSideColumn1()
        sideColumn1.anchor = 'wh'
        spaceLabel = albow.Label("")
        spaceLabel.anchor = 'wh'
        sideColumn2 = self.mcedit.makeSideColumn2()
        sideColumn2.anchor = 'wh'

        contentRow = albow.Row((commandRow, albow.Column((sideColumn1, spaceLabel, sideColumn2))))
        contentRow.center = self.center
        contentRow.anchor = "rh"
        self.contentRow = contentRow
        self.add(contentRow)
        self.invalidate()