Commits

timeless committed 2f5058c

hgqt: consistently place localization wrapping whitespace at the end

Comments (0)

Files changed (14)

tortoisehg/hgqt/bugreport.py

 
     def gettext(self, opts):
         text = '{{{\n#!python\n' # Wrap in Bitbucket wiki preformat markers
-        text += _('** Please report this bug to'
-                ' http://bitbucket.org/tortoisehg/thg/issues\n')
+        text += _('** Please report this bug to '
+                  'http://bitbucket.org/tortoisehg/thg/issues\n')
         text += '** Mercurial version (%s).  TortoiseHg version (%s)\n' % (
                 hglib.hgversion, version.version())
         text += '** Command: %s\n' % (hglib.tounicode(opts.get('cmd', 'N/A')))

tortoisehg/hgqt/chunks.py

                 patchchunks = ctx._files[wfile]
                 if isAorR(chunks[0].header) or isAorR(patchchunks[0].header):
                     qtlib.InfoMsgBox(_('Unable to merge chunks'),
-                                    _('Add or remove patches must be merged'
-                                     ' in the working directory'))
+                                    _('Add or remove patches must be merged '
+                                      'in the working directory'))
                     return False
                 # merge new chunks into existing chunks, sorting on start line
                 newchunks = [chunks[0]]

tortoisehg/hgqt/cmdui.py

 
     def reject(self):
         if self.core.running():
