diff -r 4720cbf7ab52 -r 005c59af7989 Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py Fri Oct 21 18:25:23 2016 +0200 @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2010 - 2016 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Mercurial version control plugin. +""" + +from __future__ import unicode_literals + +import os + +from PyQt5.QtWidgets import QDialog + +from QScintilla.MiniEditor import MiniEditor + + +__all__ = ["hgEditUserConfig"] + +_UserEditor = None + + +def hgEditUserConfig(version=(0, 0)): + """ + Module function used to edit the user configuration file. + + @param version Mercurial version info (tuple of two integers) + """ + global _UserEditor + + from .HgUtilities import getConfigPath + cfgFile = getConfigPath() + if not os.path.exists(cfgFile): + # open dialog to enter the initial data + from .HgUserConfigDataDialog import HgUserConfigDataDialog + dlg = HgUserConfigDataDialog(version=version) + if dlg.exec_() == QDialog.Accepted: + firstName, lastName, email, extensions, extensionsData = \ + dlg.getData() + else: + firstName, lastName, email, extensions, extensionsData = ( + "Firstname", "Lastname", "email_address", [], {}) + try: + f = open(cfgFile, "w") + f.write("[ui]\n") + f.write("username = {0} {1} <{2}>\n".format( + firstName, lastName, email)) + if extensions: + f.write("\n[extensions]\n") + f.write(" =\n".join(extensions)) + f.write(" =\n") # complete the last line + if "largefiles" in extensionsData: + dataDict = extensionsData["largefiles"] + f.write("\n[largefiles]\n") + if "minsize" in dataDict: + f.write("minsize = {0}\n".format(dataDict["minsize"])) + if "patterns" in dataDict: + f.write("patterns =\n") + f.write(" {0}\n".format( + "\n ".join(dataDict["patterns"]))) + f.close() + except (IOError, OSError): + # ignore these + pass + _UserEditor = MiniEditor(cfgFile, "Properties") + _UserEditor.show()