Plugins/VcsPlugins/vcsMercurial/HgUserConfigDataDialog.py

branch
Py2 comp.
changeset 3484
645c12de6b0c
parent 3366
6084bb3c3911
child 3562
ef3f13a2c599
diff -r 96232974dcdb -r 645c12de6b0c Plugins/VcsPlugins/vcsMercurial/HgUserConfigDataDialog.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDataDialog.py	Thu Apr 03 23:05:31 2014 +0200
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+
+"""
+Module implementing a dialog to enter some user data.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt4.QtGui import QDialog
+
+from .Ui_HgUserConfigDataDialog import Ui_HgUserConfigDataDialog
+
+
+class HgUserConfigDataDialog(QDialog, Ui_HgUserConfigDataDialog):
+    """
+    Class implementing a dialog to enter some user data.
+    """
+    def __init__(self, version=(0, 0), parent=None):
+        """
+        Constructor
+        
+        @param version Mercurial version info (tuple of two integers)
+        @param parent reference to the parent widget (QWidget)
+        """
+        super(HgUserConfigDataDialog, self).__init__(parent)
+        self.setupUi(self)
+        
+        if version >= (1, 8):
+            self.bookmarksCheckBox.setEnabled(False)
+        if version >= (2, 3):
+            self.transplantCheckBox.setEnabled(False)
+        
+        msh = self.minimumSizeHint()
+        self.resize(max(self.width(), msh.width()), msh.height())
+    
+    def getData(self):
+        """
+        Public method to retrieve the entered data.
+        
+        @return tuple with user's first name, last name, email address,
+            list of activated extensions and dictionary with extension data
+            (tuple of three strings, a list of strings and a dictionary with
+             extension name as key)
+        """
+        extensions = []
+        extensionsData = {}
+        
+        if self.bookmarksCheckBox.isChecked():
+            extensions.append("bookmarks")
+        if self.fetchCheckBox.isChecked():
+            extensions.append("fetch")
+        if self.gpgCheckBox.isChecked():
+            extensions.append("gpg")
+        if self.purgeCheckBox.isChecked():
+            extensions.append("purge")
+        if self.queuesCheckBox.isChecked():
+            extensions.append("mq")
+        if self.rebaseCheckBox.isChecked():
+            extensions.append("rebase")
+        if self.shelveCheckBox.isChecked():
+            extensions.append("shelve")
+        if self.transplantCheckBox.isChecked():
+            extensions.append("transplant")
+        if self.largefilesCheckBox.isChecked():
+            extensions.append("largefiles")
+            largefilesDataDict = {}
+            lfFileSize = self.lfFileSizeSpinBox.value()
+            if lfFileSize != 10:        # default value is 10 MB
+                largefilesDataDict["minsize"] = lfFileSize
+            lfFilePatterns = self.lfFilePatternsEdit.text()
+            if lfFilePatterns:
+                largefilesDataDict["patterns"] = lfFilePatterns.split()
+            if largefilesDataDict:
+                extensionsData["largefiles"] = largefilesDataDict
+        
+        return (
+            self.firstNameEdit.text(),
+            self.lastNameEdit.text(),
+            self.emailEdit.text(),
+            extensions,
+            extensionsData,
+        )

eric ide

mercurial