Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py

changeset 5256
4720cbf7ab52
parent 4631
5c1a96925da4
child 5262
235d6a030128
equal deleted inserted replaced
5255:5fc76ccd369e 5256:4720cbf7ab52
7 Module implementing the Mercurial configuration page. 7 Module implementing the Mercurial configuration page.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 import os
13
14 from PyQt5.QtCore import pyqtSlot 12 from PyQt5.QtCore import pyqtSlot
15 from PyQt5.QtWidgets import QDialog
16 13
17 from Preferences.ConfigurationPages.ConfigurationPageBase import \ 14 from Preferences.ConfigurationPages.ConfigurationPageBase import \
18 ConfigurationPageBase 15 ConfigurationPageBase
19 from .Ui_MercurialPage import Ui_MercurialPage 16 from .Ui_MercurialPage import Ui_MercurialPage
20 17
112 @pyqtSlot() 109 @pyqtSlot()
113 def on_configButton_clicked(self): 110 def on_configButton_clicked(self):
114 """ 111 """
115 Private slot to edit the (per user) Mercurial configuration file. 112 Private slot to edit the (per user) Mercurial configuration file.
116 """ 113 """
117 from QScintilla.MiniEditor import MiniEditor 114 from ..HgUserConfig import hgEditUserConfig
118 cfgFile = self.__plugin.getConfigPath() 115 hgEditUserConfig()
119 if not os.path.exists(cfgFile):
120 from ..HgUserConfigDataDialog import HgUserConfigDataDialog
121 dlg = HgUserConfigDataDialog()
122 if dlg.exec_() == QDialog.Accepted:
123 firstName, lastName, email, extensions, extensionsData = \
124 dlg.getData()
125 else:
126 firstName, lastName, email, extensions, extensionsData = (
127 "Firstname", "Lastname", "email_address", [], {})
128 try:
129 f = open(cfgFile, "w")
130 f.write("[ui]\n")
131 f.write("username = {0} {1} <{2}>\n".format(
132 firstName, lastName, email))
133 if extensions:
134 f.write("\n[extensions]\n")
135 f.write(" =\n".join(extensions))
136 f.write(" =\n") # complete the last line
137 if "largefiles" in extensionsData:
138 dataDict = extensionsData["largefiles"]
139 f.write("\n[largefiles]\n")
140 if "minsize" in dataDict:
141 f.write("minsize = {0}\n".format(dataDict["minsize"]))
142 if "patterns" in dataDict:
143 f.write("patterns =\n")
144 f.write(" {0}\n".format(
145 "\n ".join(dataDict["patterns"])))
146 f.close()
147 except (IOError, OSError):
148 # ignore these
149 pass
150 editor = MiniEditor(cfgFile, "Properties", self)
151 editor.show()

eric ide

mercurial