On 18 July 2011 21:55, Guillaume Lelarge <guilla...@lelarge.info> wrote: > On Mon, 2011-07-18 at 21:06 +0100, Thom Brown wrote: >> On 14 July 2011 10:31, Thom Brown <t...@linux.com> wrote: >> > On 14 July 2011 10:24, Guillaume Lelarge <guilla...@lelarge.info> wrote: >> >> So, you're working on fixing it, right? >> > >> > Possibly ;) : http://code.pgadmin.org/trac/ticket/329 >> > >> > I haven't had time to look at fixing various bugs over the last couple >> > days but I'll get to them shortly. >> >> Apologies for the delay but I've now had a moment to look at it. > > No apologies needed :) > >> The >> attached patch removes the duplicate restriction from OnMemberAdd to >> OnChangeMember, and also disabled the Add button by default. This is >> because it's enabled on loading the form which doesn't get disabled >> again until you start editing the attribute name field, meaning you >> can click Add without having provided any attribute details. >> > > I'm wondering why you didn't take care of the Change button too. I mean, > it's so easy now that you've the code working for the Add button that I > kind of feel I'm missing something obvious which would explain why you > didn't do it. Any particular reason other than "I forgot it"? :)
Wasn't even that. It didn't cross my mind. Reattached with that change. -- Thom Brown Twitter: @darkixion IRC (freenode): dark_ixion Registered Linux user: #516935 EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/pgadmin/dlg/dlgType.cpp b/pgadmin/dlg/dlgType.cpp index 4ef5454..d27df45 100644 --- a/pgadmin/dlg/dlgType.cpp +++ b/pgadmin/dlg/dlgType.cpp @@ -112,11 +112,16 @@ dlgType::dlgType(pgaFactory *f, frmMain *frame, pgType *node, pgSchema *sch) void dlgType::OnChangeMember(wxCommandEvent &ev) { + wxString name = txtMembername->GetValue().Strip(wxString::both); + btnAddMember->Enable( ((type && connection->BackendMinimumVersion(9, 1)) || !type) - && !txtMembername->GetValue().Strip(wxString::both).IsEmpty() + && !name.IsEmpty() + && lstMembers->FindItem(-1, name, false) == -1 && cbDatatype->GetGuessedSelection() >= 0); - btnChangeMember->Enable(true); + btnChangeMember->Enable( + lstMembers->FindItem(-1, name, false) == lstMembers->GetFirstSelected() + || lstMembers->FindItem(-1, name, false) == -1); } void dlgType::showDefinition(int panel) @@ -239,7 +244,7 @@ int dlgType::Go(bool modal) bool changeok = connection->BackendMinimumVersion(9, 1); txtMembername->Enable(changeok); cbCollation->Enable(changeok); - btnAddMember->Enable(changeok); + btnAddMember->Enable(false); btnChangeMember->Enable(false); btnRemoveMember->Enable(false); @@ -529,7 +534,7 @@ void dlgType::OnMemberAdd(wxCommandEvent &ev) type += wxT(")"); } - if (!name.IsEmpty() && lstMembers->FindItem(-1, name, false) == -1) + if (!name.IsEmpty()) { size_t pos = lstMembers->GetItemCount(); lstMembers->InsertItem(pos, name, 0);
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers