Fix 2329 - Default MC Directory Setting

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Fix 2329 - Default MC Directory Setting

Sean P. DeNigris
Administrator
In Inbox. http://code.google.com/p/pharo/issues/detail?id=2329.

Details:

Michael Roberts-2 wrote
I appreciate I hijacked this thread somewhat....
That's it - I'm pissed and I'm taking my damn thread back ;-)

Sean P. DeNigris wrote
http://code.google.com/p/pharo/issues/detail?id=2329

Pharo image: Pharo 1.0

In Monticello Browser, when I click "+Repository" and select "directory,"
I'd love to be taken right to the directory where I keep my local repositories, instead of having to click to the same place over and over.
Okay, now that we're back on track...

Stéphane Ducasse wrote
it would be good to be able to
        either choose to have one local cache on the side of the image
        or one shared among image - this implies a way to store and set it up
                => probably a class variable + a setting in 1.1
Steph, I followed your suggestion and implemented it as a class var + settings.

I had to add the capability to have directory-type settings (which was very similar to the existing file type settings, predictably).

Summary:
* Added ability to System-Settings to have directory-based settings
* Added defaultDirectoryName setting to Settings-Monticello
* Added feature to Monticello to remember parent directory where user likes to keep local repository directories and start directory-choosing dialogs there.
* Tested (by hand) in PharoCore1.1ALPHA Latest update: #11312

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Stéphane Ducasse
Woah
This sounds really really cool.
Alain is our setting expert and we gotstuck on the how do write a setting chapter.
So I'm happy other people like you push this further.

Setf


> In Inbox. http://code.google.com/p/pharo/issues/detail?id=2329.
>
> Details:
>
>
> Michael Roberts-2 wrote:
>>
>> I appreciate I hijacked this thread somewhat....
>>
>
> That's it - I'm pissed and I'm taking my damn thread back ;-)
>
>
> Sean P. DeNigris wrote:
>>
>> http://code.google.com/p/pharo/issues/detail?id=2329
>>
>> Pharo image: Pharo 1.0
>>
>> In Monticello Browser, when I click "+Repository" and select "directory,"
>> I'd love to be taken right to the directory where I keep my local
>> repositories, instead of having to click to the same place over and over.
>>
>
> Okay, now that we're back on track...
>
>
> Stéphane Ducasse wrote:
>>
>> it would be good to be able to
>> either choose to have one local cache on the side of the image
>> or one shared among image - this implies a way to store and set it up
>> => probably a class variable + a setting in 1.1
>>
>
> Steph, I followed your suggestion and implemented it as a class var +
> settings.

Excellent

> I had to add the capability to have directory-type settings (which was very
> similar to the existing file type settings, predictably).
>
> Summary:
> * Added ability to System-Settings to have directory-based settings
> * Added defaultDirectoryName setting to Settings-Monticello
> * Added feature to Monticello to remember parent directory where user likes
> to keep local repository directories and start directory-choosing dialogs
> there.
> * Tested (by hand) in PharoCore1.1ALPHA Latest update: #11312
>
> Sean
> --
> View this message in context: http://n4.nabble.com/Fix-2329-Default-MC-Directory-Setting-tp2019559p2019559.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Sean P. DeNigris
Administrator
Stéphane Ducasse wrote
Alain is our setting expert and we gotstuck on the how do write a setting chapter.
So I'm happy other people like you push this further.
My experience as a settings beginner.  It was actually really easy because:
* '*setting*' is used everywhere, so I did a 'class find' and immediately found the settings categories
* there are a lot of examples all together in the settings categories

I think the hardest thing was the "xxxOn: aBuilder <pragma>" concept in general (same goes for the new world menu) - it's not immediately obvious (via my typical highlight and "browse it" method) where to look for the class that scooped all the setting methods up and built the browser.  I remember my initial thought was "now what would I look under to find the thing that generates and passes in aBuilder?"

Also, I think this model of keeping settings in separate packages is definitely easier from a learning perspective because you have all working examples in the same place.  When I implemented my first worldMenu pragma method, it took a while to figure out how to generate a list of all methods currently using <worldMenu> so I could see how it was done.
I was looking for a SystemNavigator >> allMethodsUsingPragma: aSymbol, or something like that.  With that funtionality, I guess it really wouldn't matter where they were located - or am I missing an easy way to find these methods?

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Henrik Sperre Johansen
  On 22.04.2010 04:45, Sean P. DeNigris wrote:
>
> I was looking for a SystemNavigator>>  allMethodsUsingPragma: aSymbol, or
> something like that.  With that funtionality, I guess it really wouldn't
> matter where they were located - or am I missing an easy way to find these
> methods?
>
> Sean
You could try PragmaCollector, which is quite neat.
(PragmaCollector filter: [:pragma | pragma keyword = #worldMenu]) reset
The problem with an allMethodsUsingPragmaWithKeyword: method, would be
that people might think it was ok to use without caution, which it's not :)
[100 timesRepeat: [PragmaCollector allSystemPragmas]] timeToRun 6245

So when using pragmas, a good idea is to either use a PragmaCollector
like a cache (dynamically updated one, that is), or limit the search
scope of the pragmas you accept, usually to a class.

PragmaCollector does not exist in Squeak though, it's one of the pieces
I think they'd find useful too. In fact, currently they have one
implemented in methods on Preferences, in the "dynamic preferences"
category.
Class-scoped pragmas is what is used in VW for menu building.

Cheers,
Henry


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Stéphane Ducasse
In reply to this post by Sean P. DeNigris
Sean I cannot find your slice in the inbox.
Is it there?

Stef

On Apr 21, 2010, at 10:07 PM, Sean P. DeNigris wrote:

>
> In Inbox. http://code.google.com/p/pharo/issues/detail?id=2329.
>
> Details:
>
>
> Michael Roberts-2 wrote:
>>
>> I appreciate I hijacked this thread somewhat....
>>
>
> That's it - I'm pissed and I'm taking my damn thread back ;-)
>
>
> Sean P. DeNigris wrote:
>>
>> http://code.google.com/p/pharo/issues/detail?id=2329
>>
>> Pharo image: Pharo 1.0
>>
>> In Monticello Browser, when I click "+Repository" and select "directory,"
>> I'd love to be taken right to the directory where I keep my local
>> repositories, instead of having to click to the same place over and over.
>>
>
> Okay, now that we're back on track...
>
>
> Stéphane Ducasse wrote:
>>
>> it would be good to be able to
>> either choose to have one local cache on the side of the image
>> or one shared among image - this implies a way to store and set it up
>> => probably a class variable + a setting in 1.1
>>
>
> Steph, I followed your suggestion and implemented it as a class var +
> settings.
>
> I had to add the capability to have directory-type settings (which was very
> similar to the existing file type settings, predictably).
>
> Summary:
> * Added ability to System-Settings to have directory-based settings
> * Added defaultDirectoryName setting to Settings-Monticello
> * Added feature to Monticello to remember parent directory where user likes
> to keep local repository directories and start directory-choosing dialogs
> there.
> * Tested (by hand) in PharoCore1.1ALPHA Latest update: #11312
>
> Sean
> --
> View this message in context: http://n4.nabble.com/Fix-2329-Default-MC-Directory-Setting-tp2019559p2019559.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Sean P. DeNigris
Administrator
Stéphane Ducasse wrote
Sean I cannot find your slice in the inbox.
Is it there?
I just re-uploaded.  I see it there now.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Fix 2329 - Default MC Directory Setting

Alain Plantec-4
In reply to this post by Sean P. DeNigris
Sean P. DeNigris a écrit

Hi Sean,
Thanks a lot for your setting extension!
> I was looking for a SystemNavigator >> allMethodsUsingPragma: aSymbol, or
> something like that.  With that funtionality, I guess it really wouldn't
> matter where they were located - or am I missing an easy way to find these
> methods?
>  
simply all senders of #worldMenu (or #systemsettings)

Alain
> Sean
>  


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Finding all uses of a pragma in the image (was Fix 2329 - Default MC Directory Setting)

Sean P. DeNigris
Administrator
Alain Plantec-4 wrote
I was looking for a SystemNavigator>>  allMethodsUsingPragma: aSymbol, or
> something like that.  With that funtionality, I guess it really wouldn't
> matter where they were located - or am I missing an easy way to find these
> methods?
simply all senders of #worldMenu (or #systemsettings)
Oh, so simple!  I was thinking of pragmas as 'this whole other concept to get.'  After I read your reply, I rechecked Pharo By Example, which said "Each pragma is in effect a static message send with literal arguments," so it makes perfect sense to treat them like any other method, but I still wouldn't have thought of it.

Sean
Cheers,
Sean