On 18 July 2011 21:55, Guillaume Lelarge <[email protected]> wrote:
> On Mon, 2011-07-18 at 21:06 +0100, Thom Brown wrote:
>> On 14 July 2011 10:31, Thom Brown <[email protected]> wrote:
>> > On 14 July 2011 10:24, Guillaume Lelarge <[email protected]> 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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers