Re: Patch: New field in frmMain statusbar

From: Adam Scott <adam(dot)c(dot)scott(at)gmail(dot)com>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Patch: New field in frmMain statusbar
Date: 2015-09-14 19:22:18
Message-ID: CA+s62-OPfiM_psx7e3Udo6pi3QWZAn42-5q0835V_=LP=tPYmg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Apologies all. I have an updated patch that corrects the previous one.
Before, if you you selected Tablespaces, Group Roles, or Login Roles, it
wouldn't show the connection they are associated with. The attached patch
supersedes the previous one and corrects the flaw.

Thank you,
Adam

On Mon, Sep 14, 2015 at 1:04 PM, Adam Scott <adam(dot)c(dot)scott(at)gmail(dot)com> wrote:

> The part that changed was just the database name since I clicked on an
> object in a different database on the same conneciton. If I had selected
> an object in a different connection, the connection name would change as
> well.
>
> For convenience, in green below, is the additional code to make this
> happen (there's other stuff in the patch to add the field in the statusbar
> not shown below).
>
> Thank you,
> Adam
>
> void frmMain::EndMsg(bool done)
> {
> msgLevel--;
>
> if (!msgLevel)
> {
> // Get the execution time & display it
> float timeval = stopwatch.Time();
> wxString time;
> time.Printf(_("%.2f secs"), (timeval / 1000));
> statusBar->SetStatusText(time, 3);
>
> wxString connection;
> if (currentObject)
> {
> pgDatabase *db = currentObject->GetDatabase();
>
> if (db)
> connection = db->GetServer()->GetDisplayName() + wxT(":")
> + db->GetDisplayName();
> }
>
> statusBar->SetStatusText(connection,2);
>
> // Display the 'Done' message
> if (done)
> statusBar->SetStatusText(timermsg + _(" Done."), 1);
> else
> statusBar->SetStatusText(timermsg + _(" Failed."), 1);
>
> On Mon, Sep 14, 2015 at 10:11 AM, Magnus Hagander <magnus(at)hagander(dot)net>
> wrote:
>
>> The part that changed is just the one that added db1 and db2, right?
>>
>> If so I definitely don't think it's a problem with too much info,and
>> think this patch is good. (I haven't reviewed the code)
>>
>> //Magnus
>>
>>
>> On Mon, Sep 14, 2015 at 3:34 PM, Adam Scott <adam(dot)c(dot)scott(at)gmail(dot)com>
>> wrote:
>>
>>> Hi,
>>>
>>> thank you for your time to consider this patch.
>>>
>>> Here's a few screenshots on my Windows 7 desktop. Let me know if you
>>> want to see anything else.
>>> A few observations:
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Sep 14, 2015 at 4:43 AM, Magnus Hagander <magnus(at)hagander(dot)net>
>>> wrote:
>>>
>>>> I don't have a working pgadmin env at the moment - any chance someone
>>>> who has built it could show a screenshot?
>>>>
>>>> I've certainly had customers complain about pgadmin in the case of many
>>>> databases, though it's generally been on account of performance, and not
>>>> something like this.
>>>>
>>>> //Magnus
>>>>
>>>>
>>>> On Mon, Sep 14, 2015 at 10:57 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>
>>>>> Thanks Adam.
>>>>>
>>>>> What do others feel about this proposed patch? I can see how it might
>>>>> be useful, however I'm also concerned about overloading the UI with
>>>>> more info - and in over a decade I don't recall anyone ever asking for
>>>>> this feature or complaining of the issue Adam describes (though, it is
>>>>> clearly feasible).
>>>>>
>>>>> On Sun, Sep 13, 2015 at 4:19 PM, Adam Scott <adam(dot)c(dot)scott(at)gmail(dot)com>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > please consider this patch to frmMain.
>>>>> >
>>>>> > Situation: When a user has a large number of databases and
>>>>> connections,
>>>>> > when they select a table or other object in the Object browser tree,
>>>>> they
>>>>> > can lose track of which connection and database the object belongs
>>>>> too.
>>>>> > This makes it really easy for the user to make a mistake and drop an
>>>>> object
>>>>> > on the wrong connection (such as on a Production server instead of a
>>>>> > Development server). Also as a user is browsing multiple databases
>>>>> and
>>>>> > connections they can lose track of which object they are working on.
>>>>> >
>>>>> > Solution: This patch adds a new field in the status bar of the main
>>>>> window
>>>>> > (frmMain), between the two other fields, keeping them the same. If
>>>>> there's
>>>>> > a currently selected object the field will display it's connection
>>>>> and
>>>>> > database. If there's no currently selected object, it will be blank.
>>>>> >
>>>>> > Here's the danger, if we display the wrong connection and database,
>>>>> the user
>>>>> > could drop the wrong object. So it's imperative this never has a
>>>>> bug. This
>>>>> > code change is so small with so little dependencies, it relies on
>>>>> already
>>>>> > used code for such a long time that if it had a bug, then there are
>>>>> other
>>>>> > bigger bugs in the code that would have already shown up.
>>>>> >
>>>>> > Regards,
>>>>> > Adam C. Scott
>>>>> >
>>>>> > patch generated using Tortoise Git Create Patch Serial
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Sent via pgadmin-hackers mailing list (
>>>>> pgadmin-hackers(at)postgresql(dot)org)
>>>>> > To make changes to your subscription:
>>>>> > http://www.postgresql.org/mailpref/pgadmin-hackers
>>>>> >
>>>>>
>>>>>
>>>>>
>> --
>> Magnus Hagander
>> Me: http://www.hagander.net/
>> Work: http://www.redpill-linpro.com/
>>
>
>

Attachment Content-Type Size
0001-Display-Connection-and-Database-in-Statusbar-Add-ano.patch application/octet-stream 1.9 KB

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2015-09-15 08:55:43 Re: Patch: New field in frmMain statusbar
Previous Message Adam Scott 2015-09-14 19:04:38 Re: Patch: New field in frmMain statusbar