Updated translations and regenerated source docu.

Sat, 24 Aug 2013 15:05:05 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 24 Aug 2013 15:05:05 +0200
changeset 2867
eb325d7f7335
parent 2866
c77e08c38a5c
child 2868
8d30ec21e9c7

Updated translations and regenerated source docu.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
APIs/Python3/eric5.bas 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.Plugins.CheckerPlugins.Pep8.Pep8Checker.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.pep8.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UtilitiesPython2.pep8.html file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/Pep8/Pep8Dialog.py 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	Sat Aug 24 14:44:55 2013 +0200
+++ b/APIs/Python3/eric5.api	Sat Aug 24 15:05:05 2013 +0200
@@ -3716,9 +3716,7 @@
 eric5.Plugins.AboutPlugin.AboutDialog.licenseText?7
 eric5.Plugins.AboutPlugin.AboutDialog.thanksText?7
 eric5.Plugins.AboutPlugin.AboutDialog.titleText?7
-eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Checker.report_error_args?4(line_number, offset, code, check, *args)
-eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Checker?1(filename, lines, repeat=False, select="", ignore="")
-eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Py2Checker?1(filename, lines, repeat=False, select="", ignore="")
+eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Py2Checker?1(filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8CodeSelectionDialog.Pep8CodeSelectionDialog.getSelectedCodes?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep8CodeSelectionDialog.Pep8CodeSelectionDialog?1(codes, showFixCodes, parent=None)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Dialog.filenameRole?7
@@ -3739,83 +3737,125 @@
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Dialog.settingsKey?7
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Dialog.start?4(fn, save=False, repeat=None)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Dialog?1(parent=None)
+eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Report.error_args?4(line_number, offset, code, check, *args)
+eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Report?1(options)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer.Pep8FixableIssues?7
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer.Pep8Fixer.fixIssue?4(line, pos, message)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer.Pep8Fixer.saveFile?4(encoding)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer.Pep8Fixer?1(project, filename, sourceLines, fixCodes, inPlace)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8StatisticsDialog.Pep8StatisticsDialog?1(statistics, parent=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.ARITHMETIC_OP?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.BENCHMARK_KEYS?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.BINARY_OPERATORS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.error?4(line_number, offset, text, check)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.error_args?4(line_number, offset, code, check, *args)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.get_count?4(prefix='')
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.get_file_results?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.get_statistics?4(prefix='')
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.increment_logical_line?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.init_file?4(filename, lines, expected, line_offset)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.print_benchmark?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.print_filename?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.print_statistics?4(prefix='')
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.start?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport.stop?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.BaseReport?1(options)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.COMMENT_WITH_NL?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.COMPARE_SINGLETON_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.COMPARE_TYPE_REGEX?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.build_tokens_line?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.check_all?4(expected=None, line_offset=0)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.check_ast?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.check_logical?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.check_physical?4(line)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.generate_tokens?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.readline?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.readline_check_physical?4()
-eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.report_error?4(line_number, offset, text, check)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.report_invalid_syntax?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker.run_check?4(check, argument_names)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker?1(filename, lines=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.Checker?1(filename=None, lines=None, options=None, report=None, **kwargs)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.DEFAULT_EXCLUDE?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.DEFAULT_IGNORE?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.DOCSTRING_REGEX?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.E225NOT_KEYWORDS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.DiffReport.error?4(line_number, offset, text, check)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.DiffReport?1(options)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.ERRORCODE_REGEX?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.EXTRANEOUS_WHITESPACE_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.FileReport.print_filename?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.HUNK_REGEX?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.INDENT_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.KEYWORDS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.KEYWORD_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.LAMBDA_REGEX?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.MAX_LINE_LENGTH?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.OPERATORS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.OPERATOR_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.PROJECT_CONFIG?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.PyCF_ONLY_AST?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.RAISE_COMMA_REGEX?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.SELFTEST_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.REPORT_FORMAT?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.RERAISE_COMMA_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.SINGLETONS?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.SKIP_TOKENS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StandardReport.error?4(line_number, offset, text, check)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StandardReport.error_args?4(line_number, offset, code, check, *args)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StandardReport.get_file_results?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StandardReport.init_file?4(filename, lines, expected, line_offset)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StandardReport?1(options)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.check_files?4(paths=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.excluded?4(filename, parent=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.get_checks?4(argument_name)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.ignore_code?4(code)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.init_report?4(reporter=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.input_dir?4(dirname)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide.input_file?4(filename, lines=None, expected=None, line_offset=0)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.StyleGuide?1(*args, **kwargs)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.TESTSUITE_PATH?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.UNARY_OPERATORS?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.WHITESPACE?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.WHITESPACE_AROUND_NAMED_PARAMETER_REGEX?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.WHITESPACE_AROUND_OPERATOR_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.WHITESPACE_AFTER_COMMA_REGEX?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.WS_NEEDED_OPERATORS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.WS_OPTIONAL_OPERATORS?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8._add_check?5(check, kind, codes, args)
+eric5.Plugins.CheckerPlugins.Pep8.pep8._checks?8
 eric5.Plugins.CheckerPlugins.Pep8.pep8._main?5()
-eric5.Plugins.CheckerPlugins.Pep8.pep8.args?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level, blank_lines_before_comment)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.comparison_to_singleton?4(logical_line, noqa)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.comparison_type?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.compound_statements?4(logical_line)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.excluded?4(filename)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, noqa, verbose)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.expand_indent?4(line)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.explicit_line_join?4(logical_line, tokens)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.extraneous_whitespace?4(logical_line)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.filename_match?4(filename)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.find_checks?4(argument_name)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.filename_match?4(filename, patterns, default=True)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.getMessage?4(code, *args)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.get_count?4(prefix='')
-eric5.Plugins.CheckerPlugins.Pep8.pep8.get_error_statistics?4()
-eric5.Plugins.CheckerPlugins.Pep8.pep8.get_statistics?4(prefix='')
-eric5.Plugins.CheckerPlugins.Pep8.pep8.get_warning_statistics?4()
-eric5.Plugins.CheckerPlugins.Pep8.pep8.ignore_code?4(code)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.get_parser?4(prog='pep8', version=__version__)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.imports_on_separate_lines?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.indentation?4(logical_line, previous_logical, indent_char, indent_level, previous_indent_level)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.input_dir?4(dirname, runner=None)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.input_file?4(filename)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.maximum_line_length?4(physical_line)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.message?4(text)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.init_checks_registry?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.maximum_line_length?4(physical_line, max_line_length)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.missing_newline?4(physical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.missing_whitespace?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.missing_whitespace_around_operator?4(logical_line, tokens)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.mute_string?4(text)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.options?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.noqa?7
+eric5.Plugins.CheckerPlugins.Pep8.pep8.parse_udiff?4(diff, patterns=None, parent='.')
 eric5.Plugins.CheckerPlugins.Pep8.pep8.pep8_messages?7
 eric5.Plugins.CheckerPlugins.Pep8.pep8.pep8_messages_sample_args?7
-eric5.Plugins.CheckerPlugins.Pep8.pep8.print_benchmark?4(elapsed)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.print_statistics?4(prefix='')
-eric5.Plugins.CheckerPlugins.Pep8.pep8.process_options?4(arglist=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.process_options?4(arglist=None, parse_argv=False, config_file=None, parser=None)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.python_3000_backticks?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.python_3000_has_key?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.python_3000_not_equal?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.python_3000_raise_comma?4(logical_line)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.read_config?4(options, args, arglist, parser)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.readlines?4(filename)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.reset_counters?4()
-eric5.Plugins.CheckerPlugins.Pep8.pep8.run_tests?4(filename)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.selftest?4()
+eric5.Plugins.CheckerPlugins.Pep8.pep8.register_check?4(check, codes=None)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.stdin_get_value?4()
 eric5.Plugins.CheckerPlugins.Pep8.pep8.tabs_obsolete?4(physical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.tabs_or_spaces?4(physical_line, indent_char)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.trailing_blank_lines?4(physical_line, lines, line_number)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.trailing_whitespace?4(physical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_around_comma?4(logical_line)
-eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_around_named_parameter_equals?4(logical_line)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_around_keywords?4(logical_line)
+eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_around_named_parameter_equals?4(logical_line, tokens)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_around_operator?4(logical_line)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_before_inline_comment?4(logical_line, tokens)
 eric5.Plugins.CheckerPlugins.Pep8.pep8.whitespace_before_parameters?4(logical_line, tokens)
@@ -8310,12 +8350,14 @@
 eric5.Utilities.win32_Kill?4(pid)
 eric5.Utilities.win32_getRealName?4()
 eric5.Utilities.writeEncodedFile?4(filename, text, orig_coding)
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker.filename?7
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker.ignore?7
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker.repeat?7
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker.report_error_args?4(line_number, offset, code, check, *args)
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker.select?7
-eric5.UtilitiesPython2.Pep8Checker.Pep8Checker?1(filename, lines, repeat=False, select="", ignore="")
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.error_args?4(line_number, offset, code, check, *args)
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.filename?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.hang_closing?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.ignore?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.max_line_length?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.repeat?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.select?7
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report?1(options)
 eric5.UtilitiesPython2.Py2SyntaxChecker.compile?4(file, codestring)
 eric5.UtilitiesPython2.Py2SyntaxChecker.flakesCheck?4(fileName, codestring, ignoreStarImportWarnings)
 eric5.UtilitiesPython2.Tabnanny.NannyNag.get_line?4()
@@ -8338,75 +8380,115 @@
 eric5.UtilitiesPython2.Tools.get_coding?4(text)
 eric5.UtilitiesPython2.Tools.normalizeCode?4(codestring)
 eric5.UtilitiesPython2.Tools.readEncodedFile?4(filename)
+eric5.UtilitiesPython2.pep8.ARITHMETIC_OP?7
 eric5.UtilitiesPython2.pep8.BENCHMARK_KEYS?7
-eric5.UtilitiesPython2.pep8.BINARY_OPERATORS?7
+eric5.UtilitiesPython2.pep8.BaseReport.error?4(line_number, offset, text, check)
+eric5.UtilitiesPython2.pep8.BaseReport.error_args?4(line_number, offset, code, check, *args)
+eric5.UtilitiesPython2.pep8.BaseReport.get_count?4(prefix='')
+eric5.UtilitiesPython2.pep8.BaseReport.get_file_results?4()
+eric5.UtilitiesPython2.pep8.BaseReport.get_statistics?4(prefix='')
+eric5.UtilitiesPython2.pep8.BaseReport.increment_logical_line?4()
+eric5.UtilitiesPython2.pep8.BaseReport.init_file?4(filename, lines, expected, line_offset)
+eric5.UtilitiesPython2.pep8.BaseReport.print_benchmark?4()
+eric5.UtilitiesPython2.pep8.BaseReport.print_filename?7
+eric5.UtilitiesPython2.pep8.BaseReport.print_statistics?4(prefix='')
+eric5.UtilitiesPython2.pep8.BaseReport.start?4()
+eric5.UtilitiesPython2.pep8.BaseReport.stop?4()
+eric5.UtilitiesPython2.pep8.BaseReport?1(options)
+eric5.UtilitiesPython2.pep8.COMMENT_WITH_NL?7
+eric5.UtilitiesPython2.pep8.COMPARE_SINGLETON_REGEX?7
+eric5.UtilitiesPython2.pep8.COMPARE_TYPE_REGEX?7
 eric5.UtilitiesPython2.pep8.Checker.build_tokens_line?4()
 eric5.UtilitiesPython2.pep8.Checker.check_all?4(expected=None, line_offset=0)
+eric5.UtilitiesPython2.pep8.Checker.check_ast?4()
 eric5.UtilitiesPython2.pep8.Checker.check_logical?4()
 eric5.UtilitiesPython2.pep8.Checker.check_physical?4(line)
+eric5.UtilitiesPython2.pep8.Checker.generate_tokens?4()
 eric5.UtilitiesPython2.pep8.Checker.readline?4()
 eric5.UtilitiesPython2.pep8.Checker.readline_check_physical?4()
-eric5.UtilitiesPython2.pep8.Checker.report_error?4(line_number, offset, text, check)
+eric5.UtilitiesPython2.pep8.Checker.report_invalid_syntax?4()
 eric5.UtilitiesPython2.pep8.Checker.run_check?4(check, argument_names)
-eric5.UtilitiesPython2.pep8.Checker?1(filename, lines=None)
+eric5.UtilitiesPython2.pep8.Checker?1(filename=None, lines=None, options=None, report=None, **kwargs)
 eric5.UtilitiesPython2.pep8.DEFAULT_EXCLUDE?7
 eric5.UtilitiesPython2.pep8.DEFAULT_IGNORE?7
 eric5.UtilitiesPython2.pep8.DOCSTRING_REGEX?7
-eric5.UtilitiesPython2.pep8.E225NOT_KEYWORDS?7
+eric5.UtilitiesPython2.pep8.DiffReport.error?4(line_number, offset, text, check)
+eric5.UtilitiesPython2.pep8.DiffReport?1(options)
 eric5.UtilitiesPython2.pep8.ERRORCODE_REGEX?7
 eric5.UtilitiesPython2.pep8.EXTRANEOUS_WHITESPACE_REGEX?7
+eric5.UtilitiesPython2.pep8.FileReport.print_filename?7
+eric5.UtilitiesPython2.pep8.HUNK_REGEX?7
 eric5.UtilitiesPython2.pep8.INDENT_REGEX?7
+eric5.UtilitiesPython2.pep8.KEYWORDS?7
+eric5.UtilitiesPython2.pep8.KEYWORD_REGEX?7
+eric5.UtilitiesPython2.pep8.LAMBDA_REGEX?7
 eric5.UtilitiesPython2.pep8.MAX_LINE_LENGTH?7
-eric5.UtilitiesPython2.pep8.OPERATORS?7
+eric5.UtilitiesPython2.pep8.OPERATOR_REGEX?7
+eric5.UtilitiesPython2.pep8.PROJECT_CONFIG?7
+eric5.UtilitiesPython2.pep8.PyCF_ONLY_AST?7
 eric5.UtilitiesPython2.pep8.RAISE_COMMA_REGEX?7
-eric5.UtilitiesPython2.pep8.SELFTEST_REGEX?7
+eric5.UtilitiesPython2.pep8.REPORT_FORMAT?7
+eric5.UtilitiesPython2.pep8.RERAISE_COMMA_REGEX?7
+eric5.UtilitiesPython2.pep8.SINGLETONS?7
 eric5.UtilitiesPython2.pep8.SKIP_TOKENS?7
+eric5.UtilitiesPython2.pep8.StandardReport.error?4(line_number, offset, text, check)
+eric5.UtilitiesPython2.pep8.StandardReport.error_args?4(line_number, offset, code, check, *args)
+eric5.UtilitiesPython2.pep8.StandardReport.get_file_results?4()
+eric5.UtilitiesPython2.pep8.StandardReport.init_file?4(filename, lines, expected, line_offset)
+eric5.UtilitiesPython2.pep8.StandardReport?1(options)
+eric5.UtilitiesPython2.pep8.StyleGuide.check_files?4(paths=None)
+eric5.UtilitiesPython2.pep8.StyleGuide.excluded?4(filename, parent=None)
+eric5.UtilitiesPython2.pep8.StyleGuide.get_checks?4(argument_name)
+eric5.UtilitiesPython2.pep8.StyleGuide.ignore_code?4(code)
+eric5.UtilitiesPython2.pep8.StyleGuide.init_report?4(reporter=None)
+eric5.UtilitiesPython2.pep8.StyleGuide.input_dir?4(dirname)
+eric5.UtilitiesPython2.pep8.StyleGuide.input_file?4(filename, lines=None, expected=None, line_offset=0)
+eric5.UtilitiesPython2.pep8.StyleGuide?1(*args, **kwargs)
+eric5.UtilitiesPython2.pep8.TESTSUITE_PATH?7
 eric5.UtilitiesPython2.pep8.UNARY_OPERATORS?7
 eric5.UtilitiesPython2.pep8.WHITESPACE?7
-eric5.UtilitiesPython2.pep8.WHITESPACE_AROUND_NAMED_PARAMETER_REGEX?7
-eric5.UtilitiesPython2.pep8.WHITESPACE_AROUND_OPERATOR_REGEX?7
+eric5.UtilitiesPython2.pep8.WHITESPACE_AFTER_COMMA_REGEX?7
+eric5.UtilitiesPython2.pep8.WS_NEEDED_OPERATORS?7
+eric5.UtilitiesPython2.pep8.WS_OPTIONAL_OPERATORS?7
+eric5.UtilitiesPython2.pep8._add_check?5(check, kind, codes, args)
+eric5.UtilitiesPython2.pep8._checks?8
 eric5.UtilitiesPython2.pep8._main?5()
-eric5.UtilitiesPython2.pep8.args?7
-eric5.UtilitiesPython2.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level, blank_lines_before_comment)
+eric5.UtilitiesPython2.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level)
+eric5.UtilitiesPython2.pep8.comparison_to_singleton?4(logical_line, noqa)
+eric5.UtilitiesPython2.pep8.comparison_type?4(logical_line)
 eric5.UtilitiesPython2.pep8.compound_statements?4(logical_line)
-eric5.UtilitiesPython2.pep8.excluded?4(filename)
+eric5.UtilitiesPython2.pep8.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, noqa, verbose)
 eric5.UtilitiesPython2.pep8.expand_indent?4(line)
+eric5.UtilitiesPython2.pep8.explicit_line_join?4(logical_line, tokens)
 eric5.UtilitiesPython2.pep8.extraneous_whitespace?4(logical_line)
-eric5.UtilitiesPython2.pep8.filename_match?4(filename)
-eric5.UtilitiesPython2.pep8.find_checks?4(argument_name)
-eric5.UtilitiesPython2.pep8.get_count?4(prefix='')
-eric5.UtilitiesPython2.pep8.get_error_statistics?4()
-eric5.UtilitiesPython2.pep8.get_statistics?4(prefix='')
-eric5.UtilitiesPython2.pep8.get_warning_statistics?4()
-eric5.UtilitiesPython2.pep8.ignore_code?4(code)
+eric5.UtilitiesPython2.pep8.filename_match?4(filename, patterns, default=True)
+eric5.UtilitiesPython2.pep8.get_parser?4(prog='pep8', version=__version__)
 eric5.UtilitiesPython2.pep8.imports_on_separate_lines?4(logical_line)
 eric5.UtilitiesPython2.pep8.indentation?4(logical_line, previous_logical, indent_char, indent_level, previous_indent_level)
-eric5.UtilitiesPython2.pep8.input_dir?4(dirname, runner=None)
-eric5.UtilitiesPython2.pep8.input_file?4(filename)
-eric5.UtilitiesPython2.pep8.maximum_line_length?4(physical_line)
-eric5.UtilitiesPython2.pep8.message?4(text)
+eric5.UtilitiesPython2.pep8.init_checks_registry?4()
+eric5.UtilitiesPython2.pep8.maximum_line_length?4(physical_line, max_line_length)
 eric5.UtilitiesPython2.pep8.missing_newline?4(physical_line)
 eric5.UtilitiesPython2.pep8.missing_whitespace?4(logical_line)
 eric5.UtilitiesPython2.pep8.missing_whitespace_around_operator?4(logical_line, tokens)
 eric5.UtilitiesPython2.pep8.mute_string?4(text)
-eric5.UtilitiesPython2.pep8.options?7
-eric5.UtilitiesPython2.pep8.print_benchmark?4(elapsed)
-eric5.UtilitiesPython2.pep8.print_statistics?4(prefix='')
-eric5.UtilitiesPython2.pep8.process_options?4(arglist=None)
+eric5.UtilitiesPython2.pep8.noqa?7
+eric5.UtilitiesPython2.pep8.parse_udiff?4(diff, patterns=None, parent='.')
+eric5.UtilitiesPython2.pep8.process_options?4(arglist=None, parse_argv=False, config_file=None, parser=None)
 eric5.UtilitiesPython2.pep8.python_3000_backticks?4(logical_line)
 eric5.UtilitiesPython2.pep8.python_3000_has_key?4(logical_line)
 eric5.UtilitiesPython2.pep8.python_3000_not_equal?4(logical_line)
 eric5.UtilitiesPython2.pep8.python_3000_raise_comma?4(logical_line)
+eric5.UtilitiesPython2.pep8.read_config?4(options, args, arglist, parser)
 eric5.UtilitiesPython2.pep8.readlines?4(filename)
-eric5.UtilitiesPython2.pep8.reset_counters?4()
-eric5.UtilitiesPython2.pep8.run_tests?4(filename)
-eric5.UtilitiesPython2.pep8.selftest?4()
+eric5.UtilitiesPython2.pep8.register_check?4(check, codes=None)
+eric5.UtilitiesPython2.pep8.stdin_get_value?4()
 eric5.UtilitiesPython2.pep8.tabs_obsolete?4(physical_line)
 eric5.UtilitiesPython2.pep8.tabs_or_spaces?4(physical_line, indent_char)
 eric5.UtilitiesPython2.pep8.trailing_blank_lines?4(physical_line, lines, line_number)
 eric5.UtilitiesPython2.pep8.trailing_whitespace?4(physical_line)
 eric5.UtilitiesPython2.pep8.whitespace_around_comma?4(logical_line)
-eric5.UtilitiesPython2.pep8.whitespace_around_named_parameter_equals?4(logical_line)
+eric5.UtilitiesPython2.pep8.whitespace_around_keywords?4(logical_line)
+eric5.UtilitiesPython2.pep8.whitespace_around_named_parameter_equals?4(logical_line, tokens)
 eric5.UtilitiesPython2.pep8.whitespace_around_operator?4(logical_line)
 eric5.UtilitiesPython2.pep8.whitespace_before_inline_comment?4(logical_line, tokens)
 eric5.UtilitiesPython2.pep8.whitespace_before_parameters?4(logical_line, tokens)
--- a/APIs/Python3/eric5.bas	Sat Aug 24 14:44:55 2013 +0200
+++ b/APIs/Python3/eric5.bas	Sat Aug 24 15:05:05 2013 +0200
@@ -122,6 +122,7 @@
 DebuggerRubyPage ConfigurationPageBase Ui_DebuggerRubyPage
 DeleteFilesConfirmationDialog QDialog Ui_DeleteFilesConfirmationDialog
 DiffDialog QWidget Ui_DiffDialog
+DiffReport StandardReport
 DiffWindow E5MainWindow
 DirectorySyncHandler SyncHandler
 DownloadAskActionDialog QDialog Ui_DownloadAskActionDialog
@@ -235,6 +236,7 @@
 FileDialogWizard QObject
 FileDialogWizardDialog QDialog Ui_FileDialogWizardDialog
 FileReply QNetworkReply
+FileReport BaseReport
 FiletypeAssociationDialog QDialog Ui_FiletypeAssociationDialog
 FindFileDialog QDialog Ui_FindFileDialog
 FindFileNameDialog QWidget Ui_FindFileNameDialog
@@ -472,11 +474,11 @@
 PasswordReader QXmlStreamReader
 PasswordWriter QXmlStreamWriter
 PasswordsDialog QDialog Ui_PasswordsDialog
-Pep8Checker pep8.Checker
 Pep8CheckerPlugin QObject
 Pep8CodeSelectionDialog QDialog Ui_Pep8CodeSelectionDialog
 Pep8Dialog QDialog Ui_Pep8Dialog
 Pep8Fixer QObject
+Pep8Report pep8.BaseReport
 Pep8StatisticsDialog QDialog Ui_Pep8StatisticsDialog
 PersonalDataDialog QDialog Ui_PersonalDataDialog
 PersonalInformationManager QObject
@@ -616,6 +618,7 @@
 SslLabel QLabel
 StackedUrlBar QStackedWidget
 StackedWidget QStackedWidget
+StandardReport BaseReport
 StartDialog QDialog
 StatusMonitorLed E5Led
 Subversion VersionControl
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Help/source.qhp	Sat Aug 24 15:05:05 2013 +0200
@@ -1462,6 +1462,32 @@
       <keyword name="AutoSaver.changeOccurred" id="AutoSaver.changeOccurred" ref="eric5.Utilities.AutoSaver.html#AutoSaver.changeOccurred" />
       <keyword name="AutoSaver.saveIfNeccessary" id="AutoSaver.saveIfNeccessary" ref="eric5.Utilities.AutoSaver.html#AutoSaver.saveIfNeccessary" />
       <keyword name="AutoSaver.timerEvent" id="AutoSaver.timerEvent" ref="eric5.Utilities.AutoSaver.html#AutoSaver.timerEvent" />
+      <keyword name="BaseReport" id="BaseReport" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport" />
+      <keyword name="BaseReport" id="BaseReport" ref="eric5.UtilitiesPython2.pep8.html#BaseReport" />
+      <keyword name="BaseReport (Constructor)" id="BaseReport (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.__init__" />
+      <keyword name="BaseReport (Constructor)" id="BaseReport (Constructor)" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.__init__" />
+      <keyword name="BaseReport.error" id="BaseReport.error" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.error" />
+      <keyword name="BaseReport.error" id="BaseReport.error" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.error" />
+      <keyword name="BaseReport.error_args" id="BaseReport.error_args" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.error_args" />
+      <keyword name="BaseReport.error_args" id="BaseReport.error_args" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.error_args" />
+      <keyword name="BaseReport.get_count" id="BaseReport.get_count" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.get_count" />
+      <keyword name="BaseReport.get_count" id="BaseReport.get_count" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.get_count" />
+      <keyword name="BaseReport.get_file_results" id="BaseReport.get_file_results" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.get_file_results" />
+      <keyword name="BaseReport.get_file_results" id="BaseReport.get_file_results" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.get_file_results" />
+      <keyword name="BaseReport.get_statistics" id="BaseReport.get_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.get_statistics" />
+      <keyword name="BaseReport.get_statistics" id="BaseReport.get_statistics" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.get_statistics" />
+      <keyword name="BaseReport.increment_logical_line" id="BaseReport.increment_logical_line" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.increment_logical_line" />
+      <keyword name="BaseReport.increment_logical_line" id="BaseReport.increment_logical_line" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.increment_logical_line" />
+      <keyword name="BaseReport.init_file" id="BaseReport.init_file" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.init_file" />
+      <keyword name="BaseReport.init_file" id="BaseReport.init_file" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.init_file" />
+      <keyword name="BaseReport.print_benchmark" id="BaseReport.print_benchmark" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.print_benchmark" />
+      <keyword name="BaseReport.print_benchmark" id="BaseReport.print_benchmark" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.print_benchmark" />
+      <keyword name="BaseReport.print_statistics" id="BaseReport.print_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.print_statistics" />
+      <keyword name="BaseReport.print_statistics" id="BaseReport.print_statistics" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.print_statistics" />
+      <keyword name="BaseReport.start" id="BaseReport.start" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.start" />
+      <keyword name="BaseReport.start" id="BaseReport.start" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.start" />
+      <keyword name="BaseReport.stop" id="BaseReport.stop" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#BaseReport.stop" />
+      <keyword name="BaseReport.stop" id="BaseReport.stop" ref="eric5.UtilitiesPython2.pep8.html#BaseReport.stop" />
       <keyword name="BinaryModel" id="BinaryModel" ref="eric5.UI.NumbersWidget.html#BinaryModel" />
       <keyword name="BinaryModel (Constructor)" id="BinaryModel (Constructor)" ref="eric5.UI.NumbersWidget.html#BinaryModel.__init__" />
       <keyword name="BinaryModel.columnCount" id="BinaryModel.columnCount" ref="eric5.UI.NumbersWidget.html#BinaryModel.columnCount" />
@@ -1991,6 +2017,8 @@
       <keyword name="Checker.checkUnusedAssignments" id="Checker.checkUnusedAssignments" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.checkUnusedAssignments" />
       <keyword name="Checker.check_all" id="Checker.check_all" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.check_all" />
       <keyword name="Checker.check_all" id="Checker.check_all" ref="eric5.UtilitiesPython2.pep8.html#Checker.check_all" />
+      <keyword name="Checker.check_ast" id="Checker.check_ast" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.check_ast" />
+      <keyword name="Checker.check_ast" id="Checker.check_ast" ref="eric5.UtilitiesPython2.pep8.html#Checker.check_ast" />
       <keyword name="Checker.check_dead_scopes" id="Checker.check_dead_scopes" ref="eric5.Utilities.py3flakes.checker.html#Checker.check_dead_scopes" />
       <keyword name="Checker.check_dead_scopes" id="Checker.check_dead_scopes" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.check_dead_scopes" />
       <keyword name="Checker.check_logical" id="Checker.check_logical" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.check_logical" />
@@ -2003,6 +2031,8 @@
       <keyword name="Checker.deferAssignment" id="Checker.deferAssignment" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.deferAssignment" />
       <keyword name="Checker.deferFunction" id="Checker.deferFunction" ref="eric5.Utilities.py3flakes.checker.html#Checker.deferFunction" />
       <keyword name="Checker.deferFunction" id="Checker.deferFunction" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.deferFunction" />
+      <keyword name="Checker.generate_tokens" id="Checker.generate_tokens" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.generate_tokens" />
+      <keyword name="Checker.generate_tokens" id="Checker.generate_tokens" ref="eric5.UtilitiesPython2.pep8.html#Checker.generate_tokens" />
       <keyword name="Checker.handleAssignName" id="Checker.handleAssignName" ref="eric5.Utilities.py3flakes.checker.html#Checker.handleAssignName" />
       <keyword name="Checker.handleBody" id="Checker.handleBody" ref="eric5.Utilities.py3flakes.checker.html#Checker.handleBody" />
       <keyword name="Checker.handleChildren" id="Checker.handleChildren" ref="eric5.Utilities.py3flakes.checker.html#Checker.handleChildren" />
@@ -2025,8 +2055,8 @@
       <keyword name="Checker.readline_check_physical" id="Checker.readline_check_physical" ref="eric5.UtilitiesPython2.pep8.html#Checker.readline_check_physical" />
       <keyword name="Checker.report" id="Checker.report" ref="eric5.Utilities.py3flakes.checker.html#Checker.report" />
       <keyword name="Checker.report" id="Checker.report" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.report" />
-      <keyword name="Checker.report_error" id="Checker.report_error" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.report_error" />
-      <keyword name="Checker.report_error" id="Checker.report_error" ref="eric5.UtilitiesPython2.pep8.html#Checker.report_error" />
+      <keyword name="Checker.report_invalid_syntax" id="Checker.report_invalid_syntax" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.report_invalid_syntax" />
+      <keyword name="Checker.report_invalid_syntax" id="Checker.report_invalid_syntax" ref="eric5.UtilitiesPython2.pep8.html#Checker.report_invalid_syntax" />
       <keyword name="Checker.runFunction" id="Checker.runFunction" ref="eric5.Utilities.py3flakes.checker.html#Checker.runFunction" />
       <keyword name="Checker.runFunction" id="Checker.runFunction" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.runFunction" />
       <keyword name="Checker.run_check" id="Checker.run_check" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#Checker.run_check" />
@@ -3245,6 +3275,12 @@
       <keyword name="DiffDialog.on_file2Button_clicked" id="DiffDialog.on_file2Button_clicked" ref="eric5.UI.DiffDialog.html#DiffDialog.on_file2Button_clicked" />
       <keyword name="DiffDialog.on_saveButton_clicked" id="DiffDialog.on_saveButton_clicked" ref="eric5.UI.DiffDialog.html#DiffDialog.on_saveButton_clicked" />
       <keyword name="DiffDialog.show" id="DiffDialog.show" ref="eric5.UI.DiffDialog.html#DiffDialog.show" />
+      <keyword name="DiffReport" id="DiffReport" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#DiffReport" />
+      <keyword name="DiffReport" id="DiffReport" ref="eric5.UtilitiesPython2.pep8.html#DiffReport" />
+      <keyword name="DiffReport (Constructor)" id="DiffReport (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#DiffReport.__init__" />
+      <keyword name="DiffReport (Constructor)" id="DiffReport (Constructor)" ref="eric5.UtilitiesPython2.pep8.html#DiffReport.__init__" />
+      <keyword name="DiffReport.error" id="DiffReport.error" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#DiffReport.error" />
+      <keyword name="DiffReport.error" id="DiffReport.error" ref="eric5.UtilitiesPython2.pep8.html#DiffReport.error" />
       <keyword name="DiffWindow" id="DiffWindow" ref="eric5.UI.DiffDialog.html#DiffWindow" />
       <keyword name="DiffWindow (Constructor)" id="DiffWindow (Constructor)" ref="eric5.UI.DiffDialog.html#DiffWindow.__init__" />
       <keyword name="DiffWindow.eventFilter" id="DiffWindow.eventFilter" ref="eric5.UI.DiffDialog.html#DiffWindow.eventFilter" />
@@ -4659,6 +4695,8 @@
       <keyword name="FileReply.bytesAvailable" id="FileReply.bytesAvailable" ref="eric5.Helpviewer.Network.FileReply.html#FileReply.bytesAvailable" />
       <keyword name="FileReply.isSequential" id="FileReply.isSequential" ref="eric5.Helpviewer.Network.FileReply.html#FileReply.isSequential" />
       <keyword name="FileReply.readData" id="FileReply.readData" ref="eric5.Helpviewer.Network.FileReply.html#FileReply.readData" />
+      <keyword name="FileReport" id="FileReport" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#FileReport" />
+      <keyword name="FileReport" id="FileReport" ref="eric5.UtilitiesPython2.pep8.html#FileReport" />
       <keyword name="FiletypeAssociationDialog" id="FiletypeAssociationDialog" ref="eric5.Project.FiletypeAssociationDialog.html#FiletypeAssociationDialog" />
       <keyword name="FiletypeAssociationDialog (Constructor)" id="FiletypeAssociationDialog (Constructor)" ref="eric5.Project.FiletypeAssociationDialog.html#FiletypeAssociationDialog.__init__" />
       <keyword name="FiletypeAssociationDialog (Module)" id="FiletypeAssociationDialog (Module)" ref="eric5.Project.FiletypeAssociationDialog.html" />
@@ -7920,16 +7958,8 @@
       <keyword name="PasswordsDialog.__calculateHeaderSizes" id="PasswordsDialog.__calculateHeaderSizes" ref="eric5.Helpviewer.Passwords.PasswordsDialog.html#PasswordsDialog.__calculateHeaderSizes" />
       <keyword name="PasswordsDialog.on_passwordsButton_clicked" id="PasswordsDialog.on_passwordsButton_clicked" ref="eric5.Helpviewer.Passwords.PasswordsDialog.html#PasswordsDialog.on_passwordsButton_clicked" />
       <keyword name="Pep8 (Package)" id="Pep8 (Package)" ref="index-eric5.Plugins.CheckerPlugins.Pep8.html" />
-      <keyword name="Pep8Checker" id="Pep8Checker" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Checker" />
-      <keyword name="Pep8Checker" id="Pep8Checker" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Checker" />
-      <keyword name="Pep8Checker (Constructor)" id="Pep8Checker (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Checker.__init__" />
-      <keyword name="Pep8Checker (Constructor)" id="Pep8Checker (Constructor)" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Checker.__init__" />
       <keyword name="Pep8Checker (Module)" id="Pep8Checker (Module)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html" />
       <keyword name="Pep8Checker (Module)" id="Pep8Checker (Module)" ref="eric5.UtilitiesPython2.Pep8Checker.html" />
-      <keyword name="Pep8Checker.__ignore_code" id="Pep8Checker.__ignore_code" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Checker.__ignore_code" />
-      <keyword name="Pep8Checker.__ignore_code" id="Pep8Checker.__ignore_code" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Checker.__ignore_code" />
-      <keyword name="Pep8Checker.report_error_args" id="Pep8Checker.report_error_args" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Checker.report_error_args" />
-      <keyword name="Pep8Checker.report_error_args" id="Pep8Checker.report_error_args" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Checker.report_error_args" />
       <keyword name="Pep8CheckerPlugin" id="Pep8CheckerPlugin" ref="eric5.Plugins.PluginPep8Checker.html#Pep8CheckerPlugin" />
       <keyword name="Pep8CheckerPlugin (Constructor)" id="Pep8CheckerPlugin (Constructor)" ref="eric5.Plugins.PluginPep8Checker.html#Pep8CheckerPlugin.__init__" />
       <keyword name="Pep8CheckerPlugin.__editorClosed" id="Pep8CheckerPlugin.__editorClosed" ref="eric5.Plugins.PluginPep8Checker.html#Pep8CheckerPlugin.__editorClosed" />
@@ -7994,6 +8024,12 @@
       <keyword name="Pep8Fixer.saveFile" id="Pep8Fixer.saveFile" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer.html#Pep8Fixer.saveFile" />
       <keyword name="Pep8Py2Checker" id="Pep8Py2Checker" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Py2Checker" />
       <keyword name="Pep8Py2Checker (Constructor)" id="Pep8Py2Checker (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html#Pep8Py2Checker.__init__" />
+      <keyword name="Pep8Report" id="Pep8Report" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html#Pep8Report" />
+      <keyword name="Pep8Report" id="Pep8Report" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Report" />
+      <keyword name="Pep8Report (Constructor)" id="Pep8Report (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html#Pep8Report.__init__" />
+      <keyword name="Pep8Report (Constructor)" id="Pep8Report (Constructor)" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Report.__init__" />
+      <keyword name="Pep8Report.error_args" id="Pep8Report.error_args" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html#Pep8Report.error_args" />
+      <keyword name="Pep8Report.error_args" id="Pep8Report.error_args" ref="eric5.UtilitiesPython2.Pep8Checker.html#Pep8Report.error_args" />
       <keyword name="Pep8StatisticsDialog" id="Pep8StatisticsDialog" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8StatisticsDialog.html#Pep8StatisticsDialog" />
       <keyword name="Pep8StatisticsDialog (Constructor)" id="Pep8StatisticsDialog (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8StatisticsDialog.html#Pep8StatisticsDialog.__init__" />
       <keyword name="Pep8StatisticsDialog (Module)" id="Pep8StatisticsDialog (Module)" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep8StatisticsDialog.html" />
@@ -9910,6 +9946,18 @@
       <keyword name="StackedWidget.removeWidget" id="StackedWidget.removeWidget" ref="eric5.Plugins.ViewManagerPlugins.Listspace.Listspace.html#StackedWidget.removeWidget" />
       <keyword name="StackedWidget.setCurrentIndex" id="StackedWidget.setCurrentIndex" ref="eric5.Plugins.ViewManagerPlugins.Listspace.Listspace.html#StackedWidget.setCurrentIndex" />
       <keyword name="StackedWidget.setCurrentWidget" id="StackedWidget.setCurrentWidget" ref="eric5.Plugins.ViewManagerPlugins.Listspace.Listspace.html#StackedWidget.setCurrentWidget" />
+      <keyword name="StandardReport" id="StandardReport" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport" />
+      <keyword name="StandardReport" id="StandardReport" ref="eric5.UtilitiesPython2.pep8.html#StandardReport" />
+      <keyword name="StandardReport (Constructor)" id="StandardReport (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport.__init__" />
+      <keyword name="StandardReport (Constructor)" id="StandardReport (Constructor)" ref="eric5.UtilitiesPython2.pep8.html#StandardReport.__init__" />
+      <keyword name="StandardReport.error" id="StandardReport.error" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport.error" />
+      <keyword name="StandardReport.error" id="StandardReport.error" ref="eric5.UtilitiesPython2.pep8.html#StandardReport.error" />
+      <keyword name="StandardReport.error_args" id="StandardReport.error_args" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport.error_args" />
+      <keyword name="StandardReport.error_args" id="StandardReport.error_args" ref="eric5.UtilitiesPython2.pep8.html#StandardReport.error_args" />
+      <keyword name="StandardReport.get_file_results" id="StandardReport.get_file_results" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport.get_file_results" />
+      <keyword name="StandardReport.get_file_results" id="StandardReport.get_file_results" ref="eric5.UtilitiesPython2.pep8.html#StandardReport.get_file_results" />
+      <keyword name="StandardReport.init_file" id="StandardReport.init_file" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StandardReport.init_file" />
+      <keyword name="StandardReport.init_file" id="StandardReport.init_file" ref="eric5.UtilitiesPython2.pep8.html#StandardReport.init_file" />
       <keyword name="StartDialog" id="StartDialog" ref="eric5.Debugger.StartDialog.html#StartDialog" />
       <keyword name="StartDialog (Constructor)" id="StartDialog (Constructor)" ref="eric5.Debugger.StartDialog.html#StartDialog.__init__" />
       <keyword name="StartDialog (Module)" id="StartDialog (Module)" ref="eric5.Debugger.StartDialog.html" />
@@ -9934,6 +9982,24 @@
       <keyword name="StatusMonitorLed.__switchOn" id="StatusMonitorLed.__switchOn" ref="eric5.VCS.StatusMonitorLed.html#StatusMonitorLed.__switchOn" />
       <keyword name="StatusMonitorLed._showContextMenu" id="StatusMonitorLed._showContextMenu" ref="eric5.VCS.StatusMonitorLed.html#StatusMonitorLed._showContextMenu" />
       <keyword name="StatusMonitorThread (Module)" id="StatusMonitorThread (Module)" ref="eric5.VCS.StatusMonitorThread.html" />
+      <keyword name="StyleGuide" id="StyleGuide" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide" />
+      <keyword name="StyleGuide" id="StyleGuide" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide" />
+      <keyword name="StyleGuide (Constructor)" id="StyleGuide (Constructor)" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.__init__" />
+      <keyword name="StyleGuide (Constructor)" id="StyleGuide (Constructor)" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.__init__" />
+      <keyword name="StyleGuide.check_files" id="StyleGuide.check_files" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.check_files" />
+      <keyword name="StyleGuide.check_files" id="StyleGuide.check_files" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.check_files" />
+      <keyword name="StyleGuide.excluded" id="StyleGuide.excluded" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.excluded" />
+      <keyword name="StyleGuide.excluded" id="StyleGuide.excluded" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.excluded" />
+      <keyword name="StyleGuide.get_checks" id="StyleGuide.get_checks" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.get_checks" />
+      <keyword name="StyleGuide.get_checks" id="StyleGuide.get_checks" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.get_checks" />
+      <keyword name="StyleGuide.ignore_code" id="StyleGuide.ignore_code" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.ignore_code" />
+      <keyword name="StyleGuide.ignore_code" id="StyleGuide.ignore_code" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.ignore_code" />
+      <keyword name="StyleGuide.init_report" id="StyleGuide.init_report" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.init_report" />
+      <keyword name="StyleGuide.init_report" id="StyleGuide.init_report" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.init_report" />
+      <keyword name="StyleGuide.input_dir" id="StyleGuide.input_dir" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.input_dir" />
+      <keyword name="StyleGuide.input_dir" id="StyleGuide.input_dir" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.input_dir" />
+      <keyword name="StyleGuide.input_file" id="StyleGuide.input_file" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#StyleGuide.input_file" />
+      <keyword name="StyleGuide.input_file" id="StyleGuide.input_file" ref="eric5.UtilitiesPython2.pep8.html#StyleGuide.input_file" />
       <keyword name="Subversion" id="Subversion" ref="eric5.Plugins.VcsPlugins.vcsPySvn.subversion.html#Subversion" />
       <keyword name="Subversion" id="Subversion" ref="eric5.Plugins.VcsPlugins.vcsSubversion.subversion.html#Subversion" />
       <keyword name="Subversion (Constructor)" id="Subversion (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsPySvn.subversion.html#Subversion.__init__" />
@@ -12438,6 +12504,8 @@
       <keyword name="__saveShortcut" id="__saveShortcut" ref="eric5.Preferences.Shortcuts.html#__saveShortcut" />
       <keyword name="__setAction" id="__setAction" ref="eric5.Preferences.Shortcuts.html#__setAction" />
       <keyword name="__showwarning" id="__showwarning" ref="eric5.Utilities.__init__.html#__showwarning" />
+      <keyword name="_add_check" id="_add_check" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#_add_check" />
+      <keyword name="_add_check" id="_add_check" ref="eric5.UtilitiesPython2.pep8.html#_add_check" />
       <keyword name="_buildChildrenLists" id="_buildChildrenLists" ref="eric5.Graphics.GraphicsUtilities.html#_buildChildrenLists" />
       <keyword name="_debugclient_start_new_thread" id="_debugclient_start_new_thread" ref="eric5.DebugClients.Python.DebugClientThreads.html#_debugclient_start_new_thread" />
       <keyword name="_debugclient_start_new_thread" id="_debugclient_start_new_thread" ref="eric5.DebugClients.Python3.DebugClientThreads.html#_debugclient_start_new_thread" />
@@ -12467,6 +12535,10 @@
       <keyword name="cleanUp" id="cleanUp" ref="eric5.install.html#cleanUp" />
       <keyword name="close" id="close" ref="eric5.DebugClients.Ruby.AsyncFile.html#close" />
       <keyword name="compactPath" id="compactPath" ref="eric5.Utilities.__init__.html#compactPath" />
+      <keyword name="comparison_to_singleton" id="comparison_to_singleton" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#comparison_to_singleton" />
+      <keyword name="comparison_to_singleton" id="comparison_to_singleton" ref="eric5.UtilitiesPython2.pep8.html#comparison_to_singleton" />
+      <keyword name="comparison_type" id="comparison_type" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#comparison_type" />
+      <keyword name="comparison_type" id="comparison_type" ref="eric5.UtilitiesPython2.pep8.html#comparison_type" />
       <keyword name="compile" id="compile" ref="eric5.Utilities.__init__.html#compile" />
       <keyword name="compile" id="compile" ref="eric5.UtilitiesPython2.Py2SyntaxChecker.html#compile" />
       <keyword name="compileUiDir" id="compileUiDir" ref="eric5.Utilities.uic.html#compileUiDir" />
@@ -12484,6 +12556,8 @@
       <keyword name="contentSniff" id="contentSniff" ref="eric5.Helpviewer.HelpBrowserWV.html#contentSniff" />
       <keyword name="context" id="context" ref="eric5.DebugClients.Ruby.Debuggee.html#context" />
       <keyword name="context_diff" id="context_diff" ref="eric5.UI.DiffDialog.html#context_diff" />
+      <keyword name="continued_indentation" id="continued_indentation" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#continued_indentation" />
+      <keyword name="continued_indentation" id="continued_indentation" ref="eric5.UtilitiesPython2.pep8.html#continued_indentation" />
       <keyword name="convertLineEnds" id="convertLineEnds" ref="eric5.Utilities.__init__.html#convertLineEnds" />
       <keyword name="convertPasswords" id="convertPasswords" ref="eric5.Preferences.__init__.html#convertPasswords" />
       <keyword name="copyToFile" id="copyToFile" ref="eric5.install.html#copyToFile" />
@@ -12624,8 +12698,6 @@
       <keyword name="eventLoop" id="eventLoop" ref="eric5.DebugClients.Ruby.Debuggee.html#eventLoop" />
       <keyword name="eventPoll" id="eventPoll" ref="eric5.DebugClients.Ruby.Debuggee.html#eventPoll" />
       <keyword name="excepthook" id="excepthook" ref="eric5.eric5.html#excepthook" />
-      <keyword name="excluded" id="excluded" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#excluded" />
-      <keyword name="excluded" id="excluded" ref="eric5.UtilitiesPython2.pep8.html#excluded" />
       <keyword name="exeDisplayData" id="exeDisplayData" ref="eric5.Plugins.PluginEricapi.html#exeDisplayData" />
       <keyword name="exeDisplayData" id="exeDisplayData" ref="eric5.Plugins.PluginVcsMercurial.html#exeDisplayData" />
       <keyword name="exeDisplayData" id="exeDisplayData" ref="eric5.Plugins.PluginVcsPySvn.html#exeDisplayData" />
@@ -12635,6 +12707,8 @@
       <keyword name="exit" id="exit" ref="eric5.uninstall.html#exit" />
       <keyword name="expand_indent" id="expand_indent" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#expand_indent" />
       <keyword name="expand_indent" id="expand_indent" ref="eric5.UtilitiesPython2.pep8.html#expand_indent" />
+      <keyword name="explicit_line_join" id="explicit_line_join" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#explicit_line_join" />
+      <keyword name="explicit_line_join" id="explicit_line_join" ref="eric5.UtilitiesPython2.pep8.html#explicit_line_join" />
       <keyword name="exportPreferences" id="exportPreferences" ref="eric5.Preferences.__init__.html#exportPreferences" />
       <keyword name="exportShortcuts" id="exportShortcuts" ref="eric5.Preferences.Shortcuts.html#exportShortcuts" />
       <keyword name="extractFlags" id="extractFlags" ref="eric5.Utilities.__init__.html#extractFlags" />
@@ -12651,8 +12725,6 @@
       <keyword name="fileno" id="fileno" ref="eric5.DebugClients.Ruby.AsyncFile.html#fileno" />
       <keyword name="filterCharsFromFilename" id="filterCharsFromFilename" ref="eric5.Helpviewer.HelpUtilities.html#filterCharsFromFilename" />
       <keyword name="findPython2Interpreters" id="findPython2Interpreters" ref="eric5.Globals.__init__.html#findPython2Interpreters" />
-      <keyword name="find_checks" id="find_checks" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#find_checks" />
-      <keyword name="find_checks" id="find_checks" ref="eric5.UtilitiesPython2.pep8.html#find_checks" />
       <keyword name="find_module" id="find_module" ref="eric5.Utilities.ClassBrowsers.__init__.html#find_module" />
       <keyword name="find_module" id="find_module" ref="eric5.Utilities.ModuleParser.html#find_module" />
       <keyword name="flakesCheck" id="flakesCheck" ref="eric5.UtilitiesPython2.Py2SyntaxChecker.html#flakesCheck" />
@@ -12781,15 +12853,9 @@
       <keyword name="get_coding" id="get_coding" ref="eric5.Utilities.__init__.html#get_coding" />
       <keyword name="get_coding" id="get_coding" ref="eric5.UtilitiesPython2.Tools.html#get_coding" />
       <keyword name="get_codingBytes" id="get_codingBytes" ref="eric5.Utilities.__init__.html#get_codingBytes" />
-      <keyword name="get_count" id="get_count" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#get_count" />
-      <keyword name="get_count" id="get_count" ref="eric5.UtilitiesPython2.pep8.html#get_count" />
-      <keyword name="get_error_statistics" id="get_error_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#get_error_statistics" />
-      <keyword name="get_error_statistics" id="get_error_statistics" ref="eric5.UtilitiesPython2.pep8.html#get_error_statistics" />
-      <keyword name="get_statistics" id="get_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#get_statistics" />
-      <keyword name="get_statistics" id="get_statistics" ref="eric5.UtilitiesPython2.pep8.html#get_statistics" />
+      <keyword name="get_parser" id="get_parser" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#get_parser" />
+      <keyword name="get_parser" id="get_parser" ref="eric5.UtilitiesPython2.pep8.html#get_parser" />
       <keyword name="get_thread" id="get_thread" ref="eric5.DebugClients.Ruby.Debuggee.html#get_thread" />
-      <keyword name="get_warning_statistics" id="get_warning_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#get_warning_statistics" />
-      <keyword name="get_warning_statistics" id="get_warning_statistics" ref="eric5.UtilitiesPython2.pep8.html#get_warning_statistics" />
       <keyword name="getpass" id="getpass" ref="eric5.DebugClients.Python.getpass.html#getpass" />
       <keyword name="getpass" id="getpass" ref="eric5.DebugClients.Python3.getpass.html#getpass" />
       <keyword name="getpass (Module)" id="getpass (Module)" ref="eric5.DebugClients.Python.getpass.html" />
@@ -12808,8 +12874,6 @@
       <keyword name="html_udecode" id="html_udecode" ref="eric5.Utilities.__init__.html#html_udecode" />
       <keyword name="html_uencode" id="html_uencode" ref="eric5.Utilities.__init__.html#html_uencode" />
       <keyword name="idlclbr (Module)" id="idlclbr (Module)" ref="eric5.Utilities.ClassBrowsers.idlclbr.html" />
-      <keyword name="ignore_code" id="ignore_code" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#ignore_code" />
-      <keyword name="ignore_code" id="ignore_code" ref="eric5.UtilitiesPython2.pep8.html#ignore_code" />
       <keyword name="importPreferences" id="importPreferences" ref="eric5.Preferences.__init__.html#importPreferences" />
       <keyword name="importShortcuts" id="importShortcuts" ref="eric5.Preferences.Shortcuts.html#importShortcuts" />
       <keyword name="imports_on_separate_lines" id="imports_on_separate_lines" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#imports_on_separate_lines" />
@@ -12824,11 +12888,9 @@
       <keyword name="initGlobals" id="initGlobals" ref="eric5.uninstall.html#initGlobals" />
       <keyword name="initPreferences" id="initPreferences" ref="eric5.Preferences.__init__.html#initPreferences" />
       <keyword name="initRecentSettings" id="initRecentSettings" ref="eric5.Preferences.__init__.html#initRecentSettings" />
+      <keyword name="init_checks_registry" id="init_checks_registry" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#init_checks_registry" />
+      <keyword name="init_checks_registry" id="init_checks_registry" ref="eric5.UtilitiesPython2.pep8.html#init_checks_registry" />
       <keyword name="initializeResourceSearchPath" id="initializeResourceSearchPath" ref="eric5.Toolbox.Startup.html#initializeResourceSearchPath" />
-      <keyword name="input_dir" id="input_dir" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#input_dir" />
-      <keyword name="input_dir" id="input_dir" ref="eric5.UtilitiesPython2.pep8.html#input_dir" />
-      <keyword name="input_file" id="input_file" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#input_file" />
-      <keyword name="input_file" id="input_file" ref="eric5.UtilitiesPython2.pep8.html#input_file" />
       <keyword name="install (Module)" id="install (Module)" ref="eric5.install.html" />
       <keyword name="install-i18n (Module)" id="install-i18n (Module)" ref="eric5.install-i18n.html" />
       <keyword name="installEric" id="installEric" ref="eric5.install.html#installEric" />
@@ -12882,8 +12944,6 @@
       <keyword name="make_thread_list" id="make_thread_list" ref="eric5.DebugClients.Ruby.Debuggee.html#make_thread_list" />
       <keyword name="maximum_line_length" id="maximum_line_length" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#maximum_line_length" />
       <keyword name="maximum_line_length" id="maximum_line_length" ref="eric5.UtilitiesPython2.pep8.html#maximum_line_length" />
-      <keyword name="message" id="message" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#message" />
-      <keyword name="message" id="message" ref="eric5.UtilitiesPython2.pep8.html#message" />
       <keyword name="messageHandler" id="messageHandler" ref="eric5.E5Gui.E5ErrorMessage.html#messageHandler" />
       <keyword name="messageHandlerInstalled" id="messageHandlerInstalled" ref="eric5.E5Gui.E5ErrorMessage.html#messageHandlerInstalled" />
       <keyword name="messages (Module)" id="messages (Module)" ref="eric5.Utilities.py3flakes.messages.html" />
@@ -12906,6 +12966,8 @@
       <keyword name="parseEnvironmentString" id="parseEnvironmentString" ref="eric5.Utilities.__init__.html#parseEnvironmentString" />
       <keyword name="parseOptionString" id="parseOptionString" ref="eric5.Utilities.__init__.html#parseOptionString" />
       <keyword name="parseString" id="parseString" ref="eric5.Utilities.__init__.html#parseString" />
+      <keyword name="parse_udiff" id="parse_udiff" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#parse_udiff" />
+      <keyword name="parse_udiff" id="parse_udiff" ref="eric5.UtilitiesPython2.pep8.html#parse_udiff" />
       <keyword name="patch_modpython (Module)" id="patch_modpython (Module)" ref="eric5.patch_modpython.html" />
       <keyword name="pbkdf2" id="pbkdf2" ref="eric5.Utilities.crypto.py3PBKDF2.html#pbkdf2" />
       <keyword name="pendingWrite" id="pendingWrite" ref="eric5.DebugClients.Ruby.AsyncFile.html#pendingWrite" />
@@ -12918,10 +12980,6 @@
       <keyword name="prepareUninstall" id="prepareUninstall" ref="eric5.Plugins.PluginVcsSubversion.html#prepareUninstall" />
       <keyword name="previewPix" id="previewPix" ref="eric5.Plugins.PluginVmListspace.html#previewPix" />
       <keyword name="previewPix" id="previewPix" ref="eric5.Plugins.PluginVmTabview.html#previewPix" />
-      <keyword name="print_benchmark" id="print_benchmark" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#print_benchmark" />
-      <keyword name="print_benchmark" id="print_benchmark" ref="eric5.UtilitiesPython2.pep8.html#print_benchmark" />
-      <keyword name="print_statistics" id="print_statistics" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#print_statistics" />
-      <keyword name="print_statistics" id="print_statistics" ref="eric5.UtilitiesPython2.pep8.html#print_statistics" />
       <keyword name="printerr" id="printerr" ref="eric5.DebugClients.Python.DebugBase.html#printerr" />
       <keyword name="printerr" id="printerr" ref="eric5.DebugClients.Python3.DebugBase.html#printerr" />
       <keyword name="process_options" id="process_options" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#process_options" />
@@ -12968,6 +13026,8 @@
       <keyword name="readShortcuts" id="readShortcuts" ref="eric5.Preferences.Shortcuts.html#readShortcuts" />
       <keyword name="readStringFromStream" id="readStringFromStream" ref="eric5.Utilities.__init__.html#readStringFromStream" />
       <keyword name="readToolGroups" id="readToolGroups" ref="eric5.Preferences.__init__.html#readToolGroups" />
+      <keyword name="read_config" id="read_config" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#read_config" />
+      <keyword name="read_config" id="read_config" ref="eric5.UtilitiesPython2.pep8.html#read_config" />
       <keyword name="readline" id="readline" ref="eric5.DebugClients.Ruby.AsyncFile.html#readline" />
       <keyword name="readlines" id="readlines" ref="eric5.DebugClients.Ruby.AsyncFile.html#readlines" />
       <keyword name="readlines" id="readlines" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#readlines" />
@@ -12981,6 +13041,8 @@
       <keyword name="readmodule_ex" id="readmodule_ex" ref="eric5.Utilities.ClassBrowsers.rbclbr.html#readmodule_ex" />
       <keyword name="rebase (Module)" id="rebase (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.html" />
       <keyword name="registerLexer" id="registerLexer" ref="eric5.QScintilla.Lexers.__init__.html#registerLexer" />
+      <keyword name="register_check" id="register_check" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#register_check" />
+      <keyword name="register_check" id="register_check" ref="eric5.UtilitiesPython2.pep8.html#register_check" />
       <keyword name="rehashPassword" id="rehashPassword" ref="eric5.Utilities.crypto.py3PBKDF2.html#rehashPassword" />
       <keyword name="relpath" id="relpath" ref="eric5.Utilities.__init__.html#relpath" />
       <keyword name="removeMarkers" id="removeMarkers" ref="eric5.UI.CompareDialog.html#removeMarkers" />
@@ -12989,11 +13051,7 @@
       <keyword name="resetLayout" id="resetLayout" ref="eric5.Preferences.__init__.html#resetLayout" />
       <keyword name="resetParsedModule" id="resetParsedModule" ref="eric5.Utilities.ModuleParser.html#resetParsedModule" />
       <keyword name="resetParsedModules" id="resetParsedModules" ref="eric5.Utilities.ModuleParser.html#resetParsedModules" />
-      <keyword name="reset_counters" id="reset_counters" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#reset_counters" />
-      <keyword name="reset_counters" id="reset_counters" ref="eric5.UtilitiesPython2.pep8.html#reset_counters" />
       <keyword name="retryAbort" id="retryAbort" ref="eric5.E5Gui.E5MessageBox.html#retryAbort" />
-      <keyword name="run_tests" id="run_tests" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#run_tests" />
-      <keyword name="run_tests" id="run_tests" ref="eric5.UtilitiesPython2.pep8.html#run_tests" />
       <keyword name="runcall" id="runcall" ref="eric5.DebugClients.Python.eric5dbgstub.html#runcall" />
       <keyword name="runcall" id="runcall" ref="eric5.DebugClients.Python3.eric5dbgstub.html#runcall" />
       <keyword name="rxExecute" id="rxExecute" ref="eric5.Plugins.WizardPlugins.QRegularExpressionWizard.QRegularExpressionWizardServer.html#rxExecute" />
@@ -13005,8 +13063,6 @@
       <keyword name="sbsdiff" id="sbsdiff" ref="eric5.UI.CompareDialog.html#sbsdiff" />
       <keyword name="schemeFromProxyType" id="schemeFromProxyType" ref="eric5.E5Network.E5NetworkProxyFactory.html#schemeFromProxyType" />
       <keyword name="seek" id="seek" ref="eric5.DebugClients.Ruby.AsyncFile.html#seek" />
-      <keyword name="selftest" id="selftest" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#selftest" />
-      <keyword name="selftest" id="selftest" ref="eric5.UtilitiesPython2.pep8.html#selftest" />
       <keyword name="setActions" id="setActions" ref="eric5.Preferences.Shortcuts.html#setActions" />
       <keyword name="setConfigDir" id="setConfigDir" ref="eric5.Globals.__init__.html#setConfigDir" />
       <keyword name="setCooperation" id="setCooperation" ref="eric5.Preferences.__init__.html#setCooperation" />
@@ -13060,6 +13116,8 @@
       <keyword name="splitPath" id="splitPath" ref="eric5.Utilities.__init__.html#splitPath" />
       <keyword name="startDebugger" id="startDebugger" ref="eric5.DebugClients.Python.eric5dbgstub.html#startDebugger" />
       <keyword name="startDebugger" id="startDebugger" ref="eric5.DebugClients.Python3.eric5dbgstub.html#startDebugger" />
+      <keyword name="stdin_get_value" id="stdin_get_value" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#stdin_get_value" />
+      <keyword name="stdin_get_value" id="stdin_get_value" ref="eric5.UtilitiesPython2.pep8.html#stdin_get_value" />
       <keyword name="strip_PKCS7_padding" id="strip_PKCS7_padding" ref="eric5.Utilities.crypto.py3AES.html#strip_PKCS7_padding" />
       <keyword name="subversion (Module)" id="subversion (Module)" ref="eric5.Plugins.VcsPlugins.vcsPySvn.subversion.html" />
       <keyword name="subversion (Module)" id="subversion (Module)" ref="eric5.Plugins.VcsPlugins.vcsSubversion.subversion.html" />
@@ -13113,6 +13171,8 @@
       <keyword name="warning" id="warning" ref="eric5.E5Gui.E5MessageBox.html#warning" />
       <keyword name="whitespace_around_comma" id="whitespace_around_comma" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#whitespace_around_comma" />
       <keyword name="whitespace_around_comma" id="whitespace_around_comma" ref="eric5.UtilitiesPython2.pep8.html#whitespace_around_comma" />
+      <keyword name="whitespace_around_keywords" id="whitespace_around_keywords" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#whitespace_around_keywords" />
+      <keyword name="whitespace_around_keywords" id="whitespace_around_keywords" ref="eric5.UtilitiesPython2.pep8.html#whitespace_around_keywords" />
       <keyword name="whitespace_around_named_parameter_equals" id="whitespace_around_named_parameter_equals" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#whitespace_around_named_parameter_equals" />
       <keyword name="whitespace_around_named_parameter_equals" id="whitespace_around_named_parameter_equals" ref="eric5.UtilitiesPython2.pep8.html#whitespace_around_named_parameter_equals" />
       <keyword name="whitespace_around_operator" id="whitespace_around_operator" ref="eric5.Plugins.CheckerPlugins.Pep8.pep8.html#whitespace_around_operator" />
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html	Sat Aug 24 15:05:05 2013 +0200
@@ -30,9 +30,6 @@
 <h3>Classes</h3>
 <table>
 <tr>
-<td><a href="#Pep8Checker">Pep8Checker</a></td>
-<td>Class implementing the PEP 8 checker.</td>
-</tr><tr>
 <td><a href="#Pep8Py2Checker">Pep8Py2Checker</a></td>
 <td>Class implementing the PEP 8 checker interface for Python 2.</td>
 </tr>
@@ -42,109 +39,6 @@
 <tr><td>None</td></tr>
 </table>
 <hr /><hr />
-<a NAME="Pep8Checker" ID="Pep8Checker"></a>
-<h2>Pep8Checker</h2>
-<p>
-    Class implementing the PEP 8 checker.
-</p>
-<h3>Derived from</h3>
-pep8.Checker
-<h3>Class Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Class Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-<table>
-<tr>
-<td><a href="#Pep8Checker.__init__">Pep8Checker</a></td>
-<td>Constructor</td>
-</tr><tr>
-<td><a href="#Pep8Checker.__ignore_code">__ignore_code</a></td>
-<td>Private method to check, if the message for the given code should be ignored.</td>
-</tr><tr>
-<td><a href="#Pep8Checker.report_error_args">report_error_args</a></td>
-<td>Public method to collect the error messages.</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<a NAME="Pep8Checker.__init__" ID="Pep8Checker.__init__"></a>
-<h4>Pep8Checker (Constructor)</h4>
-<b>Pep8Checker</b>(<i>filename, lines, repeat=False, select="", ignore=""</i>)
-<p>
-        Constructor
-</p><dl>
-<dt><i>filename</i></dt>
-<dd>
-name of the file to check (string)
-</dd><dt><i>lines</i></dt>
-<dd>
-source of the file (list of strings)
-</dd><dt><i>repeat=</i></dt>
-<dd>
-flag indicating to repeat message categories (boolean)
-</dd><dt><i>select=</i></dt>
-<dd>
-list of message IDs to check for
-            (comma separated string)
-</dd><dt><i>ignore=</i></dt>
-<dd>
-list of message IDs to ignore
-            (comma separated string)
-</dd>
-</dl><a NAME="Pep8Checker.__ignore_code" ID="Pep8Checker.__ignore_code"></a>
-<h4>Pep8Checker.__ignore_code</h4>
-<b>__ignore_code</b>(<i>code</i>)
-<p>
-        Private method to check, if the message for the given code should
-        be ignored.
-</p><p>
-        If codes are selected and the code has a selected prefix and does not
-        have an ignored prefix, it is not ignored. If codes are selected and
-        the code does not have a selected prefix, it is ignored. If no codes
-        are selected, the code is ignored, if it has a prefix, that is
-        contained in the ignored codes.
-</p><dl>
-<dt><i>code</i></dt>
-<dd>
-code to be checked (string)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating, that the code should be ignored (boolean)
-</dd>
-</dl><a NAME="Pep8Checker.report_error_args" ID="Pep8Checker.report_error_args"></a>
-<h4>Pep8Checker.report_error_args</h4>
-<b>report_error_args</b>(<i>line_number, offset, code, check, *args</i>)
-<p>
-        Public method to collect the error messages.
-</p><dl>
-<dt><i>line_number</i></dt>
-<dd>
-line number of the issue (integer)
-</dd><dt><i>offset</i></dt>
-<dd>
-position within line of the issue (integer)
-</dd><dt><i>code</i></dt>
-<dd>
-message code (string)
-</dd><dt><i>check</i></dt>
-<dd>
-reference to the checker function (function)
-</dd><dt><i>args</i></dt>
-<dd>
-arguments for the message (list)
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
 <a NAME="Pep8Py2Checker" ID="Pep8Py2Checker"></a>
 <h2>Pep8Py2Checker</h2>
 <p>
@@ -173,7 +67,7 @@
 </table>
 <a NAME="Pep8Py2Checker.__init__" ID="Pep8Py2Checker.__init__"></a>
 <h4>Pep8Py2Checker (Constructor)</h4>
-<b>Pep8Py2Checker</b>(<i>filename, lines, repeat=False, select="", ignore=""</i>)
+<b>Pep8Py2Checker</b>(<i>filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False</i>)
 <p>
         Constructor
 </p><dl>
@@ -194,6 +88,12 @@
 <dd>
 list of message IDs to ignore
             (comma separated string)
+</dd><dt><i>max_line_length=</i></dt>
+<dd>
+maximum allowed line length (integer)
+</dd><dt><i>hang_closing=</i></dt>
+<dd>
+flag indicating to allow hanging closing brackets (boolean)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html	Sat Aug 24 15:05:05 2013 +0200
@@ -32,6 +32,9 @@
 <tr>
 <td><a href="#Pep8Dialog">Pep8Dialog</a></td>
 <td>Class implementing a dialog to show the results of the PEP 8 check.</td>
+</tr><tr>
+<td><a href="#Pep8Report">Pep8Report</a></td>
+<td>Class implementing a special report to be used with our dialog.</td>
 </tr>
 </table>
 <h3>Functions</h3>
@@ -287,5 +290,69 @@
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="Pep8Report" ID="Pep8Report"></a>
+<h2>Pep8Report</h2>
+<p>
+    Class implementing a special report to be used with our dialog.
+</p>
+<h3>Derived from</h3>
+pep8.BaseReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#Pep8Report.__init__">Pep8Report</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#Pep8Report.error_args">error_args</a></td>
+<td>Public method to collect the error messages.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="Pep8Report.__init__" ID="Pep8Report.__init__"></a>
+<h4>Pep8Report (Constructor)</h4>
+<b>Pep8Report</b>(<i>options</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>options</i></dt>
+<dd>
+options for the report (optparse.Values)
+</dd>
+</dl><a NAME="Pep8Report.error_args" ID="Pep8Report.error_args"></a>
+<h4>Pep8Report.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
+<p>
+        Public method to collect the error messages.
+</p><dl>
+<dt><i>line_number</i></dt>
+<dd>
+line number of the issue (integer)
+</dd><dt><i>offset</i></dt>
+<dd>
+position within line of the issue (integer)
+</dd><dt><i>code</i></dt>
+<dd>
+message code (string)
+</dd><dt><i>check</i></dt>
+<dd>
+reference to the checker function (function)
+</dd><dt><i>args</i></dt>
+<dd>
+arguments for the message (list)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.pep8.html	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.pep8.html	Sat Aug 24 15:05:05 2013 +0200
@@ -23,59 +23,71 @@
 
 <h3>Global Attributes</h3>
 <table>
-<tr><td>BENCHMARK_KEYS</td></tr><tr><td>BINARY_OPERATORS</td></tr><tr><td>DEFAULT_EXCLUDE</td></tr><tr><td>DEFAULT_IGNORE</td></tr><tr><td>DOCSTRING_REGEX</td></tr><tr><td>E225NOT_KEYWORDS</td></tr><tr><td>ERRORCODE_REGEX</td></tr><tr><td>EXTRANEOUS_WHITESPACE_REGEX</td></tr><tr><td>INDENT_REGEX</td></tr><tr><td>MAX_LINE_LENGTH</td></tr><tr><td>OPERATORS</td></tr><tr><td>RAISE_COMMA_REGEX</td></tr><tr><td>SELFTEST_REGEX</td></tr><tr><td>SKIP_TOKENS</td></tr><tr><td>UNARY_OPERATORS</td></tr><tr><td>WHITESPACE</td></tr><tr><td>WHITESPACE_AROUND_NAMED_PARAMETER_REGEX</td></tr><tr><td>WHITESPACE_AROUND_OPERATOR_REGEX</td></tr><tr><td>__version__</td></tr><tr><td>args</td></tr><tr><td>options</td></tr><tr><td>pep8_messages</td></tr><tr><td>pep8_messages_sample_args</td></tr>
+<tr><td>ARITHMETIC_OP</td></tr><tr><td>BENCHMARK_KEYS</td></tr><tr><td>COMMENT_WITH_NL</td></tr><tr><td>COMPARE_SINGLETON_REGEX</td></tr><tr><td>COMPARE_TYPE_REGEX</td></tr><tr><td>DEFAULT_EXCLUDE</td></tr><tr><td>DEFAULT_IGNORE</td></tr><tr><td>DOCSTRING_REGEX</td></tr><tr><td>ERRORCODE_REGEX</td></tr><tr><td>EXTRANEOUS_WHITESPACE_REGEX</td></tr><tr><td>HUNK_REGEX</td></tr><tr><td>INDENT_REGEX</td></tr><tr><td>KEYWORDS</td></tr><tr><td>KEYWORD_REGEX</td></tr><tr><td>LAMBDA_REGEX</td></tr><tr><td>MAX_LINE_LENGTH</td></tr><tr><td>OPERATOR_REGEX</td></tr><tr><td>PROJECT_CONFIG</td></tr><tr><td>PyCF_ONLY_AST</td></tr><tr><td>RAISE_COMMA_REGEX</td></tr><tr><td>REPORT_FORMAT</td></tr><tr><td>RERAISE_COMMA_REGEX</td></tr><tr><td>SINGLETONS</td></tr><tr><td>SKIP_TOKENS</td></tr><tr><td>TESTSUITE_PATH</td></tr><tr><td>UNARY_OPERATORS</td></tr><tr><td>WHITESPACE</td></tr><tr><td>WHITESPACE_AFTER_COMMA_REGEX</td></tr><tr><td>WS_NEEDED_OPERATORS</td></tr><tr><td>WS_OPTIONAL_OPERATORS</td></tr><tr><td>__version__</td></tr><tr><td>_checks</td></tr><tr><td>noqa</td></tr><tr><td>pep8_messages</td></tr><tr><td>pep8_messages_sample_args</td></tr>
 </table>
 <h3>Classes</h3>
 <table>
 <tr>
+<td><a href="#BaseReport">BaseReport</a></td>
+<td>Collect the results of the checks.</td>
+</tr><tr>
 <td><a href="#Checker">Checker</a></td>
 <td>Load a Python source file, tokenize it, check coding style.</td>
+</tr><tr>
+<td><a href="#DiffReport">DiffReport</a></td>
+<td>Collect and print the results for the changed lines only.</td>
+</tr><tr>
+<td><a href="#FileReport">FileReport</a></td>
+<td>Collect the results of the checks and print only the filenames.</td>
+</tr><tr>
+<td><a href="#StandardReport">StandardReport</a></td>
+<td>Collect and print the results of the checks.</td>
+</tr><tr>
+<td><a href="#StyleGuide">StyleGuide</a></td>
+<td>Initialize a PEP-8 instance with few options.</td>
 </tr>
 </table>
 <h3>Functions</h3>
 <table>
 <tr>
+<td><a href="#_add_check">_add_check</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#_main">_main</a></td>
 <td>Parse options and run checks on Python source.</td>
 </tr><tr>
 <td><a href="#blank_lines">blank_lines</a></td>
 <td></td>
 </tr><tr>
+<td><a href="#comparison_to_singleton">comparison_to_singleton</a></td>
+<td>Comparisons to singletons like None should always be done with "is" or "is not", never the equality operators.</td>
+</tr><tr>
+<td><a href="#comparison_type">comparison_type</a></td>
+<td>Object type comparisons should always use isinstance() instead of comparing types directly.</td>
+</tr><tr>
 <td><a href="#compound_statements">compound_statements</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#excluded">excluded</a></td>
-<td>Check if options.exclude contains a pattern that matches filename.</td>
+<td><a href="#continued_indentation">continued_indentation</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#expand_indent">expand_indent</a></td>
-<td>Return the amount of indentation.</td>
+<td></td>
+</tr><tr>
+<td><a href="#explicit_line_join">explicit_line_join</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#extraneous_whitespace">extraneous_whitespace</a></td>
 <td>Avoid extraneous whitespace in the following situations:</td>
 </tr><tr>
 <td><a href="#filename_match">filename_match</a></td>
-<td>Check if options.filename contains a pattern that matches filename.</td>
-</tr><tr>
-<td><a href="#find_checks">find_checks</a></td>
-<td>Find all globally visible functions where the first argument name starts with argument_name.</td>
+<td>Check if patterns contains a pattern that matches filename.</td>
 </tr><tr>
 <td><a href="#getMessage">getMessage</a></td>
 <td>Function to get a translated and formatted message for a given code.</td>
 </tr><tr>
-<td><a href="#get_count">get_count</a></td>
-<td>Return the total count of errors and warnings.</td>
-</tr><tr>
-<td><a href="#get_error_statistics">get_error_statistics</a></td>
-<td>Get error statistics.</td>
-</tr><tr>
-<td><a href="#get_statistics">get_statistics</a></td>
-<td>Get statistics for message codes that start with the prefix.</td>
-</tr><tr>
-<td><a href="#get_warning_statistics">get_warning_statistics</a></td>
-<td>Get warning statistics.</td>
-</tr><tr>
-<td><a href="#ignore_code">ignore_code</a></td>
-<td>Check if options.ignore contains a prefix of the error code.</td>
+<td><a href="#get_parser">get_parser</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#imports_on_separate_lines">imports_on_separate_lines</a></td>
 <td></td>
@@ -83,18 +95,12 @@
 <td><a href="#indentation">indentation</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#input_dir">input_dir</a></td>
-<td>Check all Python source files in this directory and all subdirectories.</td>
-</tr><tr>
-<td><a href="#input_file">input_file</a></td>
-<td>Run all checks on a Python source file.</td>
+<td><a href="#init_checks_registry">init_checks_registry</a></td>
+<td>Register all globally visible functions where the first argument name is 'physical_line' or 'logical_line'.</td>
 </tr><tr>
 <td><a href="#maximum_line_length">maximum_line_length</a></td>
 <td>Limit all lines to a maximum of 79 characters.</td>
 </tr><tr>
-<td><a href="#message">message</a></td>
-<td>Print a message.</td>
-</tr><tr>
 <td><a href="#missing_newline">missing_newline</a></td>
 <td>JCR: The last line should have a newline.</td>
 </tr><tr>
@@ -107,20 +113,17 @@
 <td><a href="#mute_string">mute_string</a></td>
 <td>Replace contents with 'xxx' to prevent syntax matching.</td>
 </tr><tr>
-<td><a href="#print_benchmark">print_benchmark</a></td>
-<td>Print benchmark numbers.</td>
-</tr><tr>
-<td><a href="#print_statistics">print_statistics</a></td>
-<td>Print overall statistics (number of errors and warnings).</td>
+<td><a href="#parse_udiff">parse_udiff</a></td>
+<td>Return a dictionary of matching lines.</td>
 </tr><tr>
 <td><a href="#process_options">process_options</a></td>
 <td>Process options passed either via arglist or via command line args.</td>
 </tr><tr>
 <td><a href="#python_3000_backticks">python_3000_backticks</a></td>
-<td>Backticks are removed in Python 3000.</td>
+<td>Backticks are removed in Python 3.</td>
 </tr><tr>
 <td><a href="#python_3000_has_key">python_3000_has_key</a></td>
-<td>The {}.has_key() method will be removed in the future version of Python.</td>
+<td></td>
 </tr><tr>
 <td><a href="#python_3000_not_equal">python_3000_not_equal</a></td>
 <td>!= can also be written <>, but this is an obsolete usage kept for backwards compatibility only.</td>
@@ -128,20 +131,20 @@
 <td><a href="#python_3000_raise_comma">python_3000_raise_comma</a></td>
 <td>When raising an exception, use "raise ValueError('message')" instead of the older form "raise ValueError, 'message'".</td>
 </tr><tr>
+<td><a href="#read_config">read_config</a></td>
+<td>Read both user configuration and local configuration.</td>
+</tr><tr>
 <td><a href="#readlines">readlines</a></td>
 <td></td>
 </tr><tr>
 <td><a href="#readlines_1">readlines</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#reset_counters">reset_counters</a></td>
-<td></td>
+<td><a href="#register_check">register_check</a></td>
+<td>Register a new check object.</td>
 </tr><tr>
-<td><a href="#run_tests">run_tests</a></td>
-<td>Run all the tests from a file.</td>
-</tr><tr>
-<td><a href="#selftest">selftest</a></td>
-<td>Test all check functions with test cases in docstrings.</td>
+<td><a href="#stdin_get_value">stdin_get_value</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#tabs_obsolete">tabs_obsolete</a></td>
 <td></td>
@@ -158,6 +161,9 @@
 <td><a href="#whitespace_around_comma">whitespace_around_comma</a></td>
 <td>Avoid extraneous whitespace in the following situations:</td>
 </tr><tr>
+<td><a href="#whitespace_around_keywords">whitespace_around_keywords</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#whitespace_around_named_parameter_equals">whitespace_around_named_parameter_equals</a></td>
 <td>Don't use spaces around the '=' sign when used to indicate a keyword argument or a default parameter value.</td>
 </tr><tr>
@@ -172,6 +178,131 @@
 </tr>
 </table>
 <hr /><hr />
+<a NAME="BaseReport" ID="BaseReport"></a>
+<h2>BaseReport</h2>
+<p>
+Collect the results of the checks.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>print_filename</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#BaseReport.__init__">BaseReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#BaseReport.error">error</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#BaseReport.error_args">error_args</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_count">get_count</a></td>
+<td>Return the total count of errors and warnings.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_file_results">get_file_results</a></td>
+<td>Return the count of errors and warnings for this file.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_statistics">get_statistics</a></td>
+<td>Get statistics for message codes that start with the prefix.</td>
+</tr><tr>
+<td><a href="#BaseReport.increment_logical_line">increment_logical_line</a></td>
+<td>Signal a new logical line.</td>
+</tr><tr>
+<td><a href="#BaseReport.init_file">init_file</a></td>
+<td>Signal a new file.</td>
+</tr><tr>
+<td><a href="#BaseReport.print_benchmark">print_benchmark</a></td>
+<td>Print benchmark numbers.</td>
+</tr><tr>
+<td><a href="#BaseReport.print_statistics">print_statistics</a></td>
+<td>Print overall statistics (number of errors and warnings).</td>
+</tr><tr>
+<td><a href="#BaseReport.start">start</a></td>
+<td>Start the timer.</td>
+</tr><tr>
+<td><a href="#BaseReport.stop">stop</a></td>
+<td>Stop the timer.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="BaseReport.__init__" ID="BaseReport.__init__"></a>
+<h4>BaseReport (Constructor)</h4>
+<b>BaseReport</b>(<i>options</i>)
+<a NAME="BaseReport.error" ID="BaseReport.error"></a>
+<h4>BaseReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="BaseReport.error_args" ID="BaseReport.error_args"></a>
+<h4>BaseReport.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="BaseReport.get_count" ID="BaseReport.get_count"></a>
+<h4>BaseReport.get_count</h4>
+<b>get_count</b>(<i>prefix=''</i>)
+<p>
+Return the total count of errors and warnings.
+</p><a NAME="BaseReport.get_file_results" ID="BaseReport.get_file_results"></a>
+<h4>BaseReport.get_file_results</h4>
+<b>get_file_results</b>(<i></i>)
+<p>
+Return the count of errors and warnings for this file.
+</p><a NAME="BaseReport.get_statistics" ID="BaseReport.get_statistics"></a>
+<h4>BaseReport.get_statistics</h4>
+<b>get_statistics</b>(<i>prefix=''</i>)
+<p>
+        Get statistics for message codes that start with the prefix.
+</p><p>
+        prefix='' matches all errors and warnings
+        prefix='E' matches all errors
+        prefix='W' matches all warnings
+        prefix='E4' matches all errors that have to do with imports
+</p><a NAME="BaseReport.increment_logical_line" ID="BaseReport.increment_logical_line"></a>
+<h4>BaseReport.increment_logical_line</h4>
+<b>increment_logical_line</b>(<i></i>)
+<p>
+Signal a new logical line.
+</p><a NAME="BaseReport.init_file" ID="BaseReport.init_file"></a>
+<h4>BaseReport.init_file</h4>
+<b>init_file</b>(<i>filename, lines, expected, line_offset</i>)
+<p>
+Signal a new file.
+</p><a NAME="BaseReport.print_benchmark" ID="BaseReport.print_benchmark"></a>
+<h4>BaseReport.print_benchmark</h4>
+<b>print_benchmark</b>(<i></i>)
+<p>
+Print benchmark numbers.
+</p><a NAME="BaseReport.print_statistics" ID="BaseReport.print_statistics"></a>
+<h4>BaseReport.print_statistics</h4>
+<b>print_statistics</b>(<i>prefix=''</i>)
+<p>
+Print overall statistics (number of errors and warnings).
+</p><a NAME="BaseReport.start" ID="BaseReport.start"></a>
+<h4>BaseReport.start</h4>
+<b>start</b>(<i></i>)
+<p>
+Start the timer.
+</p><a NAME="BaseReport.stop" ID="BaseReport.stop"></a>
+<h4>BaseReport.stop</h4>
+<b>stop</b>(<i></i>)
+<p>
+Stop the timer.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="Checker" ID="Checker"></a>
 <h2>Checker</h2>
 <p>
@@ -199,20 +330,26 @@
 <td><a href="#Checker.check_all">check_all</a></td>
 <td>Run all checks on the input file.</td>
 </tr><tr>
+<td><a href="#Checker.check_ast">check_ast</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Checker.check_logical">check_logical</a></td>
 <td>Build a line from tokens and run all logical checks on it.</td>
 </tr><tr>
 <td><a href="#Checker.check_physical">check_physical</a></td>
 <td>Run all physical checks on a raw input line.</td>
 </tr><tr>
+<td><a href="#Checker.generate_tokens">generate_tokens</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Checker.readline">readline</a></td>
 <td>Get the next line from the input buffer.</td>
 </tr><tr>
 <td><a href="#Checker.readline_check_physical">readline_check_physical</a></td>
 <td>Check and return the next physical line.</td>
 </tr><tr>
-<td><a href="#Checker.report_error">report_error</a></td>
-<td>Report an error, according to options.</td>
+<td><a href="#Checker.report_invalid_syntax">report_invalid_syntax</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#Checker.run_check">run_check</a></td>
 <td>Run a check plugin.</td>
@@ -224,7 +361,7 @@
 </table>
 <a NAME="Checker.__init__" ID="Checker.__init__"></a>
 <h4>Checker (Constructor)</h4>
-<b>Checker</b>(<i>filename, lines=None</i>)
+<b>Checker</b>(<i>filename=None, lines=None, options=None, report=None, **kwargs</i>)
 <a NAME="Checker.build_tokens_line" ID="Checker.build_tokens_line"></a>
 <h4>Checker.build_tokens_line</h4>
 <b>build_tokens_line</b>(<i></i>)
@@ -235,7 +372,10 @@
 <b>check_all</b>(<i>expected=None, line_offset=0</i>)
 <p>
         Run all checks on the input file.
-</p><a NAME="Checker.check_logical" ID="Checker.check_logical"></a>
+</p><a NAME="Checker.check_ast" ID="Checker.check_ast"></a>
+<h4>Checker.check_ast</h4>
+<b>check_ast</b>(<i></i>)
+<a NAME="Checker.check_logical" ID="Checker.check_logical"></a>
 <h4>Checker.check_logical</h4>
 <b>check_logical</b>(<i></i>)
 <p>
@@ -245,7 +385,10 @@
 <b>check_physical</b>(<i>line</i>)
 <p>
         Run all physical checks on a raw input line.
-</p><a NAME="Checker.readline" ID="Checker.readline"></a>
+</p><a NAME="Checker.generate_tokens" ID="Checker.generate_tokens"></a>
+<h4>Checker.generate_tokens</h4>
+<b>generate_tokens</b>(<i></i>)
+<a NAME="Checker.readline" ID="Checker.readline"></a>
 <h4>Checker.readline</h4>
 <b>readline</b>(<i></i>)
 <p>
@@ -256,12 +399,10 @@
 <p>
         Check and return the next physical line. This method can be
         used to feed tokenize.generate_tokens.
-</p><a NAME="Checker.report_error" ID="Checker.report_error"></a>
-<h4>Checker.report_error</h4>
-<b>report_error</b>(<i>line_number, offset, text, check</i>)
-<p>
-        Report an error, according to options.
-</p><a NAME="Checker.run_check" ID="Checker.run_check"></a>
+</p><a NAME="Checker.report_invalid_syntax" ID="Checker.report_invalid_syntax"></a>
+<h4>Checker.report_invalid_syntax</h4>
+<b>report_invalid_syntax</b>(<i></i>)
+<a NAME="Checker.run_check" ID="Checker.run_check"></a>
 <h4>Checker.run_check</h4>
 <b>run_check</b>(<i>check, argument_names</i>)
 <p>
@@ -269,52 +410,306 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="DiffReport" ID="DiffReport"></a>
+<h2>DiffReport</h2>
+<p>
+Collect and print the results for the changed lines only.
+</p>
+<h3>Derived from</h3>
+StandardReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#DiffReport.__init__">DiffReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#DiffReport.error">error</a></td>
+<td></td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="DiffReport.__init__" ID="DiffReport.__init__"></a>
+<h4>DiffReport (Constructor)</h4>
+<b>DiffReport</b>(<i>options</i>)
+<a NAME="DiffReport.error" ID="DiffReport.error"></a>
+<h4>DiffReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="FileReport" ID="FileReport"></a>
+<h2>FileReport</h2>
+<p>
+Collect the results of the checks and print only the filenames.
+</p>
+<h3>Derived from</h3>
+BaseReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>print_filename</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="StandardReport" ID="StandardReport"></a>
+<h2>StandardReport</h2>
+<p>
+Collect and print the results of the checks.
+</p>
+<h3>Derived from</h3>
+BaseReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#StandardReport.__init__">StandardReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#StandardReport.error">error</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#StandardReport.error_args">error_args</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#StandardReport.get_file_results">get_file_results</a></td>
+<td>Print the result and return the overall count for this file.</td>
+</tr><tr>
+<td><a href="#StandardReport.init_file">init_file</a></td>
+<td>Signal a new file.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="StandardReport.__init__" ID="StandardReport.__init__"></a>
+<h4>StandardReport (Constructor)</h4>
+<b>StandardReport</b>(<i>options</i>)
+<a NAME="StandardReport.error" ID="StandardReport.error"></a>
+<h4>StandardReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="StandardReport.error_args" ID="StandardReport.error_args"></a>
+<h4>StandardReport.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="StandardReport.get_file_results" ID="StandardReport.get_file_results"></a>
+<h4>StandardReport.get_file_results</h4>
+<b>get_file_results</b>(<i></i>)
+<p>
+Print the result and return the overall count for this file.
+</p><a NAME="StandardReport.init_file" ID="StandardReport.init_file"></a>
+<h4>StandardReport.init_file</h4>
+<b>init_file</b>(<i>filename, lines, expected, line_offset</i>)
+<p>
+Signal a new file.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="StyleGuide" ID="StyleGuide"></a>
+<h2>StyleGuide</h2>
+<p>
+Initialize a PEP-8 instance with few options.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#StyleGuide.__init__">StyleGuide</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#StyleGuide.check_files">check_files</a></td>
+<td>Run all checks on the paths.</td>
+</tr><tr>
+<td><a href="#StyleGuide.excluded">excluded</a></td>
+<td>Check if options.exclude contains a pattern that matches filename.</td>
+</tr><tr>
+<td><a href="#StyleGuide.get_checks">get_checks</a></td>
+<td>Find all globally visible functions where the first argument name starts with argument_name and which contain selected tests.</td>
+</tr><tr>
+<td><a href="#StyleGuide.ignore_code">ignore_code</a></td>
+<td>Check if the error code should be ignored.</td>
+</tr><tr>
+<td><a href="#StyleGuide.init_report">init_report</a></td>
+<td>Initialize the report instance.</td>
+</tr><tr>
+<td><a href="#StyleGuide.input_dir">input_dir</a></td>
+<td>Check all files in this directory and all subdirectories.</td>
+</tr><tr>
+<td><a href="#StyleGuide.input_file">input_file</a></td>
+<td>Run all checks on a Python source file.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="StyleGuide.__init__" ID="StyleGuide.__init__"></a>
+<h4>StyleGuide (Constructor)</h4>
+<b>StyleGuide</b>(<i>*args, **kwargs</i>)
+<a NAME="StyleGuide.check_files" ID="StyleGuide.check_files"></a>
+<h4>StyleGuide.check_files</h4>
+<b>check_files</b>(<i>paths=None</i>)
+<p>
+Run all checks on the paths.
+</p><a NAME="StyleGuide.excluded" ID="StyleGuide.excluded"></a>
+<h4>StyleGuide.excluded</h4>
+<b>excluded</b>(<i>filename, parent=None</i>)
+<p>
+        Check if options.exclude contains a pattern that matches filename.
+</p><a NAME="StyleGuide.get_checks" ID="StyleGuide.get_checks"></a>
+<h4>StyleGuide.get_checks</h4>
+<b>get_checks</b>(<i>argument_name</i>)
+<p>
+        Find all globally visible functions where the first argument name
+        starts with argument_name and which contain selected tests.
+</p><a NAME="StyleGuide.ignore_code" ID="StyleGuide.ignore_code"></a>
+<h4>StyleGuide.ignore_code</h4>
+<b>ignore_code</b>(<i>code</i>)
+<p>
+        Check if the error code should be ignored.
+</p><p>
+        If 'options.select' contains a prefix of the error code,
+        return False.  Else, if 'options.ignore' contains a prefix of
+        the error code, return True.
+</p><a NAME="StyleGuide.init_report" ID="StyleGuide.init_report"></a>
+<h4>StyleGuide.init_report</h4>
+<b>init_report</b>(<i>reporter=None</i>)
+<p>
+Initialize the report instance.
+</p><a NAME="StyleGuide.input_dir" ID="StyleGuide.input_dir"></a>
+<h4>StyleGuide.input_dir</h4>
+<b>input_dir</b>(<i>dirname</i>)
+<p>
+Check all files in this directory and all subdirectories.
+</p><a NAME="StyleGuide.input_file" ID="StyleGuide.input_file"></a>
+<h4>StyleGuide.input_file</h4>
+<b>input_file</b>(<i>filename, lines=None, expected=None, line_offset=0</i>)
+<p>
+Run all checks on a Python source file.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="_add_check" ID="_add_check"></a>
+<h2>_add_check</h2>
+<b>_add_check</b>(<i>check, kind, codes, args</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="_main" ID="_main"></a>
 <h2>_main</h2>
 <b>_main</b>(<i></i>)
 <p>
-    Parse options and run checks on Python source.
+Parse options and run checks on Python source.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="blank_lines" ID="blank_lines"></a>
 <h2>blank_lines</h2>
-<b>blank_lines</b>(<i>logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level, blank_lines_before_comment</i>)
+<b>blank_lines</b>(<i>logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level</i>)
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="comparison_to_singleton" ID="comparison_to_singleton"></a>
+<h2>comparison_to_singleton</h2>
+<b>comparison_to_singleton</b>(<i>logical_line, noqa</i>)
+<p>
+    Comparisons to singletons like None should always be done
+    with "is" or "is not", never the equality operators.
+</p><p>
+    Okay: if arg is not None:
+    E711: if arg != None:
+    E712: if arg == True:
+</p><p>
+    Also, beware of writing if x when you really mean if x is not None --
+    e.g. when testing whether a variable or argument that defaults to None was
+    set to some other value.  The other value might have a type (such as a
+    container) that could be false in a boolean context!
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="comparison_type" ID="comparison_type"></a>
+<h2>comparison_type</h2>
+<b>comparison_type</b>(<i>logical_line</i>)
+<p>
+    Object type comparisons should always use isinstance() instead of
+    comparing types directly.
+</p><p>
+    Okay: if isinstance(obj, int):
+    E721: if type(obj) is type(1):
+</p><p>
+    When checking if an object is a string, keep in mind that it might be a
+    unicode string too! In Python 2.3, str and unicode have a common base
+    class, basestring, so you can do:
+</p><p>
+    Okay: if isinstance(obj, basestring):
+    Okay: if type(a1) is type(b1):
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="compound_statements" ID="compound_statements"></a>
 <h2>compound_statements</h2>
 <b>compound_statements</b>(<i>logical_line</i>)
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="excluded" ID="excluded"></a>
-<h2>excluded</h2>
-<b>excluded</b>(<i>filename</i>)
-<p>
-    Check if options.exclude contains a pattern that matches filename.
-</p>
+<a NAME="continued_indentation" ID="continued_indentation"></a>
+<h2>continued_indentation</h2>
+<b>continued_indentation</b>(<i>logical_line, tokens, indent_level, hang_closing, noqa, verbose</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="expand_indent" ID="expand_indent"></a>
 <h2>expand_indent</h2>
 <b>expand_indent</b>(<i>line</i>)
-<p>
-    Return the amount of indentation.
-    Tabs are expanded to the next multiple of 8.
-</p><p>
-    >>> expand_indent('    ')
-    4
-    >>> expand_indent('\\t')
-    8
-    >>> expand_indent('    \\t')
-    8
-    >>> expand_indent('       \\t')
-    8
-    >>> expand_indent('        \\t')
-    16
-</p>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="explicit_line_join" ID="explicit_line_join"></a>
+<h2>explicit_line_join</h2>
+<b>explicit_line_join</b>(<i>logical_line, tokens</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="extraneous_whitespace" ID="extraneous_whitespace"></a>
@@ -343,19 +738,10 @@
 <hr /><hr />
 <a NAME="filename_match" ID="filename_match"></a>
 <h2>filename_match</h2>
-<b>filename_match</b>(<i>filename</i>)
+<b>filename_match</b>(<i>filename, patterns, default=True</i>)
 <p>
-    Check if options.filename contains a pattern that matches filename.
-    If options.filename is unspecified, this always returns True.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="find_checks" ID="find_checks"></a>
-<h2>find_checks</h2>
-<b>find_checks</b>(<i>argument_name</i>)
-<p>
-    Find all globally visible functions where the first argument name
-    starts with argument_name.
+    Check if patterns contains a pattern that matches filename.
+    If patterns is unspecified, this always returns True.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -380,50 +766,10 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="get_count" ID="get_count"></a>
-<h2>get_count</h2>
-<b>get_count</b>(<i>prefix=''</i>)
-<p>
-Return the total count of errors and warnings.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_error_statistics" ID="get_error_statistics"></a>
-<h2>get_error_statistics</h2>
-<b>get_error_statistics</b>(<i></i>)
-<p>
-Get error statistics.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_statistics" ID="get_statistics"></a>
-<h2>get_statistics</h2>
-<b>get_statistics</b>(<i>prefix=''</i>)
-<p>
-    Get statistics for message codes that start with the prefix.
-</p><p>
-    prefix='' matches all errors and warnings
-    prefix='E' matches all errors
-    prefix='W' matches all warnings
-    prefix='E4' matches all errors that have to do with imports
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_warning_statistics" ID="get_warning_statistics"></a>
-<h2>get_warning_statistics</h2>
-<b>get_warning_statistics</b>(<i></i>)
-<p>
-Get warning statistics.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="ignore_code" ID="ignore_code"></a>
-<h2>ignore_code</h2>
-<b>ignore_code</b>(<i>code</i>)
-<p>
-    Check if options.ignore contains a prefix of the error code.
-    If options.select contains a prefix of the error code, do not ignore it.
-</p>
+<a NAME="get_parser" ID="get_parser"></a>
+<h2>get_parser</h2>
+<b>get_parser</b>(<i>prog='pep8', version=__version__</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="imports_on_separate_lines" ID="imports_on_separate_lines"></a>
@@ -438,25 +784,18 @@
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="input_dir" ID="input_dir"></a>
-<h2>input_dir</h2>
-<b>input_dir</b>(<i>dirname, runner=None</i>)
+<a NAME="init_checks_registry" ID="init_checks_registry"></a>
+<h2>init_checks_registry</h2>
+<b>init_checks_registry</b>(<i></i>)
 <p>
-    Check all Python source files in this directory and all subdirectories.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="input_file" ID="input_file"></a>
-<h2>input_file</h2>
-<b>input_file</b>(<i>filename</i>)
-<p>
-    Run all checks on a Python source file.
+    Register all globally visible functions where the first argument name
+    is 'physical_line' or 'logical_line'.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="maximum_line_length" ID="maximum_line_length"></a>
 <h2>maximum_line_length</h2>
-<b>maximum_line_length</b>(<i>physical_line</i>)
+<b>maximum_line_length</b>(<i>physical_line, max_line_length</i>)
 <p>
     Limit all lines to a maximum of 79 characters.
 </p><p>
@@ -466,14 +805,8 @@
     ugly.  Therefore, please limit all lines to a maximum of 79 characters.
     For flowing long blocks of text (docstrings or comments), limiting the
     length to 72 characters is recommended.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="message" ID="message"></a>
-<h2>message</h2>
-<b>message</b>(<i>text</i>)
-<p>
-Print a message.
+</p><p>
+    Reports error E501.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -482,6 +815,8 @@
 <b>missing_newline</b>(<i>physical_line</i>)
 <p>
     JCR: The last line should have a newline.
+</p><p>
+    Reports warning W292.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -499,6 +834,7 @@
     Okay: a[1:4:2]
     E231: ['a','b']
     E231: foo(bar,baz)
+    E231: [{'a':'b'}]
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -523,27 +859,19 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="print_benchmark" ID="print_benchmark"></a>
-<h2>print_benchmark</h2>
-<b>print_benchmark</b>(<i>elapsed</i>)
+<a NAME="parse_udiff" ID="parse_udiff"></a>
+<h2>parse_udiff</h2>
+<b>parse_udiff</b>(<i>diff, patterns=None, parent='.'</i>)
 <p>
-    Print benchmark numbers.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="print_statistics" ID="print_statistics"></a>
-<h2>print_statistics</h2>
-<b>print_statistics</b>(<i>prefix=''</i>)
-<p>
-Print overall statistics (number of errors and warnings).
+Return a dictionary of matching lines.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="process_options" ID="process_options"></a>
 <h2>process_options</h2>
-<b>process_options</b>(<i>arglist=None</i>)
+<b>process_options</b>(<i>arglist=None, parse_argv=False, config_file=None, parser=None</i>)
 <p>
-    Process options passed either via arglist or via command line args.
+Process options passed either via arglist or via command line args.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -551,21 +879,18 @@
 <h2>python_3000_backticks</h2>
 <b>python_3000_backticks</b>(<i>logical_line</i>)
 <p>
-    Backticks are removed in Python 3000.
+    Backticks are removed in Python 3.
     Use repr() instead.
+</p><p>
+    Okay: val = repr(1 + 2)
+    W604: val = `1 + 2`
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="python_3000_has_key" ID="python_3000_has_key"></a>
 <h2>python_3000_has_key</h2>
 <b>python_3000_has_key</b>(<i>logical_line</i>)
-<p>
-    The {}.has_key() method will be removed in the future version of
-    Python. Use the 'in' operation instead, like:
-    d = {"a": 1, "b": 2}
-    if "b" in d:
-        print d["b"]
-</p>
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="python_3000_not_equal" ID="python_3000_not_equal"></a>
@@ -574,7 +899,10 @@
 <p>
     != can also be written <>, but this is an obsolete usage kept for
     backwards compatibility only. New code should always use !=.
-    The older syntax is removed in Python 3000.
+    The older syntax is removed in Python 3.
+</p><p>
+    Okay: if a != 'no':
+    W603: if a <> 'no':
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -588,7 +916,18 @@
     The paren-using form is preferred because when the exception arguments
     are long or include string formatting, you don't need to use line
     continuation characters thanks to the containing parentheses.  The older
-    form will be removed in Python 3000.
+    form is removed in Python 3.
+</p><p>
+    Okay: raise DummyError("Message")
+    W602: raise DummyError, "Message"
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="read_config" ID="read_config"></a>
+<h2>read_config</h2>
+<b>read_config</b>(<i>options, args, arglist, parser</i>)
+<p>
+Read both user configuration and local configuration.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -604,40 +943,18 @@
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="reset_counters" ID="reset_counters"></a>
-<h2>reset_counters</h2>
-<b>reset_counters</b>(<i></i>)
-
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="run_tests" ID="run_tests"></a>
-<h2>run_tests</h2>
-<b>run_tests</b>(<i>filename</i>)
+<a NAME="register_check" ID="register_check"></a>
+<h2>register_check</h2>
+<b>register_check</b>(<i>check, codes=None</i>)
 <p>
-    Run all the tests from a file.
-</p><p>
-    A test file can provide many tests.  Each test starts with a declaration.
-    This declaration is a single line starting with '#:'.
-    It declares codes of expected failures, separated by spaces or 'Okay'
-    if no failure is expected.
-    If the file does not contain such declaration, it should pass all tests.
-    If the declaration is empty, following lines are not checked, until next
-    declaration.
-</p><p>
-    Examples:
-</p><p>
-     * Only E224 and W701 are expected:         #: E224 W701
-     * Following example is conform:            #: Okay
-     * Don't check these lines:                 #:
+    Register a new check object.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="selftest" ID="selftest"></a>
-<h2>selftest</h2>
-<b>selftest</b>(<i></i>)
-<p>
-    Test all check functions with test cases in docstrings.
-</p>
+<a NAME="stdin_get_value" ID="stdin_get_value"></a>
+<h2>stdin_get_value</h2>
+<b>stdin_get_value</b>(<i></i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="tabs_obsolete" ID="tabs_obsolete"></a>
@@ -682,9 +999,15 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="whitespace_around_keywords" ID="whitespace_around_keywords"></a>
+<h2>whitespace_around_keywords</h2>
+<b>whitespace_around_keywords</b>(<i>logical_line</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="whitespace_around_named_parameter_equals" ID="whitespace_around_named_parameter_equals"></a>
 <h2>whitespace_around_named_parameter_equals</h2>
-<b>whitespace_around_named_parameter_equals</b>(<i>logical_line</i>)
+<b>whitespace_around_named_parameter_equals</b>(<i>logical_line, tokens</i>)
 <p>
     Don't use spaces around the '=' sign when used to indicate a
     keyword argument or a default parameter value.
--- a/Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html	Sat Aug 24 15:05:05 2013 +0200
@@ -30,8 +30,8 @@
 <h3>Classes</h3>
 <table>
 <tr>
-<td><a href="#Pep8Checker">Pep8Checker</a></td>
-<td>Class implementing the PEP 8 checker for Python2.</td>
+<td><a href="#Pep8Report">Pep8Report</a></td>
+<td>Class implementing a special report to be used with our dialog.</td>
 </tr>
 </table>
 <h3>Functions</h3>
@@ -39,16 +39,16 @@
 <tr><td>None</td></tr>
 </table>
 <hr /><hr />
-<a NAME="Pep8Checker" ID="Pep8Checker"></a>
-<h2>Pep8Checker</h2>
+<a NAME="Pep8Report" ID="Pep8Report"></a>
+<h2>Pep8Report</h2>
 <p>
-    Class implementing the PEP 8 checker for Python2.
+    Class implementing a special report to be used with our dialog.
 </p>
 <h3>Derived from</h3>
-pep8.Checker
+pep8.BaseReport
 <h3>Class Attributes</h3>
 <table>
-<tr><td>filename</td></tr><tr><td>ignore</td></tr><tr><td>repeat</td></tr><tr><td>select</td></tr>
+<tr><td>filename</td></tr><tr><td>hang_closing</td></tr><tr><td>ignore</td></tr><tr><td>max_line_length</td></tr><tr><td>repeat</td></tr><tr><td>select</td></tr>
 </table>
 <h3>Class Methods</h3>
 <table>
@@ -57,13 +57,10 @@
 <h3>Methods</h3>
 <table>
 <tr>
-<td><a href="#Pep8Checker.__init__">Pep8Checker</a></td>
+<td><a href="#Pep8Report.__init__">Pep8Report</a></td>
 <td>Constructor</td>
 </tr><tr>
-<td><a href="#Pep8Checker.__ignore_code">__ignore_code</a></td>
-<td>Private method to check, if the message for the given code should be ignored.</td>
-</tr><tr>
-<td><a href="#Pep8Checker.report_error_args">report_error_args</a></td>
+<td><a href="#Pep8Report.error_args">error_args</a></td>
 <td>Public method to collect the error messages.</td>
 </tr>
 </table>
@@ -71,55 +68,19 @@
 <table>
 <tr><td>None</td></tr>
 </table>
-<a NAME="Pep8Checker.__init__" ID="Pep8Checker.__init__"></a>
-<h4>Pep8Checker (Constructor)</h4>
-<b>Pep8Checker</b>(<i>filename, lines, repeat=False, select="", ignore=""</i>)
+<a NAME="Pep8Report.__init__" ID="Pep8Report.__init__"></a>
+<h4>Pep8Report (Constructor)</h4>
+<b>Pep8Report</b>(<i>options</i>)
 <p>
         Constructor
 </p><dl>
-<dt><i>filename</i></dt>
-<dd>
-name of the file to check (string)
-</dd><dt><i>lines</i></dt>
-<dd>
-source of the file (list of strings)
-</dd><dt><i>repeat=</i></dt>
+<dt><i>options</i></dt>
 <dd>
-flag indicating to repeat message categories (boolean)
-</dd><dt><i>select=</i></dt>
-<dd>
-list of message IDs to check for
-            (comma separated string)
-</dd><dt><i>ignore=</i></dt>
-<dd>
-list of message IDs to ignore
-            (comma separated string)
+options for the report (optparse.Values)
 </dd>
-</dl><a NAME="Pep8Checker.__ignore_code" ID="Pep8Checker.__ignore_code"></a>
-<h4>Pep8Checker.__ignore_code</h4>
-<b>__ignore_code</b>(<i>code</i>)
-<p>
-        Private method to check, if the message for the given code should
-        be ignored.
-</p><p>
-        If codes are selected and the code has a selected prefix and does not
-        have an ignored prefix, it is not ignored. If codes are selected and
-        the code does not have a selected prefix, it is ignored. If no codes
-        are selected, the code is ignored, if it has a prefix, that is
-        contained in the ignored codes.
-</p><dl>
-<dt><i>code</i></dt>
-<dd>
-code to be checked (string)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-flag indicating, that the code should be ignored (boolean)
-</dd>
-</dl><a NAME="Pep8Checker.report_error_args" ID="Pep8Checker.report_error_args"></a>
-<h4>Pep8Checker.report_error_args</h4>
-<b>report_error_args</b>(<i>line_number, offset, code, check, *args</i>)
+</dl><a NAME="Pep8Report.error_args" ID="Pep8Report.error_args"></a>
+<h4>Pep8Report.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
 <p>
         Public method to collect the error messages.
 </p><dl>
--- a/Documentation/Source/eric5.UtilitiesPython2.pep8.html	Sat Aug 24 14:44:55 2013 +0200
+++ b/Documentation/Source/eric5.UtilitiesPython2.pep8.html	Sat Aug 24 15:05:05 2013 +0200
@@ -23,56 +23,68 @@
 
 <h3>Global Attributes</h3>
 <table>
-<tr><td>BENCHMARK_KEYS</td></tr><tr><td>BINARY_OPERATORS</td></tr><tr><td>DEFAULT_EXCLUDE</td></tr><tr><td>DEFAULT_IGNORE</td></tr><tr><td>DOCSTRING_REGEX</td></tr><tr><td>E225NOT_KEYWORDS</td></tr><tr><td>ERRORCODE_REGEX</td></tr><tr><td>EXTRANEOUS_WHITESPACE_REGEX</td></tr><tr><td>INDENT_REGEX</td></tr><tr><td>MAX_LINE_LENGTH</td></tr><tr><td>OPERATORS</td></tr><tr><td>RAISE_COMMA_REGEX</td></tr><tr><td>SELFTEST_REGEX</td></tr><tr><td>SKIP_TOKENS</td></tr><tr><td>UNARY_OPERATORS</td></tr><tr><td>WHITESPACE</td></tr><tr><td>WHITESPACE_AROUND_NAMED_PARAMETER_REGEX</td></tr><tr><td>WHITESPACE_AROUND_OPERATOR_REGEX</td></tr><tr><td>__version__</td></tr><tr><td>args</td></tr><tr><td>options</td></tr>
+<tr><td>ARITHMETIC_OP</td></tr><tr><td>BENCHMARK_KEYS</td></tr><tr><td>COMMENT_WITH_NL</td></tr><tr><td>COMPARE_SINGLETON_REGEX</td></tr><tr><td>COMPARE_TYPE_REGEX</td></tr><tr><td>DEFAULT_EXCLUDE</td></tr><tr><td>DEFAULT_IGNORE</td></tr><tr><td>DOCSTRING_REGEX</td></tr><tr><td>ERRORCODE_REGEX</td></tr><tr><td>EXTRANEOUS_WHITESPACE_REGEX</td></tr><tr><td>HUNK_REGEX</td></tr><tr><td>INDENT_REGEX</td></tr><tr><td>KEYWORDS</td></tr><tr><td>KEYWORD_REGEX</td></tr><tr><td>LAMBDA_REGEX</td></tr><tr><td>MAX_LINE_LENGTH</td></tr><tr><td>OPERATOR_REGEX</td></tr><tr><td>PROJECT_CONFIG</td></tr><tr><td>PyCF_ONLY_AST</td></tr><tr><td>RAISE_COMMA_REGEX</td></tr><tr><td>REPORT_FORMAT</td></tr><tr><td>RERAISE_COMMA_REGEX</td></tr><tr><td>SINGLETONS</td></tr><tr><td>SKIP_TOKENS</td></tr><tr><td>TESTSUITE_PATH</td></tr><tr><td>UNARY_OPERATORS</td></tr><tr><td>WHITESPACE</td></tr><tr><td>WHITESPACE_AFTER_COMMA_REGEX</td></tr><tr><td>WS_NEEDED_OPERATORS</td></tr><tr><td>WS_OPTIONAL_OPERATORS</td></tr><tr><td>__version__</td></tr><tr><td>_checks</td></tr><tr><td>noqa</td></tr>
 </table>
 <h3>Classes</h3>
 <table>
 <tr>
+<td><a href="#BaseReport">BaseReport</a></td>
+<td>Collect the results of the checks.</td>
+</tr><tr>
 <td><a href="#Checker">Checker</a></td>
 <td>Load a Python source file, tokenize it, check coding style.</td>
+</tr><tr>
+<td><a href="#DiffReport">DiffReport</a></td>
+<td>Collect and print the results for the changed lines only.</td>
+</tr><tr>
+<td><a href="#FileReport">FileReport</a></td>
+<td>Collect the results of the checks and print only the filenames.</td>
+</tr><tr>
+<td><a href="#StandardReport">StandardReport</a></td>
+<td>Collect and print the results of the checks.</td>
+</tr><tr>
+<td><a href="#StyleGuide">StyleGuide</a></td>
+<td>Initialize a PEP-8 instance with few options.</td>
 </tr>
 </table>
 <h3>Functions</h3>
 <table>
 <tr>
+<td><a href="#_add_check">_add_check</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#_main">_main</a></td>
 <td>Parse options and run checks on Python source.</td>
 </tr><tr>
 <td><a href="#blank_lines">blank_lines</a></td>
 <td></td>
 </tr><tr>
+<td><a href="#comparison_to_singleton">comparison_to_singleton</a></td>
+<td>Comparisons to singletons like None should always be done with "is" or "is not", never the equality operators.</td>
+</tr><tr>
+<td><a href="#comparison_type">comparison_type</a></td>
+<td>Object type comparisons should always use isinstance() instead of comparing types directly.</td>
+</tr><tr>
 <td><a href="#compound_statements">compound_statements</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#excluded">excluded</a></td>
-<td>Check if options.exclude contains a pattern that matches filename.</td>
+<td><a href="#continued_indentation">continued_indentation</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#expand_indent">expand_indent</a></td>
-<td>Return the amount of indentation.</td>
+<td></td>
+</tr><tr>
+<td><a href="#explicit_line_join">explicit_line_join</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#extraneous_whitespace">extraneous_whitespace</a></td>
 <td>Avoid extraneous whitespace in the following situations:</td>
 </tr><tr>
 <td><a href="#filename_match">filename_match</a></td>
-<td>Check if options.filename contains a pattern that matches filename.</td>
-</tr><tr>
-<td><a href="#find_checks">find_checks</a></td>
-<td>Find all globally visible functions where the first argument name starts with argument_name.</td>
-</tr><tr>
-<td><a href="#get_count">get_count</a></td>
-<td>Return the total count of errors and warnings.</td>
+<td>Check if patterns contains a pattern that matches filename.</td>
 </tr><tr>
-<td><a href="#get_error_statistics">get_error_statistics</a></td>
-<td>Get error statistics.</td>
-</tr><tr>
-<td><a href="#get_statistics">get_statistics</a></td>
-<td>Get statistics for message codes that start with the prefix.</td>
-</tr><tr>
-<td><a href="#get_warning_statistics">get_warning_statistics</a></td>
-<td>Get warning statistics.</td>
-</tr><tr>
-<td><a href="#ignore_code">ignore_code</a></td>
-<td>Check if options.ignore contains a prefix of the error code.</td>
+<td><a href="#get_parser">get_parser</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#imports_on_separate_lines">imports_on_separate_lines</a></td>
 <td></td>
@@ -80,18 +92,12 @@
 <td><a href="#indentation">indentation</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#input_dir">input_dir</a></td>
-<td>Check all Python source files in this directory and all subdirectories.</td>
-</tr><tr>
-<td><a href="#input_file">input_file</a></td>
-<td>Run all checks on a Python source file.</td>
+<td><a href="#init_checks_registry">init_checks_registry</a></td>
+<td>Register all globally visible functions where the first argument name is 'physical_line' or 'logical_line'.</td>
 </tr><tr>
 <td><a href="#maximum_line_length">maximum_line_length</a></td>
 <td>Limit all lines to a maximum of 79 characters.</td>
 </tr><tr>
-<td><a href="#message">message</a></td>
-<td>Print a message.</td>
-</tr><tr>
 <td><a href="#missing_newline">missing_newline</a></td>
 <td>JCR: The last line should have a newline.</td>
 </tr><tr>
@@ -104,20 +110,17 @@
 <td><a href="#mute_string">mute_string</a></td>
 <td>Replace contents with 'xxx' to prevent syntax matching.</td>
 </tr><tr>
-<td><a href="#print_benchmark">print_benchmark</a></td>
-<td>Print benchmark numbers.</td>
-</tr><tr>
-<td><a href="#print_statistics">print_statistics</a></td>
-<td>Print overall statistics (number of errors and warnings).</td>
+<td><a href="#parse_udiff">parse_udiff</a></td>
+<td>Return a dictionary of matching lines.</td>
 </tr><tr>
 <td><a href="#process_options">process_options</a></td>
 <td>Process options passed either via arglist or via command line args.</td>
 </tr><tr>
 <td><a href="#python_3000_backticks">python_3000_backticks</a></td>
-<td>Backticks are removed in Python 3000.</td>
+<td>Backticks are removed in Python 3.</td>
 </tr><tr>
 <td><a href="#python_3000_has_key">python_3000_has_key</a></td>
-<td>The {}.has_key() method will be removed in the future version of Python.</td>
+<td></td>
 </tr><tr>
 <td><a href="#python_3000_not_equal">python_3000_not_equal</a></td>
 <td>!= can also be written <>, but this is an obsolete usage kept for backwards compatibility only.</td>
@@ -125,20 +128,20 @@
 <td><a href="#python_3000_raise_comma">python_3000_raise_comma</a></td>
 <td>When raising an exception, use "raise ValueError('message')" instead of the older form "raise ValueError, 'message'".</td>
 </tr><tr>
+<td><a href="#read_config">read_config</a></td>
+<td>Read both user configuration and local configuration.</td>
+</tr><tr>
 <td><a href="#readlines">readlines</a></td>
 <td></td>
 </tr><tr>
 <td><a href="#readlines_1">readlines</a></td>
 <td></td>
 </tr><tr>
-<td><a href="#reset_counters">reset_counters</a></td>
-<td></td>
+<td><a href="#register_check">register_check</a></td>
+<td>Register a new check object.</td>
 </tr><tr>
-<td><a href="#run_tests">run_tests</a></td>
-<td>Run all the tests from a file.</td>
-</tr><tr>
-<td><a href="#selftest">selftest</a></td>
-<td>Test all check functions with test cases in docstrings.</td>
+<td><a href="#stdin_get_value">stdin_get_value</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#tabs_obsolete">tabs_obsolete</a></td>
 <td></td>
@@ -155,6 +158,9 @@
 <td><a href="#whitespace_around_comma">whitespace_around_comma</a></td>
 <td>Avoid extraneous whitespace in the following situations:</td>
 </tr><tr>
+<td><a href="#whitespace_around_keywords">whitespace_around_keywords</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#whitespace_around_named_parameter_equals">whitespace_around_named_parameter_equals</a></td>
 <td>Don't use spaces around the '=' sign when used to indicate a keyword argument or a default parameter value.</td>
 </tr><tr>
@@ -169,6 +175,131 @@
 </tr>
 </table>
 <hr /><hr />
+<a NAME="BaseReport" ID="BaseReport"></a>
+<h2>BaseReport</h2>
+<p>
+Collect the results of the checks.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>print_filename</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#BaseReport.__init__">BaseReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#BaseReport.error">error</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#BaseReport.error_args">error_args</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_count">get_count</a></td>
+<td>Return the total count of errors and warnings.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_file_results">get_file_results</a></td>
+<td>Return the count of errors and warnings for this file.</td>
+</tr><tr>
+<td><a href="#BaseReport.get_statistics">get_statistics</a></td>
+<td>Get statistics for message codes that start with the prefix.</td>
+</tr><tr>
+<td><a href="#BaseReport.increment_logical_line">increment_logical_line</a></td>
+<td>Signal a new logical line.</td>
+</tr><tr>
+<td><a href="#BaseReport.init_file">init_file</a></td>
+<td>Signal a new file.</td>
+</tr><tr>
+<td><a href="#BaseReport.print_benchmark">print_benchmark</a></td>
+<td>Print benchmark numbers.</td>
+</tr><tr>
+<td><a href="#BaseReport.print_statistics">print_statistics</a></td>
+<td>Print overall statistics (number of errors and warnings).</td>
+</tr><tr>
+<td><a href="#BaseReport.start">start</a></td>
+<td>Start the timer.</td>
+</tr><tr>
+<td><a href="#BaseReport.stop">stop</a></td>
+<td>Stop the timer.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="BaseReport.__init__" ID="BaseReport.__init__"></a>
+<h4>BaseReport (Constructor)</h4>
+<b>BaseReport</b>(<i>options</i>)
+<a NAME="BaseReport.error" ID="BaseReport.error"></a>
+<h4>BaseReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="BaseReport.error_args" ID="BaseReport.error_args"></a>
+<h4>BaseReport.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="BaseReport.get_count" ID="BaseReport.get_count"></a>
+<h4>BaseReport.get_count</h4>
+<b>get_count</b>(<i>prefix=''</i>)
+<p>
+Return the total count of errors and warnings.
+</p><a NAME="BaseReport.get_file_results" ID="BaseReport.get_file_results"></a>
+<h4>BaseReport.get_file_results</h4>
+<b>get_file_results</b>(<i></i>)
+<p>
+Return the count of errors and warnings for this file.
+</p><a NAME="BaseReport.get_statistics" ID="BaseReport.get_statistics"></a>
+<h4>BaseReport.get_statistics</h4>
+<b>get_statistics</b>(<i>prefix=''</i>)
+<p>
+        Get statistics for message codes that start with the prefix.
+</p><p>
+        prefix='' matches all errors and warnings
+        prefix='E' matches all errors
+        prefix='W' matches all warnings
+        prefix='E4' matches all errors that have to do with imports
+</p><a NAME="BaseReport.increment_logical_line" ID="BaseReport.increment_logical_line"></a>
+<h4>BaseReport.increment_logical_line</h4>
+<b>increment_logical_line</b>(<i></i>)
+<p>
+Signal a new logical line.
+</p><a NAME="BaseReport.init_file" ID="BaseReport.init_file"></a>
+<h4>BaseReport.init_file</h4>
+<b>init_file</b>(<i>filename, lines, expected, line_offset</i>)
+<p>
+Signal a new file.
+</p><a NAME="BaseReport.print_benchmark" ID="BaseReport.print_benchmark"></a>
+<h4>BaseReport.print_benchmark</h4>
+<b>print_benchmark</b>(<i></i>)
+<p>
+Print benchmark numbers.
+</p><a NAME="BaseReport.print_statistics" ID="BaseReport.print_statistics"></a>
+<h4>BaseReport.print_statistics</h4>
+<b>print_statistics</b>(<i>prefix=''</i>)
+<p>
+Print overall statistics (number of errors and warnings).
+</p><a NAME="BaseReport.start" ID="BaseReport.start"></a>
+<h4>BaseReport.start</h4>
+<b>start</b>(<i></i>)
+<p>
+Start the timer.
+</p><a NAME="BaseReport.stop" ID="BaseReport.stop"></a>
+<h4>BaseReport.stop</h4>
+<b>stop</b>(<i></i>)
+<p>
+Stop the timer.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="Checker" ID="Checker"></a>
 <h2>Checker</h2>
 <p>
@@ -196,20 +327,26 @@
 <td><a href="#Checker.check_all">check_all</a></td>
 <td>Run all checks on the input file.</td>
 </tr><tr>
+<td><a href="#Checker.check_ast">check_ast</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Checker.check_logical">check_logical</a></td>
 <td>Build a line from tokens and run all logical checks on it.</td>
 </tr><tr>
 <td><a href="#Checker.check_physical">check_physical</a></td>
 <td>Run all physical checks on a raw input line.</td>
 </tr><tr>
+<td><a href="#Checker.generate_tokens">generate_tokens</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Checker.readline">readline</a></td>
 <td>Get the next line from the input buffer.</td>
 </tr><tr>
 <td><a href="#Checker.readline_check_physical">readline_check_physical</a></td>
 <td>Check and return the next physical line.</td>
 </tr><tr>
-<td><a href="#Checker.report_error">report_error</a></td>
-<td>Report an error, according to options.</td>
+<td><a href="#Checker.report_invalid_syntax">report_invalid_syntax</a></td>
+<td></td>
 </tr><tr>
 <td><a href="#Checker.run_check">run_check</a></td>
 <td>Run a check plugin.</td>
@@ -221,7 +358,7 @@
 </table>
 <a NAME="Checker.__init__" ID="Checker.__init__"></a>
 <h4>Checker (Constructor)</h4>
-<b>Checker</b>(<i>filename, lines=None</i>)
+<b>Checker</b>(<i>filename=None, lines=None, options=None, report=None, **kwargs</i>)
 <a NAME="Checker.build_tokens_line" ID="Checker.build_tokens_line"></a>
 <h4>Checker.build_tokens_line</h4>
 <b>build_tokens_line</b>(<i></i>)
@@ -232,7 +369,10 @@
 <b>check_all</b>(<i>expected=None, line_offset=0</i>)
 <p>
         Run all checks on the input file.
-</p><a NAME="Checker.check_logical" ID="Checker.check_logical"></a>
+</p><a NAME="Checker.check_ast" ID="Checker.check_ast"></a>
+<h4>Checker.check_ast</h4>
+<b>check_ast</b>(<i></i>)
+<a NAME="Checker.check_logical" ID="Checker.check_logical"></a>
 <h4>Checker.check_logical</h4>
 <b>check_logical</b>(<i></i>)
 <p>
@@ -242,7 +382,10 @@
 <b>check_physical</b>(<i>line</i>)
 <p>
         Run all physical checks on a raw input line.
-</p><a NAME="Checker.readline" ID="Checker.readline"></a>
+</p><a NAME="Checker.generate_tokens" ID="Checker.generate_tokens"></a>
+<h4>Checker.generate_tokens</h4>
+<b>generate_tokens</b>(<i></i>)
+<a NAME="Checker.readline" ID="Checker.readline"></a>
 <h4>Checker.readline</h4>
 <b>readline</b>(<i></i>)
 <p>
@@ -253,12 +396,10 @@
 <p>
         Check and return the next physical line. This method can be
         used to feed tokenize.generate_tokens.
-</p><a NAME="Checker.report_error" ID="Checker.report_error"></a>
-<h4>Checker.report_error</h4>
-<b>report_error</b>(<i>line_number, offset, text, check</i>)
-<p>
-        Report an error, according to options.
-</p><a NAME="Checker.run_check" ID="Checker.run_check"></a>
+</p><a NAME="Checker.report_invalid_syntax" ID="Checker.report_invalid_syntax"></a>
+<h4>Checker.report_invalid_syntax</h4>
+<b>report_invalid_syntax</b>(<i></i>)
+<a NAME="Checker.run_check" ID="Checker.run_check"></a>
 <h4>Checker.run_check</h4>
 <b>run_check</b>(<i>check, argument_names</i>)
 <p>
@@ -266,52 +407,306 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="DiffReport" ID="DiffReport"></a>
+<h2>DiffReport</h2>
+<p>
+Collect and print the results for the changed lines only.
+</p>
+<h3>Derived from</h3>
+StandardReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#DiffReport.__init__">DiffReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#DiffReport.error">error</a></td>
+<td></td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="DiffReport.__init__" ID="DiffReport.__init__"></a>
+<h4>DiffReport (Constructor)</h4>
+<b>DiffReport</b>(<i>options</i>)
+<a NAME="DiffReport.error" ID="DiffReport.error"></a>
+<h4>DiffReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="FileReport" ID="FileReport"></a>
+<h2>FileReport</h2>
+<p>
+Collect the results of the checks and print only the filenames.
+</p>
+<h3>Derived from</h3>
+BaseReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>print_filename</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="StandardReport" ID="StandardReport"></a>
+<h2>StandardReport</h2>
+<p>
+Collect and print the results of the checks.
+</p>
+<h3>Derived from</h3>
+BaseReport
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#StandardReport.__init__">StandardReport</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#StandardReport.error">error</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#StandardReport.error_args">error_args</a></td>
+<td>Report an error, according to options.</td>
+</tr><tr>
+<td><a href="#StandardReport.get_file_results">get_file_results</a></td>
+<td>Print the result and return the overall count for this file.</td>
+</tr><tr>
+<td><a href="#StandardReport.init_file">init_file</a></td>
+<td>Signal a new file.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="StandardReport.__init__" ID="StandardReport.__init__"></a>
+<h4>StandardReport (Constructor)</h4>
+<b>StandardReport</b>(<i>options</i>)
+<a NAME="StandardReport.error" ID="StandardReport.error"></a>
+<h4>StandardReport.error</h4>
+<b>error</b>(<i>line_number, offset, text, check</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="StandardReport.error_args" ID="StandardReport.error_args"></a>
+<h4>StandardReport.error_args</h4>
+<b>error_args</b>(<i>line_number, offset, code, check, *args</i>)
+<p>
+Report an error, according to options.
+</p><a NAME="StandardReport.get_file_results" ID="StandardReport.get_file_results"></a>
+<h4>StandardReport.get_file_results</h4>
+<b>get_file_results</b>(<i></i>)
+<p>
+Print the result and return the overall count for this file.
+</p><a NAME="StandardReport.init_file" ID="StandardReport.init_file"></a>
+<h4>StandardReport.init_file</h4>
+<b>init_file</b>(<i>filename, lines, expected, line_offset</i>)
+<p>
+Signal a new file.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="StyleGuide" ID="StyleGuide"></a>
+<h2>StyleGuide</h2>
+<p>
+Initialize a PEP-8 instance with few options.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#StyleGuide.__init__">StyleGuide</a></td>
+<td></td>
+</tr><tr>
+<td><a href="#StyleGuide.check_files">check_files</a></td>
+<td>Run all checks on the paths.</td>
+</tr><tr>
+<td><a href="#StyleGuide.excluded">excluded</a></td>
+<td>Check if options.exclude contains a pattern that matches filename.</td>
+</tr><tr>
+<td><a href="#StyleGuide.get_checks">get_checks</a></td>
+<td>Find all globally visible functions where the first argument name starts with argument_name and which contain selected tests.</td>
+</tr><tr>
+<td><a href="#StyleGuide.ignore_code">ignore_code</a></td>
+<td>Check if the error code should be ignored.</td>
+</tr><tr>
+<td><a href="#StyleGuide.init_report">init_report</a></td>
+<td>Initialize the report instance.</td>
+</tr><tr>
+<td><a href="#StyleGuide.input_dir">input_dir</a></td>
+<td>Check all files in this directory and all subdirectories.</td>
+</tr><tr>
+<td><a href="#StyleGuide.input_file">input_file</a></td>
+<td>Run all checks on a Python source file.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="StyleGuide.__init__" ID="StyleGuide.__init__"></a>
+<h4>StyleGuide (Constructor)</h4>
+<b>StyleGuide</b>(<i>*args, **kwargs</i>)
+<a NAME="StyleGuide.check_files" ID="StyleGuide.check_files"></a>
+<h4>StyleGuide.check_files</h4>
+<b>check_files</b>(<i>paths=None</i>)
+<p>
+Run all checks on the paths.
+</p><a NAME="StyleGuide.excluded" ID="StyleGuide.excluded"></a>
+<h4>StyleGuide.excluded</h4>
+<b>excluded</b>(<i>filename, parent=None</i>)
+<p>
+        Check if options.exclude contains a pattern that matches filename.
+</p><a NAME="StyleGuide.get_checks" ID="StyleGuide.get_checks"></a>
+<h4>StyleGuide.get_checks</h4>
+<b>get_checks</b>(<i>argument_name</i>)
+<p>
+        Find all globally visible functions where the first argument name
+        starts with argument_name and which contain selected tests.
+</p><a NAME="StyleGuide.ignore_code" ID="StyleGuide.ignore_code"></a>
+<h4>StyleGuide.ignore_code</h4>
+<b>ignore_code</b>(<i>code</i>)
+<p>
+        Check if the error code should be ignored.
+</p><p>
+        If 'options.select' contains a prefix of the error code,
+        return False.  Else, if 'options.ignore' contains a prefix of
+        the error code, return True.
+</p><a NAME="StyleGuide.init_report" ID="StyleGuide.init_report"></a>
+<h4>StyleGuide.init_report</h4>
+<b>init_report</b>(<i>reporter=None</i>)
+<p>
+Initialize the report instance.
+</p><a NAME="StyleGuide.input_dir" ID="StyleGuide.input_dir"></a>
+<h4>StyleGuide.input_dir</h4>
+<b>input_dir</b>(<i>dirname</i>)
+<p>
+Check all files in this directory and all subdirectories.
+</p><a NAME="StyleGuide.input_file" ID="StyleGuide.input_file"></a>
+<h4>StyleGuide.input_file</h4>
+<b>input_file</b>(<i>filename, lines=None, expected=None, line_offset=0</i>)
+<p>
+Run all checks on a Python source file.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="_add_check" ID="_add_check"></a>
+<h2>_add_check</h2>
+<b>_add_check</b>(<i>check, kind, codes, args</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="_main" ID="_main"></a>
 <h2>_main</h2>
 <b>_main</b>(<i></i>)
 <p>
-    Parse options and run checks on Python source.
+Parse options and run checks on Python source.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="blank_lines" ID="blank_lines"></a>
 <h2>blank_lines</h2>
-<b>blank_lines</b>(<i>logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level, blank_lines_before_comment</i>)
+<b>blank_lines</b>(<i>logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level</i>)
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="comparison_to_singleton" ID="comparison_to_singleton"></a>
+<h2>comparison_to_singleton</h2>
+<b>comparison_to_singleton</b>(<i>logical_line, noqa</i>)
+<p>
+    Comparisons to singletons like None should always be done
+    with "is" or "is not", never the equality operators.
+</p><p>
+    Okay: if arg is not None:
+    E711: if arg != None:
+    E712: if arg == True:
+</p><p>
+    Also, beware of writing if x when you really mean if x is not None --
+    e.g. when testing whether a variable or argument that defaults to None was
+    set to some other value.  The other value might have a type (such as a
+    container) that could be false in a boolean context!
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="comparison_type" ID="comparison_type"></a>
+<h2>comparison_type</h2>
+<b>comparison_type</b>(<i>logical_line</i>)
+<p>
+    Object type comparisons should always use isinstance() instead of
+    comparing types directly.
+</p><p>
+    Okay: if isinstance(obj, int):
+    E721: if type(obj) is type(1):
+</p><p>
+    When checking if an object is a string, keep in mind that it might be a
+    unicode string too! In Python 2.3, str and unicode have a common base
+    class, basestring, so you can do:
+</p><p>
+    Okay: if isinstance(obj, basestring):
+    Okay: if type(a1) is type(b1):
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="compound_statements" ID="compound_statements"></a>
 <h2>compound_statements</h2>
 <b>compound_statements</b>(<i>logical_line</i>)
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="excluded" ID="excluded"></a>
-<h2>excluded</h2>
-<b>excluded</b>(<i>filename</i>)
-<p>
-    Check if options.exclude contains a pattern that matches filename.
-</p>
+<a NAME="continued_indentation" ID="continued_indentation"></a>
+<h2>continued_indentation</h2>
+<b>continued_indentation</b>(<i>logical_line, tokens, indent_level, hang_closing, noqa, verbose</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="expand_indent" ID="expand_indent"></a>
 <h2>expand_indent</h2>
 <b>expand_indent</b>(<i>line</i>)
-<p>
-    Return the amount of indentation.
-    Tabs are expanded to the next multiple of 8.
-</p><p>
-    >>> expand_indent('    ')
-    4
-    >>> expand_indent('\\t')
-    8
-    >>> expand_indent('    \\t')
-    8
-    >>> expand_indent('       \\t')
-    8
-    >>> expand_indent('        \\t')
-    16
-</p>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="explicit_line_join" ID="explicit_line_join"></a>
+<h2>explicit_line_join</h2>
+<b>explicit_line_join</b>(<i>logical_line, tokens</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="extraneous_whitespace" ID="extraneous_whitespace"></a>
@@ -340,66 +735,17 @@
 <hr /><hr />
 <a NAME="filename_match" ID="filename_match"></a>
 <h2>filename_match</h2>
-<b>filename_match</b>(<i>filename</i>)
-<p>
-    Check if options.filename contains a pattern that matches filename.
-    If options.filename is unspecified, this always returns True.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="find_checks" ID="find_checks"></a>
-<h2>find_checks</h2>
-<b>find_checks</b>(<i>argument_name</i>)
+<b>filename_match</b>(<i>filename, patterns, default=True</i>)
 <p>
-    Find all globally visible functions where the first argument name
-    starts with argument_name.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_count" ID="get_count"></a>
-<h2>get_count</h2>
-<b>get_count</b>(<i>prefix=''</i>)
-<p>
-Return the total count of errors and warnings.
+    Check if patterns contains a pattern that matches filename.
+    If patterns is unspecified, this always returns True.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="get_error_statistics" ID="get_error_statistics"></a>
-<h2>get_error_statistics</h2>
-<b>get_error_statistics</b>(<i></i>)
-<p>
-Get error statistics.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_statistics" ID="get_statistics"></a>
-<h2>get_statistics</h2>
-<b>get_statistics</b>(<i>prefix=''</i>)
-<p>
-    Get statistics for message codes that start with the prefix.
-</p><p>
-    prefix='' matches all errors and warnings
-    prefix='E' matches all errors
-    prefix='W' matches all warnings
-    prefix='E4' matches all errors that have to do with imports
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="get_warning_statistics" ID="get_warning_statistics"></a>
-<h2>get_warning_statistics</h2>
-<b>get_warning_statistics</b>(<i></i>)
-<p>
-Get warning statistics.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="ignore_code" ID="ignore_code"></a>
-<h2>ignore_code</h2>
-<b>ignore_code</b>(<i>code</i>)
-<p>
-    Check if options.ignore contains a prefix of the error code.
-    If options.select contains a prefix of the error code, do not ignore it.
-</p>
+<a NAME="get_parser" ID="get_parser"></a>
+<h2>get_parser</h2>
+<b>get_parser</b>(<i>prog='pep8', version=__version__</i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="imports_on_separate_lines" ID="imports_on_separate_lines"></a>
@@ -414,25 +760,18 @@
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="input_dir" ID="input_dir"></a>
-<h2>input_dir</h2>
-<b>input_dir</b>(<i>dirname, runner=None</i>)
+<a NAME="init_checks_registry" ID="init_checks_registry"></a>
+<h2>init_checks_registry</h2>
+<b>init_checks_registry</b>(<i></i>)
 <p>
-    Check all Python source files in this directory and all subdirectories.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="input_file" ID="input_file"></a>
-<h2>input_file</h2>
-<b>input_file</b>(<i>filename</i>)
-<p>
-    Run all checks on a Python source file.
+    Register all globally visible functions where the first argument name
+    is 'physical_line' or 'logical_line'.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="maximum_line_length" ID="maximum_line_length"></a>
 <h2>maximum_line_length</h2>
-<b>maximum_line_length</b>(<i>physical_line</i>)
+<b>maximum_line_length</b>(<i>physical_line, max_line_length</i>)
 <p>
     Limit all lines to a maximum of 79 characters.
 </p><p>
@@ -442,14 +781,8 @@
     ugly.  Therefore, please limit all lines to a maximum of 79 characters.
     For flowing long blocks of text (docstrings or comments), limiting the
     length to 72 characters is recommended.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="message" ID="message"></a>
-<h2>message</h2>
-<b>message</b>(<i>text</i>)
-<p>
-Print a message.
+</p><p>
+    Reports error E501.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -458,6 +791,8 @@
 <b>missing_newline</b>(<i>physical_line</i>)
 <p>
     JCR: The last line should have a newline.
+</p><p>
+    Reports warning W292.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -475,6 +810,7 @@
     Okay: a[1:4:2]
     E231: ['a','b']
     E231: foo(bar,baz)
+    E231: [{'a':'b'}]
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -499,27 +835,19 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="print_benchmark" ID="print_benchmark"></a>
-<h2>print_benchmark</h2>
-<b>print_benchmark</b>(<i>elapsed</i>)
+<a NAME="parse_udiff" ID="parse_udiff"></a>
+<h2>parse_udiff</h2>
+<b>parse_udiff</b>(<i>diff, patterns=None, parent='.'</i>)
 <p>
-    Print benchmark numbers.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="print_statistics" ID="print_statistics"></a>
-<h2>print_statistics</h2>
-<b>print_statistics</b>(<i>prefix=''</i>)
-<p>
-Print overall statistics (number of errors and warnings).
+Return a dictionary of matching lines.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="process_options" ID="process_options"></a>
 <h2>process_options</h2>
-<b>process_options</b>(<i>arglist=None</i>)
+<b>process_options</b>(<i>arglist=None, parse_argv=False, config_file=None, parser=None</i>)
 <p>
-    Process options passed either via arglist or via command line args.
+Process options passed either via arglist or via command line args.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -527,21 +855,18 @@
 <h2>python_3000_backticks</h2>
 <b>python_3000_backticks</b>(<i>logical_line</i>)
 <p>
-    Backticks are removed in Python 3000.
+    Backticks are removed in Python 3.
     Use repr() instead.
+</p><p>
+    Okay: val = repr(1 + 2)
+    W604: val = `1 + 2`
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="python_3000_has_key" ID="python_3000_has_key"></a>
 <h2>python_3000_has_key</h2>
 <b>python_3000_has_key</b>(<i>logical_line</i>)
-<p>
-    The {}.has_key() method will be removed in the future version of
-    Python. Use the 'in' operation instead, like:
-    d = {"a": 1, "b": 2}
-    if "b" in d:
-        print d["b"]
-</p>
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="python_3000_not_equal" ID="python_3000_not_equal"></a>
@@ -550,7 +875,10 @@
 <p>
     != can also be written <>, but this is an obsolete usage kept for
     backwards compatibility only. New code should always use !=.
-    The older syntax is removed in Python 3000.
+    The older syntax is removed in Python 3.
+</p><p>
+    Okay: if a != 'no':
+    W603: if a <> 'no':
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -564,7 +892,18 @@
     The paren-using form is preferred because when the exception arguments
     are long or include string formatting, you don't need to use line
     continuation characters thanks to the containing parentheses.  The older
-    form will be removed in Python 3000.
+    form is removed in Python 3.
+</p><p>
+    Okay: raise DummyError("Message")
+    W602: raise DummyError, "Message"
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="read_config" ID="read_config"></a>
+<h2>read_config</h2>
+<b>read_config</b>(<i>options, args, arglist, parser</i>)
+<p>
+Read both user configuration and local configuration.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
@@ -580,40 +919,18 @@
 
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="reset_counters" ID="reset_counters"></a>
-<h2>reset_counters</h2>
-<b>reset_counters</b>(<i></i>)
-
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="run_tests" ID="run_tests"></a>
-<h2>run_tests</h2>
-<b>run_tests</b>(<i>filename</i>)
+<a NAME="register_check" ID="register_check"></a>
+<h2>register_check</h2>
+<b>register_check</b>(<i>check, codes=None</i>)
 <p>
-    Run all the tests from a file.
-</p><p>
-    A test file can provide many tests.  Each test starts with a declaration.
-    This declaration is a single line starting with '#:'.
-    It declares codes of expected failures, separated by spaces or 'Okay'
-    if no failure is expected.
-    If the file does not contain such declaration, it should pass all tests.
-    If the declaration is empty, following lines are not checked, until next
-    declaration.
-</p><p>
-    Examples:
-</p><p>
-     * Only E224 and W701 are expected:         #: E224 W701
-     * Following example is conform:            #: Okay
-     * Don't check these lines:                 #:
+    Register a new check object.
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
-<a NAME="selftest" ID="selftest"></a>
-<h2>selftest</h2>
-<b>selftest</b>(<i></i>)
-<p>
-    Test all check functions with test cases in docstrings.
-</p>
+<a NAME="stdin_get_value" ID="stdin_get_value"></a>
+<h2>stdin_get_value</h2>
+<b>stdin_get_value</b>(<i></i>)
+
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="tabs_obsolete" ID="tabs_obsolete"></a>
@@ -658,9 +975,15 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
+<a NAME="whitespace_around_keywords" ID="whitespace_around_keywords"></a>
+<h2>whitespace_around_keywords</h2>
+<b>whitespace_around_keywords</b>(<i>logical_line</i>)
+
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="whitespace_around_named_parameter_equals" ID="whitespace_around_named_parameter_equals"></a>
 <h2>whitespace_around_named_parameter_equals</h2>
-<b>whitespace_around_named_parameter_equals</b>(<i>logical_line</i>)
+<b>whitespace_around_named_parameter_equals</b>(<i>logical_line, tokens</i>)
 <p>
     Don't use spaces around the '=' sign when used to indicate a
     keyword argument or a default parameter value.
--- a/Plugins/CheckerPlugins/Pep8/Pep8Dialog.py	Sat Aug 24 14:44:55 2013 +0200
+++ b/Plugins/CheckerPlugins/Pep8/Pep8Dialog.py	Sat Aug 24 15:05:05 2013 +0200
@@ -596,7 +596,6 @@
             self.fixIssuesEdit.text())
         Preferences.Prefs.settings.setValue("PEP8/FixIssues",
             self.fixIssuesCheckBox.isChecked())
-        # TODO: extend for max_line_length and hang_closing
         Preferences.Prefs.settings.setValue("PEP8/MaxLineLength",
             self.lineLengthSpinBox.value())
         Preferences.Prefs.settings.setValue("PEP8/HangClosing",
--- a/i18n/eric5_cs.ts	Sat Aug 24 14:44:55 2013 +0200
+++ b/i18n/eric5_cs.ts	Sat Aug 24 15:05:05 2013 +0200
@@ -20891,17 +20891,17 @@
         <translation>Vybrat pole pro filtrování</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1226"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1227"/>
         <source>Revision</source>
         <translation>Revize</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1223"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1224"/>
         <source>Author</source>
         <translation>Autor</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="95"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="96"/>
         <source>Message</source>
         <translation>Zpráva</translation>
     </message>
@@ -21026,42 +21026,42 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="120"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="121"/>
         <source>Added</source>
         <translation>Přidáno</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="121"/>
-        <source>Deleted</source>
-        <translation>Smazáno</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="122"/>
+        <source>Deleted</source>
+        <translation>Smazáno</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="123"/>
         <source>Modified</source>
         <translation>Změněno</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="704"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="705"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="704"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="705"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="506"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="507"/>
         <source>The hg process did not finish within 30s.</source>
         <translation>Hg proces neskončil do 30s.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="509"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="510"/>
         <source>Could not start the hg executable.</source>
         <translation>Nelze spustit hg program.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="512"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="513"/>
         <source>Mercurial Error</source>
         <translation>Mercurial chyba</translation>
     </message>
@@ -21101,7 +21101,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="89"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="90"/>
         <source>All</source>
         <translation type="unfinished">Vše</translation>
     </message>
@@ -21116,7 +21116,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="132"/>
         <source>Bookmarks</source>
         <translation type="unfinished">Záložky</translation>
     </message>
@@ -21162,12 +21162,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1376"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1377"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1376"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1377"/>
         <source>The project should be reread. Do this now?</source>
         <translation type="unfinished">Projekt bude znovu načten. Má se provést?</translation>
     </message>
@@ -21260,104 +21260,104 @@
         <translation>Revize</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="188"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="189"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="188"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="189"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="273"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="274"/>
         <source>No log available for &apos;{0}&apos;</source>
         <translation>Log není pro &apos;{0}&apos; dostupný</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="306"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="307"/>
         <source>diff to {0}</source>
         <translation>diff na {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="317"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="318"/>
         <source>Branches: {0}&lt;br /&gt;
 </source>
         <translation>Větve: {0}&lt;br/&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="319"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="320"/>
         <source>Tags: {0}&lt;br /&gt;
 </source>
         <translation>Tagy: {0}&lt;br/&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="324"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="325"/>
         <source>Parents: {0}&lt;br /&gt;
 </source>
         <translation>Rodiče: {0}&lt;br/&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="326"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="327"/>
         <source>&lt;i&gt;Author: {0}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;Autor: {0}&lt;/i&gt;&lt;br /&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="329"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="330"/>
         <source>&lt;i&gt;Date: {0}, {1}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;Datum: {0}, {1}&lt;/i&gt;&lt;br /&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="343"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="344"/>
         <source>Added {0}&lt;br /&gt;
 </source>
         <translation>Přidáno: {0}&lt;br/&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="349"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="350"/>
         <source>Modified {0}&lt;br /&gt;
 </source>
         <translation>Změněno: {0}&lt;br/&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="355"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="356"/>
         <source>Deleted {0}&lt;br /&gt;
 </source>
         <translation>Smazáno: {0}&lt;br/&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="239"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="240"/>
         <source>The hg process did not finish within 30s.</source>
         <translation>Hg proces neskončil do 30s.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="242"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="243"/>
         <source>Could not start the hg executable.</source>
         <translation>Nelze spustit hg program.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="245"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="246"/>
         <source>Mercurial Error</source>
         <translation>Mercurial chyba</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="339"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="340"/>
         <source>Added {0} (copied from {1})&lt;br /&gt;
 </source>
         <translation>Přidáno {0} (zkopírováno z {1})&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="322"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="323"/>
         <source>Bookmarks: {0}&lt;br /&gt;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="315"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="316"/>
         <source>Phase: {0}&lt;br /&gt;
 </source>
         <translation type="unfinished"></translation>
@@ -33108,47 +33108,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="166"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="34"/>
         <source>Exclude Files:</source>
         <translation type="unfinished">Nevkládat soubory:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="173"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="41"/>
         <source>Enter filename patterns of files to be excluded separated by a comma</source>
         <translation type="unfinished">Zadejte patterny jmen souborů oddělené čárkami, které se nemají vkládat</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="107"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="60"/>
         <source>Press to start the PEP 8 check run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="110"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="63"/>
         <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="84"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="105"/>
         <source>Exclude Messages:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="210"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="170"/>
         <source>...</source>
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="46"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="222"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="49"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="225"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="220"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="290"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the PEP 8 check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -33156,120 +33156,140 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="236"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="306"/>
         <source>File/Line</source>
         <translation type="unfinished">Soubor/Řádek</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="241"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="311"/>
         <source>Code</source>
         <translation type="unfinished">Kód</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="246"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="316"/>
         <source>Message</source>
         <translation type="unfinished">Zpráva</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="254"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="324"/>
         <source>Shows the progress of the PEP 8 check action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="53"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="87"/>
         <source>Show</source>
         <translation type="unfinished">Zobrazit</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="55"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="89"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished">Stisknout pro zobrazení všech souborů, které obsahují problém</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="282"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="324"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="361"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="420"/>
         <source>No issues found.</source>
         <translation type="unfinished">Žádné problémy nenalezeny.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="159"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="112"/>
         <source>Enter message codes or categories to be excluded separated by a comma</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="152"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="136"/>
         <source>Enter message codes or categories to be included separated by a comma</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="130"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="83"/>
         <source>Press to load the default values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="133"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="86"/>
         <source>Load Defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="140"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="93"/>
         <source>Press to store the current values as defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="143"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="96"/>
         <source>Store Defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="200"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="129"/>
         <source>Included Messages:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="48"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="82"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="84"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="207"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="167"/>
         <source>Press to select the message codes from a list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="153"/>
         <source>Fix Issues:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="160"/>
         <source>Enter message codes of issues to be fixed automatically (leave empty to fix all)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="59"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="235"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="62"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="238"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="330"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="177"/>
+        <source>Max. Line Length:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="186"/>
+        <source>Enter the maximum allowed line length (PEP-8: 79 characters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="262"/>
+        <source>Select to allow hanging closing brackets</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="265"/>
+        <source>Allow hanging closing brackets</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -33365,12 +33385,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="141"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="47"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="202"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="112"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33398,7 +33418,7 @@
         <translation type="unfinished">Zpráva</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="56"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="58"/>
         <source>%n issue(s) found</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -33407,25 +33427,25 @@
         </translation>
     </message>
     <message numerus="yes">
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="62"/>
+        <source>%n file(s) checked</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="64"/>
+        <source>%n file(s) with issues found</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="60"/>
-        <source>%n file(s) checked</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="62"/>
-        <source>%n file(s) with issues found</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="58"/>
         <source>%n issue(s) fixed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -33913,62 +33933,62 @@
 <context>
     <name>PluginInstallWidget</name>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="58"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="59"/>
         <source>&lt; Back</source>
         <translation>&lt; Zpět</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="60"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="61"/>
         <source>Next &gt;</source>
         <translation>Další &gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="69"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="70"/>
         <source>User plugins directory</source>
         <translation>Uživatelský adresář s pluginy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="74"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="75"/>
         <source>Global plugins directory</source>
         <translation>Globální adresář s pluginy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="150"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="151"/>
         <source>Select plugin ZIP-archives</source>
         <translation>Vybrat plugin ZIP-archivy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="150"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="151"/>
         <source>Plugin archive (*.zip)</source>
         <translation>Plugin archiv (*.zip)</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="216"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="217"/>
         <source>  ok</source>
         <translation>  ok</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="223"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="224"/>
         <source>The plugins were installed successfully.</source>
         <translation>Pluginy byly úspěšně instalovány.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="226"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="227"/>
         <source>Some plugins could not be installed.</source>
         <translation>Některé pluginy nebyly instalovány.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="433"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="439"/>
         <source>Unspecific exception installing plugin.</source>
         <translation>Neznámá výjimka při instalaci pluginu.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="62"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="63"/>
         <source>Install</source>
         <translation>Instalovat</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="136"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="137"/>
         <source>Plugin ZIP-Archives:
 {0}
 
@@ -33977,47 +33997,47 @@
         <translation>Plugin ZIP-Archivy:{0}Umístění:{1} ({2})</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="212"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="213"/>
         <source>Installing {0} ...</source>
         <translation>Instalovat {0}...</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="255"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="256"/>
         <source>&lt;p&gt;The archive file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor archívu &lt;b&gt;{0}&lt;/b&gt; neexistuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="287"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="288"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not a valid plugin ZIP-archive. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; není platný ZIP archiv plugin. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="269"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="270"/>
         <source>&lt;p&gt;The destination directory &lt;b&gt;{0}&lt;/b&gt; is not writeable. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do cílového adresáře &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="325"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="331"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not contain a &apos;packageName&apos; attribute. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; neobsahuje atribut &apos;packageName&apos;.&lt;/p&gt;&lt;p&gt;Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="332"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="338"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not conform with the PyQt v2 API. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; není v souladu s PyQt v2 API. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="342"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="348"/>
         <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin balíček &lt;b&gt;{0}&lt;/b&gt; již existuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="351"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="357"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin modul &lt;b&gt;{0}&lt;/b&gt; již existuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="427"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="433"/>
         <source>Error installing plugin. Reason: {0}</source>
         <translation>Chyba při instalaci pluginu. Důvod: {0}</translation>
     </message>
@@ -34355,37 +34375,37 @@
 <context>
     <name>PluginUninstallWidget</name>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="53"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="54"/>
         <source>User plugins directory</source>
         <translation>Uživatelský adresář s pluginy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="58"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="59"/>
         <source>Global plugins directory</source>
         <translation>Globální adresář s pluginy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="165"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="176"/>
         <source>Plugin Uninstallation</source>
         <translation>Odinstalace pluginu</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="100"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="101"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; could not be unloaded. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin &lt;b&gt;{0}&lt;/b&gt; nemůže být nenačten. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="110"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="111"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; has no &apos;packageName&apos; attribute. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Pluginu &lt;b&gt;{0}&lt;/b&gt; chybí atribut &apos;packageName&apos;. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="148"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="159"/>
         <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; could not be removed. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin balíček &lt;b&gt;{0}&lt;/b&gt; nelze odebrat. Zrušeno...&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="165"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="176"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; was uninstalled successfully from {1}.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin &lt;b&gt;{0}&lt;/b&gt; byl úspěšně odinstalován z {1}.&lt;/p&gt;</translation>
     </message>
@@ -34759,22 +34779,22 @@
 <context>
     <name>Project</name>
     <message>
-        <location filename="../Project/Project.py" line="185"/>
+        <location filename="../Project/Project.py" line="187"/>
         <source>Ruby Files (*.rb);;</source>
         <translation>Ruby soubory (*.rb);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="233"/>
+        <location filename="../Project/Project.py" line="235"/>
         <source>Console</source>
         <translation>Konzole</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="234"/>
+        <location filename="../Project/Project.py" line="236"/>
         <source>Other</source>
         <translation>Ostatní</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="641"/>
+        <location filename="../Project/Project.py" line="645"/>
         <source>Read project file</source>
         <translation>Načíst soubor projektu</translation>
     </message>
@@ -34784,27 +34804,27 @@
         <translation type="obsolete">Komprimované soubory nejsou podporovány. Kompresní knihovna chybí.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="734"/>
+        <location filename="../Project/Project.py" line="738"/>
         <source>Save project file</source>
         <translation>Uložit soubor projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="768"/>
+        <location filename="../Project/Project.py" line="772"/>
         <source>Read user project properties</source>
         <translation>Načíst uživatelská nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="789"/>
+        <location filename="../Project/Project.py" line="793"/>
         <source>Save user project properties</source>
         <translation>Uložit uživatelská nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="836"/>
+        <location filename="../Project/Project.py" line="840"/>
         <source>Read project session</source>
         <translation>Načíst relaci projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1026"/>
+        <location filename="../Project/Project.py" line="1030"/>
         <source>Please save the project first.</source>
         <translation>Prosím, nejdříve uložte projekt.</translation>
     </message>
@@ -34814,17 +34834,17 @@
         <translation type="obsolete">Soubor s komprimovanou relací projektu není podporován. Kompresní knihovna chybí.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="867"/>
+        <location filename="../Project/Project.py" line="871"/>
         <source>Save project session</source>
         <translation>Uložit relaci projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="889"/>
+        <location filename="../Project/Project.py" line="893"/>
         <source>Delete project session</source>
         <translation>Smazat relaci projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="915"/>
+        <location filename="../Project/Project.py" line="919"/>
         <source>Read tasks</source>
         <translation>Načíst úlohy</translation>
     </message>
@@ -34834,17 +34854,17 @@
         <translation type="obsolete">Soubor s komprimovanými úlohami není podporován. Kompresní knihovna chybí.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="933"/>
+        <location filename="../Project/Project.py" line="937"/>
         <source>Save tasks</source>
         <translation>Uložit úlohy</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="985"/>
+        <location filename="../Project/Project.py" line="989"/>
         <source>Read debugger properties</source>
         <translation>Načíst nastavení debuggeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1015"/>
+        <location filename="../Project/Project.py" line="1019"/>
         <source>Save debugger properties</source>
         <translation>Uložit nastavení debuggeru</translation>
     </message>
@@ -34854,97 +34874,97 @@
         <translation type="obsolete">Soubor s komprimovanými nastaveními debuggeru není podporován. Kompresní knihovna chybí.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1042"/>
         <source>Delete debugger properties</source>
         <translation>Smazat nastavení debuggeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1132"/>
+        <location filename="../Project/Project.py" line="1136"/>
         <source>Add Language</source>
         <translation>Přidat jazyk</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1242"/>
+        <location filename="../Project/Project.py" line="1246"/>
         <source>Delete translation</source>
         <translation>Smazat překlad</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1382"/>
+        <location filename="../Project/Project.py" line="1386"/>
         <source>Add file</source>
         <translation>Přidat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1487"/>
+        <location filename="../Project/Project.py" line="1491"/>
         <source>The target directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1497"/>
+        <location filename="../Project/Project.py" line="1501"/>
         <source>Add directory</source>
         <translation>Přidat adresář</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1497"/>
+        <location filename="../Project/Project.py" line="1501"/>
         <source>The source directory must not be empty.</source>
         <translation>Cílový adresář nesmí být prázdný.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1617"/>
+        <location filename="../Project/Project.py" line="1621"/>
         <source>Rename file</source>
         <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1640"/>
+        <location filename="../Project/Project.py" line="1644"/>
         <source>Rename File</source>
         <translation>Přejmenovat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1825"/>
+        <location filename="../Project/Project.py" line="1829"/>
         <source>Delete file</source>
         <translation>Smazat soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1848"/>
+        <location filename="../Project/Project.py" line="1852"/>
         <source>Delete directory</source>
         <translation>Smazat adresář</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1927"/>
+        <location filename="../Project/Project.py" line="1931"/>
         <source>Create project directory</source>
         <translation>Vytvořit adresář projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2393"/>
         <source>New Project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1989"/>
+        <location filename="../Project/Project.py" line="1993"/>
         <source>Add existing files to the project?</source>
         <translation>Přidat existující soubory do projektu?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2096"/>
+        <location filename="../Project/Project.py" line="2100"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>Chcete editovat parametry VCS příkazu?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3067"/>
+        <location filename="../Project/Project.py" line="3074"/>
         <source>New project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2049"/>
+        <location filename="../Project/Project.py" line="2053"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>Má být projekt přidán do repozitáře?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2070"/>
+        <location filename="../Project/Project.py" line="2074"/>
         <source>Select version control system for the project</source>
         <translation>Výběr verzovacího systému projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3080"/>
+        <location filename="../Project/Project.py" line="3087"/>
         <source>Open project</source>
         <translation>Otevřít projekt</translation>
     </message>
@@ -34954,12 +34974,12 @@
         <translation type="obsolete">Komprimované soubory projektu (*.e4pz)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2512"/>
+        <location filename="../Project/Project.py" line="2519"/>
         <source>Project Files (*.e4p)</source>
         <translation>Soubory projektu (*.e4p)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3114"/>
+        <location filename="../Project/Project.py" line="3121"/>
         <source>Save project as</source>
         <translation>Uložit projekt jako</translation>
     </message>
@@ -34969,27 +34989,27 @@
         <translation type="obsolete">Soubory projektu (*.e4p);;Komprimované soubory projektu (*.e4pz)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2527"/>
+        <location filename="../Project/Project.py" line="2534"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2564"/>
+        <location filename="../Project/Project.py" line="2571"/>
         <source>Close Project</source>
         <translation>Zavřít projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2564"/>
+        <location filename="../Project/Project.py" line="2571"/>
         <source>The current project has unsaved changes.</source>
         <translation>Aktuální projekt obsahuje neuložené změny.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2723"/>
+        <location filename="../Project/Project.py" line="2730"/>
         <source>Syntax errors detected</source>
         <translation>Zjištěny syntaktické chyby</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Project/Project.py" line="2723"/>
+        <location filename="../Project/Project.py" line="2730"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform>
@@ -34998,662 +35018,662 @@
         </translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3067"/>
+        <location filename="../Project/Project.py" line="3074"/>
         <source>&amp;New...</source>
         <translation>&amp;Nový...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3071"/>
+        <location filename="../Project/Project.py" line="3078"/>
         <source>Generate a new project</source>
         <translation>Vygenerovat nový projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3072"/>
+        <location filename="../Project/Project.py" line="3079"/>
         <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nový...&lt;/b&gt;&lt;p&gt;Otevře se dialogové okno pro zadání informací o novém projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3080"/>
+        <location filename="../Project/Project.py" line="3087"/>
         <source>&amp;Open...</source>
         <translation>&amp;Otevřít...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3084"/>
+        <location filename="../Project/Project.py" line="3091"/>
         <source>Open an existing project</source>
         <translation>Otevřít existující projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3085"/>
-        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3092"/>
+        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Otevřít....&lt;/b&gt;&lt;p&gt;Otevře existující projekt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3099"/>
         <source>Close project</source>
         <translation>Zavřít projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3092"/>
+        <location filename="../Project/Project.py" line="3099"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3095"/>
+        <location filename="../Project/Project.py" line="3102"/>
         <source>Close the current project</source>
         <translation>Uzavře aktuální projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3096"/>
-        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3103"/>
+        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Zavřít&lt;/b&gt;&lt;p&gt;Aktuální projekt se uzavře.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3110"/>
         <source>Save project</source>
         <translation>Uložit projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3257"/>
+        <location filename="../Project/Project.py" line="3264"/>
         <source>&amp;Save</source>
         <translation>&amp;Uložit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3106"/>
+        <location filename="../Project/Project.py" line="3113"/>
         <source>Save the current project</source>
         <translation>Uložit aktuální projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3107"/>
-        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3114"/>
+        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit&lt;/b&gt;&lt;p&gt;Aktuální projekt se uloží.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3121"/>
         <source>Save &amp;as...</source>
         <translation>Uložit j&amp;ako...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3117"/>
+        <location filename="../Project/Project.py" line="3124"/>
         <source>Save the current project to a new file</source>
         <translation>Uloží aktuální projekt do nového souboru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3118"/>
+        <location filename="../Project/Project.py" line="3125"/>
         <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit jako&lt;/b&gt;&lt;p&gt;Uloží aktuální projekt do nového souboru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3127"/>
+        <location filename="../Project/Project.py" line="3134"/>
         <source>Add files to project</source>
         <translation>Přidat soubory do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3127"/>
+        <location filename="../Project/Project.py" line="3134"/>
         <source>Add &amp;files...</source>
         <translation>&amp;Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3131"/>
+        <location filename="../Project/Project.py" line="3138"/>
         <source>Add files to the current project</source>
         <translation>Přidat soubory do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3132"/>
+        <location filename="../Project/Project.py" line="3139"/>
         <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat soubory...&lt;/b&gt;&lt;p&gt;Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3141"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>Add directory to project</source>
         <translation>Přidat adresář do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3141"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>Add directory...</source>
         <translation>Přidat adresář...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3145"/>
+        <location filename="../Project/Project.py" line="3152"/>
         <source>Add a directory to the current project</source>
         <translation>Přidat adresář do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3147"/>
+        <location filename="../Project/Project.py" line="3154"/>
         <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat adresář...&lt;/b&gt;&lt;p&gt;Otevře dialog pro přičtení adresáře do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3155"/>
+        <location filename="../Project/Project.py" line="3162"/>
         <source>Add translation to project</source>
         <translation>Přidat překlad do projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3155"/>
+        <location filename="../Project/Project.py" line="3162"/>
         <source>Add &amp;translation...</source>
         <translation>Přida&amp;t překlad...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3159"/>
+        <location filename="../Project/Project.py" line="3166"/>
         <source>Add a translation to the current project</source>
         <translation>Přidat překlad do aktuálního projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3161"/>
+        <location filename="../Project/Project.py" line="3168"/>
         <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Přidat překlad&lt;/b&gt;&lt;p&gt;Otevře dialog pro přidání překladu do aktuálního projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3169"/>
+        <location filename="../Project/Project.py" line="3176"/>
         <source>Search new files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3169"/>
+        <location filename="../Project/Project.py" line="3176"/>
         <source>Searc&amp;h new files...</source>
         <translation>&amp;Hledat nové soubory...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3172"/>
+        <location filename="../Project/Project.py" line="3179"/>
         <source>Search new files in the project directory.</source>
         <translation>Hledat nové soubory v adresáři projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3173"/>
+        <location filename="../Project/Project.py" line="3180"/>
         <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hledat nové soubory...&lt;/b&gt;&lt;p&gt;Hledají se nové soubory (zdrojové, *.ui, *.idl) v adresáři projektu a v registrovaných podadresářích.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3181"/>
+        <location filename="../Project/Project.py" line="3188"/>
         <source>Project properties</source>
         <translation>Nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3181"/>
+        <location filename="../Project/Project.py" line="3188"/>
         <source>&amp;Properties...</source>
         <translation>&amp;Natavení...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3184"/>
+        <location filename="../Project/Project.py" line="3191"/>
         <source>Show the project properties</source>
         <translation>Zobrazit nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3185"/>
-        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3192"/>
+        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3199"/>
         <source>User project properties</source>
         <translation>Uživatelská nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3192"/>
+        <location filename="../Project/Project.py" line="3199"/>
         <source>&amp;User Properties...</source>
         <translation>Uživat&amp;elská nastavení...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3195"/>
+        <location filename="../Project/Project.py" line="3202"/>
         <source>Show the user specific project properties</source>
         <translation>Zobrazit uživatelem definovaná nastavení projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3197"/>
-        <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3204"/>
-        <source>Filetype Associations</source>
-        <translation>Asociace typů souborů</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3204"/>
+        <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uživatelská nastavení...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací uživatelských nastavení projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3211"/>
+        <source>Filetype Associations</source>
+        <translation>Asociace typů souborů</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3211"/>
         <source>Filetype Associations...</source>
         <translation>Asociace typů souborů...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3207"/>
+        <location filename="../Project/Project.py" line="3214"/>
         <source>Show the project filetype associations</source>
         <translation>Zobrazit asociace typů souborů</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3209"/>
+        <location filename="../Project/Project.py" line="3216"/>
         <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Asociace typů souborů...&lt;/b&gt;&lt;p&gt;Zobrazí se dialog s editací asociace typů souborů v projektu. Na základě vzorku souborového jména tyto asociace určují typ souboru (zdrojový kód, formulář, interface nebo jiné). Tyto asociace jsou použity při přidávání souborů do projektu a při vyhledávání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3235"/>
+        <location filename="../Project/Project.py" line="3242"/>
         <source>Debugger Properties</source>
         <translation>Nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3235"/>
+        <location filename="../Project/Project.py" line="3242"/>
         <source>Debugger &amp;Properties...</source>
         <translation>Nastavení &amp;debuggeru...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3238"/>
+        <location filename="../Project/Project.py" line="3245"/>
         <source>Show the debugger properties</source>
         <translation>Zobrazit nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3239"/>
-        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3246"/>
+        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Nastavení debugeru...&lt;/b&gt;&lt;p&gt;Zobrazí dialog s editací nastavení debugeru.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3253"/>
         <source>Load</source>
         <translation>Načíst</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3246"/>
+        <location filename="../Project/Project.py" line="3253"/>
         <source>&amp;Load</source>
         <translation>&amp;Načíst</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3249"/>
+        <location filename="../Project/Project.py" line="3256"/>
         <source>Load the debugger properties</source>
         <translation>Načíst nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3250"/>
-        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3257"/>
+        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Načíst nastavení debugeru&lt;/b&gt;&lt;p&gt;Načtou se nastavení debugeru do projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3264"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3260"/>
+        <location filename="../Project/Project.py" line="3267"/>
         <source>Save the debugger properties</source>
         <translation>Uložit nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3261"/>
-        <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3268"/>
-        <source>Delete</source>
-        <translation>Smazat</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3268"/>
+        <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Uložit nastavení debugeru&lt;/b&gt;&lt;p&gt;Uloží nastavení debugeru definovaná v projektu..&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3275"/>
+        <source>Delete</source>
+        <translation>Smazat</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3275"/>
         <source>&amp;Delete</source>
         <translation>Sma&amp;zat</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3271"/>
+        <location filename="../Project/Project.py" line="3278"/>
         <source>Delete the debugger properties</source>
         <translation>Smazat nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3272"/>
+        <location filename="../Project/Project.py" line="3279"/>
         <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat nastavení debugeru&lt;/b&gt;&lt;p&gt;Smaže se soubor obsahující nastavení debugeru v daném projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3280"/>
+        <location filename="../Project/Project.py" line="3287"/>
         <source>Reset</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3280"/>
+        <location filename="../Project/Project.py" line="3287"/>
         <source>&amp;Reset</source>
         <translation>&amp;Reset</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3283"/>
+        <location filename="../Project/Project.py" line="3290"/>
         <source>Reset the debugger properties</source>
         <translation>Reset nastavení debugeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3284"/>
+        <location filename="../Project/Project.py" line="3291"/>
         <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Reset nastavení debugeru&lt;/b&gt;&lt;p&gt;Zresetuje nastavení debugeru v projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3293"/>
+        <location filename="../Project/Project.py" line="3300"/>
         <source>Load session</source>
         <translation>Načíst relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3296"/>
+        <location filename="../Project/Project.py" line="3303"/>
         <source>Load the projects session file.</source>
         <translation>Načíst soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3297"/>
+        <location filename="../Project/Project.py" line="3304"/>
         <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Načíst relaci&lt;/b&gt;&lt;p&gt;Načte soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3310"/>
+        <location filename="../Project/Project.py" line="3317"/>
         <source>Save session</source>
         <translation>Uložit relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3313"/>
+        <location filename="../Project/Project.py" line="3320"/>
         <source>Save the projects session file.</source>
         <translation>Uložit soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3314"/>
+        <location filename="../Project/Project.py" line="3321"/>
         <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Uložit relaci&lt;/b&gt;&lt;p&gt;Uloží soubor s relací projektu. Relace obsahuje následující údaje:&lt;br&gt;- všechny otevřené zdrojové soubory&lt;br&gt;- všechny breakpointy&lt;br&gt;- argumenty příkazové řádky &lt;br&gt;- pracovní adresář&lt;br&gt;- příznak výjimky&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3327"/>
+        <location filename="../Project/Project.py" line="3334"/>
         <source>Delete session</source>
         <translation>Smazat relaci</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3330"/>
+        <location filename="../Project/Project.py" line="3337"/>
         <source>Delete the projects session file.</source>
         <translation>Smaže soubor s relací projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3331"/>
+        <location filename="../Project/Project.py" line="3338"/>
         <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
         <translation>&lt;b&gt;Smazat relaci&lt;/b&gt;&lt;p&gt;Smaže soubor s relací projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3340"/>
+        <location filename="../Project/Project.py" line="3347"/>
         <source>Code Metrics</source>
         <translation>Metriky kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3340"/>
+        <location filename="../Project/Project.py" line="3347"/>
         <source>&amp;Code Metrics...</source>
         <translation>Metriky &amp;kódu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3343"/>
+        <location filename="../Project/Project.py" line="3350"/>
         <source>Show some code metrics for the project.</source>
         <translation>Zobrazit metriky kódu projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3345"/>
-        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3352"/>
+        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Metriky kódu...&lt;/b&gt;&lt;p&gt;Zobrazí se metriky kódu všech python souborů v projektu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3359"/>
         <source>Python Code Coverage</source>
         <translation>Pokrytí python kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3352"/>
+        <location filename="../Project/Project.py" line="3359"/>
         <source>Code Co&amp;verage...</source>
         <translation>Pokr&amp;ytí kódu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3355"/>
+        <location filename="../Project/Project.py" line="3362"/>
         <source>Show code coverage information for the project.</source>
         <translation>Zobrazit informace pokrytí kódu projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3357"/>
+        <location filename="../Project/Project.py" line="3364"/>
         <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Pokrytí kódu...&lt;/b&gt;&lt;p&gt;Zobrazí informace o pokrytí kódu ve všech python souborech projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4075"/>
+        <location filename="../Project/Project.py" line="4088"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3365"/>
+        <location filename="../Project/Project.py" line="3372"/>
         <source>&amp;Profile Data...</source>
         <translation>&amp;Profilovat data...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3368"/>
+        <location filename="../Project/Project.py" line="3375"/>
         <source>Show profiling data for the project.</source>
         <translation>Zobrazit profilování dat projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3370"/>
+        <location filename="../Project/Project.py" line="3377"/>
         <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profilovat data&lt;/b&gt;&lt;p&gt;Zobrazí se profilování dat projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4129"/>
+        <location filename="../Project/Project.py" line="4142"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3379"/>
+        <location filename="../Project/Project.py" line="3386"/>
         <source>&amp;Application Diagram...</source>
         <translation>Diagram &amp;aplikace...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3382"/>
+        <location filename="../Project/Project.py" line="3389"/>
         <source>Show a diagram of the project.</source>
         <translation>Zobrazit diagram projektu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3384"/>
+        <location filename="../Project/Project.py" line="3391"/>
         <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Diagram aplikace...&lt;/b&gt;&lt;p&gt;Zobrazí diagram projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3468"/>
+        <location filename="../Project/Project.py" line="3475"/>
         <source>&amp;Project</source>
         <translation>&amp;Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3469"/>
-        <source>Open &amp;Recent Projects</source>
-        <translation>Otevřít poslední p&amp;rojekty</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3470"/>
-        <source>&amp;Version Control</source>
-        <translation>Kontrola &amp;verzí</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3474"/>
-        <source>Chec&amp;k</source>
-        <translation>Zkontro&amp;lovat</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3476"/>
-        <source>Sho&amp;w</source>
-        <translation>Zo&amp;brazit</translation>
+        <source>Open &amp;Recent Projects</source>
+        <translation>Otevřít poslední p&amp;rojekty</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="3477"/>
-        <source>&amp;Diagrams</source>
-        <translation>&amp;Diagramy</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3478"/>
-        <source>Session</source>
-        <translation>Relace</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3479"/>
-        <source>Source &amp;Documentation</source>
-        <translation>Zd&amp;rojová dokumentace</translation>
+        <source>&amp;Version Control</source>
+        <translation>Kontrola &amp;verzí</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="3481"/>
+        <source>Chec&amp;k</source>
+        <translation>Zkontro&amp;lovat</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3483"/>
+        <source>Sho&amp;w</source>
+        <translation>Zo&amp;brazit</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3484"/>
+        <source>&amp;Diagrams</source>
+        <translation>&amp;Diagramy</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3485"/>
+        <source>Session</source>
+        <translation>Relace</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3486"/>
+        <source>Source &amp;Documentation</source>
+        <translation>Zd&amp;rojová dokumentace</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3488"/>
         <source>Debugger</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3482"/>
+        <location filename="../Project/Project.py" line="3489"/>
         <source>Pac&amp;kagers</source>
         <translation>Balíč&amp;ky</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3588"/>
+        <location filename="../Project/Project.py" line="3595"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3649"/>
+        <location filename="../Project/Project.py" line="3656"/>
         <source>&amp;Clear</source>
         <translation>&amp;Vyčistit</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3759"/>
+        <location filename="../Project/Project.py" line="3766"/>
         <source>Search New Files</source>
         <translation>Hledat nové soubory</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3759"/>
+        <location filename="../Project/Project.py" line="3766"/>
         <source>There were no new files found to be added.</source>
         <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3899"/>
+        <location filename="../Project/Project.py" line="3906"/>
         <source>Version Control System</source>
         <translation>Version Control System</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4007"/>
+        <location filename="../Project/Project.py" line="4020"/>
         <source>Coverage Data</source>
         <translation>Datové pokrytí</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4054"/>
+        <location filename="../Project/Project.py" line="4067"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor pokrytí</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4075"/>
+        <location filename="../Project/Project.py" line="4088"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4129"/>
+        <location filename="../Project/Project.py" line="4142"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4281"/>
+        <location filename="../Project/Project.py" line="4294"/>
         <source>Create Package List</source>
         <translation>Vytvořit seznam balíčků</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3405"/>
+        <location filename="../Project/Project.py" line="3412"/>
         <source>Create &amp;Package List</source>
         <translation>Vytvořit seznam &amp;balíčků</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4449"/>
+        <location filename="../Project/Project.py" line="4462"/>
         <source>Create Plugin Archive</source>
         <translation>Vytvořit Plugin archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3419"/>
+        <location filename="../Project/Project.py" line="3426"/>
         <source>Create Plugin &amp;Archive</source>
         <translation>Vytvořit Plugin &amp;archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4245"/>
+        <location filename="../Project/Project.py" line="4258"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Přepsat jej?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4298"/>
+        <location filename="../Project/Project.py" line="4311"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; neexistuje. Zrušeno...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4306"/>
+        <location filename="../Project/Project.py" line="4319"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1411"/>
+        <location filename="../Project/Project.py" line="1415"/>
         <source>&lt;p&gt;The source directory doesn&apos;t contain any files belonging to the selected category.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2393"/>
         <source>Select Version Control System</source>
         <translation>Vybrat Version Control System</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2076"/>
+        <location filename="../Project/Project.py" line="2080"/>
         <source>None</source>
         <translation>None</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="321"/>
+        <location filename="../Project/Project.py" line="323"/>
         <source>Registering Project Type</source>
         <translation>Zaregistrovat typ projektu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3434"/>
+        <location filename="../Project/Project.py" line="3441"/>
         <source>Create Plugin Archive (Snapshot)</source>
         <translation>Vytvořit archiv pluginů (snímek)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3434"/>
+        <location filename="../Project/Project.py" line="3441"/>
         <source>Create Plugin Archive (&amp;Snapshot)</source>
         <translation>Vytvořit archiv pluginů (&amp;snímek)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1132"/>
+        <location filename="../Project/Project.py" line="1136"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>Nejdříve musíte specifikovat vzor překladu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2163"/>
+        <location filename="../Project/Project.py" line="2167"/>
         <source>Translation Pattern</source>
         <translation>Vzor překladu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2163"/>
+        <location filename="../Project/Project.py" line="2167"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>Zadejte vzor cesty pro soubory s překlady (použijte  &apos;%language%&apos; na místě s kódem jazyka):</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3219"/>
+        <location filename="../Project/Project.py" line="3226"/>
         <source>Lexer Associations</source>
         <translation>Spojení lexeru</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3219"/>
+        <location filename="../Project/Project.py" line="3226"/>
         <source>Lexer Associations...</source>
         <translation>Spojení lexeru...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3222"/>
+        <location filename="../Project/Project.py" line="3229"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3224"/>
+        <location filename="../Project/Project.py" line="3231"/>
         <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Spojení lexeru...&lt;/b&gt;&lt;p&gt;Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="244"/>
+        <location filename="../Project/Project.py" line="246"/>
         <source>PySide GUI</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="245"/>
+        <location filename="../Project/Project.py" line="247"/>
         <source>PySide Console</source>
         <translation>PySide konzole</translation>
     </message>
@@ -35663,12 +35683,12 @@
         <translation type="obsolete">Python soubory (*.py2);;Python GUI soubory (*.pyw2);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="182"/>
+        <location filename="../Project/Project.py" line="184"/>
         <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source>
         <translation>Python3 soubory (*.py *.py3);;Python3 GUI soubory (*.pyw *.pyw3);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="232"/>
+        <location filename="../Project/Project.py" line="234"/>
         <source>Eric Plugin</source>
         <translation>Eric Plugin</translation>
     </message>
@@ -35678,7 +35698,7 @@
         <translation type="obsolete">&lt;p&gt;Typ projektu &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="641"/>
+        <location filename="../Project/Project.py" line="645"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -35693,17 +35713,17 @@
         <translation type="obsolete">&lt;p&gt;Soubor projektu &lt;b&gt;{0}&lt;/b&gt; má neplatný obsah.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="734"/>
+        <location filename="../Project/Project.py" line="738"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru projektu &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="768"/>
+        <location filename="../Project/Project.py" line="772"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Uživatelská nastavení projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="789"/>
+        <location filename="../Project/Project.py" line="793"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s uživatelskými nastaveními  &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
@@ -35718,22 +35738,22 @@
         <translation type="obsolete">&lt;p&gt;Relace projektu &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="836"/>
+        <location filename="../Project/Project.py" line="840"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="867"/>
+        <location filename="../Project/Project.py" line="871"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="889"/>
+        <location filename="../Project/Project.py" line="893"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s relací projektu &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="915"/>
+        <location filename="../Project/Project.py" line="919"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -35743,12 +35763,12 @@
         <translation type="obsolete">&lt;p&gt;Soubor s úlohami &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="933"/>
+        <location filename="../Project/Project.py" line="937"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s úlohami &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="985"/>
+        <location filename="../Project/Project.py" line="989"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
@@ -35758,47 +35778,47 @@
         <translation type="obsolete">&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; je v nepodporovaném formátu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1015"/>
+        <location filename="../Project/Project.py" line="1019"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Do souboru s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1042"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s nastaveními debuggeru &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1242"/>
+        <location filename="../Project/Project.py" line="1246"/>
         <source>&lt;p&gt;The selected translation file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybraný soubor s překladem &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1437"/>
+        <location filename="../Project/Project.py" line="1441"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2527"/>
+        <location filename="../Project/Project.py" line="2534"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1640"/>
+        <location filename="../Project/Project.py" line="1644"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nemůže být přejmenován.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1825"/>
+        <location filename="../Project/Project.py" line="1829"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybraný soubor &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1848"/>
+        <location filename="../Project/Project.py" line="1852"/>
         <source>&lt;p&gt;The selected directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybraný adresář &lt;b&gt;{0}&lt;/b&gt; nelze smazat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1927"/>
+        <location filename="../Project/Project.py" line="1931"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Adresář projektu &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;</translation>
     </message>
@@ -35813,152 +35833,152 @@
         <translation type="obsolete">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3409"/>
+        <location filename="../Project/Project.py" line="3416"/>
         <source>Create an initial PKGLIST file for an eric5 plugin.</source>
         <translation>Vytvořit počáteční soubor PKGLIST pro eric5 plugin.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3411"/>
+        <location filename="../Project/Project.py" line="3418"/>
         <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit seznam balíčků&lt;/b&gt;&lt;p&gt;Vytvoří počáteční seznam souborů pro vložení do eric5 plugin archivu. Seznam je vytvořen ze souboru projektu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3423"/>
+        <location filename="../Project/Project.py" line="3430"/>
         <source>Create an eric5 plugin archive file.</source>
         <translation>Vytvořit soubor eric5 plugin archivu.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3425"/>
+        <location filename="../Project/Project.py" line="3432"/>
         <source>&lt;b&gt;Create Plugin Archive&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit Plugin archiv&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3438"/>
+        <location filename="../Project/Project.py" line="3445"/>
         <source>Create an eric5 plugin archive file (snapshot release).</source>
         <translation>Vytvoří se soubor eric5 plugin archívu (snímek vydání).</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3440"/>
+        <location filename="../Project/Project.py" line="3447"/>
         <source>&lt;b&gt;Create Plugin Archive (Snapshot)&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vytvořit Plugin archiv (Snímek)&lt;/b&gt;&lt;p&gt;Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Údaj o verzi hlavního skriptu je změněn v souladu se snímkem vydání.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3890"/>
+        <location filename="../Project/Project.py" line="3897"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybrané VCS &lt;b&gt;{0}&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Navrácení do původního stavu.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3899"/>
+        <location filename="../Project/Project.py" line="3906"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybrané VCS &lt;b&gt;{0}&lt;/b&gt; nebylo nalezeno.&lt;br/&gt;Kontrola verzí vypnuta.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4281"/>
+        <location filename="../Project/Project.py" line="4294"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4318"/>
+        <location filename="../Project/Project.py" line="4331"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;PKGLIST&lt;/b&gt; nelze načíst.&lt;/p&gt;&lt;p&gt;Důvod: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4329"/>
+        <location filename="../Project/Project.py" line="4342"/>
         <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s eric5 plugin archivem &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit. Zrušeno...&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4350"/>
+        <location filename="../Project/Project.py" line="4363"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nelze uložit do archivu. Ingorováno.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4369"/>
+        <location filename="../Project/Project.py" line="4382"/>
         <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s eric5 plugin archivem &lt;b&gt;{0}&lt;/b&gt; byl úspěšně vytvořen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4449"/>
+        <location filename="../Project/Project.py" line="4462"/>
         <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Plugin soubor &lt;b&gt;{0}&lt;/b&gt; nelze přečíst.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1373"/>
+        <location filename="../Project/Project.py" line="1377"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be added to &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {2}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Vybraný soubor &lt;b&gt;{0}&lt;/b&gt; nelze přidat do &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Důvod: {2}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1421"/>
+        <location filename="../Project/Project.py" line="1425"/>
         <source>&lt;p&gt;The target directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Cílový adresář &lt;b&gt;{0}&lt;/b&gt; nelze vytvořit.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="179"/>
+        <location filename="../Project/Project.py" line="181"/>
         <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1979"/>
+        <location filename="../Project/Project.py" line="1983"/>
         <source>Create main script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1979"/>
+        <location filename="../Project/Project.py" line="1983"/>
         <source>&lt;p&gt;The mainscript &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3391"/>
+        <location filename="../Project/Project.py" line="3398"/>
         <source>Load Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3391"/>
+        <location filename="../Project/Project.py" line="3398"/>
         <source>&amp;Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3394"/>
+        <location filename="../Project/Project.py" line="3401"/>
         <source>Load a diagram from file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3396"/>
+        <location filename="../Project/Project.py" line="3403"/>
         <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="302"/>
+        <location filename="../Project/Project.py" line="304"/>
         <source>&lt;p&gt;The Programming Language &lt;b&gt;{0}&lt;/b&gt; is not supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="321"/>
+        <location filename="../Project/Project.py" line="323"/>
         <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="311"/>
+        <location filename="../Project/Project.py" line="313"/>
         <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered with Programming Language &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="228"/>
-        <source>Qt GUI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="229"/>
-        <source>Qt Console</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="230"/>
-        <source>PyQt5 GUI</source>
+        <source>Qt GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="231"/>
+        <source>Qt Console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="232"/>
+        <source>PyQt5 GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="233"/>
         <source>PyQt5 Console</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47495,12 +47515,12 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="559"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="560"/>
         <source>Revision</source>
         <translation>Revize</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="556"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="557"/>
         <source>Author</source>
         <translation>Autor</translation>
     </message>
@@ -47510,7 +47530,7 @@
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="56"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="57"/>
         <source>Message</source>
         <translation>Zpráva</translation>
     </message>
@@ -47570,22 +47590,22 @@
         <translation>&amp;Porovnat revize</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="85"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="86"/>
         <source>Added</source>
         <translation>Přidáno</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="86"/>
-        <source>Deleted</source>
-        <translation>Smazáno</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="87"/>
+        <source>Deleted</source>
+        <translation>Smazáno</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="88"/>
         <source>Modified</source>
         <translation>Změněno</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py" line="434"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py" line="435"/>
         <source>Subversion Error</source>
         <translation>Subversion chyba</translation>
     </message>
@@ -47640,7 +47660,7 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="245"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="246"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
@@ -47685,12 +47705,12 @@
         <translation>Zatavit kopírování/přesun</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="245"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="246"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="88"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py" line="89"/>
         <source>Replaced</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47798,36 +47818,36 @@
         <translation>revize</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py" line="130"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py" line="131"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py" line="130"/>
+        <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnLogDialog.py" line="131"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="140"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="141"/>
         <source>diff to {0}</source>
         <translation>diff na {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="148"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="149"/>
         <source>&lt;i&gt;author: {0}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;Autor: {0}&lt;/i&gt;&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="151"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="152"/>
         <source>&lt;i&gt;date: {0}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;datum: {0}&lt;/i&gt;&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="168"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py" line="169"/>
         <source> (copied from {0}, revision {1})</source>
         <translation> (zkopírováno z {0}, revize {1})</translation>
     </message>
@@ -58897,17 +58917,17 @@
 <context>
     <name>VersionControl</name>
     <message>
-        <location filename="../VCS/VersionControl.py" line="547"/>
+        <location filename="../VCS/VersionControl.py" line="549"/>
         <source>Process Generation Error</source>
         <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-        <location filename="../VCS/VersionControl.py" line="673"/>
+        <location filename="../VCS/VersionControl.py" line="675"/>
         <source>Repository status checking is switched off</source>
         <translation>Kontrolování stavu v repozitáři je vypnuto</translation>
     </message>
     <message>
-        <location filename="../VCS/VersionControl.py" line="547"/>
+        <location filename="../VCS/VersionControl.py" line="549"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation>
     </message>
@@ -62947,183 +62967,283 @@
 <context>
     <name>pep8</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="165"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="136"/>
         <source>indentation contains mixed spaces and tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="167"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="138"/>
         <source>indentation is not a multiple of four</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="169"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="140"/>
         <source>expected an indented block</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="171"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="142"/>
         <source>unexpected indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="173"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="162"/>
         <source>indentation contains tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="175"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="164"/>
         <source>whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="181"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="170"/>
         <source>whitespace before &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="183"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="172"/>
         <source>multiple spaces before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="185"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="174"/>
         <source>multiple spaces after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="187"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="176"/>
         <source>tab before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="189"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="178"/>
         <source>tab after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="191"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="180"/>
         <source>missing whitespace around operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="193"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="188"/>
         <source>missing whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="195"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="190"/>
         <source>multiple spaces after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="197"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="192"/>
         <source>tab after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="199"/>
-        <source>no spaces around keyword / parameter equals</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="201"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="196"/>
         <source>at least two spaces before inline comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="203"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="198"/>
         <source>inline comment should start with &apos;# &apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="205"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="208"/>
         <source>trailing whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="207"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="210"/>
         <source>no newline at end of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="209"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="212"/>
         <source>blank line contains whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="211"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="214"/>
         <source>expected 1 blank line, found 0</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="213"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="216"/>
         <source>expected 2 blank lines, found {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="215"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="218"/>
         <source>too many blank lines ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="217"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="220"/>
         <source>blank lines found after function decorator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="219"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="222"/>
         <source>blank line at end of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="221"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="224"/>
         <source>multiple imports on one line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="223"/>
-        <source>line too long ({0} characters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="225"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="230"/>
         <source>.has_key() is deprecated, use &apos;in&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="227"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="232"/>
         <source>deprecated form of raising exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="229"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="234"/>
         <source>&apos;&lt;&gt;&apos; is deprecated, use &apos;!=&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="231"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="236"/>
         <source>backticks are deprecated, use &apos;repr()&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="233"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="238"/>
         <source>multiple statements on one line (colon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="235"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="240"/>
         <source>multiple statements on one line (semicolon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="267"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="283"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="237"/>
-        <source>Token Error: {0}</source>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="144"/>
+        <source>continuation line indentation is not a multiple of four</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="146"/>
+        <source>continuation line missing indentation or outdented</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="148"/>
+        <source>closing bracket does not match indentation of opening bracket&apos;s line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="150"/>
+        <source>closing bracket does not match visual indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="152"/>
+        <source>continuation line does not distinguish itself from next logical line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="154"/>
+        <source>continuation line over-indented for hanging indent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="156"/>
+        <source>continuation line over-indented for visual indent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="158"/>
+        <source>continuation line under-indented for visual indent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="160"/>
+        <source>closing bracket is missing indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="182"/>
+        <source>missing whitespace around arithmetic operator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="184"/>
+        <source>missing whitespace around bitwise or shift operator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="186"/>
+        <source>missing whitespace around modulo operator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="194"/>
+        <source>unexpected spaces around keyword / parameter equals</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="200"/>
+        <source>multiple spaces after keyword</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="202"/>
+        <source>multiple spaces before keyword</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="204"/>
+        <source>tab after keyword</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="206"/>
+        <source>tab before keyword</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="226"/>
+        <source>line too long ({0} &gt; {1} characters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="228"/>
+        <source>the backslash is redundant between brackets</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="242"/>
+        <source>statement ends with a semicolon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="246"/>
+        <source>comparison to {0} should be {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="248"/>
+        <source>do not compare types, use &apos;isinstance()&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/pep8.py" line="250"/>
+        <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sat Aug 24 14:44:55 2013 +0200
+++ b/i18n/eric5_de.ts	Sat Aug 24 15:05:05 2013 +0200
@@ -20202,17 +20202,17 @@
         <translation>Wähle das als Filter zu verwendende Feld</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1226"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1227"/>
         <source>Revision</source>
         <translation>Revision</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1223"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1224"/>
         <source>Author</source>
         <translation>Autor</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="95"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="96"/>
         <source>Message</source>
         <translation>Nachricht</translation>
     </message>
@@ -20327,42 +20327,42 @@
         <translation>Alt+P</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="120"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="121"/>
         <source>Added</source>
         <translation>Hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="121"/>
-        <source>Deleted</source>
-        <translation>Gelöscht</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="122"/>
+        <source>Deleted</source>
+        <translation>Gelöscht</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="123"/>
         <source>Modified</source>
         <translation>Modifiziert</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="704"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="705"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="704"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="705"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Der Prozess {0} konnte nicht gestartet werden. Stellen Sie sicher, dass er sich im Suchpfad befindet.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="506"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="507"/>
         <source>The hg process did not finish within 30s.</source>
         <translation>Der hg-Prozess endete nicht innerhalb von 30s.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="509"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="510"/>
         <source>Could not start the hg executable.</source>
         <translation>Das hg Programm konnte nicht gestartet werden.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="512"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="513"/>
         <source>Mercurial Error</source>
         <translation>Mercurial-Fehler</translation>
     </message>
@@ -20412,7 +20412,7 @@
         <translation>Wähle den als Filter zu verwendenden Zweig</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="89"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="90"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
@@ -20427,7 +20427,7 @@
         <translation>Mercurial-Log (Ausgang)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="132"/>
         <source>Bookmarks</source>
         <translation>Lesezeichen</translation>
     </message>
@@ -20468,12 +20468,12 @@
         <translation>Drücken, um die ausgewählten Änderungssätze in den aktuellen Zweig zu kopeieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1376"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1377"/>
         <source>Copy Changesets</source>
         <translation>Änderungssätze kopieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1376"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py" line="1377"/>
         <source>The project should be reread. Do this now?</source>
         <translation>Das Projekt sollte neu gelesen werde. Jetzt durchführen?</translation>
     </message>
@@ -20566,111 +20566,111 @@
         <translation>Revision</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="188"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="189"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="188"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="189"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Der Prozess {0} konnte nicht gestartet werden. Stellen Sie sicher, dass er sich im Suchpfad befindet.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="273"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="274"/>
         <source>No log available for &apos;{0}&apos;</source>
         <translation>Kein Log für „{0}“ verfügbar</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="306"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="307"/>
         <source>diff to {0}</source>
         <translation>Unterschied zu {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="317"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="318"/>
         <source>Branches: {0}&lt;br /&gt;
 </source>
         <translation>Zweige: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="319"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="320"/>
         <source>Tags: {0}&lt;br /&gt;
 </source>
         <translation>Marken: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="324"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="325"/>
         <source>Parents: {0}&lt;br /&gt;
 </source>
         <translation>Vorgänger: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="326"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="327"/>
         <source>&lt;i&gt;Author: {0}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;Autor: {0}&lt;/i&gt;&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="329"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="330"/>
         <source>&lt;i&gt;Date: {0}, {1}&lt;/i&gt;&lt;br /&gt;
 </source>
         <translation>&lt;i&gt;Datum: {0}, {1}&lt;/i&gt;&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="343"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="344"/>
         <source>Added {0}&lt;br /&gt;
 </source>
         <translation>Hinzugefügt: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="349"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="350"/>
         <source>Modified {0}&lt;br /&gt;
 </source>
         <translation>Modifiziert: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="355"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="356"/>
         <source>Deleted {0}&lt;br /&gt;
 </source>
         <translation>Gelöscht: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="239"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="240"/>
         <source>The hg process did not finish within 30s.</source>
         <translation>Der hg-Prozess endete nicht innerhalb von 30s.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="242"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="243"/>
         <source>Could not start the hg executable.</source>
         <translation>Das hg Programm konnte nicht gestartet werden.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="245"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="246"/>
         <source>Mercurial Error</source>
         <translation>Mercurial-Fehler</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="339"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="340"/>
         <source>Added {0} (copied from {1})&lt;br /&gt;
 </source>
         <translation>Hinzugefügt: {0} (kopiert von {1})</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="322"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="323"/>
         <source>Bookmarks: {0}&lt;br /&gt;
 </source>
         <translation>Lesezeichen: {0}&lt;br /&gt;
 </translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="315"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py" line="316"/>
         <source>Phase: {0}&lt;br /&gt;
 </source>
         <translation>Phase: {0}&lt;br /&gt;
@@ -31751,47 +31751,47 @@
 Zeile und Position.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="166"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="34"/>
         <source>Exclude Files:</source>
         <translation>Ignoriere Dateien:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="173"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="41"/>
         <source>Enter filename patterns of files to be excluded separated by a comma</source>
         <translation>Gib Dateimuster getrennt durch Kommata von Dateien ein, die ignoriert werden sollen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="107"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="60"/>
         <source>Press to start the PEP 8 check run</source>
         <translation>Drücken, um die PEP 8-Prüfung zu starten</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="110"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="63"/>
         <source>Start</source>
         <translation>Starten</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="84"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="105"/>
         <source>Exclude Messages:</source>
         <translation>Ignorierte Nachrichten:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="210"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="170"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="46"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="222"/>
         <source>Select to repeat each message type</source>
         <translation>Auswählen, um Wiederholungen eines Nachrichtentyps zuzulassen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="49"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="225"/>
         <source>Repeat messages</source>
         <translation>Nachrichten wiederholen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="220"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="290"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the PEP 8 check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -31802,120 +31802,140 @@
 Zeile und Position.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="236"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="306"/>
         <source>File/Line</source>
         <translation>Datei/Zeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="241"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="311"/>
         <source>Code</source>
         <translation>Schlüssel</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="246"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="316"/>
         <source>Message</source>
         <translation>Nachricht</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="254"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="324"/>
         <source>Shows the progress of the PEP 8 check action</source>
         <translation>Zeigt den Fortschritt der PEP 8-Prüfung an</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="53"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="87"/>
         <source>Show</source>
         <translation>Zeige</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="55"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="89"/>
         <source>Press to show all files containing an issue</source>
         <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="282"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="324"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="361"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="420"/>
         <source>No issues found.</source>
         <translation>Keine Probleme gefunden.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="159"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="112"/>
         <source>Enter message codes or categories to be excluded separated by a comma</source>
         <translation>Gib die Nachrichtenschlüssel oder -kategorien für auszuschließende Nachrichten durch Kommata getrennt ein</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="152"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="136"/>
         <source>Enter message codes or categories to be included separated by a comma</source>
         <translation>Gib die Nachrichtenschlüssel oder -kategorien für ausgewählte Nachrichten durch Kommata getrennt ein</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="130"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="83"/>
         <source>Press to load the default values</source>
         <translation>Drücken, um Standarwerte zu laden</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="133"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="86"/>
         <source>Load Defaults</source>
         <translation>Standards laden</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="140"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="93"/>
         <source>Press to store the current values as defaults</source>
         <translation>Drücken, um die aktuellen Werte als Standard zu speichern</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="143"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="96"/>
         <source>Store Defaults</source>
         <translation>Standards speichern</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="200"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="129"/>
         <source>Included Messages:</source>
         <translation>Ausgewählte Nachrichten:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="48"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="82"/>
         <source>Statistics...</source>
         <translation>Statistik...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="84"/>
         <source>Press to show some statistics for the last run</source>
         <translation>Drücken, um eine Statistik für den letzten Lauf zu zeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="207"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="167"/>
         <source>Press to select the message codes from a list</source>
         <translation>Drücken, um die Nachrichtenschlüssel aus einer Liste zu wählen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="153"/>
         <source>Fix Issues:</source>
         <translation>Zu behebende Probleme:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="160"/>
         <source>Enter message codes of issues to be fixed automatically (leave empty to fix all)</source>
         <translation>Geben Sie die Nachrichtenschlüssel für automatisch zu behebende Probleme ein (leer lassen, um alle zu beheben)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="59"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="235"/>
         <source>Select to fix some issues</source>
         <translation>Auswählen, um ausgewählte Probleme zu beheben</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="62"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="238"/>
         <source>Fix issues automatically</source>
         <translation>Probleme automatisch beheben</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="330"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Fix: {0}</source>
         <translation>Lösung: {0}</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="177"/>
+        <source>Max. Line Length:</source>
+        <translation>Max. Zeilenlänge:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="186"/>
+        <source>Enter the maximum allowed line length (PEP-8: 79 characters)</source>
+        <translation>Gib die maximal zulässige Zeilenlänge ein (PEP-8: 79 Zeichen)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="262"/>
+        <source>Select to allow hanging closing brackets</source>
+        <translation>Auswählen, um hängende schließende Klammern zuzulassen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="265"/>
+        <source>Allow hanging closing brackets</source>
+        <translation>Hängende schließende Klammern zulassen</translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -32009,12 +32029,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="141"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="47"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Kein Python 2-Interpreter konfiguriert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="202"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="112"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>Python 2-Interpreter wurde nicht innerhalb von 15s beendet.</translation>
     </message>
@@ -32042,7 +32062,7 @@
         <translation>Nachricht</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="56"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="58"/>
         <source>%n issue(s) found</source>
         <translation>
             <numerusform>%n Problem gefunden</numerusform>
@@ -32050,7 +32070,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="60"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="62"/>
         <source>%n file(s) checked</source>
         <translation>
             <numerusform>%n Datei überprüft</numerusform>
@@ -32058,7 +32078,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="62"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="64"/>
         <source>%n file(s) with issues found</source>
         <translation>
             <numerusform>%n Datei mit Problemen gefunden</numerusform>
@@ -32066,7 +32086,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="58"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8StatisticsDialog.py" line="60"/>
         <source>%n issue(s) fixed</source>
         <translation>
             <numerusform>%n Problem behoben</numerusform>
@@ -32533,27 +32553,27 @@
 <context>
     <name>PluginInstallWidget</name>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="58"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="59"/>
         <source>&lt; Back</source>
         <translation>&lt; Zurück</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="60"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="61"/>
         <source>Next &gt;</source>
         <translation>Weiter &gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="69"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="70"/>
         <source>User plugins directory</source>
         <translation>Nutzer-Pluginverzeichnis</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="74"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="75"/>
         <source>Global plugins directory</source>
         <translation>Globales Pluginverzeichnis</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="136"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="137"/>
         <source>Plugin ZIP-Archives:
 {0}
 
@@ -32566,82 +32586,82 @@
 {1} ({2})</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="150"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="151"/>
         <source>Select plugin ZIP-archives</source>
         <translation>Wähle Plugin-ZIP-Archive</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="150"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="151"/>
         <source>Plugin archive (*.zip)</source>
         <translation>Pluginarchiv (*.zip)</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="212"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="213"/>
         <source>Installing {0} ...</source>
         <translation>Installiere {0} ...</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="216"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="217"/>
         <source>  ok</source>
         <translation>  ok</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="223"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="224"/>
         <source>The plugins were installed successfully.</source>
         <translation>Die Plugins wurden erfolgreich installiert.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="226"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="227"/>
         <source>Some plugins could not be installed.</source>
         <translation>Einige Plugins konnten nicht installiert werden.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="255"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="256"/>
         <source>&lt;p&gt;The archive file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Archivdatei &lt;b&gt;{0}&lt;/b&gt; existiert nicht. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="287"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="288"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not a valid plugin ZIP-archive. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; ist kein gültiges Plugin-ZIP-Archiv. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="269"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="270"/>
         <source>&lt;p&gt;The destination directory &lt;b&gt;{0}&lt;/b&gt; is not writeable. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;In das Zielverzeichnis &lt;b&gt;{0}&lt;/b&gt; kann nicht geschrieben werden. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="325"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="331"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not contain a &apos;packageName&apos; attribute. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Pluginmodul &lt;b&gt;{0}&lt;/b&gt; besitzt kein Attribut „packageName“. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="342"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="348"/>
         <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Pluginpackage &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="351"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="357"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Pluginmodul &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="427"/>
-        <source>Error installing plugin. Reason: {0}</source>
-        <translation>Fehler bei der Plugin-Installation. Ursache: {0}</translation>
-    </message>
-    <message>
         <location filename="../PluginManager/PluginInstallDialog.py" line="433"/>
+        <source>Error installing plugin. Reason: {0}</source>
+        <translation>Fehler bei der Plugin-Installation. Ursache: {0}</translation>
+    </message>
+    <message>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="439"/>
         <source>Unspecific exception installing plugin.</source>
         <translation>Unbekannte Ausnahme bei der Plugin-Installation.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="62"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="63"/>
         <source>Install</source>
         <translation>Installieren</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInstallDialog.py" line="332"/>
+        <location filename="../PluginManager/PluginInstallDialog.py" line="338"/>
         <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not conform with the PyQt v2 API. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Pluginmodul &lt;b&gt;{0}&lt;/b&gt; verwendet nicht die PyQt-API Version 2. Abbruch...&lt;/p&gt;</translation>
     </message>
@@ -32954,37 +32974,37 @@
 <context>
     <name>PluginUninstallWidget</name>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="53"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="54"/>
         <source>User plugins directory</source>
         <translation>Nutzer-Pluginverzeichnis</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="58"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="59"/>
         <source>Global plugins directory</source>
         <translation>Globales Pluginverzeichnis</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="165"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="176"/>
         <source>Plugin Uninstallation</source>
         <translation>Plugin-Deinstallation</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="100"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="101"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; could not be unloaded. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Plugin &lt;b&gt;{0}&lt;/b&gt; konnte nicht entladen werden. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="110"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="111"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; has no &apos;packageName&apos; attribute. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Plugin &lt;b&gt;{0}&lt;/b&gt; hat kein Attribut „packageName“. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="148"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="159"/>
         <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; could not be removed. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Pluginpacket &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden. Abbruch...&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginUninstallDialog.py" line="165"/>
+        <location filename="../PluginManager/PluginUninstallDialog.py" line="176"/>
         <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; was uninstalled successfully from {1}.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Plugin &lt;b&gt;{0}&lt;/b&gt; wurde erfolgreich von {1} deinstalliert.&lt;/p&gt;</translation>
     </message>
@@ -33328,852 +33348,852 @@
 <context>
     <name>Project</name>
     <message>
-        <location filename="../Project/Project.py" line="641"/>
+        <location filename="../Project/Project.py" line="645"/>
         <source>Read project file</source>
         <translation>Projektdatei lesen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1242"/>
+        <location filename="../Project/Project.py" line="1246"/>
         <source>Delete translation</source>
         <translation>Übersetzung löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1382"/>
+        <location filename="../Project/Project.py" line="1386"/>
         <source>Add file</source>
         <translation>Datei hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1825"/>
+        <location filename="../Project/Project.py" line="1829"/>
         <source>Delete file</source>
         <translation>Datei löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1927"/>
+        <location filename="../Project/Project.py" line="1931"/>
         <source>Create project directory</source>
         <translation>Projektverzeichnis erstellen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3080"/>
+        <location filename="../Project/Project.py" line="3087"/>
         <source>Open project</source>
         <translation>Projekt öffnen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3114"/>
+        <location filename="../Project/Project.py" line="3121"/>
         <source>Save project as</source>
         <translation>Projekt speichern unter</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2527"/>
+        <location filename="../Project/Project.py" line="2534"/>
         <source>Save File</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2564"/>
+        <location filename="../Project/Project.py" line="2571"/>
         <source>Close Project</source>
         <translation>Projekt schließen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2564"/>
+        <location filename="../Project/Project.py" line="2571"/>
         <source>The current project has unsaved changes.</source>
         <translation>Das aktuelle Projekt hat ungesicherte Änderungen.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3257"/>
+        <location filename="../Project/Project.py" line="3264"/>
         <source>&amp;Save</source>
         <translation>&amp;Speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3067"/>
+        <location filename="../Project/Project.py" line="3074"/>
         <source>New project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3067"/>
+        <location filename="../Project/Project.py" line="3074"/>
         <source>&amp;New...</source>
         <translation>&amp;Neu...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3071"/>
+        <location filename="../Project/Project.py" line="3078"/>
         <source>Generate a new project</source>
         <translation>Erstelle ein neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3072"/>
+        <location filename="../Project/Project.py" line="3079"/>
         <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neu...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog zur Eingabe der Informationen des neuen Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3080"/>
+        <location filename="../Project/Project.py" line="3087"/>
         <source>&amp;Open...</source>
         <translation>&amp;Öffnen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3084"/>
+        <location filename="../Project/Project.py" line="3091"/>
         <source>Open an existing project</source>
         <translation>Öffnet ein bestehendes Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3085"/>
-        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Öffnen...&lt;/b&gt;&lt;p&gt;Dies öffnet ein bestehendes Projekt.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3092"/>
+        <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Öffnen...&lt;/b&gt;&lt;p&gt;Dies öffnet ein bestehendes Projekt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3099"/>
         <source>Close project</source>
         <translation>Projekt schließen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3092"/>
+        <location filename="../Project/Project.py" line="3099"/>
         <source>&amp;Close</source>
         <translation>Schl&amp;ießen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3095"/>
+        <location filename="../Project/Project.py" line="3102"/>
         <source>Close the current project</source>
         <translation>Schließt das aktuelle Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3096"/>
-        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Schließen&lt;/b&gt;&lt;p&gt;Dies schließt das aktuelle Projekt.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3103"/>
+        <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Schließen&lt;/b&gt;&lt;p&gt;Dies schließt das aktuelle Projekt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3110"/>
         <source>Save project</source>
         <translation>Projekt speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3106"/>
+        <location filename="../Project/Project.py" line="3113"/>
         <source>Save the current project</source>
         <translation>Speichert das aktuelle Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3107"/>
-        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Speichern&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3117"/>
-        <source>Save the current project to a new file</source>
-        <translation>Speichert das aktuelle Projekt in eine neue Datei</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3118"/>
-        <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Speichern unter&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt in eine neue Datei.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3155"/>
-        <source>Add translation to project</source>
-        <translation>Übersetzung zum Projekt hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3155"/>
-        <source>Add &amp;translation...</source>
-        <translation>&amp;Übersetzung hinzufügen...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3159"/>
-        <source>Add a translation to the current project</source>
-        <translation>Eine Übersetzung zum aktuellen Projekt hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3161"/>
-        <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Übersetzung hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem eine Übersetzung zum aktuellen Projekt hinzugefügt werden kann.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3181"/>
-        <source>Project properties</source>
-        <translation>Projekteigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3181"/>
-        <source>&amp;Properties...</source>
-        <translation>&amp;Eigenschaften...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3184"/>
-        <source>Show the project properties</source>
-        <translation>Zeigt die Projekteigenschaften an</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3185"/>
-        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Eigenschaften...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, mit dem die Projekteigenschaften bearbeitet werden können.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3469"/>
-        <source>Open &amp;Recent Projects</source>
-        <translation>Zu&amp;letzt geöffnete Projekte</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1487"/>
-        <source>The target directory must not be empty.</source>
-        <translation>Das Zielverzeichnis darf nicht leer sein.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3169"/>
-        <source>Search new files</source>
-        <translation>Neue Dateien suchen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3169"/>
-        <source>Searc&amp;h new files...</source>
-        <translation>Neue &amp;Dateien suchen...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3172"/>
-        <source>Search new files in the project directory.</source>
-        <translation>Sucht neue Dateien im Projektverzeichnis.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1497"/>
-        <source>Add directory</source>
-        <translation>Verzeichnis hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1497"/>
-        <source>The source directory must not be empty.</source>
-        <translation>Das Quellverzeichnis darf nicht leer sein.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1132"/>
-        <source>Add Language</source>
-        <translation>Sprache hinzufügen</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3114"/>
+        <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Speichern&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3124"/>
+        <source>Save the current project to a new file</source>
+        <translation>Speichert das aktuelle Projekt in eine neue Datei</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3125"/>
+        <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Speichern unter&lt;/b&gt;&lt;p&gt;Dies speichert das aktuelle Projekt in eine neue Datei.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3162"/>
+        <source>Add translation to project</source>
+        <translation>Übersetzung zum Projekt hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3162"/>
+        <source>Add &amp;translation...</source>
+        <translation>&amp;Übersetzung hinzufügen...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3166"/>
+        <source>Add a translation to the current project</source>
+        <translation>Eine Übersetzung zum aktuellen Projekt hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3168"/>
+        <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Übersetzung hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem eine Übersetzung zum aktuellen Projekt hinzugefügt werden kann.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3188"/>
+        <source>Project properties</source>
+        <translation>Projekteigenschaften</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3188"/>
+        <source>&amp;Properties...</source>
+        <translation>&amp;Eigenschaften...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3191"/>
+        <source>Show the project properties</source>
+        <translation>Zeigt die Projekteigenschaften an</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3192"/>
+        <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Eigenschaften...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, mit dem die Projekteigenschaften bearbeitet werden können.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3476"/>
+        <source>Open &amp;Recent Projects</source>
+        <translation>Zu&amp;letzt geöffnete Projekte</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1491"/>
+        <source>The target directory must not be empty.</source>
+        <translation>Das Zielverzeichnis darf nicht leer sein.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3176"/>
+        <source>Search new files</source>
+        <translation>Neue Dateien suchen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3176"/>
+        <source>Searc&amp;h new files...</source>
+        <translation>Neue &amp;Dateien suchen...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3179"/>
+        <source>Search new files in the project directory.</source>
+        <translation>Sucht neue Dateien im Projektverzeichnis.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1501"/>
+        <source>Add directory</source>
+        <translation>Verzeichnis hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1501"/>
+        <source>The source directory must not be empty.</source>
+        <translation>Das Quellverzeichnis darf nicht leer sein.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1136"/>
+        <source>Add Language</source>
+        <translation>Sprache hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3121"/>
         <source>Save &amp;as...</source>
         <translation>Speichern &amp;unter...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3899"/>
+        <location filename="../Project/Project.py" line="3906"/>
         <source>Version Control System</source>
         <translation>Versionskontrollsystem</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3759"/>
+        <location filename="../Project/Project.py" line="3766"/>
         <source>Search New Files</source>
         <translation>Neue Dateien suchen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3759"/>
+        <location filename="../Project/Project.py" line="3766"/>
         <source>There were no new files found to be added.</source>
         <translation>Es wurden keine neuen Dateien gefunden.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="836"/>
+        <location filename="../Project/Project.py" line="840"/>
         <source>Read project session</source>
         <translation>Projekt Session lesen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1026"/>
+        <location filename="../Project/Project.py" line="1030"/>
         <source>Please save the project first.</source>
         <translation>Bitte speichern Sie zuerst das Projekt.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="867"/>
+        <location filename="../Project/Project.py" line="871"/>
         <source>Save project session</source>
         <translation>Projekt Session speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3293"/>
+        <location filename="../Project/Project.py" line="3300"/>
         <source>Load session</source>
         <translation>Session laden</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3296"/>
+        <location filename="../Project/Project.py" line="3303"/>
         <source>Load the projects session file.</source>
         <translation>Laden der Projekt Session.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3310"/>
+        <location filename="../Project/Project.py" line="3317"/>
         <source>Save session</source>
         <translation>Session speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3313"/>
+        <location filename="../Project/Project.py" line="3320"/>
         <source>Save the projects session file.</source>
         <translation>Speichern der Projekt Session.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3297"/>
+        <location filename="../Project/Project.py" line="3304"/>
         <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Session laden&lt;/b&gt;&lt;p&gt;Dies lädt eine Projektsessiondatei. Die Session enthält die folgenden Daten.&lt;br&gt;- alle offenen Quelltextdateien&lt;br&gt;- alle Haltepunkte&lt;br&gt;- die Kommandozeilenparameter&lt;br&gt;- das Arbeitsverzeichnis&lt;br&gt;- das Ausnahmemeldungsflag&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3314"/>
+        <location filename="../Project/Project.py" line="3321"/>
         <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
         <translation>&lt;b&gt;Session speichern&lt;/b&gt;&lt;p&gt;Dies speichert eine Projektsessiondatei. Die Session enthält die folgenden Daten.&lt;br&gt;- alle offenen Quelltextdateien&lt;br&gt;- alle Haltepunkte&lt;br&gt;- die Kommandozeilenparameter&lt;br&gt;- das Arbeitsverzeichnis&lt;br&gt;- das Ausnahmemeldungsflag&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3479"/>
+        <location filename="../Project/Project.py" line="3486"/>
         <source>Source &amp;Documentation</source>
         <translation>&amp;Quelltextdokumentation</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3474"/>
+        <location filename="../Project/Project.py" line="3481"/>
         <source>Chec&amp;k</source>
         <translation>&amp;Prüfen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3340"/>
+        <location filename="../Project/Project.py" line="3347"/>
         <source>Code Metrics</source>
         <translation>Quelltextmetriken</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3340"/>
+        <location filename="../Project/Project.py" line="3347"/>
         <source>&amp;Code Metrics...</source>
         <translation>&amp;Quelltextmetriken...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3343"/>
+        <location filename="../Project/Project.py" line="3350"/>
         <source>Show some code metrics for the project.</source>
         <translation>Zeige einige Quelltextmetriken für das Projekt.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3345"/>
-        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Quelltextmetriken...&lt;/b&gt;&lt;p&gt;Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3352"/>
+        <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Quelltextmetriken...&lt;/b&gt;&lt;p&gt;Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3359"/>
         <source>Python Code Coverage</source>
         <translation>Python-Quelltext-Abdeckung</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3352"/>
+        <location filename="../Project/Project.py" line="3359"/>
         <source>Code Co&amp;verage...</source>
         <translation>&amp;Quelltext Abdeckung...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3355"/>
+        <location filename="../Project/Project.py" line="3362"/>
         <source>Show code coverage information for the project.</source>
         <translation>Zeige die Quelltextabdeckung für das Projekt.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3357"/>
+        <location filename="../Project/Project.py" line="3364"/>
         <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Quelltext Abdeckung...&lt;/b&gt;&lt;p&gt;Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4075"/>
+        <location filename="../Project/Project.py" line="4088"/>
         <source>Profile Data</source>
         <translation>Profildaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3365"/>
+        <location filename="../Project/Project.py" line="3372"/>
         <source>&amp;Profile Data...</source>
         <translation>&amp;Profildaten...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3368"/>
+        <location filename="../Project/Project.py" line="3375"/>
         <source>Show profiling data for the project.</source>
         <translation>Zeige Profildaten des aktuellen Projektes.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3370"/>
+        <location filename="../Project/Project.py" line="3377"/>
         <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Profildaten...&lt;/b&gt;&lt;p&gt;Dies zeigt die Profildaten des Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3476"/>
+        <location filename="../Project/Project.py" line="3483"/>
         <source>Sho&amp;w</source>
         <translation>&amp;Zeige</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4054"/>
+        <location filename="../Project/Project.py" line="4067"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4007"/>
+        <location filename="../Project/Project.py" line="4020"/>
         <source>Coverage Data</source>
         <translation>Quelltext Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3470"/>
-        <source>&amp;Version Control</source>
-        <translation>&amp;Versionskontrolle</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4129"/>
-        <source>Application Diagram</source>
-        <translation>Applikations-Diagramm</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3379"/>
-        <source>&amp;Application Diagram...</source>
-        <translation>&amp;Applikations-Diagramm...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3382"/>
-        <source>Show a diagram of the project.</source>
-        <translation>Zeigt ein Diagramm des Projektes.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3384"/>
-        <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Applikations-Diagramm...&lt;/b&gt;&lt;p&gt;Dies zeigt ein Diagramm des Projektes.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3477"/>
+        <source>&amp;Version Control</source>
+        <translation>&amp;Versionskontrolle</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4142"/>
+        <source>Application Diagram</source>
+        <translation>Applikations-Diagramm</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3386"/>
+        <source>&amp;Application Diagram...</source>
+        <translation>&amp;Applikations-Diagramm...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3389"/>
+        <source>Show a diagram of the project.</source>
+        <translation>Zeigt ein Diagramm des Projektes.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3391"/>
+        <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Applikations-Diagramm...&lt;/b&gt;&lt;p&gt;Dies zeigt ein Diagramm des Projektes.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3484"/>
         <source>&amp;Diagrams</source>
         <translation>&amp;Diagramme</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="734"/>
+        <location filename="../Project/Project.py" line="738"/>
         <source>Save project file</source>
         <translation>Projektdatei speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>Code Coverage</source>
         <translation>Quelltext Abdeckung</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>Please select a coverage file</source>
         <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4075"/>
+        <location filename="../Project/Project.py" line="4088"/>
         <source>Please select a profile file</source>
         <translation>Bitte wählen Sie eine Datei mit Profildaten</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3141"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>Add directory to project</source>
         <translation>Verzeichnis zum Projekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3141"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>Add directory...</source>
         <translation>Verzeichnis hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3145"/>
+        <location filename="../Project/Project.py" line="3152"/>
         <source>Add a directory to the current project</source>
         <translation>Füge den Inhalt eines Verzeichnisses zum Projekt hinzu</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3147"/>
+        <location filename="../Project/Project.py" line="3154"/>
         <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Verzeichnis hinzufügen&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem ein Verzeichnis bzw. der Inhalt eines Verzeichnisses zum aktuellen Projekt hinzugefügt werden kann.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1617"/>
+        <location filename="../Project/Project.py" line="1621"/>
         <source>Rename file</source>
         <translation>Datei umbenennen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1640"/>
+        <location filename="../Project/Project.py" line="1644"/>
         <source>Rename File</source>
         <translation>Datei umbenennen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2049"/>
+        <location filename="../Project/Project.py" line="2053"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>Soll die Projektdatei zum Repository hinzugefügt werden?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2393"/>
         <source>New Project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1989"/>
+        <location filename="../Project/Project.py" line="1993"/>
         <source>Add existing files to the project?</source>
         <translation>Existierende Dateien dem Projekt hinzufügen?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2096"/>
+        <location filename="../Project/Project.py" line="2100"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>Möchten Sie die VCS-Befehlsoptionen bearbeiten?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2070"/>
+        <location filename="../Project/Project.py" line="2074"/>
         <source>Select version control system for the project</source>
         <translation>Wähle das Versionskontrollsystem für das Projekt</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="641"/>
+        <location filename="../Project/Project.py" line="645"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Projektdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="734"/>
+        <location filename="../Project/Project.py" line="738"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Projektdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="836"/>
+        <location filename="../Project/Project.py" line="840"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Projektsessiondatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="867"/>
+        <location filename="../Project/Project.py" line="871"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Projektsessiondatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gespeichert werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1242"/>
+        <location filename="../Project/Project.py" line="1246"/>
         <source>&lt;p&gt;The selected translation file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die ausgewählte Übersetzungsdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2527"/>
+        <location filename="../Project/Project.py" line="2534"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1825"/>
+        <location filename="../Project/Project.py" line="1829"/>
         <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die ausgewählte Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1927"/>
+        <location filename="../Project/Project.py" line="1931"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Projektverzeichnis &lt;b&gt;{0}&lt;/b&gt; konnte nicht erstellt werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="889"/>
+        <location filename="../Project/Project.py" line="893"/>
         <source>Delete project session</source>
         <translation>Projekt Session löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="889"/>
+        <location filename="../Project/Project.py" line="893"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Projektsessiondatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3327"/>
+        <location filename="../Project/Project.py" line="3334"/>
         <source>Delete session</source>
         <translation>Session löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3330"/>
+        <location filename="../Project/Project.py" line="3337"/>
         <source>Delete the projects session file.</source>
         <translation>Löscht die Projektsessiondatei.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3331"/>
+        <location filename="../Project/Project.py" line="3338"/>
         <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
         <translation>&lt;b&gt;Session löschen&lt;/b&gt;&lt;p&gt;Dies löscht die Sessiondatei des Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="185"/>
+        <location filename="../Project/Project.py" line="187"/>
         <source>Ruby Files (*.rb);;</source>
         <translation>Ruby-Dateien (*.rb);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3173"/>
+        <location filename="../Project/Project.py" line="3180"/>
         <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl) in the project directory and registered subdirectories.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Neue Dateien suchen...&lt;/b&gt;&lt;p&gt;Dies sucht im Projektverzeichnis und in registrierten Unterverzeichnissen nach neuen Dateien (Quellen, *.ui, *.idl).&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="233"/>
+        <location filename="../Project/Project.py" line="235"/>
         <source>Console</source>
         <translation>Konsole</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="234"/>
+        <location filename="../Project/Project.py" line="236"/>
         <source>Other</source>
         <translation>Sonstige</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4129"/>
+        <location filename="../Project/Project.py" line="4142"/>
         <source>Include module names?</source>
         <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1848"/>
+        <location filename="../Project/Project.py" line="1852"/>
         <source>Delete directory</source>
         <translation>Verzeichnis löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1848"/>
+        <location filename="../Project/Project.py" line="1852"/>
         <source>&lt;p&gt;The selected directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das ausgewählte Verzeichnis &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="915"/>
+        <location filename="../Project/Project.py" line="919"/>
         <source>Read tasks</source>
         <translation>Aufgaben lesen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="915"/>
+        <location filename="../Project/Project.py" line="919"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="933"/>
+        <location filename="../Project/Project.py" line="937"/>
         <source>Save tasks</source>
         <translation>Aufgaben speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="933"/>
+        <location filename="../Project/Project.py" line="937"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Aufgabendatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="985"/>
+        <location filename="../Project/Project.py" line="989"/>
         <source>Read debugger properties</source>
         <translation>Debugger-Eigenschaften lesen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="985"/>
+        <location filename="../Project/Project.py" line="989"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei mit den projektspezifischen Debugger-Eigenschaften &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1015"/>
+        <location filename="../Project/Project.py" line="1019"/>
         <source>Save debugger properties</source>
         <translation>Debugger-Eigenschaften speichern</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1015"/>
+        <location filename="../Project/Project.py" line="1019"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei mit den projektspezifischen Debugger-Eigenschaften &lt;b&gt;{0}&lt;/b&gt; konnte nicht gespeichert werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1042"/>
         <source>Delete debugger properties</source>
         <translation>Debugger-Eigenschaften löschen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1042"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei mit den projektspezifischen Debugger-Eigenschaften &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3235"/>
+        <location filename="../Project/Project.py" line="3242"/>
         <source>Debugger Properties</source>
         <translation>Debugger-Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3235"/>
+        <location filename="../Project/Project.py" line="3242"/>
         <source>Debugger &amp;Properties...</source>
         <translation>Debugger-&amp;Eigenschaften...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3238"/>
+        <location filename="../Project/Project.py" line="3245"/>
         <source>Show the debugger properties</source>
         <translation>Debugger-Eigenschaften anzeigen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3239"/>
-        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Debugger-Eigenschaften...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, um die projektspezifischen Debugger-Einstellungen zu bearbeiten.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="3246"/>
+        <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Debugger-Eigenschaften...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, um die projektspezifischen Debugger-Einstellungen zu bearbeiten.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3253"/>
         <source>Load</source>
         <translation>Laden</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3246"/>
+        <location filename="../Project/Project.py" line="3253"/>
         <source>&amp;Load</source>
         <translation>&amp;Laden</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3249"/>
+        <location filename="../Project/Project.py" line="3256"/>
         <source>Load the debugger properties</source>
         <translation>Debugger-Eigenschaften laden</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3264"/>
+        <source>Save</source>
+        <translation>Speichern</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3267"/>
+        <source>Save the debugger properties</source>
+        <translation>Debugger-Eigenschaften speichern</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3275"/>
+        <source>Delete</source>
+        <translation>Löschen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3275"/>
+        <source>&amp;Delete</source>
+        <translation>&amp;Löschen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3278"/>
+        <source>Delete the debugger properties</source>
+        <translation>Debugger-Eigenschaften löschen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3287"/>
+        <source>Reset</source>
+        <translation>Zurücksetzen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3287"/>
+        <source>&amp;Reset</source>
+        <translation>&amp;Zurücksetzen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3290"/>
+        <source>Reset the debugger properties</source>
+        <translation>Debugger-Eigenschaften zurücksetzen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3488"/>
+        <source>Debugger</source>
+        <translation>Debugger</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3485"/>
+        <source>Session</source>
+        <translation>Session</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3257"/>
-        <source>Save</source>
-        <translation>Speichern</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3260"/>
-        <source>Save the debugger properties</source>
-        <translation>Debugger-Eigenschaften speichern</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3268"/>
-        <source>Delete</source>
-        <translation>Löschen</translation>
+        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Debugger-Eigenschaften laden&lt;/b&gt;&lt;p&gt;Dies lädt die projektspezifischen Debugger-Einstellungen.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="3268"/>
-        <source>&amp;Delete</source>
-        <translation>&amp;Löschen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3271"/>
-        <source>Delete the debugger properties</source>
-        <translation>Debugger-Eigenschaften löschen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3280"/>
-        <source>Reset</source>
-        <translation>Zurücksetzen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3280"/>
-        <source>&amp;Reset</source>
-        <translation>&amp;Zurücksetzen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3283"/>
-        <source>Reset the debugger properties</source>
-        <translation>Debugger-Eigenschaften zurücksetzen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3481"/>
-        <source>Debugger</source>
-        <translation>Debugger</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3478"/>
-        <source>Session</source>
-        <translation>Session</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3250"/>
-        <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Debugger-Eigenschaften laden&lt;/b&gt;&lt;p&gt;Dies lädt die projektspezifischen Debugger-Einstellungen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3261"/>
         <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debugger-Eigenschaften speichern&lt;/b&gt;&lt;p&gt;Dies speichert die projektspezifischen Debugger-Einstellungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3272"/>
+        <location filename="../Project/Project.py" line="3279"/>
         <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debugger-Eigenschaften löschen&lt;/b&gt;&lt;p&gt;Dies löscht die Datei mit den projektspezifischen Debugger-Einstellungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3284"/>
+        <location filename="../Project/Project.py" line="3291"/>
         <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Debugger-Eigenschaften zurücksetzen&lt;/b&gt;&lt;p&gt;Dies setzt die projektspezifischen Debugger-Einstellungen zurück.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3204"/>
+        <location filename="../Project/Project.py" line="3211"/>
         <source>Filetype Associations</source>
         <translation>Dateitypzuordnungen</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3211"/>
+        <source>Filetype Associations...</source>
+        <translation>Dateitypzuordnungen...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3214"/>
+        <source>Show the project filetype associations</source>
+        <translation>Zeigt die Dateitypzuordnungen des Projektes</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3216"/>
+        <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Dateitypzuordnungen...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog zur Eingabe der Dateitypzuordnungen des Projektes. Diese Zuordnungen bestimmen den Typ (Quellen, Formulare, Schnittstellen oder Sonstige) über ein Dateinamenmuster. Sie werden genutzt, wenn eine Datei zum Projekt hinzugefügt oder wenn nach neuen Dateien gesucht wird.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3489"/>
+        <source>Pac&amp;kagers</source>
+        <translation>Pa&amp;ketierer</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3134"/>
+        <source>Add files to project</source>
+        <translation>Dateien zum Projekt hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3134"/>
+        <source>Add &amp;files...</source>
+        <translation>&amp;Dateien hinzufügen...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3138"/>
+        <source>Add files to the current project</source>
+        <translation>Fügt Dateien zum aktuellen Projekt hinzu</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3139"/>
+        <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Dateien hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem Dateien zum aktuellen Projekt hinzugefügt werden kann. Der Ort, an dem sie eingefügt werden, wird durch die Dateinamenerweiterung bestimmt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1644"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht umbenannt werden.&lt;br /&gt;Ursache: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2519"/>
+        <source>Project Files (*.e4p)</source>
+        <translation>Projektdateien (*.e4p)</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3475"/>
+        <source>&amp;Project</source>
+        <translation>&amp;Projekt</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3595"/>
+        <source>Project</source>
+        <translation>Projekt</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3656"/>
+        <source>&amp;Clear</source>
+        <translation>&amp;Löschen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1441"/>
+        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="772"/>
+        <source>Read user project properties</source>
+        <translation>Nutzer bezogene Projektdaten lesen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="772"/>
+        <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei mit den Nutzer bezogenen Projektdaten &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="793"/>
+        <source>Save user project properties</source>
+        <translation>Nutzer bezogene Projektdaten sichern</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="793"/>
+        <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Datei mit den Nutzer bezogenen Projektdaten &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3199"/>
+        <source>User project properties</source>
+        <translation>Nutzer bezogene Projektdaten</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3199"/>
+        <source>&amp;User Properties...</source>
+        <translation>&amp;Nutzer bezogene Projektdaten...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3202"/>
+        <source>Show the user specific project properties</source>
+        <translation>Zeigt die Nutzer bezogenen Projektdaten an</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3204"/>
-        <source>Filetype Associations...</source>
-        <translation>Dateitypzuordnungen...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3207"/>
-        <source>Show the project filetype associations</source>
-        <translation>Zeigt die Dateitypzuordnungen des Projektes</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3209"/>
-        <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the filetype associations of the project. These associations determine the type (source, form, interface or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Dateitypzuordnungen...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog zur Eingabe der Dateitypzuordnungen des Projektes. Diese Zuordnungen bestimmen den Typ (Quellen, Formulare, Schnittstellen oder Sonstige) über ein Dateinamenmuster. Sie werden genutzt, wenn eine Datei zum Projekt hinzugefügt oder wenn nach neuen Dateien gesucht wird.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3482"/>
-        <source>Pac&amp;kagers</source>
-        <translation>Pa&amp;ketierer</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3127"/>
-        <source>Add files to project</source>
-        <translation>Dateien zum Projekt hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3127"/>
-        <source>Add &amp;files...</source>
-        <translation>&amp;Dateien hinzufügen...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3131"/>
-        <source>Add files to the current project</source>
-        <translation>Fügt Dateien zum aktuellen Projekt hinzu</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3132"/>
-        <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Dateien hinzufügen...&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, mit dem Dateien zum aktuellen Projekt hinzugefügt werden kann. Der Ort, an dem sie eingefügt werden, wird durch die Dateinamenerweiterung bestimmt.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1640"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht umbenannt werden.&lt;br /&gt;Ursache: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2512"/>
-        <source>Project Files (*.e4p)</source>
-        <translation>Projektdateien (*.e4p)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3468"/>
-        <source>&amp;Project</source>
-        <translation>&amp;Projekt</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3588"/>
-        <source>Project</source>
-        <translation>Projekt</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3649"/>
-        <source>&amp;Clear</source>
-        <translation>&amp;Löschen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1437"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="768"/>
-        <source>Read user project properties</source>
-        <translation>Nutzer bezogene Projektdaten lesen</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="768"/>
-        <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei mit den Nutzer bezogenen Projektdaten &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="789"/>
-        <source>Save user project properties</source>
-        <translation>Nutzer bezogene Projektdaten sichern</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="789"/>
-        <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Datei mit den Nutzer bezogenen Projektdaten &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3192"/>
-        <source>User project properties</source>
-        <translation>Nutzer bezogene Projektdaten</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3192"/>
-        <source>&amp;User Properties...</source>
-        <translation>&amp;Nutzer bezogene Projektdaten...</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3195"/>
-        <source>Show the user specific project properties</source>
-        <translation>Zeigt die Nutzer bezogenen Projektdaten an</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3197"/>
         <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nutzer bezogene Projektdaten...&lt;/b&gt;&lt;p&gt;Dies zeigt einen Dialog an, um Nutzer bezogene Projektdaten zu bearbeiten.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2723"/>
+        <location filename="../Project/Project.py" line="2730"/>
         <source>Syntax errors detected</source>
         <translation>Syntaxfehler gefunden</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Project/Project.py" line="2723"/>
+        <location filename="../Project/Project.py" line="2730"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>Das Projekt beinhaltet %n Datei mit Syntaxfehlern.</numerusform>
@@ -34181,272 +34201,272 @@
         </translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4281"/>
+        <location filename="../Project/Project.py" line="4294"/>
         <source>Create Package List</source>
         <translation>Erzeuge Paketliste</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3405"/>
+        <location filename="../Project/Project.py" line="3412"/>
         <source>Create &amp;Package List</source>
         <translation>Erzeuge &amp;Paketliste</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4449"/>
+        <location filename="../Project/Project.py" line="4462"/>
         <source>Create Plugin Archive</source>
         <translation>Erzeuge Plugin Archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3419"/>
+        <location filename="../Project/Project.py" line="3426"/>
         <source>Create Plugin &amp;Archive</source>
         <translation>Erzeuge Plugin &amp;Archiv</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4245"/>
+        <location filename="../Project/Project.py" line="4258"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;PKGLIST&lt;/b&gt; existiert bereits.&lt;/p&gt;&lt;p&gt;Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4281"/>
+        <location filename="../Project/Project.py" line="4294"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;PKGLIST&lt;/b&gt; konnte nicht erzeugt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4298"/>
+        <location filename="../Project/Project.py" line="4311"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;PKGLIST&lt;/b&gt; existiert nicht. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4306"/>
+        <location filename="../Project/Project.py" line="4319"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>Für das Projekt wurde kein Hauptskript angegeben. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4318"/>
+        <location filename="../Project/Project.py" line="4331"/>
         <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;PKGLIST&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1411"/>
+        <location filename="../Project/Project.py" line="1415"/>
         <source>&lt;p&gt;The source directory doesn&apos;t contain any files belonging to the selected category.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Quellverzeichnis enthält keine Dateien, die zur gewählten Kategorie gehören.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2388"/>
+        <location filename="../Project/Project.py" line="2393"/>
         <source>Select Version Control System</source>
         <translation>Versionskontrollsystem auswählen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2076"/>
+        <location filename="../Project/Project.py" line="2080"/>
         <source>None</source>
         <translation>Keines</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="321"/>
+        <location filename="../Project/Project.py" line="323"/>
         <source>Registering Project Type</source>
         <translation>Projekttyp Registrierung</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4350"/>
+        <location filename="../Project/Project.py" line="4363"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht im Archiv gespeichert werde. Sie wird ignoriert.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3434"/>
+        <location filename="../Project/Project.py" line="3441"/>
         <source>Create Plugin Archive (Snapshot)</source>
         <translation>Erzeuge Plugin Archiv (Snapshot)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3434"/>
+        <location filename="../Project/Project.py" line="3441"/>
         <source>Create Plugin Archive (&amp;Snapshot)</source>
         <translation>Erzeuge Plugin Archiv (&amp;Snapshot)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4449"/>
+        <location filename="../Project/Project.py" line="4462"/>
         <source>&lt;p&gt;The plugin file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Plugindatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;br&gt;Grund: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1132"/>
+        <location filename="../Project/Project.py" line="1136"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>Sie müssen zuerst ein Übersetzungsmuster festlegen.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2163"/>
+        <location filename="../Project/Project.py" line="2167"/>
         <source>Translation Pattern</source>
         <translation>Übersetzungsmuster</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2163"/>
+        <location filename="../Project/Project.py" line="2167"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>Gib das Pfadmuster für Übersetzungsdateien ein (benutze „%language%“ anstelle des Sprachcodes):</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3890"/>
+        <location filename="../Project/Project.py" line="3897"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das ausgewählte Versionskontrollsystem &lt;b&gt;{0}&lt;/b&gt; konnte nicht gefunden werden.&lt;br/&gt;Ignoriere Übersteuerung.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3899"/>
+        <location filename="../Project/Project.py" line="3906"/>
         <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das ausgewählte Versionskontrollsystem &lt;b&gt;{0}&lt;/b&gt; konnte nicht gefunden werden.&lt;br/&gt;Versionskontrolle nicht möglich.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3219"/>
+        <location filename="../Project/Project.py" line="3226"/>
         <source>Lexer Associations</source>
         <translation>Lexerzuordnungen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3219"/>
+        <location filename="../Project/Project.py" line="3226"/>
         <source>Lexer Associations...</source>
         <translation>Lexerzuordnungen...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3222"/>
+        <location filename="../Project/Project.py" line="3229"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation>Zeigt die projektspezifischen Lexerzuordnungen</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3224"/>
+        <location filename="../Project/Project.py" line="3231"/>
         <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Lexerzuordnungen&lt;/b&gt;&lt;p&gt;Dies öffnet einen Dialog, um die projektspezifischen Lexerzuordnungen zu bearbeiten. Diese Zuordnungen überschreiben die globalen Lexerzuordnungen. Lexer werden verwendet, um den Editortext einzufärben.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="244"/>
+        <location filename="../Project/Project.py" line="246"/>
         <source>PySide GUI</source>
         <translation>PySide Oberfläche</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="245"/>
+        <location filename="../Project/Project.py" line="247"/>
         <source>PySide Console</source>
         <translation>PySide Kommandozeile</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="182"/>
+        <location filename="../Project/Project.py" line="184"/>
         <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source>
         <translation>Python 3-Dateien (*.py *.py3);;Python 3-GUI-Dateien (*.pyw *.pyw3);;</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="234"/>
+        <source>Eric Plugin</source>
+        <translation>Eric Plugin</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3416"/>
+        <source>Create an initial PKGLIST file for an eric5 plugin.</source>
+        <translation>Erzeugt eine erste PKGLIST-Datei für ein eric5-Plugin.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3418"/>
+        <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Erzeuge Paketliste&lt;/b&gt;&lt;p&gt;Dies erzeugt eine erste Liste von Dateien, die in ein eric5-Pluginarchive einbezogen werden sollen. Die Liste wird aus der Projektdatei erzeugt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3430"/>
+        <source>Create an eric5 plugin archive file.</source>
+        <translation>Erzeugt eine eric5 Plugin Archivdatei.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3432"/>
+        <source>&lt;b&gt;Create Plugin Archive&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Erzeuge Pluginarchiv&lt;/b&gt;&lt;p&gt;Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3445"/>
+        <source>Create an eric5 plugin archive file (snapshot release).</source>
+        <translation>Erzeugt eine eric5 Plugin Archivdatei (Snapshot Release).</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3447"/>
+        <source>&lt;b&gt;Create Plugin Archive (Snapshot)&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Erzeuge Pluginarchiv (Snapshot)&lt;/b&gt;&lt;p&gt;Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert. Der Versionseintrag des Hauptskriptes wird verändert, um ein Snapshot Release anzuzeigen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4342"/>
+        <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die eric5 Plugin Archivdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4382"/>
+        <source>&lt;p&gt;The eric5 plugin archive file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die eric5 Plugin Archivdatei &lt;b&gt;{0}&lt;/b&gt; wurde erfolgreich erzeugt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1377"/>
+        <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be added to &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {2}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die ausgewählte Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht zu &lt;b&gt;{1}&lt;/b&gt; hinzugefügt werden.&lt;/p&gt;&lt;p&gt;Ursache: {2}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1425"/>
+        <source>&lt;p&gt;The target directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Das Zielverzeichnis &lt;b&gt;{0}&lt;/b&gt; konnte nicht erstellt werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="181"/>
+        <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source>
+        <translation>Python 2-Dateien (*.py2);;Python 2-GUI-Dateien (*.pyw2);;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1983"/>
+        <source>Create main script</source>
+        <translation>Hauptskript erzeugen</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1983"/>
+        <source>&lt;p&gt;The mainscript &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Das Hauptskript &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden.&lt;br/&gt;Ursache: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3398"/>
+        <source>Load Diagram</source>
+        <translation>Diagramm laden</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3398"/>
+        <source>&amp;Load Diagram...</source>
+        <translation>Diagramm &amp;laden...</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3401"/>
+        <source>Load a diagram from file.</source>
+        <translation>Lade ein Diagramm aus einer Datei.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3403"/>
+        <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Diagramm laden...&lt;/b&gt;&lt;p&gt;Dies lädt ein Diagramm aus einer Datei.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="304"/>
+        <source>&lt;p&gt;The Programming Language &lt;b&gt;{0}&lt;/b&gt; is not supported.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Die Programmiersprache &lt;b&gt;{0}&lt;/b&gt; wird nicht unterstützt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="323"/>
+        <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Der Projekttyp &lt;b&gt;{0}&lt;/b&gt; ist bereits registriert.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="313"/>
+        <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered with Programming Language &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Der Projekttyp &lt;b&gt;{0}&lt;/b&gt; ist bereits für die Programmiersprache &lt;b&gt;{1}&lt;/b&gt; registriert.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="230"/>
+        <source>Qt GUI</source>
+        <translation>Qt Oberfläche</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="231"/>
+        <source>Qt Console</source>
+        <translation>Qt Kommandozeile</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="232"/>
-        <source>Eric Plugin</source>
-        <translation>Eric Plugin</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3409"/>
-        <source>Create an initial PKGLIST file for an eric5 plugin.</source>
-        <translation>Erzeugt eine erste PKGLIST-Datei für ein eric5-Plugin.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3411"/>
-        <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric5 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Erzeuge Paketliste&lt;/b&gt;&lt;p&gt;Dies erzeugt eine erste Liste von Dateien, die in ein eric5-Pluginarchive einbezogen werden sollen. Die Liste wird aus der Projektdatei erzeugt.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3423"/>
-        <source>Create an eric5 plugin archive file.</source>
-        <translation>Erzeugt eine eric5 Plugin Archivdatei.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3425"/>
-        <source>&lt;b&gt;Create Plugin Archive&lt;/b&gt;&lt;p&gt;This creates an eric5 plugin archive file using the list of files given in the PKGLIST file. The archive name is built from the main script name.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Erzeuge Pluginarchiv&lt;/b&gt;&lt;p&gt;Dies erzeugt eine eric5-Pluginarchivdatei mit den Dateien, die in der PKGLIST-Datei angegeben wurden. Der Archivname wird aus dem Namen des Hauptskriptes generiert.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3438"/>
-        <source>Create an eric5 plugin archive file (snapshot release).</source>
-        <translation>Erzeugt eine eric5 Plugin Archivdatei (Snapshot Release).</translation>
-    </message>