Added functionality to limit the number of processes used for background services. release-1.1.0

Thu, 22 Jun 2017 18:38:10 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 22 Jun 2017 18:38:10 +0200
changeset 49
ab84f5a5edd8
parent 48
a56e9483659a
child 50
ab893d5596f1

Added functionality to limit the number of processes used for background services.

ChangeLog file | annotate | diff | comparison | revisions
PluginMetricsRadon.py file | annotate | diff | comparison | revisions
PluginMetricsRadon.zip file | annotate | diff | comparison | revisions
RadonMetrics/CodeMetricsCalculator.py file | annotate | diff | comparison | revisions
RadonMetrics/CyclomaticComplexityCalculator.py file | annotate | diff | comparison | revisions
RadonMetrics/CyclomaticComplexityDialog.py file | annotate | diff | comparison | revisions
RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CodeMetricsCalculator.html file | annotate | diff | comparison | revisions
RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityCalculator.html file | annotate | diff | comparison | revisions
RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexCalculator.html file | annotate | diff | comparison | revisions
RadonMetrics/MaintainabilityIndexCalculator.py file | annotate | diff | comparison | revisions
RadonMetrics/MaintainabilityIndexDialog.py file | annotate | diff | comparison | revisions
RadonMetrics/i18n/radon_de.qm file | annotate | diff | comparison | revisions
RadonMetrics/i18n/radon_de.ts file | annotate | diff | comparison | revisions
RadonMetrics/i18n/radon_en.ts file | annotate | diff | comparison | revisions
RadonMetrics/i18n/radon_es.ts file | annotate | diff | comparison | revisions
RadonMetrics/i18n/radon_ru.ts file | annotate | diff | comparison | revisions
--- a/ChangeLog	Sun Apr 09 17:15:02 2017 +0200
+++ b/ChangeLog	Thu Jun 22 18:38:10 2017 +0200
@@ -1,5 +1,9 @@
 ChangeLog
 ---------
+Version 1.1.0:
+- added functionality to limit the number of processes used for background
+  services
+
 Version 1.0.5:
 - bug fixes
 
--- a/PluginMetricsRadon.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/PluginMetricsRadon.py	Thu Jun 22 18:38:10 2017 +0200
@@ -28,7 +28,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "1.0.5"
+version = "1.1.0"
 className = "RadonMetricsPlugin"
 packageName = "RadonMetrics"
 shortDescription = "Code metrics plugin using radon package"
Binary file PluginMetricsRadon.zip has changed
--- a/RadonMetrics/CodeMetricsCalculator.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/CodeMetricsCalculator.py	Thu Jun 22 18:38:10 2017 +0200
@@ -54,7 +54,7 @@
     return __rawCodeMetrics(file, text)
 
 
-def batchRawCodeMetrics(argumentsList, send, fx, cancelled):
+def batchRawCodeMetrics(argumentsList, send, fx, cancelled, maxProcesses=0):
     """
     Module function to calculate the raw code metrics for a batch of files.
     
@@ -66,13 +66,19 @@
     @type str
     @param cancelled reference to function checking for a cancellation
     @type function
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/RadonMetrics/CyclomaticComplexityCalculator.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/CyclomaticComplexityCalculator.py	Thu Jun 22 18:38:10 2017 +0200
@@ -55,7 +55,8 @@
     return __cyclomaticComplexity(file, text)
 
 
-def batchCyclomaticComplexity(argumentsList, send, fx, cancelled):
+def batchCyclomaticComplexity(argumentsList, send, fx, cancelled,
+                              maxProcesses=0):
     """
     Module function to calculate the cyclomatic complexity for a batch of
     files.
@@ -69,13 +70,19 @@
     @type str
     @param cancelled reference to function checking for a cancellation
     @type function
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/RadonMetrics/CyclomaticComplexityDialog.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/CyclomaticComplexityDialog.py	Thu Jun 22 18:38:10 2017 +0200
@@ -492,21 +492,27 @@
                 "{0} blocks (classes, functions, methods) analyzed.<br/>"
                 "Average complexity: {7} ({8})"
                 "<table>"
