Thread: Discussion - Search Objects

Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
To better get into the code I've decided to implement a feature from the todo list: "Ability to search a database for objects with a specific name"
Now I have a first result, which I like to discuss with you.

1. The search is done with this query
select * from (
select 'TABLE' as type, table_name as objectname, table_schema as path from information_schema.views 
union
select 'VIEW' as type, table_name, table_schema from information_schema.views
union
select 'COLUMN', column_name, table_schema ||'.'||table_name from information_schema.columns
union
select 'TRIGGER', trigger_name, event_object_schema||'.'||event_object_table from information_schema.triggers
union
select 'FUNCTION', routine_name, specific_schema from information_schema.routines
union
select 'SCHEMA', schema_name, '' from information_schema.schemata
union
select 'SEQUENCE', sequence_name, sequence_schema from information_schema.sequences
union
select 'FSERVER', foreign_server_name, '' from information_schema.foreign_servers
union
select 'FDW', foreign_data_wrapper_name, '' from information_schema.foreign_data_wrappers
) i
where lower(objectname) like '%PATTERN%'
order by 1,2

2. I've attached the menu item to the database node

see searchobject1.png

3. The search result output is written to a wxListCtrl

see searchobject2.png

Great would be when someone clicks on the search result the object is selected in the tree. Is there a method in the tree class which I could use for it? It might be complex to implement because of lazy loading of the objects.

Any further ideas?

Regards,
Jasmin

Attachment

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-01 at 01:05 +0200, Jasmin Dizdarevic wrote:
> To better get into the code I've decided to implement a feature from
> the todo list: "Ability to search a database for objects with a
> specific name"
> Now I have a first result, which I like to discuss with you.
>
>
> 1. The search is done with this query
> select * from (
> select 'TABLE' as type, table_name as objectname, table_schema as path
> from information_schema.views
> union
> select 'VIEW' as type, table_name, table_schema from
> information_schema.views
> union
> select 'COLUMN', column_name, table_schema ||'.'||table_name from
> information_schema.columns
> union
> select 'TRIGGER', trigger_name, event_object_schema||'.'||
> event_object_table from information_schema.triggers
> union
> select 'FUNCTION', routine_name, specific_schema from
> information_schema.routines
> union
> select 'SCHEMA', schema_name, '' from information_schema.schemata
> union
> select 'SEQUENCE', sequence_name, sequence_schema from
> information_schema.sequences
> union
> select 'FSERVER', foreign_server_name, '' from
> information_schema.foreign_servers
> union
> select 'FDW', foreign_data_wrapper_name, '' from
> information_schema.foreign_data_wrappers
> ) i
> where lower(objectname) like '%PATTERN%'
> order by 1,2
>

You miss quite a lot of objects.

> 2. I've attached the menu item to the database node
>
>
> see searchobject1.png
>

Yeah, could be.

> 3. The search result output is written to a wxListCtrl
>

BTW, the Search Objects menu item should have ellipsis because next
action is showing a window.

> Great would be when someone clicks on the search result the object is
> selected in the tree. Is there a method in the tree class which I
> could use for it? It might be complex to implement because of lazy
> loading of the objects.
>
>

We already do such things when someone connects to a server and wants to
get back to his old selection. Shouldn't be too hard to do.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Dave Page
Date:
On Wed, Jun 1, 2011 at 6:06 AM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Wed, 2011-06-01 at 01:05 +0200, Jasmin Dizdarevic wrote:
>> To better get into the code I've decided to implement a feature from
>> the todo list: "Ability to search a database for objects with a
>> specific name"
>> Now I have a first result, which I like to discuss with you.
>>
>>
>> 1. The search is done with this query
>> select * from (
>> select 'TABLE' as type, table_name as objectname, table_schema as path
>> from information_schema.views
>> union
>> select 'VIEW' as type, table_name, table_schema from
>> information_schema.views
>> union
>> select 'COLUMN', column_name, table_schema ||'.'||table_name from
>> information_schema.columns
>> union
>> select 'TRIGGER', trigger_name, event_object_schema||'.'||
>> event_object_table from information_schema.triggers
>> union
>> select 'FUNCTION', routine_name, specific_schema from
>> information_schema.routines
>> union
>> select 'SCHEMA', schema_name, '' from information_schema.schemata
>> union
>> select 'SEQUENCE', sequence_name, sequence_schema from
>> information_schema.sequences
>> union
>> select 'FSERVER', foreign_server_name, '' from
>> information_schema.foreign_servers
>> union
>> select 'FDW', foreign_data_wrapper_name, '' from
>> information_schema.foreign_data_wrappers
>> ) i
>> where lower(objectname) like '%PATTERN%'
>> order by 1,2
>>
>
> You miss quite a lot of objects.

Further, we have a general policy of not using information_schema in
pgAdmin, as users may drop it if they don't need it.

Sorry :-(

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-01 at 07:50 +0000, Dave Page wrote:
> On Wed, Jun 1, 2011 at 6:06 AM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Wed, 2011-06-01 at 01:05 +0200, Jasmin Dizdarevic wrote:
> >> To better get into the code I've decided to implement a feature from
> >> the todo list: "Ability to search a database for objects with a
> >> specific name"
> >> Now I have a first result, which I like to discuss with you.
> >>
> >>
> >> 1. The search is done with this query
> >> select * from (
> >> select 'TABLE' as type, table_name as objectname, table_schema as path
> >> from information_schema.views
> >> union
> >> select 'VIEW' as type, table_name, table_schema from
> >> information_schema.views
> >> union
> >> select 'COLUMN', column_name, table_schema ||'.'||table_name from
> >> information_schema.columns
> >> union
> >> select 'TRIGGER', trigger_name, event_object_schema||'.'||
> >> event_object_table from information_schema.triggers
> >> union
> >> select 'FUNCTION', routine_name, specific_schema from
> >> information_schema.routines
> >> union
> >> select 'SCHEMA', schema_name, '' from information_schema.schemata
> >> union
> >> select 'SEQUENCE', sequence_name, sequence_schema from
> >> information_schema.sequences
> >> union
> >> select 'FSERVER', foreign_server_name, '' from
> >> information_schema.foreign_servers
> >> union
> >> select 'FDW', foreign_data_wrapper_name, '' from
> >> information_schema.foreign_data_wrappers
> >> ) i
> >> where lower(objectname) like '%PATTERN%'
> >> order by 1,2
> >>
> >
> > You miss quite a lot of objects.
>
> Further, we have a general policy of not using information_schema in
> pgAdmin, as users may drop it if they don't need it.
>

One is allowed to drop the information_schema system catalog? I didn't
know that. I guess it's all right 'cause you don't really need it.

> Sorry :-(
>


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Dave Page
Date:
On Wed, Jun 1, 2011 at 7:53 AM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
>
> One is allowed to drop the information_schema system catalog? I didn't
> know that. I guess it's all right 'cause you don't really need it.

I'm surprised you didn't know that :-). pgAdmin doesn't let you drop
it because it disables drop for all catalogs (I guess thats a minor
bug), but Postgres itself doesn't care because as you note, it's not
needed by the system and it's recognised that users may not want it
cluttering up their databases.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Can we use the pg_catalog?


2011/6/1 Dave Page <dpage@pgadmin.org>
On Wed, Jun 1, 2011 at 7:53 AM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
>
> One is allowed to drop the information_schema system catalog? I didn't
> know that. I guess it's all right 'cause you don't really need it.

I'm surprised you didn't know that :-). pgAdmin doesn't let you drop
it because it disables drop for all catalogs (I guess thats a minor
bug), but Postgres itself doesn't care because as you note, it's not
needed by the system and it's recognised that users may not want it
cluttering up their databases.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Dave Page
Date:
On Wed, Jun 1, 2011 at 8:05 AM, Jasmin Dizdarevic
<jasmin.dizdarevic@gmail.com> wrote:
> Can we use the pg_catalog?

Definitely - that's where we get all our info. I appreciate it's a
little more complicated; but it also exposes *all* Postgres object
types, unlike information_schema.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-01 at 10:05 +0200, Jasmin Dizdarevic wrote:
> Can we use the pg_catalog?
>

pgAdmin works only by querying the PostgreSQL catalog.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Alright, I'm going to change the query.


2011/6/1 Guillaume Lelarge <guillaume@lelarge.info>
On Wed, 2011-06-01 at 10:05 +0200, Jasmin Dizdarevic wrote:
> Can we use the pg_catalog?
>

pgAdmin works only by querying the PostgreSQL catalog.

Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
In the search result list I've to build a node path. the problem is, that node paths are language dependent. 
how can i manually translate "Server Groups/Servers/local.db/Databases/..." to "Servergruppen/Server/local.db/Datenbanken" (german) in an elegant way?

2011/6/1 Jasmin Dizdarevic <jasmin.dizdarevic@gmail.com>
Alright, I'm going to change the query.


2011/6/1 Guillaume Lelarge <guillaume@lelarge.info>
On Wed, 2011-06-01 at 10:05 +0200, Jasmin Dizdarevic wrote:
> Can we use the pg_catalog?
>

pgAdmin works only by querying the PostgreSQL catalog.


Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-06-07 at 19:30 +0200, Jasmin Dizdarevic wrote:
> In the search result list I've to build a node path. the problem is,
> that node paths are language dependent.
> how can i manually translate "Server
> Groups/Servers/local.db/Databases/..." to
> "Servergruppen/Server/local.db/Datenbanken" (german) in an elegant
> way?
>

Only parent nodes are to be translated. Meaning "Group Servers",
"Databases", "Tables", ... ie, all the plural forms. And apart from
concatening the strings, I don't see any way to do this.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
I know...these are the strings that has to be translated. As I know in pgAdmin there are language files, which are defined something like this:
English - Foreign Language
Server Groups - Servergruppen
Help - Hilfe
....

These mappings are used when the GUI is being rendered - based on the selected language.
My question is: How to translate a string manually.

 

2011/6/7 Guillaume Lelarge <guillaume@lelarge.info>
On Tue, 2011-06-07 at 19:30 +0200, Jasmin Dizdarevic wrote:
> In the search result list I've to build a node path. the problem is,
> that node paths are language dependent.
> how can i manually translate "Server
> Groups/Servers/local.db/Databases/..." to
> "Servergruppen/Server/local.db/Datenbanken" (german) in an elegant
> way?
>

Only parent nodes are to be translated. Meaning "Group Servers",
"Databases", "Tables", ... ie, all the plural forms. And apart from
concatening the strings, I don't see any way to do this.


--

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-06-07 at 21:58 +0200, Jasmin Dizdarevic wrote:
> I know...these are the strings that has to be translated. As I know in
> pgAdmin there are language files, which are defined something like
> this:
> English - Foreign Language
> Server Groups - Servergruppen
> Help - Hilfe
> ....
>
>
> These mappings are used when the GUI is being rendered - based on the
> selected language.
> My question is: How to translate a string manually.
>

I'm not sure what you mean. If you want that a string is automatically
translated, use the _() function. As in _(wxT("Foreign Languages)).


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
that's exactly what I'm looking for :)
thank you!

2011/6/7 Guillaume Lelarge <guillaume@lelarge.info>
On Tue, 2011-06-07 at 21:58 +0200, Jasmin Dizdarevic wrote:
> I know...these are the strings that has to be translated. As I know in
> pgAdmin there are language files, which are defined something like
> this:
> English - Foreign Language
> Server Groups - Servergruppen
> Help - Hilfe
> ....
>
>
> These mappings are used when the GUI is being rendered - based on the
> selected language.
> My question is: How to translate a string manually.
>

I'm not sure what you mean. If you want that a string is automatically
translated, use the _() function. As in _(wxT("Foreign Languages)).


--

Re: Discussion - Search Objects

From
Dave Page
Date:
On Tue, Jun 7, 2011 at 9:11 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Tue, 2011-06-07 at 21:58 +0200, Jasmin Dizdarevic wrote:
>> I know...these are the strings that has to be translated. As I know in
>> pgAdmin there are language files, which are defined something like
>> this:
>> English - Foreign Language
>> Server Groups - Servergruppen
>> Help - Hilfe
>> ....
>>
>>
>> These mappings are used when the GUI is being rendered - based on the
>> selected language.
>> My question is: How to translate a string manually.
>>
>
> I'm not sure what you mean. If you want that a string is automatically
> translated, use the _() function. As in _(wxT("Foreign Languages)).

I think you mean _("Foreign Languages")


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-06-07 at 21:25 +0100, Dave Page wrote:
> On Tue, Jun 7, 2011 at 9:11 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Tue, 2011-06-07 at 21:58 +0200, Jasmin Dizdarevic wrote:
> >> I know...these are the strings that has to be translated. As I know in
> >> pgAdmin there are language files, which are defined something like
> >> this:
> >> English - Foreign Language
> >> Server Groups - Servergruppen
> >> Help - Hilfe
> >> ....
> >>
> >>
> >> These mappings are used when the GUI is being rendered - based on the
> >> selected language.
> >> My question is: How to translate a string manually.
> >>
> >
> > I'm not sure what you mean. If you want that a string is automatically
> > translated, use the _() function. As in _(wxT("Foreign Languages)).
>
> I think you mean _("Foreign Languages")
>

Ops, yeah, I was too quick. Thank you.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Attached a patch for searching objects in a database. I've added most of the objects, except operator-objects. I don't think that we need them.
non-pgsql object types (edb, slony,..) has to be added by somebody else - i don't have those products installed or in use.

I've also changed two methods in frmMain:

1. The node path is trimmed now. 
2. SetCurrentNode is now more intelligent. during recursion every node is partially checked against the given path. if the path is wrong the recursion stops and the next child will be checked.objects are now expanded automatically as requested by the given path.
3. GetNodePath is public now.

to search, right click on a database and select search object. clicking on a result will expand the given node. if the object type is not shown in tree (options) the result is grey and nothing happens when clicking on it.

i will also add ability to search for a user, group, role and tablespace, but first i'd like to know what you think.

you'll have to add the new files (frmSearchObject.h, frmSearchObject.cpp, frmSearchObject.xrc) to your solution, because I'm developing on VS 2010 and it doesn't make sense to send you the solution file. linux users will hopefully know, what they have to do ;-)

thanks
jasmin

2011/6/7 Guillaume Lelarge <guillaume@lelarge.info>
On Tue, 2011-06-07 at 21:25 +0100, Dave Page wrote:
> On Tue, Jun 7, 2011 at 9:11 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Tue, 2011-06-07 at 21:58 +0200, Jasmin Dizdarevic wrote:
> >> I know...these are the strings that has to be translated. As I know in
> >> pgAdmin there are language files, which are defined something like
> >> this:
> >> English - Foreign Language
> >> Server Groups - Servergruppen
> >> Help - Hilfe
> >> ....
> >>
> >>
> >> These mappings are used when the GUI is being rendered - based on the
> >> selected language.
> >> My question is: How to translate a string manually.
> >>
> >
> > I'm not sure what you mean. If you want that a string is automatically
> > translated, use the _() function. As in _(wxT("Foreign Languages)).
>
> I think you mean _("Foreign Languages")
>

Ops, yeah, I was too quick. Thank you.

Attachment

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Sat, 2011-06-11 at 19:12 +0200, Jasmin Dizdarevic wrote:
> Attached a patch for searching objects in a database. I've added most
> of the objects, except operator-objects. I don't think that we need
> them.

I think we do. They are objects just like any others.

> non-pgsql object types (edb, slony,..) has to be added by somebody
> else - i don't have those products installed or in use.

Understandable. I face the same issues from time to time.

> I've also changed two methods in frmMain:
>
>
> 1. The node path is trimmed now.
> 2. SetCurrentNode is now more intelligent. during recursion every node
> is partially checked against the given path. if the path is wrong the
> recursion stops and the next child will be checked.objects are now
> expanded automatically as requested by the given path.
> 3. GetNodePath is public now.
>
>
> to search, right click on a database and select search object.
> clicking on a result will expand the given node.

Works with many objects' type, but doesn't work for FKey. I suppose this
is because your search the name of the fkey in the tree but fkey are
displayed in a special way.

>  if the object type is not shown in tree (options) the result is grey
> and nothing happens when clicking on it.
>
>
> i will also add ability to search for a user, group, role and
> tablespace, but first i'd like to know what you think.
>

Would be good.

Your patch, at least from a user point of view (meaning I didn't check
the code), seems good. I found two issues:

  * not able to find a fkey (see above)
  * really bad UI (I see the combobox only partly, and the dialog is not
    resizable... the latter is no big deal, I can take care of that
    afterwards, but the first one makes it not commitable).

> you'll have to add the new files (frmSearchObject.h,
> frmSearchObject.cpp, frmSearchObject.xrc) to your solution, because
> I'm developing on VS 2010 and it doesn't make sense to send you the
> solution file. linux users will hopefully know, what they have to
> do ;-)
>

See patch attached for linux compatibility. Not really a hard work.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com

Attachment

Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Hi, 

please take another look on it. The UI should work correctly now.

Linux make files should also be correct now.

Thanks,
Jasmin

2011/6/12 Guillaume Lelarge <guillaume@lelarge.info>
On Sat, 2011-06-11 at 19:12 +0200, Jasmin Dizdarevic wrote:
> Attached a patch for searching objects in a database. I've added most
> of the objects, except operator-objects. I don't think that we need
> them.

I think we do. They are objects just like any others.

> non-pgsql object types (edb, slony,..) has to be added by somebody
> else - i don't have those products installed or in use.

Understandable. I face the same issues from time to time.

> I've also changed two methods in frmMain:
>
>
> 1. The node path is trimmed now.
> 2. SetCurrentNode is now more intelligent. during recursion every node
> is partially checked against the given path. if the path is wrong the
> recursion stops and the next child will be checked.objects are now
> expanded automatically as requested by the given path.
> 3. GetNodePath is public now.
>
>
> to search, right click on a database and select search object.
> clicking on a result will expand the given node.

Works with many objects' type, but doesn't work for FKey. I suppose this
is because your search the name of the fkey in the tree but fkey are
displayed in a special way.

>  if the object type is not shown in tree (options) the result is grey
> and nothing happens when clicking on it.
>
>
> i will also add ability to search for a user, group, role and
> tablespace, but first i'd like to know what you think.
>

Would be good.

Your patch, at least from a user point of view (meaning I didn't check
the code), seems good. I found two issues:

 * not able to find a fkey (see above)
 * really bad UI (I see the combobox only partly, and the dialog is not
   resizable... the latter is no big deal, I can take care of that
   afterwards, but the first one makes it not commitable).

> you'll have to add the new files (frmSearchObject.h,
> frmSearchObject.cpp, frmSearchObject.xrc) to your solution, because
> I'm developing on VS 2010 and it doesn't make sense to send you the
> solution file. linux users will hopefully know, what they have to
> do ;-)
>

See patch attached for linux compatibility. Not really a hard work.


--

Attachment

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-15 at 01:03 +0200, Jasmin Dizdarevic wrote:
> Hi,
>
>
> please take another look on it. The UI should work correctly now.
>
>
> Linux make files should also be correct now.
>

It works much better now. You still have one issue with primary key (and
I guess, unique constraint and exclusive constraints too). You show them
as constraints and indexes, whereas pgAdmin only shows them as
constraints. You shouldn't display indexes for constraints with implicit
indexes.

And I didn't look at the code yet.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-15 at 08:08 +0200, Guillaume Lelarge wrote:
> On Wed, 2011-06-15 at 01:03 +0200, Jasmin Dizdarevic wrote:
> > Hi,
> >
> >
> > please take another look on it. The UI should work correctly now.
> >
> >
> > Linux make files should also be correct now.
> >
>
> It works much better now. You still have one issue with primary key (and
> I guess, unique constraint and exclusive constraints too). You show them
> as constraints and indexes, whereas pgAdmin only shows them as
> constraints. You shouldn't display indexes for constraints with implicit
> indexes.
>
> And I didn't look at the code yet.
>

Seems mostly good. The only question I have is: why did you choose to
name it frm* instead of dlg*? it behaves as a dialog, not as a form.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Yeah, I know. All of the dialogs have a "binding" to some pgObject, because all of them modifies something. When I started working I had no clear picture about the class hierarchy and I thought this would be an easier entry point. I can change the prefix if this is wished. 

btw: You could help me with the factory class. Am I starting the dialog correctly?

wxWindow *searchObjectFactory::StartDialog(frmMain *form, pgObject *obj)
{
frmSearchObject *so = new frmSearchObject(form, (pgDatabase *) obj);
so->Show();


return 0;
}

Thanks.

2011/6/15 Guillaume Lelarge <guillaume@lelarge.info>
On Wed, 2011-06-15 at 08:08 +0200, Guillaume Lelarge wrote:
> On Wed, 2011-06-15 at 01:03 +0200, Jasmin Dizdarevic wrote:
> > Hi,
> >
> >
> > please take another look on it. The UI should work correctly now.
> >
> >
> > Linux make files should also be correct now.
> >
>
> It works much better now. You still have one issue with primary key (and
> I guess, unique constraint and exclusive constraints too). You show them
> as constraints and indexes, whereas pgAdmin only shows them as
> constraints. You shouldn't display indexes for constraints with implicit
> indexes.
>
> And I didn't look at the code yet.
>

Seems mostly good. The only question I have is: why did you choose to
name it frm* instead of dlg*? it behaves as a dialog, not as a form.

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
> because all of them modifies something.

No, see dlgFindAndReplace.

>  When I started working I had no clear picture about the class
> hierarchy and I thought this would be an easier entry point. I can
> change the prefix if this is wished.
>

Yeah, I think it would be better.

> btw: You could help me with the factory class. Am I starting the
> dialog correctly?
>

Seems good to me. My only question is: why in frmMain.ccp and not in
frmSearchObject.cpp? I first tried the latter, and was surprised to find
it in the former.

BTW, can you stop top-posting please? Thanks.

Regards.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Dave Page
Date:
On Thu, Jun 16, 2011 at 8:48 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
>> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
>> because all of them modifies something.
>
> No, see dlgFindAndReplace.

Yeah, back in the early days there was some confusion about what was a
form (window) and what was a dialog - I don't want to add to that now.

In pgAdmin virtually all of our dialogues are actually more like
regular windows because they are sizeable. That's a conscious
decision, made for reasons of usability and consistency. With that in
mind, I consider forms to be the "main" application windows, eg.
frmMain, frmQuery, frmDebugger, frmStatus and so on. Everything else
is a dialogue - a popup to perform a quick task eg. vacuum, backup or
search/replace, to adjust program options (frmOptions is one of the
mistakes!), or to define/display properties of a database object.

>> btw: You could help me with the factory class. Am I starting the
>> dialog correctly?
>>
>
> Seems good to me. My only question is: why in frmMain.ccp and not in
> frmSearchObject.cpp? I first tried the latter, and was surprised to find
> it in the former.

Yeah, the factories should typically be in the same source file as the
dialogue they're responsible for creating.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Thu, 2011-06-16 at 20:54 +0100, Dave Page wrote:
> On Thu, Jun 16, 2011 at 8:48 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
> >> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
> >> because all of them modifies something.
> >
> > No, see dlgFindAndReplace.
>
> Yeah, back in the early days there was some confusion about what was a
> form (window) and what was a dialog - I don't want to add to that now.
>
> In pgAdmin virtually all of our dialogues are actually more like
> regular windows because they are sizeable. That's a conscious
> decision, made for reasons of usability and consistency. With that in
> mind, I consider forms to be the "main" application windows, eg.
> frmMain, frmQuery, frmDebugger, frmStatus and so on. Everything else
> is a dialogue - a popup to perform a quick task eg. vacuum, backup or
> search/replace, to adjust program options (frmOptions is one of the
> mistakes!), or to define/display properties of a database object.
>

One of the things I want to do for 1.16 is a new options dialog. We
already discussed its design. I wonder if we should also change it to a
dlgOptions file. Is it OK for you?


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Dave Page
Date:
On Thu, Jun 16, 2011 at 9:04 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Thu, 2011-06-16 at 20:54 +0100, Dave Page wrote:
>> On Thu, Jun 16, 2011 at 8:48 PM, Guillaume Lelarge
>> <guillaume@lelarge.info> wrote:
>> > On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
>> >> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
>> >> because all of them modifies something.
>> >
>> > No, see dlgFindAndReplace.
>>
>> Yeah, back in the early days there was some confusion about what was a
>> form (window) and what was a dialog - I don't want to add to that now.
>>
>> In pgAdmin virtually all of our dialogues are actually more like
>> regular windows because they are sizeable. That's a conscious
>> decision, made for reasons of usability and consistency. With that in
>> mind, I consider forms to be the "main" application windows, eg.
>> frmMain, frmQuery, frmDebugger, frmStatus and so on. Everything else
>> is a dialogue - a popup to perform a quick task eg. vacuum, backup or
>> search/replace, to adjust program options (frmOptions is one of the
>> mistakes!), or to define/display properties of a database object.
>>
>
> One of the things I want to do for 1.16 is a new options dialog. We
> already discussed its design. I wonder if we should also change it to a
> dlgOptions file. Is it OK for you?

Absolutely :-)


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:


2011/6/16 Guillaume Lelarge <guillaume@lelarge.info>
On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
> because all of them modifies something.

No, see dlgFindAndReplace.

>  When I started working I had no clear picture about the class
> hierarchy and I thought this would be an easier entry point. I can
> change the prefix if this is wished.
>

Yeah, I think it would be better.

I'm going to change that.
 

> btw: You could help me with the factory class. Am I starting the
> dialog correctly?
>

Seems good to me. My only question is: why in frmMain.ccp and not in
frmSearchObject.cpp? I first tried the latter, and was surprised to find
it in the former.

I'm currently surprised myself ;)

 
BTW, can you stop top-posting please? Thanks.
Regards.

I'll try it.

One more thing: 

Can somebody say me how to merge different patches to a single one? I've made 3-4 commits and would like to have exactly one patch file. It's not so important, but it would be very nice.

Generally, I wanna thank you for your patience and help - I know this can be frustrating to answer questions, that are clear to you since a long time :)

 
--

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Thu, 2011-06-16 at 22:31 +0200, Jasmin Dizdarevic wrote:
>
>
> 2011/6/16 Guillaume Lelarge <guillaume@lelarge.info>
>         On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
>         > Yeah, I know. All of the dialogs have a "binding" to some
>         pgObject,
>         > because all of them modifies something.
>
>
>         No, see dlgFindAndReplace.
>
>         >  When I started working I had no clear picture about the
>         class
>         > hierarchy and I thought this would be an easier entry point.
>         I can
>         > change the prefix if this is wished.
>         >
>
>
>                 Yeah, I think it would be better.
>
>
> I'm going to change that.
>
>
>         > btw: You could help me with the factory class. Am I starting
>         the
>         > dialog correctly?
>         >
>
>
>                 Seems good to me. My only question is: why in
>                 frmMain.ccp and not in
>                 frmSearchObject.cpp? I first tried the latter, and was
>                 surprised to find
>                 it in the former.
>
> I'm currently surprised myself ;)
>
>
>
>                 BTW, can you stop top-posting please? Thanks.
>                 Regards.
>
> I'll try it.
>
>
> One more thing:
>
>
> Can somebody say me how to merge different patches to a single one?
> I've made 3-4 commits and would like to have exactly one patch file.
> It's not so important, but it would be very nice.
>

I suppose you're talking about "git rebase". Do a "git rebase -i" to get
the interactive mode. Let the first commit the way it is. Use squash for
the other commits.

> Generally, I wanna thank you for your patience and help - I know this
> can be frustrating to answer questions, that are clear to you since a
> long time :)
>

No problem :)


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:

I suppose you're talking about "git rebase". Do a "git rebase -i" to get
the interactive mode. Let the first commit the way it is. Use squash for
the other commits.

Yep. This is what I was looking for! 
During rebase I made a mistake, so the two patches I sent today are now included in the big one. Is this undo-able?
 
> Generally, I wanna thank you for your patience and help - I know this
> can be frustrating to answer questions, that are clear to you since a
> long time :)
>

No problem :)

I think it's ready for testing now. I've already checked it against 8.3.15, 8.4.8, 9.0.4 and 9.1 beta2. On our production database with 300k objects the search takes about 4-5 seconds. I think it's an acceptable value. It could be useful to add a hot key to the query from. I was playing around with extensions today and this would be ergonomically. What do you think?

There should be a documentation in the patch, but as you can read a native speaker should maybe take care of it.



--

Attachment

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Thu, 2011-06-16 at 23:51 +0200, Jasmin Dizdarevic wrote:
>
>
>                 I suppose you're talking about "git rebase". Do a "git
>                 rebase -i" to get
>                 the interactive mode. Let the first commit the way it
>                 is. Use squash for
>                 the other commits.
>
>
> Yep. This is what I was looking for!
> During rebase I made a mistake, so the two patches I sent today are
> now included in the big one. Is this undo-able?
>

Nope. Anyway, it'll be commited as one patch. So, it doesn't matter.

>         > Generally, I wanna thank you for your patience and help - I
>         know this
>         > can be frustrating to answer questions, that are clear to
>         you since a
>         > long time :)
>         >
>
>
>         No problem :)
>
>
> I think it's ready for testing now. I've already checked it against
> 8.3.15, 8.4.8, 9.0.4 and 9.1 beta2. On our production database with
> 300k objects the search takes about 4-5 seconds. I think it's an
> acceptable value.

Yes, it is.

>  It could be useful to add a hot key to the query from. I was playing
> around with extensions today and this would be ergonomically. What do
> you think?
>

I don't see the link with extensions?

> There should be a documentation in the patch, but as you can read a
> native speaker should maybe take care of it.
>

There's not much documentation yet. It won't be hard to add a line or
two talking about this new dialog.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Discussion - Search Objects

From
Ashesh Vashi
Date:


On Fri, Jun 17, 2011 at 2:01 AM, Jasmin Dizdarevic <jasmin.dizdarevic@gmail.com> wrote:


2011/6/16 Guillaume Lelarge <guillaume@lelarge.info>
On Wed, 2011-06-15 at 23:48 +0200, Jasmin Dizdarevic wrote:
> Yeah, I know. All of the dialogs have a "binding" to some pgObject,
> because all of them modifies something.

No, see dlgFindAndReplace.

>  When I started working I had no clear picture about the class
> hierarchy and I thought this would be an easier entry point. I can
> change the prefix if this is wished.
>

Yeah, I think it would be better.

I'm going to change that.
 

> btw: You could help me with the factory class. Am I starting the
> dialog correctly?
>

Seems good to me. My only question is: why in frmMain.ccp and not in
frmSearchObject.cpp? I first tried the latter, and was surprised to find
it in the former.

I'm currently surprised myself ;)

 
BTW, can you stop top-posting please? Thanks.
Regards.

I'll try it.

One more thing: 

Can somebody say me how to merge different patches to a single one? I've made 3-4 commits and would like to have exactly one patch file. It's not so important, but it would be very nice.
Hope - this will help: 
git log -p -n <number_patches> --author=jasmin > <patch_file> 

Generally, I wanna thank you for your patience and help - I know this can be frustrating to answer questions, that are clear to you since a long time :)

 
--




--
--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA:
Enterprise PostgreSQL Company

 

http://www.linkedin.com/in/asheshvashi


Re: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:


2011/6/17 Guillaume Lelarge <guillaume@lelarge.info>
On Thu, 2011-06-16 at 23:51 +0200, Jasmin Dizdarevic wrote:
>
>
>                 I suppose you're talking about "git rebase". Do a "git
>                 rebase -i" to get
>                 the interactive mode. Let the first commit the way it
>                 is. Use squash for
>                 the other commits.
>
>
> Yep. This is what I was looking for!
> During rebase I made a mistake, so the two patches I sent today are
> now included in the big one. Is this undo-able?
>

Nope. Anyway, it'll be commited as one patch. So, it doesn't matter.

>         > Generally, I wanna thank you for your patience and help - I
>         know this
>         > can be frustrating to answer questions, that are clear to
>         you since a
>         > long time :)
>         >
>
>
>         No problem :)
>
>
> I think it's ready for testing now. I've already checked it against
> 8.3.15, 8.4.8, 9.0.4 and 9.1 beta2. On our production database with
> 300k objects the search takes about 4-5 seconds. I think it's an
> acceptable value.

Yes, it is.

>  It could be useful to add a hot key to the query from. I was playing
> around with extensions today and this would be ergonomically. What do
> you think?
>

I don't see the link with extensions?

Sorry, you misunderstood me. Today I've checked create extension feature and had to uninstall manually a previous installed extension. So I used the search feature. Because I was working in query form, I always had to switch back to the main form and start the search dialog. So I thought, it would be great if I could call the search dialog from the query form.
 
> There should be a documentation in the patch, but as you can read a
> native speaker should maybe take care of it.
>

There's not much documentation yet. It won't be hard to add a line or
two talking about this new dialog.


the file docs/en_US/search.html should be there. It's not implemented in the help window (F1-Help)
--

Re: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Fri, 2011-06-17 at 00:23 +0200, Jasmin Dizdarevic wrote:
>
>
> 2011/6/17 Guillaume Lelarge <guillaume@lelarge.info>
>         On Thu, 2011-06-16 at 23:51 +0200, Jasmin Dizdarevic wrote:
>         >
>         >
>         >                 I suppose you're talking about "git rebase".
>         Do a "git
>         >                 rebase -i" to get
>         >                 the interactive mode. Let the first commit
>         the way it
>         >                 is. Use squash for
>         >                 the other commits.
>         >
>         >
>         > Yep. This is what I was looking for!
>         > During rebase I made a mistake, so the two patches I sent
>         today are
>         > now included in the big one. Is this undo-able?
>         >
>
>
>         Nope. Anyway, it'll be commited as one patch. So, it doesn't
>         matter.
>
>         >         > Generally, I wanna thank you for your patience and
>         help - I
>         >         know this
>         >         > can be frustrating to answer questions, that are
>         clear to
>         >         you since a
>         >         > long time :)
>         >         >
>         >
>         >
>         >         No problem :)
>         >
>         >
>         > I think it's ready for testing now. I've already checked it
>         against
>         > 8.3.15, 8.4.8, 9.0.4 and 9.1 beta2. On our production
>         database with
>         > 300k objects the search takes about 4-5 seconds. I think
>         it's an
>         > acceptable value.
>
>
>         Yes, it is.
>
>         >  It could be useful to add a hot key to the query from. I
>         was playing
>         > around with extensions today and this would be
>         ergonomically. What do
>         > you think?
>         >
>
>
>                 I don't see the link with extensions?
>
>
> Sorry, you misunderstood me. Today I've checked create extension
> feature and had to uninstall manually a previous installed extension.

Why didn't you use DROP EXTENSION?

>  So I used the search feature. Because I was working in query form, I
> always had to switch back to the main form and start the search
> dialog. So I thought, it would be great if I could call the search
> dialog from the query form.

Nope, it doesn't belong to the query tool. It makes no sense to add it
there.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Fwd: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Could somebody review the patch and maybe commit it?

Ty

---------- Forwarded message ----------
From: Jasmin Dizdarevic <jasmin.dizdarevic@gmail.com>
Date: 2011/6/16
Subject: Re: [pgadmin-hackers] Discussion - Search Objects
To: Guillaume Lelarge <guillaume@lelarge.info>
Cc: Dave Page <dpage@pgadmin.org>, pgadmin-hackers@postgresql.org



I suppose you're talking about "git rebase". Do a "git rebase -i" to get
the interactive mode. Let the first commit the way it is. Use squash for
the other commits.

Yep. This is what I was looking for! 
During rebase I made a mistake, so the two patches I sent today are now included in the big one. Is this undo-able?
 
> Generally, I wanna thank you for your patience and help - I know this
> can be frustrating to answer questions, that are clear to you since a
> long time :)
>

No problem :)

I think it's ready for testing now. I've already checked it against 8.3.15, 8.4.8, 9.0.4 and 9.1 beta2. On our production database with 300k objects the search takes about 4-5 seconds. I think it's an acceptable value. It could be useful to add a hot key to the query from. I was playing around with extensions today and this would be ergonomically. What do you think?

There should be a documentation in the patch, but as you can read a native speaker should maybe take care of it.



--


Attachment

Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Sun, 2011-07-03 at 23:39 +0200, Jasmin Dizdarevic wrote:
> Could somebody review the patch and maybe commit it?
>

I'll look into it tonight, unless someone beats me to it.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Mon, 2011-07-04 at 09:10 +0200, Guillaume Lelarge wrote:
> On Sun, 2011-07-03 at 23:39 +0200, Jasmin Dizdarevic wrote:
> > Could somebody review the patch and maybe commit it?
> >
>
> I'll look into it tonight, unless someone beats me to it.
>

Seems mostly good to me, but I have too questions:

 * why do you use twice the Trim command in
   "browser->GetItemText(parent).BeforeFirst('(').Trim().Trim(false)"?

 * why is the search object menu only available to non maintenance DB?
(((pgDatabase *)obj)->GetName() != ((pgDatabase
*)obj)->GetServer()->GetDatabaseName())


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:


2011/7/4 Guillaume Lelarge <guillaume@lelarge.info>
On Mon, 2011-07-04 at 09:10 +0200, Guillaume Lelarge wrote:
> On Sun, 2011-07-03 at 23:39 +0200, Jasmin Dizdarevic wrote:
> > Could somebody review the patch and maybe commit it?
> >
>
> I'll look into it tonight, unless someone beats me to it.
>

Thank's for checking.
 
Seems mostly good to me, but I have too questions:

 * why do you use twice the Trim command in
  "browser->GetItemText(parent).BeforeFirst('(').Trim().Trim(false)"?

I've misunderstood the wx-docs. 
 
 * why is the search object menu only available to non maintenance DB?
(((pgDatabase *)obj)->GetName() != ((pgDatabase
*)obj)->GetServer()->GetDatabaseName())

copy-paste mistake

patch attached.
 

