def bukkitEditionIndexChange(self): self.bukkitVersions.clear() if self.bukkitEditions.currentText() == 'Recommended': #self.cacheBukkitRecommendedResultInfo = getServer().getRecommendedBukkitInfo() for result in self.cacheBukkitRecommendedResultInfo['results']: self.bukkitVersions.addItem(result['version']) elif self.bukkitEditions.currentText() == 'Beta': self.cacheBukkitBetaResultInfo = getServer().getBetaBukkitInfo() for result in self.cacheBukkitBetaResultInfo['results']: self.bukkitVersions.addItem(result['version']) elif self.bukkitEditions.currentText() == 'Development': self.cacheBukkitDevResultInfo = getServer().getDevBukkitInfo() for result in self.cacheBukkitDevResultInfo['results']: self.bukkitVersions.addItem(result['version'])
def initUI(self): global targetDirectory targetDirectory = '' msg = QMessageBox(self) msg.setWindowTitle('Please wait...') msg.setIcon(QMessageBox.Information) msg.setText('Please wait whilst information is requested.') msg.show() self.cacheBukkitRecommendedResultInfo = getServer().getRecommendedBukkitInfo() msg.close() self.getBukkit = QtGui.QPushButton('Get Craftbukkit') self.bukkitEditions = QtGui.QComboBox(self) self.bukkitEditions.addItems(['Recommended', 'Beta', 'Development']) self.bukkitVersions = QtGui.QComboBox(self) self.bukkitVersionsLabel = QtGui.QLabel('Build: ' + str(self.cacheBukkitRecommendedResultInfo['results'][0]['build_number'])) for result in self.cacheBukkitRecommendedResultInfo['results']: self.bukkitVersions.addItem(result['version']) self.setupStartupScriptButton = QtGui.QPushButton('Create Startup Script') self.startServer = QtGui.QPushButton('Start Server') self.configureServerPropertiesButton = QtGui.QPushButton('Configure') self.pluginOfficialSupportComboBox = QtGui.QComboBox(self) self.pluginOfficialSupportComboBox.addItems(nativePluginSupport) self.pluginOfficialSupportComboBoxLabel = QtGui.QLabel("Natively Supported Plugins:") self.pluginCustomPluginUrlLabel = QtGui.QLabel("BukkitDev Plugins:") self.pluginCustomPluginUrl = QtGui.QLineEdit("http://dev.bukkit.org/server-mods/Essentials/") self.installPluginButton = QtGui.QPushButton("Setup Dev Bukkit Plugin") self.installSupportedPluginButton = QtGui.QPushButton("Setup Natively Supported Plugin") self.browseInstallDirectoryButton = QtGui.QPushButton("Browse...") self.browseInstallDirectoryButtonLabel = QtGui.QLabel("This is required before you install plugins") self.browseInstallDirectoryButtonLabel.setStyleSheet('QLabel {color: red}') # Status widgets self.statusIpAddress = QtGui.QLineEdit('127.0.0.1') self.statusIpAddress.setFixedWidth(100) self.statusIpAddressLabel = QtGui.QLabel('IP: ') self.statusPortNumber = QtGui.QLineEdit('25565') self.statusPortNumber.setFixedWidth(40) self.statusPortNumber.setMaxLength(5) self.statusPortNumberLabel = QtGui.QLabel('Port: ') self.statusRefreshButton = QtGui.QPushButton('Refresh') self.statusConnectedPlayers = QtGui.QListWidget() self.statusConnectedPlayers.setMaximumWidth(125) self.statusConnectedPlayersLabel = QtGui.QLabel('Connected Players') self.statusInstalledPlugins = QtGui.QListWidget() self.statusInstalledPluginsLabel = QtGui.QLabel('Installed Plugins') self.statusMinecraftVersion = QtGui.QLabel('Version: ') self.statusMaxPlayers = QtGui.QLabel('Max Players: ') self.statusTimeoutLabel = QtGui.QLabel('Timeout: ') self.statusTimeout = QtGui.QLineEdit(str(3)) self.statusTimeout.setFixedWidth(40) self.statusTimeout.setMaxLength(3) bukkitGrid = QtGui.QGroupBox("Bukkit") self.bukkitGridLayout = QtGui.QVBoxLayout() self.bukkitGridLayout.setSpacing(10) self.bukkitGridLayout.addWidget(self.getBukkit,1) self.bukkitGridLayout.addWidget(self.bukkitEditions,2) self.bukkitGridLayout.addWidget(self.bukkitVersions,3) self.bukkitGridLayout.addWidget(self.bukkitVersionsLabel,4) self.bukkitGridLayout.addWidget(self.setupStartupScriptButton,5) self.bukkitGridLayout.addWidget(self.configureServerPropertiesButton,6) self.bukkitGridLayout.addWidget(self.startServer,7) pluginGrid = QtGui.QGroupBox("Plugin") pluginGridLayout = QtGui.QVBoxLayout() pluginGridLayout.setSpacing(10) pluginGridLayout.addWidget(self.pluginOfficialSupportComboBoxLabel,1) pluginGridLayout.addWidget(self.pluginOfficialSupportComboBox,2) pluginGridLayout.addWidget(self.installSupportedPluginButton,3) pluginGridLayout.addWidget(self.pluginCustomPluginUrlLabel,4) pluginGridLayout.addWidget(self.pluginCustomPluginUrl,5) pluginGridLayout.addWidget(self.installPluginButton,6) bukkitGrid.setLayout(self.bukkitGridLayout) pluginGrid.setLayout(pluginGridLayout) self.grid = QtGui.QGridLayout() self.grid.addWidget(self.browseInstallDirectoryButton,1,0) self.grid.addWidget(self.browseInstallDirectoryButtonLabel,1,1) self.grid.addWidget(bukkitGrid,2,0) self.grid.addWidget(pluginGrid,2,1) self.grid.addWidget(self.statusIpAddressLabel,3,0,QtCore.Qt.AlignLeft) self.grid.addWidget(self.statusIpAddress,3,0,QtCore.Qt.AlignRight) self.grid.addWidget(self.statusPortNumberLabel,3,1,QtCore.Qt.AlignLeft) self.grid.addWidget(self.statusPortNumber,3,1,QtCore.Qt.AlignRight) self.grid.addWidget(self.statusTimeoutLabel,5,0,QtCore.Qt.AlignLeft) self.grid.addWidget(self.statusTimeout,5,0,QtCore.Qt.AlignRight) self.grid.addWidget(self.statusConnectedPlayersLabel,6,0) self.grid.addWidget(self.statusConnectedPlayers,7,0) self.grid.addWidget(self.statusInstalledPluginsLabel,6,1) self.grid.addWidget(self.statusInstalledPlugins,7,1) self.grid.addWidget(self.statusMaxPlayers,8,0) self.grid.addWidget(self.statusMinecraftVersion,8,1) self.grid.addWidget(self.statusRefreshButton,5,1) self.setLayout(self.grid) self.setWindowTitle('Mineraft') self.show() self.getBukkit.clicked.connect(self.getBukkitButtonPress) self.bukkitEditions.currentIndexChanged.connect(self.bukkitEditionIndexChange) self.bukkitVersions.currentIndexChanged.connect(self.bukkitVersionsIndexChange) self.installPluginButton.clicked.connect(self.installPluginButtonPress) self.installSupportedPluginButton.clicked.connect(self.installSupportedPluginButtonPress) self.browseInstallDirectoryButton.clicked.connect(self.browseInstallDirectoryButtonClick) self.statusRefreshButton.clicked.connect(self.refreshStatus) self.setupStartupScriptButton.clicked.connect(self.setupStartupScriptButtonClick) self.startServer.clicked.connect(self.startServerButtonClick) self.configureServerPropertiesButton.clicked.connect(self.configureServerPropertiesButtonClicked)