kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35935
Re: Symbol field editor dialog improvements
> Hmm, I had used git format-patch. Is there something wrong with the
> patch to suggest that I hadn’t?
On my machine git format-patch creates a multi-part mime message. I’m enough of a git noob not to know whether or not that’s a problem but when I try to apply your patch (which isn’t multi-part mime) using “git am” I get:
Applying: field editor: Find components when reference field is clicked
error: corrupt patch at line 21
Can anyone point me in the right direction?
I agree that the algorithm in your second patch is superior. Do you want to re-implement it on the current code, or do you want me to change the existing algorithm?
Cheers,
Jeff.
> On 24 May 2018, at 14:55, Ben Gamari <ben@xxxxxxxxxxxxxxxx> wrote:
>
> Jeff Young <jeff@xxxxxxxxx> writes:
>
>> Hi Ben,
>>
>> You probably saw my comments in the bug that 0002 has already been
>> addressed.
>>
> I see that. That being said, I somewhat favor the approach taken in my
> patch. The reason is that the committed solution behaves slightly
> unfortunately when faced with projects containing different sets of
> fields.
>
> For instance, imagine I have a two projects
>
> * Proj1 has fields A, B, C
> * Proj2 has fields A, B, D
>
> When I switch from one project to the other the state of fields C and D
> will be forgotten. With my approach, however, they are retained. IMHO
> this is a more consistent (and certainly, in my case, useful) behavior.
>
> Not to mention, my patch is considerably simpler, avoiding the need to
> serialise.
>
>> Could you change the opening and closing braces to be on their own
>> line in 0001? (The rest matches our coding standard so I assume you
>> found it, but if not:
>> http://kicad.readthedocs.io/en/stable/Documentation/development/coding-style-policy/
>> ).
>>
> Done. Revised patch attached.
>
>> Also, if you could use git format-patch to produce the patch that would be great.
>>
> Hmm, I had used git format-patch. Is there something wrong with the
> patch to suggest that I hadn't?
>
> Cheers,
>
> - Ben
>
> From b8807c2888f3995eec7709aae91c44b880b954a5 Mon Sep 17 00:00:00 2001
> From: Ben Gamari <ben@xxxxxxxxxxxxxxxx>
> Date: Sat, 19 May 2018 11:25:28 -0400
> Subject: [PATCH] field editor: Find components when reference field is clicked
>
> This makes it significantly easier to find a particular component when
> using the field editor, as I often do for part selection.
> ---
> eeschema/dialogs/dialog_fields_editor_global.cpp | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/eeschema/dialogs/dialog_fields_editor_global.cpp b/eeschema/dialogs/dialog_fields_editor_global.cpp
> index f9e179452..308b68b8d 100644
> --- a/eeschema/dialogs/dialog_fields_editor_global.cpp
> +++ b/eeschema/dialogs/dialog_fields_editor_global.cpp
> @@ -174,6 +174,10 @@ public:
> return GetValue( m_rows[ aRow ], aCol );
> }
>
> + std::vector<SCH_REFERENCE> GetRowReferences( int aRow )
> + {
> + return m_rows[ aRow ].m_Refs;
> + }
>
> wxString GetValue( DATA_MODEL_ROW& group, int aCol )
> {
> @@ -823,7 +827,15 @@ void DIALOG_FIELDS_EDITOR_GLOBAL::OnRegroupComponents( wxCommandEvent& event )
> void DIALOG_FIELDS_EDITOR_GLOBAL::OnTableCellClick( wxGridEvent& event )
> {
> if( event.GetCol() == REFERENCE )
> + {
> m_dataModel->ExpandCollapseRow( event.GetRow());
> + std::vector<SCH_REFERENCE> refs = m_dataModel->GetRowReferences( event.GetRow() );
> + if (refs.size() == 1)
> + {
> + m_parent->FindComponentAndItem( refs[0].GetRef() + refs[0].GetRefNumber(),
> + true, FIND_COMPONENT_ONLY, wxEmptyString, false );
> + }
> + }
> else
> event.Skip();
> }
> --
> 2.16.2
>
Follow ups
References