-                "<tr><td width=30><b>A</b></td><td>{1} blocks</td></tr>"
-                "<tr><td width=30><b>B</b></td><td>{2} blocks</td></tr>"
-                "<tr><td width=30><b>C</b></td><td>{3} blocks</td></tr>"
-                "<tr><td width=30><b>D</b></td><td>{4} blocks</td></tr>"
-                "<tr><td width=30><b>E</b></td><td>{5} blocks</td></tr>"
-                "<tr><td width=30><b>F</b></td><td>{6} blocks</td></tr>"
+                "<tr><td width=30><b>A</b></td>"
+                "<td align='right'>{1} blocks</td></tr>"
+                "<tr><td width=30><b>B</b></td>"
+                "<td align='right'>{2} blocks</td></tr>"
+                "<tr><td width=30><b>C</b></td>"
+                "<td align='right'>{3} blocks</td></tr>"
+                "<tr><td width=30><b>D</b></td>"
+                "<td align='right'>{4} blocks</td></tr>"
+                "<tr><td width=30><b>E</b></td>"
+                "<td align='right'>{5} blocks</td></tr>"
+                "<tr><td width=30><b>F</b></td>"
+                "<td align='right'>{6} blocks</td></tr>"
                 "</table>"
             ).format(
-                self.__ccCount,
-                self.__summary["A"],
-                self.__summary["B"],
-                self.__summary["C"],
-                self.__summary["D"],
-                self.__summary["E"],
-                self.__summary["F"],
+                self.__locale.toString(self.__ccCount),
+                self.__locale.toString(self.__summary["A"]),
+                self.__locale.toString(self.__summary["B"]),
+                self.__locale.toString(self.__summary["C"]),
+                self.__locale.toString(self.__summary["D"]),
+                self.__locale.toString(self.__summary["E"]),
+                self.__locale.toString(self.__summary["F"]),
                 cc_rank(averageCC),
                 self.__locale.toString(averageCC, "f", 1)
             ))
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CodeMetricsCalculator.html	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CodeMetricsCalculator.html	Thu Jun 22 18:38:10 2017 +0200
@@ -109,7 +109,7 @@
 <hr /><hr />
 <a NAME="batchRawCodeMetrics" ID="batchRawCodeMetrics"></a>
 <h2>batchRawCodeMetrics</h2>
-<b>batchRawCodeMetrics</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>batchRawCodeMetrics</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to calculate the raw code metrics for a batch of files.
 </p><dl>
@@ -125,6 +125,9 @@
 </dd><dt><i>cancelled</i> (function)</dt>
 <dd>
 reference to function checking for a cancellation
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityCalculator.html	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityCalculator.html	Thu Jun 22 18:38:10 2017 +0200
@@ -136,7 +136,7 @@
 <hr /><hr />
 <a NAME="batchCyclomaticComplexity" ID="batchCyclomaticComplexity"></a>
 <h2>batchCyclomaticComplexity</h2>
-<b>batchCyclomaticComplexity</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>batchCyclomaticComplexity</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to calculate the cyclomatic complexity for a batch of
     files.
@@ -154,6 +154,9 @@
 </dd><dt><i>cancelled</i> (function)</dt>
 <dd>
 reference to function checking for a cancellation
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexCalculator.html	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexCalculator.html	Thu Jun 22 18:38:10 2017 +0200
@@ -83,7 +83,7 @@
 <hr /><hr />
 <a NAME="batchMaintainabilityIndex" ID="batchMaintainabilityIndex"></a>
 <h2>batchMaintainabilityIndex</h2>
-<b>batchMaintainabilityIndex</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>batchMaintainabilityIndex</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to calculate the maintainability index for a batch of
     files.
@@ -101,6 +101,9 @@
 </dd><dt><i>cancelled</i> (function)</dt>
 <dd>
 reference to function checking for a cancellation
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/RadonMetrics/MaintainabilityIndexCalculator.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/MaintainabilityIndexCalculator.py	Thu Jun 22 18:38:10 2017 +0200
@@ -55,7 +55,8 @@
     return __maintainabilityIndex(file, text)
 
 
