← Back to team overview

kicad-developers team mailing list archive

Re: CvPcb Save

 

I just merged a hybrid of the two: it makes CvPcb look and act like a dialog, but also has an “Apply, Save Schematic & Continue” button.  Yes, it’s a bit of a mouthful, but it least it doesn’t leave anyone any questions.

If you get a chance to take a look at it, let me know what you think.  It’s easy enough to change….

Cheers,
Jeff.


> On 23 Mar 2018, at 17:00, Jeff Young <jeff@xxxxxxxxx> wrote:
> 
> I implemented this one and played around with it a bit.  Surprisingly, I like the “blind save” version better.  It’s just a pain in the arse to OK, Save, re-enter CvPcb every time you want to check-point.
> 
> Here’s the patch in case anyone wants to try it out (note that this is a minimal intervention version designed to get us to 6.0):
> 
> <0001-Dialog-ize-CvPcb-so-that-Save-doesn-t-fool-users.patch>
> 
> 
>> On 21 Mar 2018, at 13:47, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote:
>> 
>> I'm fine with getting rid of the save and updating the schematic
>> footprint fields when closing cvpcb.  Most of this is historical baggage
>> from when cvpcb was a stand alone app and required intermediate files
>> for assigning footprints.
>> 
>> On 3/21/2018 9:41 AM, Jeff Young wrote:
>>> But what’s the point of having ctrl-S at all if it just moves it to some
>>> other place in volatile memory?  The user might as well just wait until
>>> they close CvPcb, as volatile is volatile, no?
>>> 
>>>> On 21 Mar 2018, at 12:47, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>>>> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>> wrote:
>>>> 
>>>> A possible short term fix is to change the action from save to update
>>>> schematic which is what really happens and is more analogous to clicking
>>>> the OK button in a modal dialog.  I don't know if saving the schematic
>>>> from CvPcb makes a lot of sense.  I would keep the ctrl+s shortcut.
>>>> Changing this will most like annoy users who are used to it.
>>>> 
>>>> As for changing CvPcb to a dialog, keep in mind that there are a several
>>>> child windows (footprint and 3d model views) that can be opened that
>>>> would not fit into your typical dialog behavior.  There is also support
>>>> for handling footprint association files.
>>>> 
>>>> 
>>>> On 3/20/2018 3:44 PM, Jeff Young wrote:
>>>>> I think the cleanest user model would be to make both CvPcb and the
>>>>> Symbol Table alternative views of the document.  However, that either
>>>>> suggests a tabbed presentation (where two views are not visible at
>>>>> once), or hooking up CvPcb and the Symbol Table to reflect changes made
>>>>> in the schema.
>>>>> 
>>>>> Given that the normal use-case is more batch-oriented (the user has
>>>>> other tools to do single associations or edit single symbol fields), I
>>>>> don’t think it warrants that kind of investment.
>>>>> 
>>>>> So that means we’re stuck with a more modal approach.  (Note that while
>>>>> CvPcb is the equivalent of modeless today, it doesn’t update in
>>>>> real-time, and silently drops changes made to symbols which no longer
>>>>> exist in the schema.)
>>>>> 
>>>>> It sounds like we’re coalescing around having save be active in the
>>>>> (modal) dialogs.  How do we communicate that?  Perhaps just a “Save”
>>>>> button in the dialog is good enough — it both gives them the idea that
>>>>> this is just a dialog to the parent application (so “obviously” Save
>>>>> will save the parent schematic), and at least a clue that they can cmd-S
>>>>> as well.
>>>>> 
>>>>> If that’s the direction we want to move in, then I can just have CvPcb’s
>>>>> Save write the schema to disk for 5.0.  Re-presenting CvPcb as a dialog
>>>>> is probably too large (ie: risky) for 5.0.
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 20 Mar 2018, at 18:00, Bernhard Stegmaier
>>>>>> <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx> <mailto:stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>>
>>>>>> <mailto:stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>>> wrote:
>>>>>> 
>>>>>> On a second thought it is basically just another special “Symbol
>>>>>> Table” edit dialog.
>>>>>> 
>>>>>> The problem of losing a lot of unsaved work in case of a crash is also
>>>>>> there for the “Symbol Table” dialog.
>>>>>> I could hack in a lot of valuable data in custom fields and although
>>>>>> this dialog has an “Apply” button, you can’t save there.
>>>>>> I don’t know if some autosave would take care of it…
>>>>>> 
>>>>>> So, however it is done wrt save/apply it should be the same for both
>>>>>> “dialogs”.
>>>>>> 
>>>>>> 
>>>>>> Regards,
>>>>>> Bernhard
>>>>>> 
>>>>>>> On 20. Mar 2018, at 18:55, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
>>>>>>> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
>>>>>>> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>>>>> 
>>>>>>> Yeah I also agree that it should be basically a dialog of eeschema
>>>>>>> rather than a separate program, so I guess it makes sense to write
>>>>>>> changes immediately to the in-memory schematic, and mark it as
>>>>>>> unsaved for the user to consciously hit the save button later if
>>>>>>> desired.
>>>>>>> 
>>>>>>> -Jon
>>>>>>> 
>>>>>>> On Tue, Mar 20, 2018 at 1:52 PM, Russell Oliver
>>>>>>> <roliver8143@xxxxxxxxx <mailto:roliver8143@xxxxxxxxx>
>>>>>>> <mailto:roliver8143@xxxxxxxxx <mailto:roliver8143@xxxxxxxxx>> <mailto:roliver8143@xxxxxxxxx <mailto:roliver8143@xxxxxxxxx>>> wrote:
>>>>>>> 
>>>>>>>    I second Bernhard's comments. 
>>>>>>>    I think it shouldn't seem like a separate program, just another
>>>>>>>    dialog of eeschema that takes the what you see is what you get
>>>>>>>    approach. 
>>>>>>>    As long as the footprint references are valid the schematic
>>>>>>>    should be updated when the dialog is closed, and marked modified
>>>>>>>    if there was a change. 
>>>>>>>    Saving the schematic to file is then done through eeschema proper. 
>>>>>>> 
>>>>>>>    Russell 
>>>>>>> 
>>>>>>>    On Wed, 21 Mar 2018 04:40 Bernhard Stegmaier,
>>>>>>>    <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>
>>>>>>> <mailto:stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> <mailto:stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>>>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>        Just my 2 cents…
>>>>>>>        I would immediately write back any change in cvpcb to
>>>>>>> schematic. 
>>>>>>>        I never understood why I have to hit the button to do that.
>>>>>>>        There is no PCB preview or something like that in cvpcb, so I
>>>>>>>        have to apply all changes anyway to check them directly in
>>>>>>>        the PCB.
>>>>>>>        Then, keep the button and save schematic with it.
>>>>>>> 
>>>>>>> 
>>>>>>>        Regards,
>>>>>>>        Bernhard
>>>>>>> 
>>>>>>>>        On 20. Mar 2018, at 18:28, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
>>>>>>>> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
>>>>>>>>        <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>>>>>> 
>>>>>>>>        Why don't you like the idea of saving the schematic when you
>>>>>>>>        hit the save button? That seems like a reasonable expected
>>>>>>>>        behavior to me at least.
>>>>>>>> 
>>>>>>>>        (I dislike nag dialogs especially when they seem to have no
>>>>>>>>        purpose)
>>>>>>>> 
>>>>>>>>        -Jon
>>>>>>>> 
>>>>>>>>        On Tue, Mar 20, 2018 at 1:26 PM, Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>>>>>>> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>
>>>>>>>>        <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>>>>>> 
>>>>>>>>            CvPcb has a Save command (complete with disk icon). 
>>>>>>>>            Only it doesn’t do that.  (It simply writes the changes
>>>>>>>>            back to eeschema.)
>>>>>>>> 
>>>>>>>>            If it were a dialog, I’d say that’s not good.  But this
>>>>>>>>            is CvPcb, where you could easily spend an hour making
>>>>>>>>            associations (hitting save every few minutes), only to
>>>>>>>>            have your machine and/or Kicad go down with all your
>>>>>>>>            changes.  That’s borderline horrific.
>>>>>>>> 
>>>>>>>>            I don’t like the idea of blind-saving the eeschema
>>>>>>>>            document, but I think that would be better than what we
>>>>>>>>            have now.
>>>>>>>> 
>>>>>>>>            Another idea would be to trigger an auto-save for each
>>>>>>>>            CvPcb save.  It’s not ideal because the user may think
>>>>>>>>            that there aren’t any changes in their eeschema file and
>>>>>>>>            therefore ignore the auto-save warning when restarting.
>>>>>>>> 
>>>>>>>>            Yet another idea would be to foist the decision on the
>>>>>>>>            user with a “Save your schematic?” dialog every time you
>>>>>>>>            save in CvPcb.  That’s pretty hard to love, but with
>>>>>>>>            Orson’s new KIDIALOG we could at least have a “don’t ask
>>>>>>>>            me again” checkbox.  Maybe that’s not so bad….
>>>>>>>> 
>>>>>>>>            Thoughts?
>>>>>>>>            _______________________________________________
>>>>>>>>            Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>            <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>            Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>            <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>            More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>>            <https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>>
>>>>>>>> 
>>>>>>>> 
>>>>>>>>        _______________________________________________
>>>>>>>>        Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>        <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>        Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>        <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>        Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>        <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>        More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>>        <https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>>
>>>>>>> 
>>>>>>>        _______________________________________________
>>>>>>>        Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>        <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>        Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>        <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>        Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>        <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>        More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>        <https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>>
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
> _______________________________________________
> 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


References