Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py

changeset 5641
3ced21e990eb
parent 5640
2e046f1818ed
child 6048
82ad8ec9548c
diff -r 2e046f1818ed -r 3ced21e990eb Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py	Mon Mar 20 19:31:22 2017 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py	Tue Mar 21 19:34:33 2017 +0100
@@ -23,6 +23,8 @@
 from .HgUtilities import getConfigPath
 from .HgUserConfigHostFingerprintDialog import \
     HgUserConfigHostFingerprintDialog
+from .HgUserConfigHostMinimumProtocolDialog import \
+    HgUserConfigHostMinimumProtocolDialog
 
 from .Ui_HgUserConfigDialog import Ui_HgUserConfigDialog
 
@@ -457,9 +459,11 @@
         self.proxyBypassEdit.clear()
         
         self.fingerprintsList.clear()
+        self.__finalizeFingerprintsColumns()
         self.__updateFingerprintsButtons()
         
         self.protocolsList.clear()
+        self.__finalizeProtocolsColumns()
         self.__updateProtocolsButtons()
     
     #######################################################################
@@ -535,6 +539,7 @@
                 self.fingerprintsList.takeTopLevelItem(
                     self.fingerprintsList.indexOfTopLevelItem(itm))
                 del itm
+                self.__finalizeFingerprintsColumns()
     
     @pyqtSlot()
     def on_fpEditButton_clicked(self):
@@ -614,26 +619,58 @@
     @pyqtSlot()
     def on_protocolAddButton_clicked(self):
         """
-        Slot documentation goes here.
+        Private slot to add a minimum protocol entry.
         """
-        # TODO: not implemented yet
-        raise NotImplementedError
+        dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols,
+                                                    self)
+        if dlg.exec_() == QDialog.Accepted:
+            host, protocol = dlg.getData()
+            itm = QTreeWidgetItem(self.protocolsList, [
+                host,
+                self.__minimumProtocols[protocol]
+            ])
+            itm.setData(1, Qt.UserRole, protocol)
+            self.__finalizeProtocolsColumns()
+            self.protocolsList.setCurrentItem(itm)
+            self.protocolsList.scrollToItem(itm)
     
     @pyqtSlot()
     def on_protocolDeleteButton_clicked(self):
         """
-        Slot documentation goes here.
+        Private slot to delete the current minimum protocol item.
         """
-        # TODO: not implemented yet
-        raise NotImplementedError
+        itm = self.protocolsList.currentItem()
+        if itm is not None:
+            host = itm.text(0)
+            yes = E5MessageBox.yesNo(
+                self,
+                self.tr("Delete Host Minimum Protocol"),
+                self.tr("""<p>Shall the minimum protocol entry for host"""
+                        """ <b>{0}</b> really be deleted?</p>""").format(host))
+            if yes:
+                self.protocolsList.takeTopLevelItem(
+                    self.protocolsList.indexOfTopLevelItem(itm))
+                del itm
+                self.__finalizeProtocolsColumns()
     
     @pyqtSlot()
     def on_protocolEditButton_clicked(self):
         """
-        Slot documentation goes here.
+        Private slot to edit the current minimum protocol item.
         """
-        # TODO: not implemented yet
-        raise NotImplementedError
+        itm = self.protocolsList.currentItem()
+        if itm is not None:
+            host = itm.text(0)
+            protocol = itm.data(1, Qt.UserRole)
+            dlg = HgUserConfigHostMinimumProtocolDialog(
+                self.__minimumProtocols, self, host, protocol)
+            if dlg.exec_() == QDialog.Accepted:
+                host, protocol = dlg.getData()
+                itm.setText(0, host)
+                itm.setText(1, self.__minimumProtocols[protocol])
+                itm.setData(1, Qt.UserRole, protocol)
+                self.__finalizeProtocolsColumns()
+                self.protocolsList.scrollToItem(itm)
     
     def __finalizeProtocolsColumns(self):
         """

eric ide

mercurial