Hi,
PFA patch
This contains:
1] All shortcuts' list which we are using in pgAdmin4.
2] Fixed shortcut display tooltips.
--
*Harshal Dhumal*
*Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Jun 30, 2016 at 2:34 PM, Dave Page <[email protected]> wrote:
> Hi Harshal,
>
> On Thu, Jun 30, 2016 at 7:59 AM, Harshal Dhumal
> <[email protected]> wrote:
> > Hi Dave,
> >
> > Somehow control key is mapped to Command key in Mac. So on Mac shortcuts
> are
> > Shift+Command+E, Shift+Command+X, Shift+Command+A
>
> OK, those work, but I think we need to take a step back here (partly
> because Cmd+Shift+A seems to be Select All in CodeMirror on Mac). I've
> committed the patch now, but changed Ctrl+Shift+A to Ctrl+Shift+N.
>
> Can you please work on the following:
>
> 1) Create a table of shortcuts from our runtime, our web app, and
> CodeMirror. This should list:
>
> Component (e.g. runtime, CodeMirror, Query Tool)
> Standard shortcut (e.g. Ctrl+Shift+A)
> Mac shortcut (e.g. Cmd+Shift+A)
> Function (e.g. Explain Analyze or Select All)
>
> Let's make this as complete and accurate as possible, so it can be
> included in the documentation, and used by us to select or
> de-duplicate shortcuts.
>
Added shortcuts' list.
>
> 2) Confirm that the shortcuts we're using in our runtime and web
> application don't conflict with any in CodeMirror (or web browsers, in
> the case of the web app).
>
Tested. No other conflicting shortcuts found.
>
> 3) Update the web application so the shortcuts are correctly displayed
> on Mac automatically - e.g. the tooltips and menus should show
> Cmd+Shift not Ctrl+Shift
>
Fixed
>
> 4) Investigate #1360, and ensure that the CodeMirror shortcuts work
> consistently between the runtime and browsers on all platforms.
>
Investigating now.
>
> 5) Investigate any remaining shortcuts that don't work as expected.
>
Investigating now.: Codemirror shortcut (Cmd/Ctrl+Shift+A) "Select all"
only works on Mac (web/runtime) not on linux platform (haven't tested on
windows)
>
> Thanks, Dave.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
diff --git a/web/keyboard_shortcuts.txt b/web/keyboard_shortcuts.txt
new file mode 100644
index 0000000..1684dc0
--- /dev/null
+++ b/web/keyboard_shortcuts.txt
@@ -0,0 +1,28 @@
++--------------------------------------------------------------------------------+
+| pgAdmin4 keyboard shortcuts |
++--------------------------------------------------------------------------------+
+==================================================================================
+
+
+
++-----------------+-------------------+-------------------+----------------------+
+| Component | Function | Standard shortcut | Mac shortcut |
++-----------------+-------------------+-------------------+----------------------+
+| | Open Url | Alt+Shift+U | Alt+Shift+U |
+| +-------------------+-------------------+----------------------+
+| pgAdmin4 runtime| Set python path | Alt+Shift+P | Alt+Shift+P |
+| +-------------------+-------------------+----------------------+
+| | Open about dialog | Alt+Shift+A | Alt+Shift+A |
++-----------------+-------------------+-------------------+----------------------+
+| | Execute query | Ctrl+Shift+E | Cmd+Shift+E (runtime)|
+| | | | Ctrl+Shift+E (web) |
+| +-------------------+-------------------+----------------------+
+| Query tool | Explain | Ctrl+Shift+X | Cmd+Shift+X (runtime)|
+| | | | Ctrl+Shift+X (web) |
+| +-------------------+-------------------+----------------------+
+| | Explain analyze | Ctrl+Shift+N | Cmd+Shift+N (runtime)|
+| | | | Ctrl+Shift+N (web) |
++-----------------+-------------------+-------------------+----------------------+
+| Codemirror | Select all text | | Cmd+Shift+A (runtime)|
+| (query editor) | in editor | | Ctrl+Shift+A (web) |
++-----------------+-------------------+-------------------+----------------------+
diff --git a/web/pgadmin/tools/datagrid/__init__.py b/web/pgadmin/tools/datagrid/__init__.py
index 3a7625f..3580638 100644
--- a/web/pgadmin/tools/datagrid/__init__.py
+++ b/web/pgadmin/tools/datagrid/__init__.py
@@ -23,7 +23,7 @@ from pgadmin.utils import PgAdminModule
from pgadmin.utils.ajax import make_json_response, bad_request, \
internal_server_error
-from config import PG_DEFAULT_DRIVER
+from config import PG_DEFAULT_DRIVER, SERVER_MODE
class DataGridModule(PgAdminModule):
@@ -171,10 +171,23 @@ def panel(trans_id, is_query_tool, editor_title):
if "linux" in _platform:
is_linux_platform = True
+ if not SERVER_MODE and \
+ 'mac' in request.headers.environ['HTTP_USER_AGENT'].lower():
+ execute_shortcut = gettext("Execute/Refresh (Cmd+Shift+E)")
+ explain_shortcut = gettext("Explain (Cmd+Shift+X)")
+ explain_analyse_shortcut = gettext("Explain analyze (Cmd+Shift+N)")
+ else:
+ execute_shortcut = gettext("Execute/Refresh (Ctrl+Shift+E)")
+ explain_shortcut = gettext("Explain (Ctrl+Shift+X)")
+ explain_analyse_shortcut = gettext("Explain analyze (Ctrl+Shift+N)")
+
return render_template("datagrid/index.html", _=gettext, uniqueId=trans_id,
is_query_tool=is_query_tool, editor_title=editor_title,
script_type_url=sURL, is_desktop_mode=app.PGADMIN_RUNTIME,
- is_linux=is_linux_platform)
+ is_linux=is_linux_platform,
+ execute_shortcut=execute_shortcut,
+ explain_shortcut=explain_shortcut,
+ explain_analyse_shortcut=explain_analyse_shortcut)
@blueprint.route(
diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
index b138a46..f4433e8 100644
--- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html
+++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
@@ -69,7 +69,7 @@
</div>
<div class="btn-group" role="group" aria-label="">
<button id="btn-flash" type="button" class="btn btn-default" style="width: 40px;"
- title="{{ _('Execute/Refresh (Ctrl+Shift+E)') }}">
+ title="{{ execute_shortcut }}">
<i class="fa fa-bolt" aria-hidden="true"></i>
</button>
<button id="btn-query-dropdown" type="button" class="btn btn-default dropdown-toggle"
@@ -79,12 +79,12 @@
<ul class="dropdown-menu dropdown-menu">
<li>
<a id="btn-explain" href="#">
- <span>{{ _('Explain (Ctrl+Shift+X)') }}</span>
+ <span>{{ explain_shortcut }}</span>
</a>
</li>
<li>
<a id="btn-explain-analyze" href="#">
- <span>{{ _('Explain analyze (Ctrl+Shift+N)') }}</span>
+ <span>{{ explain_analyse_shortcut }}</span>
</a>
</li>
<li class="divider"></li>
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers