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
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
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
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()