Project/Project.py

changeset 4985
03ac1a030529
parent 4631
5c1a96925da4
child 5096
47935c6e4744
--- a/Project/Project.py	Sat May 14 17:30:49 2016 +0200
+++ b/Project/Project.py	Sat May 21 19:16:12 2016 +0200
@@ -23,7 +23,7 @@
 
 from PyQt5.QtCore import pyqtSlot, QFile, QFileInfo, pyqtSignal, \
     QCryptographicHash, QIODevice, QByteArray, QObject, Qt
-from PyQt5.QtGui import QCursor
+from PyQt5.QtGui import QCursor, QKeySequence
 from PyQt5.QtWidgets import QLineEdit, QToolBar, QDialog, QInputDialog, \
     QApplication, QMenu, QAction
 from PyQt5.Qsci import QsciScintilla
@@ -71,6 +71,8 @@
     @signal newProject() emitted after a new project was generated
     @signal sourceFile(str) emitted after a project file was read to
         open the main script
+    @signal designerFile(str) emitted to open a found designer file
+    @signal linguistFile(str) emitted to open a found translation file
     @signal projectOpenedHooks() emitted after a project file was read but
         before the projectOpened() signal is sent
     @signal projectOpened() emitted after a project file was read
@@ -115,6 +117,8 @@
     newProjectHooks = pyqtSignal()
     newProject = pyqtSignal()
     sourceFile = pyqtSignal(str)
+    designerFile = pyqtSignal(str)
+    linguistFile = pyqtSignal(str)
     projectOpenedHooks = pyqtSignal()
     projectOpened = pyqtSignal()
     projectClosedHooks = pyqtSignal()
@@ -214,6 +218,7 @@
         self.profiledata = None
         self.applicationDiagram = None
         self.loadedDiagram = None
+        self.__findProjectFileDialog = None
         
     def __sourceExtensions(self, language):
         """
@@ -3548,6 +3553,21 @@
         act.triggered.connect(self.__searchNewFiles)
         self.actions.append(act)
 
+        act = E5Action(
+            self.tr('Search Project File'),
+            self.tr('Search Project File...'),
+            QKeySequence(self.tr("Alt+Ctrl+P", "Project|Search Project File")),
+            0,
+            self.actGrp2, 'project_search_project_file')
+        act.setStatusTip(self.tr(
+            'Search for a file in the project list of files.'))
+        act.setWhatsThis(self.tr(
+            """<b>Search Project File</b>"""
+            """<p>This searches for a file in the project list of files.</p>"""
+        ))
+        act.triggered.connect(self.__searchProjectFile)
+        self.actions.append(act)
+        
         self.propsAct = E5Action(
             self.tr('Project properties'),
             UI.PixmapCache.getIcon("projectProps.png"),
@@ -4078,6 +4098,23 @@
         Private slot used to handle the search new files action.
         """
         self.__doSearchNewFiles(False, True)
+    
+    def __searchProjectFile(self):
+        """
+        Private slot to show the Find Project File dialog.
+        """
+        if self.__findProjectFileDialog is None:
+            from .QuickFindFileDialog import QuickFindFileDialog
+            self.__findProjectFileDialog = QuickFindFileDialog(self)
+            self.__findProjectFileDialog.sourceFile.connect(
+                self.sourceFile)
+            self.__findProjectFileDialog.designerFile.connect(
+                self.designerFile)
+            self.__findProjectFileDialog.linguistFile.connect(
+                self.linguistFile)
+        self.__findProjectFileDialog.show()
+        self.__findProjectFileDialog.raise_()
+        self.__findProjectFileDialog.activateWindow()
         
     def __doSearchNewFiles(self, AI=True, onUserDemand=False):
         """

eric ide

mercurial