#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Sun, 23 Jun 2019 16:51:39 +0200
changeset 18835 ec0e9853a0b7
parent 18834 2656052d93f6
child 18836 67bb6d503db5
#FEATURE by cg class: Tools::NewSystemBrowser changed: #moveClasses:toProject:
Tools__NewSystemBrowser.st
--- a/Tools__NewSystemBrowser.st	Sun Jun 23 13:43:05 2019 +0200
+++ b/Tools__NewSystemBrowser.st	Sun Jun 23 16:51:39 2019 +0200
@@ -34955,7 +34955,7 @@
 
     |classes anyClassMoved anyMethodMoved classesNotYetInRepository classesAlreadyInRepository
      sourceInfoPerClassOfClassesAlreadyInRepository oldPackagePerClass newProjectDefinition
-     thereWasASourceCodeManagerError managerClasses manager repos|
+     thereWasASourceCodeManagerError managerClasses manager repos confirm|
 
     (newProject = PackageId noProjectID) ifTrue:[
         (Dialog confirm:(resources
@@ -34972,7 +34972,7 @@
         Dialog information:(resources stringWithCRs:'%1 class(es) already in the "%2"-package.' with:classesArg size with:newProject allBold).
         ^ self
     ].
-    
+
 
     classesNotYetInRepository := OrderedCollection new.
     classesAlreadyInRepository := OrderedCollection new.
@@ -34981,14 +34981,14 @@
 
     thereWasASourceCodeManagerError := false.
     managerClasses := Set new.
-    
+
     classes do:[:eachClass | 
         |oldProject theClass mgr vsn|
 
         theClass := eachClass theNonMetaclass.
         mgr := theClass sourceCodeManager.
         managerClasses add:mgr.
-        
+
         mgr notNil ifTrue:[ 
             SourceCodeManagerError handle:[:ex |
                 thereWasASourceCodeManagerError := true
@@ -35053,13 +35053,13 @@
         environment changed:#projectOrganization.
     ].
     (newProject = PackageId noProjectID) ifTrue:[^ self].
-    
+
     self rememberLastProjectMoveTo:newProject.
     thereWasASourceCodeManagerError ifTrue:[
         Dialog warn:(resources stringWithCRs:'There was a problem accessing the source code repository.\\Please check your settings and/or network connection').
         ^ self
     ].
-    
+
     managerClasses size == 1 ifTrue:[
         (manager := managerClasses first) notNil ifTrue:[
             repos := '("',(manager repositoryNameForPackage:newProject),'") '.
@@ -35089,8 +35089,18 @@
         withInfo:'Classes moved to other package'. 
 
     "remove other containers"
-    sourceInfoPerClassOfClassesAlreadyInRepository keysAndValuesDo:[:class :info |
-        SourceCodeManagerUtilities default removeSourceContainerForClass:class usingSourceInfo:info confirm:true warn:true
+    confirm := true.
+    SourceCodeManagerUtilities yesToAllNotification handle:[:ex |
+        confirm := false.
+        ex proceed.
+    ] do:[
+        sourceInfoPerClassOfClassesAlreadyInRepository keysAndValuesDo:[:class :info |
+            SourceCodeManagerUtilities default 
+                removeSourceContainerForClass:class 
+                usingSourceInfo:info 
+                confirm:confirm 
+                warn:true
+        ].
     ].
 
     (Dialog confirm:(resources string:'Update project definitions now (recommended)?')) ifFalse:[ ^ self ].
@@ -35116,6 +35126,7 @@
     newProjectDefinition includeClasses:(classesAlreadyInRepository , classesNotYetInRepository) usingCompiler:nil.
 
     "Modified: / 05-12-2017 / 17:59:58 / cg"
+    "Modified: / 23-06-2019 / 16:14:56 / Claus Gittinger"
 !
 
 moveSelectedClassesToCategory:newCategory