Added capability to save project tasks automatically (configurable on project configuration page of configuration dialog).

Wed, 22 Feb 2012 17:03:57 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 22 Feb 2012 17:03:57 +0100
changeset 1653
fed1920ff53b
parent 1652
4719bf3fe8d8
child 1654
08264848be08

Added capability to save project tasks automatically (configurable on project configuration page of configuration dialog).

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Project.Project.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Tasks.TaskViewer.html file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/ProjectPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/ProjectPage.ui file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
Project/Project.py file | annotate | diff | comparison | revisions
Tasks/TaskViewer.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Wed Feb 22 12:02:12 2012 +0100
+++ b/APIs/Python3/eric5.api	Wed Feb 22 17:03:57 2012 +0100
@@ -5330,6 +5330,7 @@
 eric5.Project.Project.Project.useSystemEol?4()
 eric5.Project.Project.Project.userKeynames?7
 eric5.Project.Project.Project.vcsStatusMonitorStatus?7
+eric5.Project.Project.Project.writeTasks?4()
 eric5.Project.Project.Project?1(parent=None, filename=None)
 eric5.Project.ProjectBaseBrowser.ProjectBaseBrowser._collapseAllDirs?5()
 eric5.Project.ProjectBaseBrowser.ProjectBaseBrowser._completeRepopulateItem?5(name)
@@ -6308,6 +6309,7 @@
 eric5.Tasks.TaskViewer.TaskViewer.getGlobalTasks?4()
 eric5.Tasks.TaskViewer.TaskViewer.getProjectTasks?4()
 eric5.Tasks.TaskViewer.TaskViewer.handlePreferencesChanged?4()
+eric5.Tasks.TaskViewer.TaskViewer.saveProjectTasks?4()
 eric5.Tasks.TaskViewer.TaskViewer.setProjectOpen?4(o=False)
 eric5.Tasks.TaskViewer.TaskViewer?1(parent, project)
 eric5.Templates.TemplateMultipleVariablesDialog.TemplateMultipleVariablesDialog.getVariables?4()
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Wed Feb 22 12:02:12 2012 +0100
+++ b/Documentation/Help/source.qhp	Wed Feb 22 17:03:57 2012 +0100
@@ -7083,7 +7083,6 @@
       <keyword name="Project.__writeDebugProperties" id="Project.__writeDebugProperties" ref="eric5.Project.Project.html#Project.__writeDebugProperties" />
       <keyword name="Project.__writeProject" id="Project.__writeProject" ref="eric5.Project.Project.html#Project.__writeProject" />
       <keyword name="Project.__writeSession" id="Project.__writeSession" ref="eric5.Project.Project.html#Project.__writeSession" />
-      <keyword name="Project.__writeTasks" id="Project.__writeTasks" ref="eric5.Project.Project.html#Project.__writeTasks" />
       <keyword name="Project.__writeUserProperties" id="Project.__writeUserProperties" ref="eric5.Project.Project.html#Project.__writeUserProperties" />
       <keyword name="Project.addDirectory" id="Project.addDirectory" ref="eric5.Project.Project.html#Project.addDirectory" />
       <keyword name="Project.addE5Actions" id="Project.addE5Actions" ref="eric5.Project.Project.html#Project.addE5Actions" />
@@ -7187,6 +7186,7 @@
       <keyword name="Project.unregisterProjectType" id="Project.unregisterProjectType" ref="eric5.Project.Project.html#Project.unregisterProjectType" />
       <keyword name="Project.updateFileTypes" id="Project.updateFileTypes" ref="eric5.Project.Project.html#Project.updateFileTypes" />
       <keyword name="Project.useSystemEol" id="Project.useSystemEol" ref="eric5.Project.Project.html#Project.useSystemEol" />
+      <keyword name="Project.writeTasks" id="Project.writeTasks" ref="eric5.Project.Project.html#Project.writeTasks" />
       <keyword name="ProjectBaseBrowser" id="ProjectBaseBrowser" ref="eric5.Project.ProjectBaseBrowser.html#ProjectBaseBrowser" />
       <keyword name="ProjectBaseBrowser (Constructor)" id="ProjectBaseBrowser (Constructor)" ref="eric5.Project.ProjectBaseBrowser.html#ProjectBaseBrowser.__init__" />
       <keyword name="ProjectBaseBrowser (Module)" id="ProjectBaseBrowser (Module)" ref="eric5.Project.ProjectBaseBrowser.html" />