Attachment

Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Mon, 2011-07-04 at 23:42 +0200, Jasmin Dizdarevic wrote:
>
>
> 2011/7/4 Guillaume Lelarge <guillaume@lelarge.info>
>         On Mon, 2011-07-04 at 09:10 +0200, Guillaume Lelarge wrote:
>         > On Sun, 2011-07-03 at 23:39 +0200, Jasmin Dizdarevic wrote:
>         > > Could somebody review the patch and maybe commit it?
>         > >
>         >
>         > I'll look into it tonight, unless someone beats me to it.
>         >
>
>
> Thank's for checking.
>
>
>         Seems mostly good to me, but I have too questions:
>
>          * why do you use twice the Trim command in
>
>         "browser->GetItemText(parent).BeforeFirst('(').Trim().Trim(false)"?
>
>
> I've misunderstood the wx-docs.
>
>          * why is the search object menu only available to non
>         maintenance DB?
>         (((pgDatabase *)obj)->GetName() != ((pgDatabase
>         *)obj)->GetServer()->GetDatabaseName())
>
>
>
> copy-paste mistake
>
>
> patch attached.
>

OK, I'm still working on it. I need the search.png image, can you send
it to me? as I can't apply the patch, I can't extract the image. Thanks.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Sure.

2011/7/5 Guillaume Lelarge <guillaume@lelarge.info>
On Mon, 2011-07-04 at 23:42 +0200, Jasmin Dizdarevic wrote:
>
>
> 2011/7/4 Guillaume Lelarge <guillaume@lelarge.info>
>         On Mon, 2011-07-04 at 09:10 +0200, Guillaume Lelarge wrote:
>         > On Sun, 2011-07-03 at 23:39 +0200, Jasmin Dizdarevic wrote:
>         > > Could somebody review the patch and maybe commit it?
>         > >
>         >
>         > I'll look into it tonight, unless someone beats me to it.
>         >
>
>
> Thank's for checking.
>
>
>         Seems mostly good to me, but I have too questions:
>
>          * why do you use twice the Trim command in
>
>         "browser->GetItemText(parent).BeforeFirst('(').Trim().Trim(false)"?
>
>
> I've misunderstood the wx-docs.
>
>          * why is the search object menu only available to non
>         maintenance DB?
>         (((pgDatabase *)obj)->GetName() != ((pgDatabase
>         *)obj)->GetServer()->GetDatabaseName())
>
>
>
> copy-paste mistake
>
>
> patch attached.
>

OK, I'm still working on it. I need the search.png image, can you send
it to me? as I can't apply the patch, I can't extract the image. Thanks.


--

Attachment

Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
> Sure.
>

Thanks. I'm almost done, and ready to apply :)


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Dave Page
Date:
On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
>> Sure.
>>
>
> Thanks. I'm almost done, and ready to apply :)

Looks like that dialogue needs some tweaking (status bar, button
positioning - actually, we don't normally have close buttons do we?).


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-07-05 at 20:42 +0100, Dave Page wrote:
> On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
> >> Sure.
> >>
> >
> > Thanks. I'm almost done, and ready to apply :)
>
> Looks like that dialogue needs some tweaking (status bar, button
> positioning - actually, we don't normally have close buttons do we?).
>

Yeah, I worked on it, and I tweaked a few things in the source code. I
also took care of the Visual Studio projects.

We do have close button, or at least one (in the dlgFindReplace dialog).
And it seems fine here. I don't see the point to remove it.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Dave Page
Date:
On Tue, Jul 5, 2011 at 8:50 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Tue, 2011-07-05 at 20:42 +0100, Dave Page wrote:
>> On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
>> <guillaume@lelarge.info> wrote:
>> > On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
>> >> Sure.
>> >>
>> >
>> > Thanks. I'm almost done, and ready to apply :)
>>
>> Looks like that dialogue needs some tweaking (status bar, button
>> positioning - actually, we don't normally have close buttons do we?).
>>
>
> Yeah, I worked on it, and I tweaked a few things in the source code. I
> also took care of the Visual Studio projects.
>
> We do have close button, or at least one (in the dlgFindReplace dialog).
> And it seems fine here. I don't see the point to remove it.

:-)

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Fwd: Discussion - Search Objects

From
Guillaume Lelarge
Date:
On Tue, 2011-07-05 at 20:42 +0100, Dave Page wrote:
> On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
> >> Sure.
> >>
> >
> > Thanks. I'm almost done, and ready to apply :)
>
> Looks like that dialogue needs some tweaking (status bar, button
> positioning - actually, we don't normally have close buttons do we?).
>
>

Kept the close button, but added the status bar and button positioning.
Commited, and pushed.

Thanks, Jasmin.


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


Re: Fwd: Discussion - Search Objects

From
Jasmin Dizdarevic
Date:
Great that it's done. Thank you for beautification.


2011/7/5 Guillaume Lelarge <guillaume@lelarge.info>
On Tue, 2011-07-05 at 20:42 +0100, Dave Page wrote:
> On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
> >> Sure.
> >>
> >
> > Thanks. I'm almost done, and ready to apply :)
>
> Looks like that dialogue needs some tweaking (status bar, button
> positioning - actually, we don't normally have close buttons do we?).
>
>

Kept the close button, but added the status bar and button positioning.
Commited, and pushed.

Thanks, Jasmin.

Re: Fwd: Discussion - Search Objects

From
Dave Page
Date:
On Tue, Jul 5, 2011 at 10:06 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Tue, 2011-07-05 at 20:42 +0100, Dave Page wrote:
>> On Tue, Jul 5, 2011 at 8:35 PM, Guillaume Lelarge
>> <guillaume@lelarge.info> wrote:
>> > On Tue, 2011-07-05 at 21:33 +0200, Jasmin Dizdarevic wrote:
>> >> Sure.
>> >>
>> >
>> > Thanks. I'm almost done, and ready to apply :)
>>
>> Looks like that dialogue needs some tweaking (status bar, button
>> positioning - actually, we don't normally have close buttons do we?).
>>
>>
>
> Kept the close button, but added the status bar and button positioning.
> Commited, and pushed.
>
> Thanks, Jasmin.

+1 - thanks indeed :-)



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company