Tasks/TaskViewer.py

changeset 5105
8a773a100c34
parent 4883
ae0ee88c9d62
child 5114
ad158c12d744
--- a/Tasks/TaskViewer.py	Tue Aug 23 12:21:46 2016 +0200
+++ b/Tasks/TaskViewer.py	Tue Aug 23 18:53:46 2016 +0200
@@ -82,7 +82,7 @@
             self.tr("P&roject Tasks"), self)
         self.__projectTasksMenu.addAction(
             self.tr("&Regenerate project tasks"),
-            self.__regenerateProjectTasks)
+            self.regenerateProjectTasks)
         self.__projectTasksMenu.addSeparator()
         self.__projectTasksMenu.addAction(
             self.tr("&Configure scan options"),
@@ -663,10 +663,12 @@
         if ok:
             self.projectTasksScanFilter = filter
     
-    def __regenerateProjectTasks(self):
+    def regenerateProjectTasks(self, quiet=False):
         """
-        Private slot to handle the "Regenerated project tasks" context menu
-        entry.
+        Public slot to regenerate project related tasks.
+        
+        @param quiet flag indicating quiet operation
+        @type bool
         """
         markers = {
             Task.TypeWarning:
@@ -688,20 +690,22 @@
         self.clearProjectTasks(fileOnly=True)
         
         # now process them
-        progress = E5ProgressDialog(
-            self.tr("Extracting project tasks..."),
-            self.tr("Abort"), 0, len(files), self.tr("%v/%m Files"))
-        progress.setMinimumDuration(0)
-        progress.setWindowTitle(self.tr("Tasks"))
+        if not quiet:
+            progress = E5ProgressDialog(
+                self.tr("Extracting project tasks..."),
+                self.tr("Abort"), 0, len(files), self.tr("%v/%m Files"))
+            progress.setMinimumDuration(0)
+            progress.setWindowTitle(self.tr("Tasks"))
         count = 0
         
         for file in files:
-            progress.setLabelText(
-                self.tr("Extracting project tasks...\n{0}").format(file))
-            progress.setValue(count)
-            QApplication.processEvents()
-            if progress.wasCanceled():
-                break
+            if not quiet:
+                progress.setLabelText(
+                    self.tr("Extracting project tasks...\n{0}").format(file))
+                progress.setValue(count)
+                QApplication.processEvents()
+                if progress.wasCanceled():
+                    break
             
             fn = os.path.join(self.project.ppath, file)
             # read the file and split it into textlines
@@ -710,7 +714,8 @@
                 lines = text.splitlines()
             except (UnicodeError, IOError):
                 count += 1
-                progress.setValue(count)
+                if not quiet:
+                    progress.setValue(count)
                 continue
             
             # now search tasks and record them
@@ -731,8 +736,9 @@
                         break
             
             count += 1
-            
-        progress.setValue(len(files))
+        
+        if not quiet:
+            progress.setValue(len(files))
     
     def __configure(self):
         """
@@ -744,5 +750,5 @@
         """
         Public method to write the project tasks.
         """
-        if self.projectOpen and Preferences.getTasks("TasksProjectAutoSave"):
+        if self.projectOpen and Preferences.getProject("TasksProjectAutoSave"):
             self.project.writeTasks()

eric ide

mercurial