-            ret = QMessageBox.question(self, _('Confirm Exit'), _('Mercurial'
-                        ' command is still running.\nAre you sure you want'
-                        ' to terminate?'), QMessageBox.Yes | QMessageBox.No,
+            ret = QMessageBox.question(self, _('Confirm Exit'),
+                        _('Mercurial command is still running.\n'
+                          'Are you sure you want to terminate?'),
+                        QMessageBox.Yes | QMessageBox.No,
                         QMessageBox.No)
             if ret == QMessageBox.Yes:
                 self.core.cancel()

tortoisehg/hgqt/compress.py

         elif cmd == 'discard':
             labels = [(QMessageBox.Yes, _('&Discard')),
                       (QMessageBox.No, _('Cancel'))]
-            if not qtlib.QuestionMsgBox(_('Confirm Discard'), _('Discard'
-                     ' outstanding changes to working directory?'),
+            if not qtlib.QuestionMsgBox(_('Confirm Discard'),
+                     _('Discard outstanding changes to working directory?'),
                      labels=labels, parent=self):
                 return
             def finished(ret):

tortoisehg/hgqt/guess.py

         buthbox = QHBoxLayout()
         utvbox.addLayout(buthbox)
         copycheck = QCheckBox(_('Only consider deleted files'))
-        copycheck.setToolTip(_('Uncheck to consider all revisioned files'
-                               ' for copy sources'))
+        copycheck.setToolTip(_('Uncheck to consider all revisioned files '
+                               'for copy sources'))
         copycheck.setChecked(True)
         findrenames = QPushButton(_('Find Rename'))
         findrenames.setToolTip(_('Find copy and/or rename sources'))

tortoisehg/hgqt/hginit.py

                     break  # already root path
             if l > 1:
                 res = qtlib.QuestionMsgBox(_('Init'),
-                        _('Are you sure about adding the new repository'
-                          ' %d extra levels deep?') % l,
+                        _('Are you sure about adding the new repository '
+                          '%d extra levels deep?') % l,
                         _('Path exists up to:\n%s\nand you asked for:\n%s')
                             % (p, udest),
                         defaultbutton=QMessageBox.No)

tortoisehg/hgqt/merge.py

         self.groups.add(wd_merged, 'merged')
         box.addWidget(wd_merged)
 
-        text = _('Before merging, you must <a href="commit"><b>commit</b></a>,'
-                 ' <a href="shelve"><b>shelve</b></a> to patch,'
-                 ' or <a href="discard"><b>discard</b></a> changes.')
+        text = _('Before merging, you must <a href="commit"><b>commit</b></a>, '
+                 '<a href="shelve"><b>shelve</b></a> to patch, '
+                 'or <a href="discard"><b>discard</b></a> changes.')
         wd_text = QLabel(text)
         wd_text.setContentsMargins(*MARGINS)
         wd_text.linkActivated.connect(self.link_activated)
             labels = [(QMessageBox.Yes, _('&Discard')),
                       (QMessageBox.No, _('Cancel'))]
             if not qtlib.QuestionMsgBox(_('Confirm Discard Changes'),
-                _('The changes from revision %s and all unmerged parents'
-                  ' will be discarded.\n\n'
+                _('The changes from revision %s and all unmerged parents '
+                  'will be discarded.\n\n'
                   'Are you sure this is what you want to do?')
                       % (self.other_info.get_data('revid')),
                          labels=labels, parent=self):
             if cmd != 'discard:noconfirm':
                 labels = [(QMessageBox.Yes, _('&Discard')),
                           (QMessageBox.No, _('Cancel'))]
-                if not qtlib.QuestionMsgBox(_('Confirm Discard'), _('Discard'
-                         ' outstanding changes to working directory?'),
+                if not qtlib.QuestionMsgBox(_('Confirm Discard'),
+                         _('Discard outstanding changes to working directory?'),
                          labels=labels, parent=self):
                     return
             def finished(ret):

tortoisehg/hgqt/rebase.py

         self.layout().addWidget(self.autoresolvechk)
 
         if 'hgsubversion' in repo.extensions():
-            self.svnchk = QCheckBox(_('Rebase unpublished onto Subversion head'
-                                      ' (override source, destination)'))
+            self.svnchk = QCheckBox(_('Rebase unpublished onto Subversion head '
+                                      '(override source, destination)'))
             self.layout().addWidget(self.svnchk)
         else:
             self.svnchk = None
         elif cmd == 'discard':
             labels = [(QMessageBox.Yes, _('&Discard')),
                       (QMessageBox.No, _('Cancel'))]
-            if not qtlib.QuestionMsgBox(_('Confirm Discard'), _('Discard'
-                     ' outstanding changes to working directory?'),
+            if not qtlib.QuestionMsgBox(_('Confirm Discard'),
+                     _('Discard outstanding changes to working directory?'),
                      labels=labels, parent=self):
                 return
             def finished(ret):

tortoisehg/hgqt/rename.py

             self.repo = thgrepo.repository(ui, path=self.root)
         except (error.RepoError):
             qtlib.ErrorMsgBox(_('Error'),
-                    _('Could not find or initialize the repository'
-                      ' from folder<p>%s</p>' % cwd))
+                    _('Could not find or initialize the repository '
+                      'from folder<p>%s</p>' % cwd))
             return ('', '')
         try:
             fname = util.canonpath(self.root, cwd, pats[0])

tortoisehg/hgqt/repowidget.py

             if self.bundle:
                 self.clearBundle()
                 self.showMessage(_('Repository stripped, incoming preview '
-                                   ' cleared'))
+                                   'cleared'))
             elif self.revset:
                 self.revset = []
                 self.filterbar.revsetle.setText('')

tortoisehg/hgqt/revset.py

     ('grep(regex)',
      _('Like "keyword(string)" but accepts a regex.')),
     ('outgoing([path])',
-     _('Changesets not found in the specified destination repository,'
-       ' or the default push location.')),
+     _('Changesets not found in the specified destination repository, '
+       'or the default push location.')),
     ('bookmark([name])',
        _('The named bookmark or all bookmarks.')),
     ('tag([name])',

tortoisehg/hgqt/settings.py

         restartneeded=True, globalonly=True),
     _fi(_('Three-way Merge Tool'), 'ui.merge',
         (genDeferredCombo, findMergeTools),
-        _('Graphical merge program for resolving merge conflicts.  If left'
-        ' unspecified, Mercurial will use the first applicable tool it finds'
-        ' on your system or use its internal merge tool that leaves conflict'
-        ' markers in place.  Chose internal:merge to force conflict markers,'
-        ' internal:prompt to always select local or other, or internal:dump'
-        ' to leave files in the working directory for manual merging')),
+        _('Graphical merge program for resolving merge conflicts.  If left '
+        'unspecified, Mercurial will use the first applicable tool it finds '
+        'on your system or use its internal merge tool that leaves conflict '
+        'markers in place.  Chose internal:merge to force conflict markers ,'
+        'internal:prompt to always select local or other, or internal:dump '
+        'to leave files in the working directory for manual merging')),
     _fi(_('Visual Diff Tool'), 'tortoisehg.vdiff',
         (genDeferredCombo, findDiffTools),
-        _('Specify visual diff tool, as described in the [merge-tools]'
-          ' section of your Mercurial configuration files.  If left'
-          ' unspecified, TortoiseHg will use the selected merge tool.'
-          ' Failing that it uses the first applicable tool it finds.')),
+        _('Specify visual diff tool, as described in the [merge-tools] '
+          'section of your Mercurial configuration files.  If left '
+          'unspecified, TortoiseHg will use the selected merge tool. '
+          'Failing that it uses the first applicable tool it finds.')),
     _fi(_('Visual Editor'), 'tortoisehg.editor', genEditCombo,
         _('Specify the visual editor used to view files.  Format:<br>'
           'myeditor -flags [$FILE --num=$LINENUM][--search $SEARCH]<br><br>'
           'key repository files, looking for changes.  Values under '
           '100ms are ignored.  Default: 500')),
     _fi(_('Tab Width'), 'tortoisehg.tabwidth', genIntEditCombo,
-        _('Specify the number of spaces that tabs expand to in various'
-        ' TortoiseHg windows.'
-        ' Default: 0, Not expanded')),
+        _('Specify the number of spaces that tabs expand to in various '
+          'TortoiseHg windows. '
+          'Default: 0, Not expanded')),
     _fi(_('Max Diff Size'), 'tortoisehg.maxdiff', genIntEditCombo,
         _('The maximum size file (in KB) that TortoiseHg will '
-        'show changes for in the changelog, status, and commit windows.'
-        ' A value of zero implies no limit.  Default: 1024 (1MB)')),
+          'show changes for in the changelog, status, and commit windows. '
+          'A value of zero implies no limit.  Default: 1024 (1MB)')),
     _fi(_('Capture stderr'), 'tortoisehg.stderrcapt', genBoolCombo,
-        _('Redirect stderr to a buffer which is parsed at the end of'
-        ' the process for runtime errors. Default: True')),
+        _('Redirect stderr to a buffer which is parsed at the end of '
+          'the process for runtime errors. Default: True')),
     _fi(_('Fork GUI'), 'tortoisehg.guifork', genBoolCombo,
-        _('When running from the command line, fork a background'
-        ' process to run graphical dialogs.  Default: True')),
+        _('When running from the command line, fork a background '
+          'process to run graphical dialogs.  Default: True')),
     _fi(_('Full Path Title'), 'tortoisehg.fullpath', genBoolCombo,
-        _('Show a full directory path of the repository in the dialog title'
-        ' instead of just the root directory name.  Default: False')),
+        _('Show a full directory path of the repository in the dialog title '
+          'instead of just the root directory name.  Default: False')),
     _fi(_('Auto-resolve merges'), 'tortoisehg.autoresolve', genBoolCombo,
-        _('Indicates whether TortoiseHg should attempt to automatically resolve'
-          ' changes from both sides to the same file, and only report merge'
-          ' conflicts when this is not possible. When False, all files with'
-          ' changes on both sides of the merge will report as conflicting, even'
-          ' if the edits are to different parts of the file. In either case,'
-          ' when conflicts occur, the user will be invited to review and'
-          ' resolve changes manually. Default: False.')),
+        _('Indicates whether TortoiseHg should attempt to automatically '
+          'resolve changes from both sides to the same file, and only report '
+          'merge conflicts when this is not possible. When False, all files '
+          'with changes on both sides of the merge will report as conflicting, '
+          'even if the edits are to different parts of the file. In either '
+          'case, when conflicts occur, the user will be invited to review and '
+          'resolve changes manually. Default: False.')),
     )),
 
 ({'name': 'log', 'label': _('Workbench'), 'icon': 'menulog'}, (
     _fi(_('Author Coloring'), 'tortoisehg.authorcolor', genBoolCombo,
-        _('Color changesets by author name.  If not enabled,'
-        ' the changes are colored green for merge, red for'
-        ' non-trivial parents, black for normal.'
-        ' Default: False')),
+        _('Color changesets by author name.  If not enabled, '
+          'the changes are colored green for merge, red for '
+          'non-trivial parents, black for normal. '
+          'Default: False')),
     _fi(_('Task Tabs'), 'tortoisehg.tasktabs', (genDefaultCombo,
          ['east', 'west', 'off']),
-        _('Show tabs along the side of the bottom half of each repo'
-        ' widget allowing one to switch task tabs without using the toolbar.'
-        ' Default: off')),
+        _('Show tabs along the side of the bottom half of each repo '
+          'widget allowing one to switch task tabs without using the toolbar. '
+          'Default: off')),
     _fi(_('Long Summary'), 'tortoisehg.longsummary', genBoolCombo,
-        _('If true, concatenate multiple lines of changeset summary'
-        ' until they reach 80 characters.'
-        ' Default: False')),
+        _('If true, concatenate multiple lines of changeset summary '
+          'until they reach 80 characters. '
+          'Default: False')),
     _fi(_('Log Batch Size'), 'tortoisehg.graphlimit', genIntEditCombo,
-        _('The number of revisions to read and display in the'
-        ' changelog viewer in a single batch.'
-        ' Default: 500')),
+        _('The number of revisions to read and display in the '
+          'changelog viewer in a single batch. '
+          'Default: 500')),
     _fi(_('Dead Branches'), 'tortoisehg.deadbranch', genEditCombo,
-        _('Comma separated list of branch names that should be ignored'
-        ' when building a list of branch names for a repository.'
-        ' Default: None (leave blank)')),
+        _('Comma separated list of branch names that should be ignored '
+          'when building a list of branch names for a repository. '
+          'Default: None (leave blank)')),
     _fi(_('Branch Colors'), 'tortoisehg.branchcolors', genEditCombo,
-        _('Space separated list of branch names and colors of the form'
-        ' branch:#XXXXXX. Spaces and colons in the branch name must be'
-        ' escaped using a backslash (\\). Likewise some other characters'
-        ' can be escaped in this way, e.g. \\u0040 will be decoded to the'
-        ' @ character, and \\n to a linefeed.'
-        ' Default: None (leave blank)')),
+        _('Space separated list of branch names and colors of the form '
+          'branch:#XXXXXX. Spaces and colons in the branch name must be '
+          'escaped using a backslash (\\). Likewise some other characters '
+          'can be escaped in this way, e.g. \\u0040 will be decoded to the '
+          '@ character, and \\n to a linefeed. '
+          'Default: None (leave blank)')),
     _fi(_('Hide Tags'), 'tortoisehg.hidetags', genEditCombo,
         _('Space separated list of tags that will not be shown.'
-        ' Useful example: Specify "qbase qparent qtip" to hide the'
-        ' standard tags inserted by the Mercurial Queues Extension.'
-        ' Default: None (leave blank)')),
+          'Useful example: Specify "qbase qparent qtip" to hide the '
+          'standard tags inserted by the Mercurial Queues Extension. '
+          'Default: None (leave blank)')),
     _fi(_('After Pull Operation'), 'tortoisehg.postpull', (genDefaultCombo,
         ['none', 'update', 'fetch', 'rebase']),
-        _('Operation which is performed directly after a successful pull.'
-        ' update equates to pull --update, fetch equates to the fetch'
-        ' extension, rebase equates to pull --rebase.  Default: none')),
+        _('Operation which is performed directly after a successful pull. '
+          'update equates to pull --update, fetch equates to the fetch '
+          'extension, rebase equates to pull --rebase.  Default: none')),
     )),
 
 ({'name': 'commit', 'label': _('Commit'), 'icon': 'menucommit'}, (
         _('Name associated with commits.  The common format is<br>'
           '"Full Name &lt;email@example.com&gt;"')),
     _fi(_('Summary Line Length'), 'tortoisehg.summarylen', genIntEditCombo,
-       _('Suggested length of commit message lines. A red vertical'
-         ' line will mark this length.  CTRL-E will reflow the current'
-         ' paragraph to the specified line length. Default: 80')),
+       _('Suggested length of commit message lines. A red vertical '
+         'line will mark this length.  CTRL-E will reflow the current '
+         'paragraph to the specified line length. Default: 80')),
     _fi(_('Close After Commit'), 'tortoisehg.closeci', genBoolCombo,
-        _('Close the commit tool after every successful'
-          ' commit.  Default: False')),
+        _('Close the commit tool after every successful '
+          'commit.  Default: False')),
     _fi(_('Push After Commit'), 'tortoisehg.cipushafter', genEditCombo,
-        _('Attempt to push to specified URL or alias after each successful'
-          ' commit.  Default: No push')),
+        _('Attempt to push to specified URL or alias after each successful '
+          'commit.  Default: No push')),
     _fi(_('Auto Commit List'), 'tortoisehg.autoinc', genEditCombo,
-       _('Comma separated list of files that are automatically included'
-         ' in every commit.  Intended for use only as a repository setting.'
-         '  Default: None (leave blank)')),
+       _('Comma separated list of files that are automatically included '
+         'in every commit.  Intended for use only as a repository setting. '
+         'Default: None (leave blank)')),
     _fi(_('Auto Exclude List'), 'tortoisehg.ciexclude', genEditCombo,
-       _('Comma separated list of files that are automatically unchecked'
-         ' when the status, and commit dialogs are opened.'
-         '  Default: None (leave blank)')),
+       _('Comma separated list of files that are automatically unchecked '
+         'when the status, and commit dialogs are opened. '
+         'Default: None (leave blank)')),
     _fi(_('English Messages'), 'tortoisehg.engmsg', genBoolCombo,
-       _('Generate English commit messages even if LANGUAGE or LANG'
-         ' environment variables are set to a non-English language.'
-         ' This setting is used by the Merge, Tag and Backout dialogs.'
-         '  Default: False')),
+       _('Generate English commit messages even if LANGUAGE or LANG '
+         'environment variables are set to a non-English language. '
+         'This setting is used by the Merge, Tag and Backout dialogs. '
+         'Default: False')),
     )),
 
 ({'name': 'web', 'label': _('Web Server'), 'icon': 'proxy'}, (
     _fi(_('Name'), 'web.name', genEditCombo,
         _('Repository name to use in the web interface, and by TortoiseHg '
-        ' as a shorthand name.  Default is the working directory.')),
+          'as a shorthand name.  Default is the working directory.')),
     _fi(_('Description'), 'web.description', genEditCombo,
-        _("Textual description of the repository's purpose or"
-        ' contents.')),
+        _("Textual description of the repository's purpose or "
+          'contents.')),
     _fi(_('Contact'), 'web.contact', genEditCombo,
-        _('Name or email address of the person in charge of the'
-        ' repository.')),
+        _('Name or email address of the person in charge of the '
+          'repository.')),
     _fi(_('Style'), 'web.style', (genDefaultCombo,
         ['paper', 'monoblue', 'coal', 'spartan', 'gitweb', 'old']),
         _('Which template map style to use')),
     _fi(_('Archive Formats'), 'web.allow_archive',
         (genEditCombo, ['bz2', 'gz', 'zip']),
-        _('Comma separated list of archive formats allowed for'
-        ' downloading')),
+        _('Comma separated list of archive formats allowed for '
+          'downloading')),
     _fi(_('Port'), 'web.port', genIntEditCombo, _('Port to listen on')),
     _fi(_('Push Requires SSL'), 'web.push_ssl', genBoolCombo,
-        _('Whether to require that inbound pushes be transported'
-        ' over SSL to prevent password sniffing.')),
+        _('Whether to require that inbound pushes be transported '
+          'over SSL to prevent password sniffing.')),
     _fi(_('Stripes'), 'web.stripes', genIntEditCombo,
-        _('How many lines a "zebra stripe" should span in multiline output.'
-        ' Default is 1; set to 0 to disable.')),
+        _('How many lines a "zebra stripe" should span in multiline output. '
+          'Default is 1; set to 0 to disable.')),
     _fi(_('Max Files'), 'web.maxfiles', genIntEditCombo,
         _('Maximum number of files to list per changeset. Default: 10')),
     _fi(_('Max Changes'), 'web.maxchanges', genIntEditCombo,
         _('Maximum number of changes to list on the changelog. '
           'Default: 10')),
     _fi(_('Allow Push'), 'web.allow_push', (genEditCombo, ['*']),
-        _('Whether to allow pushing to the repository. If empty or not'
-        ' set, push is not allowed. If the special value "*", any remote'
-        ' user can push, including unauthenticated users. Otherwise, the'
-        ' remote user must have been authenticated, and the authenticated'
-        ' user name must be present in this list (separated by whitespace'
-        ' or ","). The contents of the allow_push list are examined after'
-        ' the deny_push list.')),
+        _('Whether to allow pushing to the repository. If empty or not '
+          'set, push is not allowed. If the special value "*", any remote '
+          'user can push, including unauthenticated users. Otherwise, the '
+          'remote user must have been authenticated, and the authenticated '
+          'user name must be present in this list (separated by whitespace '
+          'or ","). The contents of the allow_push list are examined after '
+          'the deny_push list.')),
     _fi(_('Deny Push'), 'web.deny_push', (genEditCombo, ['*']),
-        _('Whether to deny pushing to the repository. If empty or not set,'
-        ' push is not denied. If the special value "*", all remote users'
-        ' are denied push. Otherwise, unauthenticated users are all'
-        ' denied, and any authenticated user name present in this list'
-        ' (separated by whitespace or ",") is also denied. The contents'
-        ' of the deny_push list are examined before the allow_push list.')),
+        _('Whether to deny pushing to the repository. If empty or not set, '
+          'push is not denied. If the special value "*", all remote users '
+          'are denied push. Otherwise, unauthenticated users are all '
+          'denied, and any authenticated user name present in this list '
+          '(separated by whitespace or ",") is also denied. The contents '
+          'of the deny_push list are examined before the allow_push list.')),
     _fi(_('Encoding'), 'web.encoding', (genEditCombo, ['UTF-8']),
         _('Character encoding name')),
     )),
 
 ({'name': 'proxy', 'label': _('Proxy'), 'icon': QStyle.SP_DriveNetIcon}, (
     _fi(_('Host'), 'http_proxy.host', genEditCombo,
-        _('Host name and (optional) port of proxy server, for'
-        ' example "myproxy:8000"')),
+        _('Host name and (optional) port of proxy server, for '
+          'example "myproxy:8000"')),
     _fi(_('Bypass List'), 'http_proxy.no', genEditCombo,
-        _('Optional. Comma-separated list of host names that'
-        ' should bypass the proxy')),
+        _('Optional. Comma-separated list of host names that '
+          'should bypass the proxy')),
     _fi(_('User'), 'http_proxy.user', genEditCombo,
         _('Optional. User name to authenticate with at the proxy server')),
     _fi(_('Password'), 'http_proxy.passwd', genPasswordEntry,
 
 ({'name': 'email', 'label': _('Email'), 'icon': 'mail-forward'}, (
     _fi(_('From'), 'email.from', genEditCombo,
-        _('Email address to use in the "From" header and for'
-        ' the SMTP envelope')),
+        _('Email address to use in the "From" header and for '
+          'the SMTP envelope')),
     _fi(_('To'), 'email.to', genEditCombo,
         _('Comma-separated list of recipient email addresses')),
     _fi(_('Cc'), 'email.cc', genEditCombo,
         _('Comma-separated list of carbon copy recipient email addresses')),
     _fi(_('Bcc'), 'email.bcc', genEditCombo,
-        _('Comma-separated list of blind carbon copy recipient'
-        ' email addresses')),
+        _('Comma-separated list of blind carbon copy recipient '
+          'email addresses')),
     _fi(_('method'), 'email.method', (genEditCombo, ['smtp']),
-        _('Optional. Method to use to send email messages. If value is'
-        ' "smtp" (default), use SMTP (configured below).  Otherwise, use as'
-        ' name of program to run that acts like sendmail (takes "-f" option'
-        ' for sender, list of recipients on command line, message on stdin).'
-        ' Normally, setting this to "sendmail" or "/usr/sbin/sendmail"'
-        ' is enough to use sendmail to send messages.')),
+        _('Optional. Method to use to send email messages. If value is '
+          '"smtp" (default), use SMTP (configured below).  Otherwise, use as '
+          'name of program to run that acts like sendmail (takes "-f" option '
+          'for sender, list of recipients on command line, message on stdin). '
+          'Normally, setting this to "sendmail" or "/usr/sbin/sendmail" '
+          'is enough to use sendmail to send messages.')),
     _fi(_('SMTP Host'), 'smtp.host', genEditCombo,
         _('Host name of mail server')),
     _fi(_('SMTP Port'), 'smtp.port', genIntEditCombo,
-        _('Port to connect to on mail server.'
-        ' Default: 25')),
+        _('Port to connect to on mail server. '
+          'Default: 25')),
     _fi(_('SMTP TLS'), 'smtp.tls', genBoolCombo,
-        _('Connect to mail server using TLS.'
-        ' Default: False')),
+        _('Connect to mail server using TLS. '
+          'Default: False')),
     _fi(_('SMTP Username'), 'smtp.username', genEditCombo,
         _('Username to authenticate to mail server with')),
     _fi(_('SMTP Password'), 'smtp.password', genPasswordEntry,
         _('Password to authenticate to mail server with')),
     _fi(_('Local Hostname'), 'smtp.local_hostname', genEditCombo,
-        _('Hostname the sender can use to identify itself to the'
-        ' mail server.')),
+        _('Hostname the sender can use to identify itself to the '
+          'mail server.')),
     )),
 
 ({'name': 'diff', 'label': _('Diff'),
   'icon': QStyle.SP_FileDialogContentsView}, (
     _fi(_('Patch EOL'), 'patch.eol', (genDefaultCombo,
         ['auto', 'strict', 'crlf', 'lf']),
-        _('Normalize file line endings during and after patch to lf or'
-        ' crlf.  Strict does no normalization.  Auto does per-file'
-        ' detection, and is the recommended setting.'
-        ' Default: strict')),
+        _('Normalize file line endings during and after patch to lf or '
+          'crlf.  Strict does no normalization.  Auto does per-file '
+          'detection, and is the recommended setting. '
+          'Default: strict')),
     _fi(_('Git Format'), 'diff.git', genBoolCombo,
-        _('Use git extended diff header format.'
-        ' Default: False')),
+        _('Use git extended diff header format. '
+          'Default: False')),
     _fi(_('MQ Git Format'), 'mq.git', (genDefaultCombo,
         ['auto', 'keep', 'yes', 'no']),
      _("If set to 'keep', mq will obey the [diff] section configuration while"
        " 'no', mq will override the [diff] section and always generate git or"
        " regular patches, possibly losing data in the second case.")),
     _fi(_('No Dates'), 'diff.nodates', genBoolCombo,
-        _('Do not include modification dates in diff headers.'
-        ' Default: False')),
+        _('Do not include modification dates in diff headers. '
+          'Default: False')),
     _fi(_('Show Function'), 'diff.showfunc', genBoolCombo,
-        _('Show which function each change is in.'
-        ' Default: False')),
+        _('Show which function each change is in. '
+          'Default: False')),
     _fi(_('Ignore White Space'), 'diff.ignorews', genBoolCombo,
-        _('Ignore white space when comparing lines.'
-        ' Default: False')),
+        _('Ignore white space when comparing lines. '
+          'Default: False')),
     _fi(_('Ignore WS Amount'), 'diff.ignorewsamount', genBoolCombo,
-        _('Ignore changes in the amount of white space.'
-        ' Default: False')),
+        _('Ignore changes in the amount of white space. '
+          'Default: False')),
     _fi(_('Ignore Blank Lines'), 'diff.ignoreblanklines', genBoolCombo,
-        _('Ignore changes whose lines are all blank.'
-        ' Default: False')),
+        _('Ignore changes whose lines are all blank. '
+          'Default: False')),
     )),
 
 ({'name': 'fonts', 'label': _('Fonts'), 'icon': 'preferences-desktop-font'}, (
 
 ({'name': 'reviewboard', 'label': _('Review Board'), 'icon': 'reviewboard'}, (
     _fi(_('Server'), 'reviewboard.server', genEditCombo,
-        _('Path to review board'
-        ' example "http://demo.reviewboard.org"')),
+        _('Path to review board '
+          'example "http://demo.reviewboard.org"')),
     _fi(_('User'), 'reviewboard.user', genEditCombo,
         _('User name to authenticate with review board')),
     _fi(_('Password'), 'reviewboard.password', genPasswordEntry,
             self.conftabs.widget(i).applyChanges()
         if self._restartreqs:
             qtlib.InfoMsgBox(_('Settings'),
-                             _('Restart all TortoiseHg applications'
-                               ' for the following changes to take effect:'),
+                             _('Restart all TortoiseHg applications '
+                               'for the following changes to take effect:'),
                              ', '.join(sorted(self._restartreqs)))
             self._restartreqs.clear()
 
                     pass
             else:
                 qtlib.WarningMsgBox(_('Unable to create a Mercurial.ini file'),
-                       _('Insufficient access rights, reverting to read-only'
-                         ' mode.'), parent=self)
+                       _('Insufficient access rights, reverting to read-only '
+                         'mode.'), parent=self)
                 from mercurial import config
                 self.fn = rcpath[0]
                 return config.config()

tortoisehg/hgqt/update.py

         grid.addWidget(expander, row, 0, Qt.AlignLeft | Qt.AlignTop)
         grid.addLayout(optbox, row, 1)
 
-        self.discard_chk = QCheckBox(_('Discard local changes, no backup'
-                                       ' (-C/--clean)'))
+        self.discard_chk = QCheckBox(_('Discard local changes, no backup '
+                                       '(-C/--clean)'))
         self.merge_chk = QCheckBox(_('Always merge (when possible)'))
         self.autoresolve_chk = QCheckBox(_('Automatically resolve merge conflicts '
                                            'where possible'))

tortoisehg/hgqt/visdiff.py

         layout = QVBoxLayout()
         self.setLayout(layout)
 
-        lbl = QLabel(_('Temporary files are removed when this dialog'
-            ' is closed'))
+        lbl = QLabel(_('Temporary files are removed when this dialog '
+                       'is closed'))
         layout.addWidget(lbl)
 
         list = QListWidget()