-def batchMaintainabilityIndex(argumentsList, send, fx, cancelled):
+def batchMaintainabilityIndex(argumentsList, send, fx, cancelled,
+                              maxProcesses=0):
     """
     Module function to calculate the maintainability index for a batch of
     files.
@@ -69,13 +70,19 @@
     @type str
     @param cancelled reference to function checking for a cancellation
     @type function
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/RadonMetrics/MaintainabilityIndexDialog.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/MaintainabilityIndexDialog.py	Thu Jun 22 18:38:10 2017 +0200
@@ -386,13 +386,13 @@
             self.summaryLabel.setText(self.tr(
                 "<table>"
                 "<tr><td colspan=2><b>Summary:</b></td></tr>"
-                "<tr><td><b>A</b></td><td>{0} files</td></tr>"
-                "<tr><td><b>B</b></td><td>{1} files</td></tr>"
-                "<tr><td><b>C</b></td><td>{2} files</td></tr>"
+                "<tr><td><b>A</b></td><td align='right'>{0} files</td></tr>"
+                "<tr><td><b>B</b></td><td align='right'>{1} files</td></tr>"
+                "<tr><td><b>C</b></td><td align='right'>{2} files</td></tr>"
                 "</table>"
-            ).format(self.__summary["A"],
-                     self.__summary["B"],
-                     self.__summary["C"])
+            ).format(self.__locale.toString(self.__summary["A"]),
+                     self.__locale.toString(self.__summary["B"]),
+                     self.__locale.toString(self.__summary["C"]))
             )
             
             self.checkProgress.setVisible(False)
Binary file RadonMetrics/i18n/radon_de.qm has changed
--- a/RadonMetrics/i18n/radon_de.ts	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/i18n/radon_de.ts	Thu Jun 22 18:38:10 2017 +0200
@@ -70,16 +70,11 @@
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../CyclomaticComplexityDialog.py" line="356"/>
+        <location filename="../CyclomaticComplexityDialog.py" line="361"/>
         <source>Preparing files...</source>
         <translation>Bereite Dateien vor...</translation>
     </message>
     <message>
-        <location filename="../CyclomaticComplexityDialog.py" line="485"/>
-        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;b&gt;Zusammenfassung:&lt;/b&gt;&lt;br/&gt;{0} Blöcke (Klassen, Funktionen, Methoden) analysiert.&lt;br/&gt;Mittlere Komplexität: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
-    </message>
-    <message>
         <location filename="../CyclomaticComplexityDialog.ui" line="86"/>
         <source>Press to start the calculation</source>
         <translation>Drücken, um die Berechnung zu starten</translation>
@@ -114,6 +109,11 @@
         <source>Select the minimum rank of items to be shown</source>
         <translation>Wähle die Mindestbewertung anzuzeigender Einträge</translation>
     </message>
+    <message>
+        <location filename="../CyclomaticComplexityDialog.py" line="490"/>
+        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation>&lt;b&gt;Zusammenfassung:&lt;/b&gt;&lt;br/&gt;{0} Blöcke (Klassen, Funktionen, Methoden) analysiert.&lt;br/&gt;Mittlere Komplexität: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{3} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{4} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{5} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{6} Blöcke&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+    </message>
 </context>
 <context>
     <name>MaintainabilityIndexDialog</name>
@@ -173,11 +173,6 @@
         <translation>Bereite Dateien vor...</translation>
     </message>
     <message>
-        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Zusammenfassung:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
-    </message>
-    <message>
         <location filename="../MaintainabilityIndexDialog.ui" line="72"/>
         <source>Press to start the calculation</source>
         <translation>Drücken, um die Berechnung zu starten</translation>
@@ -194,6 +189,11 @@
         <translation>&lt;b&gt;Wartbarkeitsindex&lt;/b&gt;
 &lt;p&gt;Dieser Dialog zeigt den Wartbarkeitsindex und eine Bewertung.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Zusammenfassung:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{0} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} Dateien&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+    </message>
 </context>
 <context>
     <name>RadonMetricsPlugin</name>
--- a/RadonMetrics/i18n/radon_en.ts	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/i18n/radon_en.ts	Thu Jun 22 18:38:10 2017 +0200
@@ -69,16 +69,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CyclomaticComplexityDialog.py" line="356"/>
+        <location filename="../CyclomaticComplexityDialog.py" line="361"/>
         <source>Preparing files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CyclomaticComplexityDialog.py" line="485"/>
-        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../CyclomaticComplexityDialog.ui" line="86"/>
         <source>Press to start the calculation</source>
         <translation type="unfinished"></translation>
@@ -113,6 +108,11 @@
         <source>Select the minimum rank of items to be shown</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../CyclomaticComplexityDialog.py" line="490"/>
+        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MaintainabilityIndexDialog</name>
@@ -172,11 +172,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MaintainabilityIndexDialog.ui" line="72"/>
         <source>Press to start the calculation</source>
         <translation type="unfinished"></translation>
@@ -192,6 +187,11 @@
 &lt;p&gt;This dialog shows the maintainability index and rank.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RadonMetricsPlugin</name>
--- a/RadonMetrics/i18n/radon_es.ts	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/i18n/radon_es.ts	Thu Jun 22 18:38:10 2017 +0200
@@ -70,14 +70,14 @@
         <translation>Errores</translation>
     </message>
     <message>
-        <location filename="../CyclomaticComplexityDialog.py" line="356"/>
+        <location filename="../CyclomaticComplexityDialog.py" line="361"/>
         <source>Preparing files...</source>
         <translation>Preparando archivos...</translation>
     </message>
     <message>
         <location filename="../CyclomaticComplexityDialog.py" line="485"/>
         <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;b&gt;Resumen:&lt;/b&gt;&lt;br/&gt;{0} bloques (clases, funciones, métodos) analyzed.&lt;br/&gt;Complejidad media: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} bloques&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Resumen:&lt;/b&gt;&lt;br/&gt;{0} bloques (clases, funciones, métodos) analyzed.&lt;br/&gt;Complejidad media: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} bloques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} bloques&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
         <location filename="../CyclomaticComplexityDialog.ui" line="86"/>
@@ -114,6 +114,11 @@
         <source>Select the minimum rank of items to be shown</source>
         <translation>Seleccionar el rango mínimo para los elementos a mostrar</translation>
     </message>
+    <message>
+        <location filename="../CyclomaticComplexityDialog.py" line="490"/>
+        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MaintainabilityIndexDialog</name>
@@ -175,7 +180,7 @@
     <message>
         <location filename="../MaintainabilityIndexDialog.py" line="386"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Resumen:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} archivos&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} archivos&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} archivos&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+        <translation type="obsolete">&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Resumen:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} archivos&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} archivos&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} archivos&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
         <location filename="../MaintainabilityIndexDialog.ui" line="72"/>
@@ -194,6 +199,11 @@
         <translation>&lt;b&gt;Índice de Mantenibilidad&lt;/b&gt;
 &lt;p&gt;Este diálogo muestra el índice de mantenimiento y rango.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RadonMetricsPlugin</name>
--- a/RadonMetrics/i18n/radon_ru.ts	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/i18n/radon_ru.ts	Thu Jun 22 18:38:10 2017 +0200
@@ -77,7 +77,7 @@
     <message>
         <location filename="../CyclomaticComplexityDialog.py" line="490"/>
         <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;b&gt;Итого:&lt;/b&gt;&lt;br/&gt;Выполнен анализ {0} блоков (классы, функции, методы).&lt;br/&gt;Средняя сложность: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} блоков&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Итого:&lt;/b&gt;&lt;br/&gt;Выполнен анализ {0} блоков (классы, функции, методы).&lt;br/&gt;Средняя сложность: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5} блоков&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6} блоков&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
         <location filename="../CyclomaticComplexityDialog.ui" line="86"/>
@@ -114,6 +114,11 @@
         <source>Select the minimum rank of items to be shown</source>
         <translation>Выбор минимального уровня сложности для отображения</translation>
     </message>
+    <message>
+        <location filename="../CyclomaticComplexityDialog.py" line="490"/>
+        <source>&lt;b&gt;Summary:&lt;/b&gt;&lt;br/&gt;{0} blocks (classes, functions, methods) analyzed.&lt;br/&gt;Average complexity: {7} ({8})&lt;table&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{3} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{4} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{5} blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=30&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{6} blocks&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MaintainabilityIndexDialog</name>
@@ -175,7 +180,7 @@
     <message>
         <location filename="../MaintainabilityIndexDialog.py" line="386"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Итого:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} файлов&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} файлов&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} файлов&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+        <translation type="obsolete">&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Итого:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0} файлов&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1} файлов&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2} файлов&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
         <location filename="../MaintainabilityIndexDialog.ui" line="72"/>
@@ -194,6 +199,11 @@
         <translation>&lt;b&gt;Индекс сложности поддержки&lt;/b&gt;
 &lt;p&gt;Данный диалог отображает индекс сложности  поддержки и его уровень.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../MaintainabilityIndexDialog.py" line="386"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{0} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{1} files&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;right&apos;&gt;{2} files&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RadonMetricsPlugin</name>

eric ide

mercurial