On 12 April 2018 at 18:15, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Ben,

You disappoint me, as I would expect you to trace senders/users of #signalProgress: ;-)

:P��
Yeah I knew I was being slack.�� I couldn't really follow its operation and was a bit tired.
Actually maybe part of my confusion is that #signalProgress feels more like a command than a status.
I've a slight feeling it would be better as #signallingProgress.

��
ZnClient only signals certain Notifications which a UI around it should deal with.

For example,

[ :bar |
�� bar title: 'Downloading Sources...'.
�� [
�� �� ZnClient new
�� �� �� url: 'http://files.pharo.org/sources/PharoV30.sources';
�� �� �� signalProgress: true;
�� �� �� downloadTo: FileLocator temp ]
�� �� on: HTTPProgress
�� �� do: [ :progress |
�� �� �� progress isEmpty ifFalse: [ bar current: progress percentage ].
�� �� �� progress resume ] ] asJob run.

Thanks, that worked, but its a bit convoluted for my goldfish memory to remember each time.
I'd expect having that as a convenience method would be useful to many.

ZnClient��
showProgress: 'Downloading sources...'
during: [ :znClient |��
znClient url: 'http://files.pharo.org/sources/PharoV30.sources'.
znClient downloadTo: FileLocator imageDirectory ].��

ZnClient class >> showProgress: title during: clientBlock
|client|
client := ZnClient new.
client signallingProgress: true.
[ :bar |
�� bar title: title.
�� [clientBlock value: client]
�� �� �� on: HTTPProgress
�� �� do: [ :progress |
�� �� �� progress isEmpty ifFalse: [ bar current: progress percentage ].
�� �� �� progress resume ] ] asJob run.

Easily discoverable as the only class-side method of ZnClient,��
and this would also make a useful howto reference.��

��
But there are other UI approaches as well.��

Sven

Thanks for you prompt response.
cheers -ben
��


> On 12 Apr 2018, at 11:25, Ben Coman <btc@openinworld.com> wrote:
>
> I see ZnClient >> downloadTo:
> calls�� ZnClient >> downloadEntityTo:
> which uses #withProgressDo:
> which indicates a progress bar might appear.
>
> But...
>�� �� ��ZnClient new
>�� �� �� �� ��url: ' https://download.libsodium.org/libsodium/releases/libsodium-1.0.16-msvc.zip' ;
>�� �� �� �� ��downloadTo: FileLocator imageDirectory.
> doesn't show a progress bar.�� What is the recommended way to display one?
>
> cheers -ben