Sun, 24 Mar 2013 14:39:36 +0100
Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
# -*- coding: utf-8 -*- # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Django configuration page. """ from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase from .Ui_DjangoPage import Ui_DjangoPage from Globals import isWindowsPlatform, isMacPlatform class DjangoPage(ConfigurationPageBase, Ui_DjangoPage): """ Class implementing the Django configuration page. """ def __init__(self, plugin): """ Constructor @param plugin reference to the plugin object """ super().__init__() self.setupUi(self) self.setObjectName("DjangoPage") self.__plugin = plugin consoleList = [] if isWindowsPlatform(): consoleList.append("cmd.exe /c") elif isMacPlatform(): consoleList.append("xterm -e") consoleList.append("/opt/X11/bin/xterm -e") else: consoleList.append("konsole -e") consoleList.append("@konsole --workdir . -e") # KDE4 konsole spawns consoleList.append("gnome-terminal -x") consoleList.append("xterm -e") consoleNoCloseList = [] if isWindowsPlatform(): consoleNoCloseList.append("cmd.exe /k") elif isMacPlatform(): consoleNoCloseList.append("xterm -hold -e") consoleList.append("/opt/X11/bin/xterm -hold -e") else: consoleNoCloseList.append("konsole --noclose -e") consoleNoCloseList.append("@konsole --noclose --workdir . -e") # KDE4 konsole spawns consoleNoCloseList.append("xterm -hold -e") self.consoleCommandCombo.addItems(consoleList) self.consoleCommandNoCloseCombo.addItems(consoleNoCloseList) # set initial values self.consoleCommandCombo.setEditText( self.__plugin.getPreferences("ConsoleCommand")) self.consoleCommandNoCloseCombo.setEditText( self.__plugin.getPreferences("ConsoleCommandNoClose")) self.serverAddressEdit.setText( self.__plugin.getPreferences("ServerAddress")) self.ipv6CheckBox.setChecked( self.__plugin.getPreferences("UseIPv6")) self.appsRecentSpinBox.setValue( self.__plugin.getPreferences("RecentNumberApps")) self.plainPythonCheckBox.setChecked( self.__plugin.getPreferences("UsePlainPython")) def save(self): """ Public slot to save the Django configuration. """ self.__plugin.setPreferences("ConsoleCommand", self.consoleCommandCombo.currentText()) self.__plugin.setPreferences("ConsoleCommandNoClose", self.consoleCommandNoCloseCombo.currentText()) self.__plugin.setPreferences("ServerAddress", self.serverAddressEdit.text()) self.__plugin.setPreferences("UseIPv6", self.ipv6CheckBox.isChecked()) self.__plugin.setPreferences("RecentNumberApps", self.appsRecentSpinBox.value()) self.__plugin.setPreferences("UsePlainPython", self.plainPythonCheckBox.isChecked())