Tue, 24 Nov 2015 19:42:42 +0100
Changed the Python3 debugger page to use the path picker.
--- a/Preferences/ConfigurationPages/CorbaPage.ui Sun Nov 22 18:41:02 2015 +0100 +++ b/Preferences/ConfigurationPages/CorbaPage.ui Tue Nov 24 19:42:42 2015 +0100 @@ -39,6 +39,9 @@ <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="E5PathPicker" name="idlPicker" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> <property name="toolTip"> <string>Enter the path to the IDL compiler.</string> </property>
--- a/Preferences/ConfigurationPages/DebuggerPython3Page.py Sun Nov 22 18:41:02 2015 +0100 +++ b/Preferences/ConfigurationPages/DebuggerPython3Page.py Tue Nov 24 19:42:42 2015 +0100 @@ -9,17 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSlot - -from E5Gui.E5Completers import E5FileCompleter -from E5Gui import E5FileDialog +from E5Gui.E5PathPicker import E5PathPickerModes from .ConfigurationPageBase import ConfigurationPageBase from .Ui_DebuggerPython3Page import Ui_DebuggerPython3Page import Preferences -import Utilities -import UI.PixmapCache class DebuggerPython3Page(ConfigurationPageBase, Ui_DebuggerPython3Page): @@ -34,14 +29,17 @@ self.setupUi(self) self.setObjectName("DebuggerPython3Page") - self.interpreterButton.setIcon(UI.PixmapCache.getIcon("open.png")) - self.debugClientButton.setIcon(UI.PixmapCache.getIcon("open.png")) + self.interpreterPicker.setMode(E5PathPickerModes.OpenFileMode) + self.interpreterPicker.setToolTip(self.tr( + "Press to select the Python3 interpreter via a file selection" + " dialog")) - self.interpreterCompleter = E5FileCompleter(self.interpreterEdit) - self.debugClientCompleter = E5FileCompleter(self.debugClientEdit) + self.debugClientPicker.setMode(E5PathPickerModes.OpenFileMode) + self.debugClientPicker.setToolTip(self.tr( + "Press to select the Debug Client via a file selection dialog")) # set initial values - self.interpreterEdit.setText( + self.interpreterPicker.setText( Preferences.getDebugger("Python3Interpreter")) dct = Preferences.getDebugger("DebugClientType3") if dct == "standard": @@ -50,7 +48,7 @@ self.threadedButton.setChecked(True) else: self.customButton.setChecked(True) - self.debugClientEdit.setText( + self.debugClientPicker.setText( Preferences.getDebugger("DebugClient3")) self.pyRedirectCheckBox.setChecked( Preferences.getDebugger("Python3Redirect")) @@ -65,7 +63,7 @@ """ Preferences.setDebugger( "Python3Interpreter", - self.interpreterEdit.text()) + self.interpreterPicker.text()) if self.standardButton.isChecked(): dct = "standard" elif self.threadedButton.isChecked(): @@ -75,7 +73,7 @@ Preferences.setDebugger("DebugClientType3", dct) Preferences.setDebugger( "DebugClient3", - self.debugClientEdit.text()) + self.debugClientPicker.text()) Preferences.setDebugger( "Python3Redirect", self.pyRedirectCheckBox.isChecked()) @@ -85,36 +83,6 @@ Preferences.setDebugger( "Python3Extensions", self.sourceExtensionsEdit.text()) - - @pyqtSlot() - def on_interpreterButton_clicked(self): - """ - Private slot to handle the Python interpreter selection. - """ - file = E5FileDialog.getOpenFileName( - self, - self.tr("Select Python interpreter for Debug Client"), - self.interpreterEdit.text(), - "") - - if file: - self.interpreterEdit.setText( - Utilities.toNativeSeparators(file)) - - @pyqtSlot() - def on_debugClientButton_clicked(self): - """ - Private slot to handle the Debug Client selection. - """ - file = E5FileDialog.getOpenFileName( - None, - self.tr("Select Debug Client"), - self.debugClientEdit.text(), - self.tr("Python Files (*.py *.py3)")) - - if file: - self.debugClientEdit.setText( - Utilities.toNativeSeparators(file)) def create(dlg):
--- a/Preferences/ConfigurationPages/DebuggerPython3Page.ui Sun Nov 22 18:41:02 2015 +0100 +++ b/Preferences/ConfigurationPages/DebuggerPython3Page.ui Tue Nov 24 19:42:42 2015 +0100 @@ -36,21 +36,17 @@ <property name="title"> <string>Python3 Interpreter for Debug Client</string> </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QLineEdit" name="interpreterEdit"> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="E5PathPicker" name="interpreterPicker" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> <property name="toolTip"> <string>Enter the path of the Python3 interpreter to be used by the debug client. Leave empty to use the default.</string> </property> </widget> </item> - <item row="0" column="1"> - <widget class="QToolButton" name="interpreterButton"> - <property name="toolTip"> - <string>Press to select the Python3 interpreter via a file selection dialog</string> - </property> - </widget> - </item> </layout> </widget> </item> @@ -59,31 +55,7 @@ <property name="title"> <string>Debug Client Type</string> </property> - <layout class="QGridLayout"> - <item row="1" column="0" colspan="3"> - <layout class="QHBoxLayout"> - <item> - <widget class="QLineEdit" name="debugClientEdit"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Enter the path of the Debug Client to be used. Leave empty to use the default.</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="debugClientButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Press to select the Debug Client via a file selection dialog</string> - </property> - </widget> - </item> - </layout> - </item> + <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> <widget class="QRadioButton" name="standardButton"> <property name="toolTip"> @@ -94,6 +66,16 @@ </property> </widget> </item> + <item row="0" column="1"> + <widget class="QRadioButton" name="threadedButton"> + <property name="toolTip"> + <string>Select the multi threaded debug client</string> + </property> + <property name="text"> + <string>Multi Threaded</string> + </property> + </widget> + </item> <item row="0" column="2"> <widget class="QRadioButton" name="customButton"> <property name="toolTip"> @@ -104,13 +86,16 @@ </property> </widget> </item> - <item row="0" column="1"> - <widget class="QRadioButton" name="threadedButton"> + <item row="1" column="0" colspan="3"> + <widget class="E5PathPicker" name="debugClientPicker" native="true"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> <property name="toolTip"> - <string>Select the multi threaded debug client</string> - </property> - <property name="text"> - <string>Multi Threaded</string> + <string>Enter the path of the Debug Client to be used. Leave empty to use the default.</string> </property> </widget> </item> @@ -174,14 +159,20 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>E5PathPicker</class> + <extends>QWidget</extends> + <header>E5Gui/E5PathPicker.h</header> + <container>1</container> + </customwidget> + </customwidgets> <tabstops> - <tabstop>interpreterEdit</tabstop> - <tabstop>interpreterButton</tabstop> + <tabstop>interpreterPicker</tabstop> <tabstop>standardButton</tabstop> <tabstop>threadedButton</tabstop> <tabstop>customButton</tabstop> - <tabstop>debugClientEdit</tabstop> - <tabstop>debugClientButton</tabstop> + <tabstop>debugClientPicker</tabstop> <tabstop>sourceExtensionsEdit</tabstop> <tabstop>pyRedirectCheckBox</tabstop> <tabstop>pyNoEncodingCheckBox</tabstop> @@ -191,16 +182,16 @@ <connection> <sender>customButton</sender> <signal>toggled(bool)</signal> - <receiver>debugClientEdit</receiver> + <receiver>debugClientPicker</receiver> <slot>setEnabled(bool)</slot> <hints> <hint type="sourcelabel"> - <x>368</x> - <y>194</y> + <x>325</x> + <y>142</y> </hint> <hint type="destinationlabel"> - <x>332</x> - <y>219</y> + <x>323</x> + <y>162</y> </hint> </hints> </connection>