@@ -9467,6 +9467,7 @@
       <keyword name="TaskViewer.getGlobalTasks" id="TaskViewer.getGlobalTasks" ref="eric5.Tasks.TaskViewer.html#TaskViewer.getGlobalTasks" />
       <keyword name="TaskViewer.getProjectTasks" id="TaskViewer.getProjectTasks" ref="eric5.Tasks.TaskViewer.html#TaskViewer.getProjectTasks" />
       <keyword name="TaskViewer.handlePreferencesChanged" id="TaskViewer.handlePreferencesChanged" ref="eric5.Tasks.TaskViewer.html#TaskViewer.handlePreferencesChanged" />
+      <keyword name="TaskViewer.saveProjectTasks" id="TaskViewer.saveProjectTasks" ref="eric5.Tasks.TaskViewer.html#TaskViewer.saveProjectTasks" />
       <keyword name="TaskViewer.setProjectOpen" id="TaskViewer.setProjectOpen" ref="eric5.Tasks.TaskViewer.html#TaskViewer.setProjectOpen" />
       <keyword name="Tasks (Package)" id="Tasks (Package)" ref="index-eric5.Tasks.html" />
       <keyword name="TasksPage" id="TasksPage" ref="eric5.Preferences.ConfigurationPages.TasksPage.html#TasksPage" />
--- a/Documentation/Source/eric5.Project.Project.html	Wed Feb 22 12:02:12 2012 +0100
+++ b/Documentation/Source/eric5.Project.Project.html	Wed Feb 22 17:03:57 2012 +0100
@@ -321,9 +321,6 @@
 <td><a href="#Project.__writeSession">__writeSession</a></td>
 <td>Private method to write the session data to an XML file (.e4s).</td>
 </tr><tr>
-<td><a href="#Project.__writeTasks">__writeTasks</a></td>
-<td>Private method to write the tasks data to an XML file (.e4t).</td>
-</tr><tr>
 <td><a href="#Project.__writeUserProperties">__writeUserProperties</a></td>
 <td>Private method to write the project data to an XML file.</td>
 </tr><tr>
@@ -632,6 +629,9 @@
 </tr><tr>
 <td><a href="#Project.useSystemEol">useSystemEol</a></td>
 <td>Public method to check, if the project uses the system eol setting.</td>
+</tr><tr>
+<td><a href="#Project.writeTasks">writeTasks</a></td>
+<td>Public method to write the tasks data to an XML file (.e4t).</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
@@ -1084,12 +1084,7 @@
 <dd>
 indicator string (string)
 </dd>
-</dl><a NAME="Project.__writeTasks" ID="Project.__writeTasks"></a>
-<h4>Project.__writeTasks</h4>
-<b>__writeTasks</b>(<i></i>)
-<p>
-        Private method to write the tasks data to an XML file (.e4t).
-</p><a NAME="Project.__writeUserProperties" ID="Project.__writeUserProperties"></a>
+</dl><a NAME="Project.__writeUserProperties" ID="Project.__writeUserProperties"></a>
 <h4>Project.__writeUserProperties</h4>
 <b>__writeUserProperties</b>(<i></i>)
 <p>
@@ -2252,7 +2247,12 @@
 <dd>
 flag indicating the usage of system eol (boolean)
 </dd>
-</dl>
+</dl><a NAME="Project.writeTasks" ID="Project.writeTasks"></a>
+<h4>Project.writeTasks</h4>
+<b>writeTasks</b>(<i></i>)
+<p>
+        Public method to write the tasks data to an XML file (.e4t).
+</p>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Tasks.TaskViewer.html	Wed Feb 22 12:02:12 2012 +0100
+++ b/Documentation/Source/eric5.Tasks.TaskViewer.html	Wed Feb 22 17:03:57 2012 +0100
@@ -508,6 +508,9 @@
 <td><a href="#TaskViewer.handlePreferencesChanged">handlePreferencesChanged</a></td>
 <td>Public slot to react to changes of the preferences.</td>
 </tr><tr>
+<td><a href="#TaskViewer.saveProjectTasks">saveProjectTasks</a></td>
+<td>Public method to write the project tasks.</td>
+</tr><tr>
 <td><a href="#TaskViewer.setProjectOpen">setProjectOpen</a></td>
 <td>Public slot to set the project status.</td>
 </tr>
@@ -743,6 +746,11 @@
 <b>handlePreferencesChanged</b>(<i></i>)
 <p>
         Public slot to react to changes of the preferences.
+</p><a NAME="TaskViewer.saveProjectTasks" ID="TaskViewer.saveProjectTasks"></a>
+<h4>TaskViewer.saveProjectTasks</h4>
+<b>saveProjectTasks</b>(<i></i>)
+<p>
+        Public method to write the project tasks.
 </p><a NAME="TaskViewer.setProjectOpen" ID="TaskViewer.setProjectOpen"></a>
 <h4>TaskViewer.setProjectOpen</h4>
 <b>setProjectOpen</b>(<i>o=False</i>)
--- a/Preferences/ConfigurationPages/ProjectPage.py	Wed Feb 22 12:02:12 2012 +0100
+++ b/Preferences/ConfigurationPages/ProjectPage.py	Wed Feb 22 17:03:57 2012 +0100
@@ -53,6 +53,9 @@
         self.pythonVariantCheckBox.setChecked(
             Preferences.getProject("DeterminePyFromProject"))
         
+        self.autosaveTasksCheckBox.setChecked(
+            Preferences.getTasks("TasksProjectAutoSave"))
+        
     def save(self):
         """
         Public slot to save the Project configuration.
@@ -83,6 +86,9 @@
             self.projectRecentSpinBox.value())
         Preferences.setProject("DeterminePyFromProject",
             self.pythonVariantCheckBox.isChecked())
+        
+        Preferences.setTasks("TasksProjectAutoSave",
+            self.autosaveTasksCheckBox.isChecked())
     
 
 def create(dlg):
--- a/Preferences/ConfigurationPages/ProjectPage.ui	Wed Feb 22 12:02:12 2012 +0100
+++ b/Preferences/ConfigurationPages/ProjectPage.ui	Wed Feb 22 17:03:57 2012 +0100
@@ -7,10 +7,10 @@
     <x>0</x>
     <y>0</y>
     <width>602</width>
-    <height>623</height>
+    <height>685</height>
    </rect>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
+  <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QLabel" name="headerLabel">
      <property name="text">
@@ -251,6 +251,25 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="groupBox_8">
+     <property name="title">
+      <string>Tasks</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_2">
+      <item>
+       <widget class="QCheckBox" name="autosaveTasksCheckBox">
+        <property name="toolTip">
+         <string>Select to save the project tasks automatically</string>
+        </property>
+        <property name="text">
+         <string>Save tasks automatically</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <spacer>
      <property name="orientation">
       <enum>Qt::Vertical</enum>
--- a/Preferences/__init__.py	Wed Feb 22 12:02:12 2012 +0100
+++ b/Preferences/__init__.py	Wed Feb 22 17:03:57 2012 +0100
@@ -812,6 +812,7 @@
         "TasksBgColour": QColor(Qt.white),
         "TasksProjectBgColour": QColor(Qt.lightGray),
         "ClearOnFileClose": True,
+        "TasksProjectAutoSave": True,
     }
     
     # defaults for templates related stuff
@@ -2297,7 +2298,7 @@
             return QColor(col)
         else:
             return prefClass.tasksDefaults[key]
-    elif key in ["ClearOnFileClose"]:
+    elif key in ["ClearOnFileClose", "TasksProjectAutoSave"]:
         return toBool(prefClass.settings.value("Tasks/" + key,
             prefClass.tasksDefaults[key]))
     else:
--- a/Project/Project.py	Wed Feb 22 12:02:12 2012 +0100
+++ b/Project/Project.py	Wed Feb 22 17:03:57 2012 +0100
@@ -855,9 +855,9 @@
                 self.trUtf8("<p>The tasks file <b>{0}</b> could not be read.</p>")\
                     .format(fn))
         
-    def __writeTasks(self):
-        """
-        Private method to write the tasks data to an XML file (.e4t).
+    def writeTasks(self):
+        """
+        Public method to write the tasks data to an XML file (.e4t).
         """
         if self.pfile is None:
             return
@@ -2439,7 +2439,7 @@
                     os.makedirs(mgmtDir)
                 
                 # now save the tasks
-                self.__writeTasks()
+                self.writeTasks()
             
             self.sessActGrp.setEnabled(ok)
             self.menuSessionAct.setEnabled(ok)
@@ -2536,7 +2536,7 @@
         
         # now save the tasks
         if not noSave:
-            self.__writeTasks()
+            self.writeTasks()
         self.ui.taskViewer.clearProjectTasks()
         self.ui.taskViewer.setProjectOpen(False)
         
--- a/Tasks/TaskViewer.py	Wed Feb 22 12:02:12 2012 +0100
+++ b/Tasks/TaskViewer.py	Wed Feb 22 17:03:57 2012 +0100
@@ -30,6 +30,8 @@
 import Preferences
 import Utilities
 
+from Utilities.AutoSaver import AutoSaver
+
 
 class Task(QTreeWidgetItem):
     """
@@ -387,6 +389,8 @@
         self.taskFilter = TaskFilter()
         self.taskFilter.setActive(False)
         
+        self.__projectTasksSaveTimer = AutoSaver(self, self.saveProjectTasks)
+        
         self.__projectTasksMenu = QMenu(
             self.trUtf8("P&roject Tasks"), self)
         self.__projectTasksMenu.addAction(
@@ -565,6 +569,9 @@
             self.addTopLevelItem(task)
             self.__resort()
             self.__resizeColumns()
+        
+        if isProjectTask:
+            self.__projectTasksSaveTimer.changeOccurred()
     
     def addFileTask(self, description, filename, lineno, isBugfixTask=False,
                     longtext=""):
@@ -641,6 +648,8 @@
                 index = self.indexOfTopLevelItem(task)
                 self.takeTopLevelItem(index)
                 self.tasks.remove(task)
+                if task.isProjectTask:
+                    self.__projectTasksSaveTimer.changeOccurred()
                 del task
         
     def __editTaskProperties(self):
@@ -659,6 +668,7 @@
             task.setCompleted(data[2])
             task.setProjectTask(data[3])
             task.setLongText(data[4])
+            self.__projectTasksSaveTimer.changeOccurred() 
     
     def __newTask(self):
         """
@@ -688,6 +698,8 @@
                 index = self.indexOfTopLevelItem(task)
                 self.takeTopLevelItem(index)
                 self.tasks.remove(task)
+                if task.isProjectTask:
+                    self.__projectTasksSaveTimer.changeOccurred()
                 del task
         ci = self.currentItem()
         if ci:
@@ -722,6 +734,8 @@
         index = self.indexOfTopLevelItem(task)
         self.takeTopLevelItem(index)
         self.tasks.remove(task)
+        if task.isProjectTask:
+            self.__projectTasksSaveTimer.changeOccurred()
         del task
         ci = self.currentItem()
         if ci:
@@ -864,3 +878,10 @@
         Private method to open the configuration dialog.
         """
         e5App().getObject("UserInterface").showPreferences("tasksPage")
+    
+    def saveProjectTasks(self):
+        """
+        Public method to write the project tasks.
+        """
+        if self.projectOpen and Preferences.getTasks("TasksProjectAutoSave"):
+            self.project.writeTasks()
--- a/changelog	Wed Feb 22 12:02:12 2012 +0100
+++ b/changelog	Wed Feb 22 17:03:57 2012 +0100
@@ -1,10 +1,13 @@
 Change Log
 ----------
-Version 5.3.0:
+Version 5.3-snapshot-2012mmdd:
 - bug fixes
 - Editor
   -- added capability to change the colours of the edit area independant from
      the colours of the system style
+- Project
+  -- added capability to save project tasks automatically (configurable on
+     project configuration page of configuration dialog)
 - Version Control System Interfaces
   -- Mercurial
      --- added support for Phases as of Mercurial 2.1
--- a/i18n/eric5_cs.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_cs.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -28705,27 +28705,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Předvolby exportu</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Předvolby importu</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30957,6 +30957,21 @@
         <source>Determine Python variant from project language</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Úlohy</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -42689,128 +42704,128 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Jméno souboru</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Řádek</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>&amp;Nová úloha...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Jít na</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopírovat</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>V&amp;ložit</translation>
+        <source>&amp;New Task...</source>
+        <translation>&amp;Nová úloha...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>Sma&amp;zat</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Jít na</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopírovat</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>V&amp;ložit</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>Sma&amp;zat</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>Značka &amp;Hotovo</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Smaza&amp;t hotové úlohy</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>&amp;Natavení...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>&amp;Filtrovaný výstup</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Smaza&amp;t hotové úlohy</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>&amp;Natavení...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>&amp;Filtrovaný výstup</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>Konfigura&amp;ce filtru...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>&amp;Změnit šířky sloupců</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Aktivovat filtr úloh</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Filtr úloh nemá žádný aktivní. Chcete konfigurovat nastavení filtru?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
         <source>&amp;Regenerate project tasks</source>
         <translation>Znovu vygene&amp;rovat úlohy projektu</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Extrahovat úlohy projektu...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Přerušit</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Souhrn</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Extrahování úloh projektu....{0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_de.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1632,8 +1633,8 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="140"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="146"/>
@@ -1851,7 +1852,7 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
         <translation>In neuem &amp;Register öffnen\tStrg+LMK</translation>
     </message>
 </context>
@@ -13046,7 +13047,7 @@
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="901"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
         <translation>Link in neuem Fenster öffnen\tStrg+LMK</translation>
     </message>
     <message>
@@ -27888,27 +27889,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Einstellungen exportieren</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Einstellungen importieren</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Properties Dateien (*.ini);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation>Wähle den Python2 Interpreter</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation>Wähle den zu verwendenden Python2 Interpreter aus:</translation>
     </message>
@@ -30039,6 +30040,21 @@
         <source>Determine Python variant from project language</source>
         <translation>Python Variante über Projektsprache bestimmen</translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation>Aufgaben</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation>Auswählen, um Projektaufgaben automatisch zu speichern</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation>Aufgaben automatisch speichern</translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -41839,129 +41855,129 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Dateiname</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Zeile</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Gehe zu</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopieren</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>Ein&amp;fügen</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Löschen</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Gehe zu</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>Ein&amp;fügen</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Löschen</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>Als &amp;beendet markieren</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Lösche beendete &amp;Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>&amp;Neue Aufgabe...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>&amp;Eigenschaften...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>Gef&amp;ilterte Anzeige</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Lösche beendete &amp;Aufgaben</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="434"/>
+        <source>&amp;New Task...</source>
+        <translation>&amp;Neue Aufgabe...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>&amp;Eigenschaften...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>Gef&amp;ilterte Anzeige</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>Fil&amp;terkonfiguration...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Spaltenbreite an&amp;passen</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Aufgabenfilter aktivieren</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Der Aufgabenfilter hat keinen aktiven Filter. Soll die Filterkonfiguration erstellt werden?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
         <source>&amp;Regenerate project tasks</source>
         <translation>Projektaufgaben &amp;regenerieren</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Extrahiere Projektaufgaben...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Extrahiere Projektaufgaben...
 {0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Zusammenfassung</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Einstellungen...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation>Scanoptionen &amp;konfigurieren</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation>Scanfiltermuster</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen:</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation>&amp;Projektaufgaben</translation>
     </message>
--- a/i18n/eric5_en.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_en.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -27733,27 +27733,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -29884,6 +29884,21 @@
         <source>Determine Python variant from project language</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -41431,128 +41446,128 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
-        <source>&amp;Regenerate project tasks</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
+        <source>&amp;New Task...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <source>&amp;Regenerate project tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
+        <source>&amp;Go To</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_es.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_es.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -28408,27 +28408,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Exportar Preferencias</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Importar Preferencias</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation>Seleccionar Intérprete de Python2</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation>Seleccionar el intérprete de Python2 a utilizar:</translation>
     </message>
@@ -30569,6 +30569,21 @@
         <source>Determine Python variant from project language</source>
         <translation>Determinar la variante de Python a partir del lenguaje del proyecto</translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Tareas</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -42434,129 +42449,129 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Nombre de archivo</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Linea</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>Tarea &amp;nueva...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
-        <source>&amp;Regenerate project tasks</source>
-        <translation>&amp;Regenerar tareas del proyecto</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Ir a</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copiar</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Pegar</translation>
+        <source>&amp;New Task...</source>
+        <translation>Tarea &amp;nueva...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <source>&amp;Regenerate project tasks</source>
+        <translation>&amp;Regenerar tareas del proyecto</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Borrar</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Ir a</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Copiar</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>&amp;Pegar</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Borrar</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>&amp;Marcar como completada</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Borrar &amp;Tareas Completadas</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>P&amp;ropiedades...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>Mostrar &amp;Filtrado</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Borrar &amp;Tareas Completadas</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>P&amp;ropiedades...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>Mostrar &amp;Filtrado</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>C&amp;onfiguración de filtro...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Cambiar &amp;tamaño de las columnas</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Activar filtro de tareas</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>El filtro de tareas no tiene ningún filtro activo. ¿Desea configurar las propiedades del filtro?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Extrayendo tareas del proyecto...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Abortar</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Resumen</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Configurar...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Extrayendo tareas del proyecto...
 {0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation>&amp;Configurar opciones de análisis</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation>Patrones de filtro de análisis</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos separados por una coma:</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation>Tareas de P&amp;royecto</translation>
     </message>
--- a/i18n/eric5_fr.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_fr.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -30292,27 +30292,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Export des préférences</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Import des préférences</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -32928,6 +32928,21 @@
         <source>Determine Python variant from project language</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Tâches</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -45808,92 +45823,92 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Nom de fichier</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Ligne</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Aller à</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copier</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>Col&amp;ler</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Supprimer</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Aller à</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Copier</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>Col&amp;ler</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Supprimer</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>&amp;Marquer effectuée</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Effacer les &amp;tâches effecuées</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>&amp;Nouvelle tâche...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>&amp;Propriétés...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>Affichage &amp;filtré</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Effacer les &amp;tâches effecuées</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="434"/>
+        <source>&amp;New Task...</source>
+        <translation>&amp;Nouvelle tâche...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>&amp;Propriétés...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>Affichage &amp;filtré</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>&amp;Configuration du filtre...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Ajuster la largeur des &amp;colonnes</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Activer le filtre de tâches</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Le filtre de tâches n&apos;a aucun filtre actif. Voulez-vous configurer les paramètres de filtre ?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
         <source>&amp;Regenerate project tasks</source>
         <translation>&amp;Regénérer les tâches de projet</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Extraction des tâches de projet...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Abandon</translation>
     </message>
@@ -45905,38 +45920,38 @@
 %1</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Bilan</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Configuration...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_it.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_it.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -28304,27 +28304,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Esporta Preferenze</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Importa Preferenze</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>File proprietà (*.ini);;Tutti i file(*)</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30455,6 +30455,21 @@
         <source>Determine Python variant from project language</source>
         <translation>Determina la variante di Python dal linguaggio del progetto</translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Task</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -42277,129 +42292,129 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Nome file</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Linea</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Vai a</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copia</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Incolla</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>Can&amp;cella</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Vai a</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Copia</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>&amp;Incolla</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>Can&amp;cella</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>&amp;Marca completato</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Cancella &amp;task completati</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>&amp;Nuovo task...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>P&amp;roprietà...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>Display &amp;filtrato</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Cancella &amp;task completati</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="434"/>
+        <source>&amp;New Task...</source>
+        <translation>&amp;Nuovo task...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>P&amp;roprietà...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>Display &amp;filtrato</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>C&amp;onfigurazione filtri...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Ridimen&amp;siona colonne</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Attiva i filtri sui task</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Il filtro sui task non ha nessun filtro attivo. Vuoi configurare i filtri ?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
         <source>&amp;Regenerate project tasks</source>
         <translation>&amp;Rigenera task del progetto</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Estrazione dei task del progetto...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Termina</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Sommario</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Configura...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Estrazione dei task del progetto...
 {0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_ru.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_ru.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -28439,27 +28439,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Экспорт предпочтений</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Импорт предпочтений</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Файлы свойств (*.ini);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30622,6 +30622,21 @@
         <source>Determine Python variant from project language</source>
         <translation>Определить версию интерпретатора Python изходя из языка проекта</translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Задачи</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -42445,129 +42460,129 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Имя файла</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Строка</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>&amp;Перейти</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Копировать</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>Вс&amp;тавить</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Удалить</translation>
+        <source>&amp;Go To</source>
+        <translation>&amp;Перейти</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Копировать</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>Вс&amp;тавить</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>&amp;Отметить как завершённую</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>Удалить &amp;завершённые задачи</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>&amp;Новая задача...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>&amp;Свойства...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>&amp;Фильтровать</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>Удалить &amp;завершённые задачи</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="434"/>
+        <source>&amp;New Task...</source>
+        <translation>&amp;Новая задача...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>&amp;Свойства...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>&amp;Фильтровать</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>&amp;Настройки фильтра...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Изменить размер &amp;колонок</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Включить фильтр задач</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Фильтр задач не содержит ни одного активного фильтра. Настроить фильтры?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
         <source>&amp;Regenerate project tasks</source>
         <translation>&amp;Перегенерировать задачи проекта</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Извлечение задач проекта...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Извлечение задач проекта...
 {0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Итого</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Настроить...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_tr.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_tr.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -28604,27 +28604,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>Seçenekleri Dışa Aktar</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>Seçenekleri İçe Aktar</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30810,6 +30810,21 @@
         <source>Determine Python variant from project language</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">Görevler</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -42460,129 +42475,129 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>Özet</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>Dosyaadı</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>Satır</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>Ye&amp;ni Görev...</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
-        <source>&amp;Regenerate project tasks</source>
-        <translation>P&amp;roje görevlerini yeniden üret</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>Buraya &amp;Git</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopyala</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>Ya&amp;pıştır</translation>
+        <source>&amp;New Task...</source>
+        <translation>Ye&amp;ni Görev...</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <source>&amp;Regenerate project tasks</source>
+        <translation>P&amp;roje görevlerini yeniden üret</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Sil</translation>
+        <source>&amp;Go To</source>
+        <translation>Buraya &amp;Git</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopyala</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>Ya&amp;pıştır</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Sil</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>İşaretle&amp;me Tamamlandı</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>&amp;Tamalanan Görevleri Sil</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>Özellikle&amp;r...</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>Süzgeçlenmiş Görüntü &amp;f</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>&amp;Tamalanan Görevleri Sil</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>Özellikle&amp;r...</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>Süzgeçlenmiş Görüntü &amp;f</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>Süzgeç Ayarları &amp;o...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>Sütünları yeniden boyutlandır &amp;z</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>Ayarlanıyor...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>Görev süzgeçini etkinleştir</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>Görev süzgeçlerinin etkin olan hiç süzgeçi yok. Bu süzgeçlerin ayarlarını yapmak ister misiniz?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>Proje görevleri çıkarılıyor...</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>Vazgeç</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation>Proje görevleri çıkarılıyor...
 {0}</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_zh_CN.GB2312.ts	Wed Feb 22 12:02:12 2012 +0100
+++ b/i18n/eric5_zh_CN.GB2312.ts	Wed Feb 22 17:03:57 2012 +0100
@@ -30253,27 +30253,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="Preferences/__init__.py" line="991"/>
+        <location filename="Preferences/__init__.py" line="992"/>
         <source>Export Preferences</source>
         <translation>导出首选项</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Import Preferences</source>
         <translation>导入首选项</translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1018"/>
+        <location filename="Preferences/__init__.py" line="1019"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select Python2 Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Preferences/__init__.py" line="1111"/>
+        <location filename="Preferences/__init__.py" line="1112"/>
         <source>Select the Python2 interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -32888,6 +32888,21 @@
         <source>Determine Python variant from project language</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="256"/>
+        <source>Tasks</source>
+        <translation type="unfinished">任务</translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="262"/>
+        <source>Select to save the project tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Preferences/ConfigurationPages/ProjectPage.ui" line="265"/>
+        <source>Save tasks automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ProjectResourcesBrowser</name>
@@ -45771,102 +45786,102 @@
 <context>
     <name>TaskViewer</name>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Summary</source>
         <translation>摘要</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Filename</source>
         <translation>文件名</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="372"/>
+        <location filename="Tasks/TaskViewer.py" line="374"/>
         <source>Line</source>
         <translation>行</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="430"/>
-        <source>&amp;New Task...</source>
-        <translation>新建任务(&amp;N)……</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="392"/>
-        <source>&amp;Regenerate project tasks</source>
-        <translation>重新生成项目任务(&amp;R)</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="405"/>
-        <source>&amp;Go To</source>
-        <translation>转到(&amp;G)</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="407"/>
-        <source>&amp;Copy</source>
-        <translation>复制(&amp;C)</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="434"/>
-        <source>&amp;Paste</source>
-        <translation>粘贴(&amp;P)</translation>
+        <source>&amp;New Task...</source>
+        <translation>新建任务(&amp;N)……</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <source>&amp;Regenerate project tasks</source>
+        <translation>重新生成项目任务(&amp;R)</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="409"/>
-        <source>&amp;Delete</source>
-        <translation>删除(&amp;D)</translation>
+        <source>&amp;Go To</source>
+        <translation>转到(&amp;G)</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="411"/>
+        <source>&amp;Copy</source>
+        <translation>复制(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="438"/>
+        <source>&amp;Paste</source>
+        <translation>粘贴(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="413"/>
+        <source>&amp;Delete</source>
+        <translation>删除(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="415"/>
         <source>&amp;Mark Completed</source>
         <translation>标记已完成(&amp;M)</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="437"/>
-        <source>Delete Completed &amp;Tasks</source>
-        <translation>删除已完成的任务(&amp;T)</translation>
-    </message>
-    <message>
-        <location filename="Tasks/TaskViewer.py" line="416"/>
-        <source>P&amp;roperties...</source>
-        <translation>属性(&amp;r)……</translation>
-    </message>
-    <message>
         <location filename="Tasks/TaskViewer.py" line="441"/>
-        <source>&amp;Filtered display</source>
-        <translation>显示被过滤的(&amp;F)</translation>
+        <source>Delete Completed &amp;Tasks</source>
+        <translation>删除已完成的任务(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="420"/>
+        <source>P&amp;roperties...</source>
+        <translation>属性(&amp;r)……</translation>
     </message>
     <message>
         <location filename="Tasks/TaskViewer.py" line="445"/>
+        <source>&amp;Filtered display</source>
+        <translation>显示被过滤的(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="Tasks/TaskViewer.py" line="449"/>
         <source>Filter c&amp;onfiguration...</source>
         <translation>过滤器配置(&amp;o)……</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="448"/>
+        <location filename="Tasks/TaskViewer.py" line="452"/>
         <source>Resi&amp;ze columns</source>
         <translation>改变列宽(&amp;z)</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="450"/>
+        <location filename="Tasks/TaskViewer.py" line="454"/>
         <source>Configure...</source>
         <translation>配置……</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>Activate task filter</source>
         <translation>激活任务过滤器</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="752"/>
+        <location filename="Tasks/TaskViewer.py" line="766"/>
         <source>The task filter doesn&apos;t have any active filters. Do you want to configure the filter settings?</source>
         <translation>任务过滤器不包含任务激活过滤器。要配置过滤器设置吗?</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Extracting project tasks...</source>
         <translation>提取项目任务……</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="810"/>
+        <location filename="Tasks/TaskViewer.py" line="824"/>
         <source>Abort</source>
         <translation>终止</translation>
     </message>
@@ -45878,28 +45893,28 @@
 %1</translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="816"/>
+        <location filename="Tasks/TaskViewer.py" line="830"/>
         <source>Extracting project tasks...
 {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="396"/>
+        <location filename="Tasks/TaskViewer.py" line="400"/>
         <source>&amp;Configure scan options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Scan Filter Patterns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="781"/>
+        <location filename="Tasks/TaskViewer.py" line="795"/>
         <source>Enter filename patterns of files to be excluded separated by a comma:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Tasks/TaskViewer.py" line="390"/>
+        <location filename="Tasks/TaskViewer.py" line="394"/>
         <source>P&amp;roject Tasks</source>
         <translation type="unfinished"></translation>
     </message>

eric ide

mercurial