--- a/RefactoringRope/Refactoring.py Sat Sep 23 17:40:07 2017 +0200 +++ b/RefactoringRope/Refactoring.py Sun Sep 24 11:56:11 2017 +0200 @@ -1399,7 +1399,7 @@ from InlineArgumentDefaultDialog import InlineArgumentDefaultDialog dlg = InlineArgumentDefaultDialog(self, title, filename, offset, - parent=self.__ui) + parent=self.__ui) changeGroup = dlg.getChangeGroupName() self.__refactoringDialogs[changeGroup] = dlg dlg.finished.connect( @@ -1435,7 +1435,6 @@ lambda: self.__refactoringDialogClosed(changeGroup)) dlg.show() - # TODO: continue from here def __encapsulateAttribute(self): """ Private slot to encapsulate an attribute. @@ -1461,38 +1460,14 @@ line, index, line1, index1 = aw.getSelection() offset = self.__getOffset(aw, line, index) - import rope.refactor.encapsulate_field - resource = rope.base.libutils.path_to_resource( - self.__project, filename) - try: - encapsulateField = \ - rope.refactor.encapsulate_field.EncapsulateField( - self.__project, resource, offset) - except Exception as err: - self.handleRopeError(err, title) - return - from GetterSetterDialog import GetterSetterDialog - dlg = GetterSetterDialog(encapsulateField.get_field_name()) - if dlg.exec_() == QDialog.Accepted: - from ProgressHandle import ProgressHandle - from ConfirmationDialog import ConfirmationDialog - getter, setter = dlg.getData() - handle = ProgressHandle(title, False, self.__ui) - handle.show() - QApplication.processEvents() - try: - changes = encapsulateField.get_changes( - getter=getter, setter=setter, task_handle=handle) - handle.reset() - dlg = ConfirmationDialog(changes, self.__ui) - if dlg.exec_() == QDialog.Accepted: - self.__project.do(changes) - self.refreshEditors(changes) - if self.__e5project.isDirty(): - self.__e5project.saveProject() - except Exception as err: - self.handleRopeError(err, title, handle) + dlg = GetterSetterDialog(self, title, filename, offset, + parent=self.__ui) + changeGroup = dlg.getChangeGroupName() + self.__refactoringDialogs[changeGroup] = dlg + dlg.finished.connect( + lambda: self.__refactoringDialogClosed(changeGroup)) + dlg.show() def __convertLocalToAttribute(self): """ @@ -1519,22 +1494,21 @@ line, index, line1, index1 = aw.getSelection() offset = self.__getOffset(aw, line, index) - import rope.refactor.localtofield from ConfirmationDialog import ConfirmationDialog - resource = rope.base.libutils.path_to_resource( - self.__project, filename) - try: - changes = rope.refactor.localtofield.LocalToField( - self.__project, resource, offset).get_changes() - dlg = ConfirmationDialog(changes, self.__ui) - if dlg.exec_() == QDialog.Accepted: - self.__project.do(changes) - self.refreshEditors(changes) - if self.__e5project.isDirty(): - self.__e5project.saveProject() - except Exception as err: - self.handleRopeError(err, title) + dlg = ConfirmationDialog( + self, title, "LocalToAttribute", + "CalculateLocalToAttributeChanges", { + "FileName": filename, + "Offset": offset, + }, + parent=self.__ui) + changeGroup = dlg.getChangeGroupName() + self.__refactoringDialogs[changeGroup] = dlg + dlg.finished.connect( + lambda: self.__refactoringDialogClosed(changeGroup)) + dlg.show() + # TODO: continue from here def __methodToMethodObject(self): """ Private slot to change the signature of a method or function.