← Back to team overview

kicad-developers team mailing list archive

Re: Discuss: Save/Load Preferences

 

Good points.

Would you agree that at least "Save" is currently broken? It does not 
allow you to save to a different project file. It displays the file 
selector dialog, but then ignores the selection and saves to the current 
project.

Actually, "Load" seems to do this too.

What would you prefer to do in the meantime? Since the new file formats 
are still a little way off, personally, I think it would be a good idea 
to fix them now instead of waiting, even if only to serve as templates 
for the behavior once the new formats come.

So, what about doing this currently?:

- Rename to Save/Load Project Settings

- Fix the file selectors so that the selection is no longer ignored.

- Stop displaying the file selector after events like Plot, and instead 
  just write directly to the current project file for that.

Would you be okay with me doing that?

On Mon, Jan 18, 2016 at 05:05:51PM +0100, jp charras wrote:
> Le 17/01/2016 19:02, Chris Pavlina a écrit :
> > Hi,
> > 
> > I'd like to discuss the Save/Load Preferences feature a bit. I've never 
> > quite exactly understood what it's supposed to be used for. Here's what 
> > I gathered from the code:
> > 
> > - Save Preferences calls SaveProjectSettings(true), asking the user if 
> >   he wants to save the settings. This isn't the only place it happens, 
> >   though - it is also called implicitly when plotting and when certain 
> >   settings have been changed in preferences.
> > 
> > - The "Save" dialog displayed by Save Preferences is broken. It asks for 
> >   a file name, but disregards it and always writes to the active project 
> >   file.
> > 
> > - Load Preferences reloads GROUP_SCH and GROUP_SCH_EDITOR, and _also_ 
> >   seems to disregard the selected file.
> > 
> > - GROUP_SCH is loaded when libraries are loaded. GROUP_SCH_EDITOR is 
> >   only loaded when "Load Preferences" is selected.
> > 
> > I find this all very confusing, and partially broken. I at least insist 
> > that we fix the broken save/load dialogs - it shouldn't ask for a file 
> > and then ignore the selection. However:
> > 
> > Uh... what do people use this for? I'm having a hard time figuring out 
> > the use case, and I think most users aren't really going to understand 
> > what it does.
> > 
> > Keeping in mind that I don't know the use case, what about this:
> > 
> > - Stop calling SaveProjectSettings in places that are NOT the "Save
> >   Preferences" menu item. This is just confusing, most users are going 
> >   to assume that if it's something they can trigger with the menu, it's 
> >   not something that'll just "happen" when certain operations are 
> >   performed. Perhaps rethink those bits a bit so there's either no need 
> >   to save anything, or doing it silently would become sensible.
> > 
> > - Replace Save/Load Preferences with something like Import/Export 
> >   Hotkeys. Instead of saving to the project file, save to a separate 
> >   settings file. This would resolve *my* first major misunderstanding, 
> >   which is why even though "Save Preferences" saves to the project file, 
> >   "Load Preferences" doesn't execute at project load.
> > 
> > I *think* this is more what it's used for, anyway - just having a place 
> > to import and export preferences to.
> > 
> > Can someone comment or help dispel my misunderstandings?
> > 
> > -- Chris
> 
> Over the years, Save/Load Preferences has changed, and is now very
> confusing.
> 
> The initial purpose was to save all preferences and project settings in
> a file in a file associated to a project.
> Default settings (used when starting a new board or schematic in a new
> project) are also stored in a project file (which is the copy of a
> template file).
> 
> It means paths, libraries to load, default values or last values used
> for pads type and sizes, text sizes ...
> 
> Kicad was at the beginning designed to be used in a school at
> University, and students used it on different PCs in different class
> rooms, different OS, and the "home directory" was therefore not usable
> to store this info.
> 
> Over the years, user config (stored in the "home directory" of a given
> user on his own PC) was used to store "preferences" info (for instance
> some paths).
> 
> The footprint library table is no more stored as "Preferences".
> I am thinking the components library list (which are still in the
> project config file) will be soon stored in something like a component
> library table (Wayne ?).
> 
> Therefore the purpose of the project file (the .pro file) have to be
> redefined.
> However, we need to wait the new Eeschema version, to change the .pro file.
> 
> Here is what I am thinking:
> * the .pro file should store info shared between eeschema / pcbnew /
> Gerbview (for instance like paths used to store plot files : the path
> for Gerber and drill file could be used by Gerbview) and a few options
> specific to the project )
> 
> * Note also the library tables which were saved in the .pro files are
> (of will be) saved in separate files, and the .pro file should not
> contains a lot of info.
> 
> To avoid misunderstandings:
> * Save/Load Preferences is (or should be) actually Save/Load only
> project settings, and called Save/Load Project Settings.
> 
> * I am not sure the Save/Load is very useful (only saving project
> settings as template to build a new template kicad.pro is useful)
> It could be removed
> (perhaps just have option "Make a template .pro file from this project")
> 
> * Preferences should be only the user preferences (like colors, size and
> position of windows, autosave delay...)
> (hotkeys import/export is currently an other topic, and has nothing to
> do with Preferences and Project Settings config files in kicad code)
> 
> -- 
> Jean-Pierre CHARRAS
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References