From 48e71161f014a38a99997957251bec878dcad2de Mon Sep 17 00:00:00 2001 From: David Vierra Date: Mon, 14 Sep 2015 15:34:34 -1000 Subject: [PATCH] Changing resource pack/minecraft version displays a (static) progress window. --- src/mcedit2/editorsession.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/mcedit2/editorsession.py b/src/mcedit2/editorsession.py index 206f5c7..67726e9 100644 --- a/src/mcedit2/editorsession.py +++ b/src/mcedit2/editorsession.py @@ -459,17 +459,40 @@ class EditorSession(QtCore.QObject): resourcePackAction.triggered.connect(self.resourcePackMapper.map) def changeResourcePack(self, packName): + packDisplayName = packName or "(default)" log.info("Changing to resource pack %s", packName) + dialog = QtGui.QProgressDialog(QtGui.qApp.mainWindow) + dialog.setRange(0, 0) + dialog.setValue(0) + dialog.setWindowTitle(self.tr("Changing resource pack...")) + dialog.setLabelText(self.tr("Changing to resource pack %s") % packDisplayName) + dialog.setMinimumDuration(0) + dialog.setWindowModality(Qt.WindowModal) + dialog.show() + QtGui.qApp.processEvents() minecraftinstall.currentResourcePackOption.setValue(packName or "") self.resourceLoader = minecraftinstall.getResourceLoaderForFilename(self.filename) self.changeResourcePackButton.setText(self.resourcePackLabel()) self.reloadModels() + dialog.hide() def changeMCVersion(self, version): + versionDisplayName = version or "(current)" + dialog = QtGui.QProgressDialog(QtGui.qApp.mainWindow) + dialog.setRange(0, 0) + dialog.setValue(0) + dialog.setWindowTitle(self.tr("Changing Minecraft version...")) + dialog.setLabelText(self.tr("Changing to Minecraft version %s") % versionDisplayName) + dialog.setMinimumDuration(0) + dialog.setWindowModality(Qt.WindowModal) + dialog.show() + QtGui.qApp.processEvents() + minecraftinstall.currentVersionOption.setValue(version) self.resourceLoader = minecraftinstall.getResourceLoaderForFilename(self.filename) self.changeMCVersionButton.setText(self.minecraftVersionLabel()) self.reloadModels() + dialog.hide() # Connecting these signals to the EditorTab creates a circular reference through # the Qt objects, preventing the EditorSession from being destroyed