Thanks hernan. I do not think that there is a fileList in newTools. I will check your file dialog.
S > On 23 Nov 2023, at 20:43, Hernán Morales <hernan-federico.mora...@inria.fr> > wrote: > > Hi Stef, > > De: "Stephane Ducasse" <stephane.duca...@inria.fr > <mailto:stephane.duca...@inria.fr>> > Para: "rmod" <r...@inria.fr <mailto:r...@inria.fr>>, > pharo-...@lists.pharo.org <mailto:pharo-...@lists.pharo.org>, > pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> > Enviados: Jueves, 23 de Noviembre 2023 11:28:15 > Asunto: [rmod] Pharo needs you! Call to save the Pharo UI > Hello people > If you want that Pharo just do not endlessly stay with such a crappy UI we > all know, > please consider joining the effort. > > We should make sure that as a general principle, a model MUST not refer to a > UI. > So that we can change the UI. We are working on it. But we need help. > > We should > (1) Migrate last cool Morphic-based tools such as Finder, Settings to Spec2, > FileList to Spec > > (2) Remove dependencies from Domain objects to Morphic (obviously) > - remove to UIManager first from code outside Morphic. > > As a general principle please watch > http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4 > http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4 > It looks basic but it is so true. > > > Current status > (1) > Hernan started to work on the Setting Browser > I know someone started to work on Finder but I think the effort was stalled. > We need help there. > As a reference so that anyone can check the new Settings current status, this > is the repository I'm working on: > https://github.com/hernanmd/new-settings-browser > > Regarding the FileList, I'm afraid we duplicate efforts unnecessarily: I > worked some time ago on https://github.com/hernanmd/file-dialog and then I > saw that https://github.com/pharo-spec/NewTools appeared, it's a pity to have > such a bad communication. > > The issue to close is the following: > https://github.com/pharo-project/pharo/issues/15455 > > > Cheers, > > Hernán > > (2) > We started to clean the refactorings and we are making progress but this is > slow. > I started to remove references to UIManager because it should go away. > > In Spec we introduced dialog, check the examples in subclasses of > SpDialogPresenter > In addition, an application is able to create some default dialog > check ui - dialogs in SpApplication > I introduced a simple notification center that should play a kind of growl. > The inform: calls should be redirected to notify: because inform: was in P11 > not blocking and now in P12 there are. > > I created special issues about the references to UIManager > I opened issues with a special tag > https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%3A%22Project%3A+RemoveUIManager+BAD+dependencies%22 > > The analysis is here > > https://github.com/pharo-project/pharo/issues/14174 > > Here are some scripts. > > # Here we see the dependencies from Spec to UIManager > | allSpec results | > results := Dictionary new. > allSpec := SpPresenter withAllSubclasses. > > UIManager selectors do: > [ :sel | > | size | > size := ((SystemNavigation default allCallsOn: sel ) > select: [ :mth | allSpec includes: mth methodClass ]) size. > size isZero ifFalse: [ > results at: sel put: size]]. > String streamContents: [ :s | > results keys sorted do: [ :k | > s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]] > # The following script shows the callers that are not in Spec nor in Morphic > | allSpec results allMorphs | > results := Dictionary new. > allSpec := SpPresenter withAllSubclasses. > allMorphs := Morph withAllSubclasses. > allClasses := Smalltalk allClasses. > allClasses := allClasses reject: [ :c | allSpec includes: c ]. > allClasses := allClasses reject: [ :c | allMorphs includes: c ]. > > UIManager selectors sorted do: > [ :sel | > | size | > size := ((SystemNavigation default allCallsOn: sel ) > select: [ :mth | allClasses includes: mth methodClass ]) size. > size isZero ifFalse: [ > results at: sel put: size]]. > String streamContents: [ :s | > results keys sorted do: [ :k | > s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]] > > abort: -> 1 > abort:title: -> 5 > activate -> 15 > alert: -> 4 > alert:title: -> 4 > alert:title:configure: -> 2 > beDefault -> 2 > chooseDirectory -> 1 > chooseDirectory: -> 1 > chooseDirectory:from: -> 2 > chooseDirectoryFrom: -> 1 > chooseFrom: -> 2 > chooseFrom:lines: -> 2 > chooseFrom:lines:message: -> 1 > chooseFrom:lines:message:title: -> 2 > chooseFrom:lines:title: -> 8 > chooseFrom:title: -> 5 > chooseFrom:values: -> 5 > chooseFrom:values:lines: -> 1 > chooseFrom:values:lines:message: -> 1 > chooseFrom:values:lines:message:title: -> 3 > chooseFrom:values:lines:title: -> 4 > chooseFrom:values:message:title: -> 4 > chooseFrom:values:title: -> 8 > chooseFullFileNameMatching: -> 1 > chooseFullFileNameMatching:label: -> 1 > chooseOrRequestFrom:values:lines:title: -> 3 > confirm: -> 47 > confirm:label: -> 5 > confirm:label:trueChoice:falseChoice:cancelChoice:default: -> 1 > confirm:orCancel: -> 1 > confirm:trueChoice:falseChoice: -> 2 > confirm:trueChoice:falseChoice:cancelChoice:default: -> 6 > deactivate -> 5 > debugProcess:context:label:fullView:notification: -> 1 > defer: -> 24 > deny: -> 2565 > deny:title: -> 2 > displayProgress:from:to:during: -> 4 > edit:label: -> 4 > edit:label:accept: -> 3 > fileExistsDefaultAction: -> 1 > handleDebugRequest:fromDebuggerSystem: -> 1 > handleError: -> 2 > handleError:log: -> 2 > handleWarningDebugRequest:fromDebuggerSystem: -> 1 > inform: -> 98 > inform:actionOnClick: -> 1 > informUser:during: -> 13 > informUserDuring: -> 5 > logError: -> 2 > lowSpaceWatcherDefaultAction: -> 1 > merge:informing: -> 2 > multiLineRequest:initialAnswer:answerHeight: -> 5 > newDisplayDepthNoRestore: -> 1 > newMenuIn:for: -> 15 > onPrimitiveError: -> 1 > proceed:title: -> 2 > question:title: -> 2 > questionWithoutCancel: -> 1 > questionWithoutCancel:title: -> 2 > request: -> 13 > request:initialAnswer: -> 19 > request:initialAnswer:entryCompletion: -> 1 > request:initialAnswer:title: -> 13 > request:initialAnswer:title:entryCompletion: -> 6 > requestDebuggerOpeningFor: -> 1 > requestDebuggerOpeningForProcess:named:inContext: -> 1 > requestDebuggerOpeningForWarning: -> 1 > requestDebuggerOpeningNamed:inContext: -> 1 > requestPassword: -> 3 > restoreDisplay -> 3 > restoreDisplayAfter: -> 1 > spawnNewProcess -> 4 > systemNotificationDefaultAction: -> 1 > terminateUIProcess -> 1 > textEntry: -> 2 > textEntry:title: -> 2 > textEntry:title:entryText: -> 2 > unhandledErrorDefaultAction: -> 3 > warningDefaultAction: -> 1 > > > > -------------------------------------------- > Stéphane Ducasse > http://stephane.ducasse.free.fr / http://www.pharo.org > 03 59 35 87 52 > Assistant: Aurore Dalle > FAX 03 59 57 78 50 > TEL 03 59 35 86 16 > S. Ducasse - Inria > 40, avenue Halley, > Parc Scientifique de la Haute Borne, Bât.A, Park Plaza > Villeneuve d'Ascq 59650 > France -------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Aurore Dalle FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France