#2 Preferences should persist

open
None
3
2006-11-16
2006-11-14
jrdioko
No

It looks like changes made in Project->Options only
affect the current saved project. Things like those
under the Canvas, Toolbar, and Mouse tabs should
persist across sessions, probably being saved in some
file in ~/.logisim.

Discussion

  • Carl Burch

    Carl Burch - 2006-11-14

    Logged In: YES
    user_id=1288695
    Originator: NO

    I think Logisim already addresses this, so I'm tentatively "deleting" this request; but I'm open to corrections. Yes, you're right that changes made via Project->Options affect only the current project. *However*, the Template facility (under File->Preferences, also available via command-line option) allows you to configure the Project Options for any future newly created projects. This does not affect previously saved projects; but you can easily switch them, also, by opening an old project, going to Project->Options, and clicking the Revert All To Template button at the window's bottom.

    (I'd agree that the more intuitive approach is to save all such things as preferences. The approach that Logisim uses, though, has the benefit of allowing project-specific options.)

     
  • Carl Burch

    Carl Burch - 2006-11-14
    • status: open --> wont-fix
     
  • jrdioko

    jrdioko - 2006-11-14

    Logged In: YES
    user_id=1052697
    Originator: YES

    Ok, I wasn't aware of that feature. Still, my idea was just that some options don't make sense as "project options" and would make more sense as "preferences." I can think of times where you'd want the Canvas and Simulation options to be attached to the project, so you could send it to someone and it would still display/function the same in their version of Logisim. Still, I can't see why Toolbar or Mouse would ever need to be project-specific. For example, if my friend sent me a project, I'd want it to display and function the same as it did on his machine, but I'd like to be able to work on it using the toolbar configuration and mouse settings that I am used to.

    It also seems like the way to handle default settings should be a bit clearer than it currently is. Maybe some more tabs in File->Preferences for "Default Settings," which can then be overridden if something is/was changed in Project->Options. Again, just some suggestions.

     
  • Carl Burch

    Carl Burch - 2006-11-15

    Logged In: YES
    user_id=1288695
    Originator: NO

    That's something that I can buy into: Someting like an "Template Options
    Override Project Options" checkbox under Preferences, which somebody could
    check. (It can't be checked by default, because then a user would have to
    set up a template file to be able to use Project > Options... at all.)

    Incidentally, the use of project-specific settings is based partially on
    the fact that the Toolbar and Mouse configuration could potentially refer
    to components in project-specific libraries. For example, you might
    make your own very useful component specific to a project and decide
    it should be in the toolbar; but when you switch to a different project,
    that component wouldn't and shouldn't be available. Admittedly, this is
    not the typical scenario, but it's an issue that has to be handled
    somehow.

     
  • Carl Burch

    Carl Burch - 2006-11-15
    • assigned_to: nobody --> carlburch
    • status: wont-fix --> open
     
  • jrdioko

    jrdioko - 2006-11-16

    Logged In: YES
    user_id=1052697
    Originator: YES

    I see what the issue is now, and I can't think of an easy way to resolve everything. It just seems like the Project->Options idea is not the optimal way to handle it. The best thing I can think of is to move everything into Preferences and get rid of Project->Options altogether. Then, when project-specific components are added to the menu or mouse via preferences, they'd get saved to the project file, and wouldn't appear in other projects. There could also be a checkbox for "Apply changes to this file only" which would do a similar thing except for all the preferences. The global settings set in Preferences, though, would generally be the ones used. If I recall correctly, OpenOffice (and maybe Word) has this kind of functionality, where you have global preferences which can be set "for this file only" if you want. I can see how that scheme's not perfect either, though, and would probably require a lot of reorganization of things.

     
  • Carl Burch

    Carl Burch - 2006-11-16
    • priority: 5 --> 3
     
  • Carl Burch

    Carl Burch - 2006-11-16

    Logged In: YES
    user_id=1288695
    Originator: NO

    This is roughly what Eclipse does, too. I've thought about this a bit
    and come up with the following scheme.

    * Options and Preferences are united into a single Preferences window, which
    by default edits the system-wide (or, more accurately, user-wide) settings.

    * There will be a pair of radio buttons above the tabs to select whether one is
    editing the system-wide or project-specific settings.

    * Each tab has an "Enable project specific settings" checkbox. When viewing
    system-wide settings, this checkbox will be disabled. When viewing project-
    specific settings, all items will be disabled until this checkbox is checked.
    When the checkbox is checked for the first time, the system forks the current
    system-wide settings into the current project. When it is unchecked later, it
    disables those settings, and the components for editing them, but it
    continues to remember them (and store them in a file) in case the user
    rechecks the box later.

    * There will be a new Libraries tab that allows the user to configure which
    libraries are automatically loaded into new projects. There will not be
    need for the "Enable project specific settings" checkbox under this tab,
    because it would be permanently checked.

    * When editing the system-wide settings under the Mouse, Toolbar, and planned
    Keyboard tabs, the user will only be able to select from the libraries
    specified under the aforementioned Libraries tab (system-wide settings).

    * There will be the option to save and restore the current set of settings
    from a file. A command-line option will allow the settings to be specified
    on the command-line.

    All of this is fairly intensive, and it doesn't rate a high priority when
    compared to other features that bear more directly on constructing circuits.
    So it probably won't appear very soon, unless I hear from several other
    people that this should be a higher priority than, say, being able to edit
    the appearance of subcircuits, or being able to unit-test circuits.

    (I should mention that I'm not entirely sure that the above is feasible
    within the context of Java's java.util.prefs package, which I would like to
    continue to use for system-wide preferences.)

    Thanks for the ideas. Additional ideas are, of course, welcome.

     
  • jrdioko

    jrdioko - 2006-11-16

    Logged In: YES
    user_id=1052697
    Originator: YES

    Sounds great, although much more complicated than I imagined it would be when I posted this request (and probably still somewhat confusing for new users). I'd agree that's a major overhaul that doesn't contribute much to functionality, and should be low on the list. Thanks again for a great program, and for personally responding to all these tracker items.

     
  • jrdioko

    jrdioko - 2006-11-16

    Logged In: YES
    user_id=1052697
    Originator: YES

    Actually, one more idea... It's less the organization of this that annoys me than the idea that it's not obvious how to set system-wide toolbar and mouse settings. What if there was a button in project options along the lines of "Make these settings the default for all new files" (there's probably a better wording for that). I assume that could be worked in the current template system by doing something like creating a new template with those settings and auto-loading it for newly created projects (although I haven't look into the template system, so I could be wrong).

    It would also be helpful to have a short description at the top of the Preferences and Project->Options windows describing the scope of the changes for people who don't look at the documentation first (i.e. me who assumed Project->Options was supposed to be system-wide).

    Just another (simpler) alternative.

     
  • Carl Burch

    Carl Burch - 2006-11-16

    Logged In: YES
    user_id=1288695
    Originator: NO

    I think that for a user, my proposed system would end up being more
    intuitive - if only because most users wouldn't ever worry about any
    project-specific settings. Admittedly, it's somewhat more complicated
    to implement. I'm going to plan it for the medium term, though (maybe
    this summer).

    I'll definitely try to put in the descriptions as a short-term measure.
    I think that should be enough.

     
  • jrdioko

    jrdioko - 2006-11-16

    Logged In: YES
    user_id=1052697
    Originator: YES

    Sounds good, thanks again.

     

Log in to post a comment.