Preferences/ConfigurationPages/EditorAPIsPage.py

changeset 4575
464a6b049f89
parent 4554
f3428ddd577c
child 4631
5c1a96925da4
diff -r 86647045bc03 -r 464a6b049f89 Preferences/ConfigurationPages/EditorAPIsPage.py
--- a/Preferences/ConfigurationPages/EditorAPIsPage.py	Tue Nov 24 19:42:42 2015 +0100
+++ b/Preferences/ConfigurationPages/EditorAPIsPage.py	Wed Nov 25 19:01:45 2015 +0100
@@ -13,15 +13,14 @@
 from PyQt5.QtWidgets import QInputDialog
 
 from E5Gui.E5Application import e5App
-from E5Gui.E5Completers import E5FileCompleter
-from E5Gui import E5FileDialog, E5MessageBox
+from E5Gui import E5MessageBox
+from E5Gui.E5PathPicker import E5PathPickerModes
 
 from .ConfigurationPageBase import ConfigurationPageBase
 from .Ui_EditorAPIsPage import Ui_EditorAPIsPage
 
 import Preferences
 import Utilities
-import UI.PixmapCache
 
 
 class EditorAPIsPage(ConfigurationPageBase, Ui_EditorAPIsPage):
@@ -36,14 +35,16 @@
         self.setupUi(self)
         self.setObjectName("EditorAPIsPage")
         
-        self.apiFileButton.setIcon(UI.PixmapCache.getIcon("open.png"))
+        self.apiFilePicker.setMode(E5PathPickerModes.OpenFileMode)
+        self.apiFilePicker.setToolTip(self.tr(
+            "Press to select an API file via a selection dialog"))
+        self.apiFilePicker.setFilters(self.tr(
+            "API File (*.api);;All Files (*)"))
         
         self.prepareApiButton.setText(self.tr("Compile APIs"))
         self.__currentAPI = None
         self.__inPreparation = False
         
-        self.apiFileCompleter = E5FileCompleter(self.apiFileEdit)
-        
         # set initial values
         self.pluginManager = e5App().getObject("PluginManager")
         self.apiAutoPrepareCheckBox.setChecked(
@@ -97,7 +98,7 @@
         self.apiGroup.setEnabled(True)
         self.deleteApiFileButton.setEnabled(False)
         self.addApiFileButton.setEnabled(False)
-        self.apiFileEdit.clear()
+        self.apiFilePicker.clear()
         
         for api in self.apis[self.currentApiLanguage]:
             if api:
@@ -134,28 +135,14 @@
         return apis
         
     @pyqtSlot()
-    def on_apiFileButton_clicked(self):
-        """
-        Private method to select an api file.
-        """
-        file = E5FileDialog.getOpenFileName(
-            self,
-            self.tr("Select API file"),
-            self.apiFileEdit.text(),
-            self.tr("API File (*.api);;All Files (*)"))
-            
-        if file:
-            self.apiFileEdit.setText(Utilities.toNativeSeparators(file))
-        
-    @pyqtSlot()
     def on_addApiFileButton_clicked(self):
         """
         Private slot to add the api file displayed to the listbox.
         """
-        file = self.apiFileEdit.text()
+        file = self.apiFilePicker.text()
         if file:
             self.apiList.addItem(Utilities.toNativeSeparators(file))
-            self.apiFileEdit.clear()
+            self.apiFilePicker.clear()
         self.prepareApiButton.setEnabled(self.apiList.count() > 0)
         
     @pyqtSlot()
@@ -290,7 +277,7 @@
             len(self.apiList.selectedItems()) > 0)
     
     @pyqtSlot(str)
-    def on_apiFileEdit_textChanged(self, txt):
+    def on_apiFilePicker_textChanged(self, txt):
         """
         Private slot to handle the entering of an API file name.
         

eric ide

mercurial